xrootd
XrdFileCacheIO.hh
Go to the documentation of this file.
1 #ifndef __XRDFILECACHE_CACHE_IO_HH__
2 #define __XRDFILECACHE_CACHE_IO_HH__
3 
4 class XrdSysTrace;
5 
6 #include "XrdFileCache.hh"
7 #include "XrdOuc/XrdOucCache2.hh"
10 
11 namespace XrdFileCache
12 {
13 //----------------------------------------------------------------------------
15 //----------------------------------------------------------------------------
16 class IO : public XrdOucCacheIO2
17 {
18 public:
19  IO (XrdOucCacheIO2 *io, XrdOucCacheStats &stats, Cache &cache);
20 
22  virtual XrdOucCacheIO *Base() { return m_io; }
23 
25  virtual const char *Path() { return m_io->Path(); }
26 
28 
29  virtual int Sync() { return 0; }
30 
32 
33  virtual int Trunc(long long Offset) { return -ENOTSUP; }
34 
36 
37  virtual int Write(char *Buffer, long long Offset, int Length) { return -ENOTSUP; }
38 
39  virtual void Update(XrdOucCacheIO2 &iocp);
40 
42 
44 
45 protected:
48 
49  const char *m_traceID;
50  std::string m_path;
51  const char* GetPath() { return m_path.c_str(); }
52 
53 private:
56  void SetInput(XrdOucCacheIO2*);
57 };
58 }
59 
60 #endif
61 
XrdFileCache::IO::Base
virtual XrdOucCacheIO * Base()
Original data source.
Definition: XrdFileCacheIO.hh:22
XrdFileCache::IO::m_path
std::string m_path
Definition: XrdFileCacheIO.hh:50
XrdOucCache2.hh
XrdFileCache::IO::IO
IO(XrdOucCacheIO2 *io, XrdOucCacheStats &stats, Cache &cache)
XrdOucCacheIO
Definition: XrdOucCache.hh:127
XrdOucCacheIO2
Definition: XrdOucCache2.hh:62
XrdSysMutex
Definition: XrdSysPthread.hh:165
XrdSysPthread.hh
XrdFileCache::IO::Path
virtual const char * Path()
Original data source URL.
Definition: XrdFileCacheIO.hh:25
XrdFileCache::IO::m_cache
Cache & m_cache
reference to Cache needed in detach
Definition: XrdFileCacheIO.hh:47
XrdOucCacheIO::Path
virtual const char * Path()=0
XrdOucCacheIO::Trunc
virtual int Trunc(long long Offset)=0
XrdFileCache::IO::GetInput
XrdOucCacheIO2 * GetInput()
XrdFileCache::IO::GetPath
const char * GetPath()
Definition: XrdFileCacheIO.hh:51
XrdFileCache::IO::updMutex
XrdSysMutex updMutex
Definition: XrdFileCacheIO.hh:55
XrdFileCache::IO
Base cache-io class that implements XrdOucCacheIO abstract methods.
Definition: XrdFileCacheIO.hh:16
XrdFileCache::IO::Sync
virtual int Sync()
Definition: XrdFileCacheIO.hh:29
XrdFileCache::IO::Write
virtual int Write(char *Buffer, long long Offset, int Length)
Definition: XrdFileCacheIO.hh:37
XrdFileCache::IO::Update
virtual void Update(XrdOucCacheIO2 &iocp)
XrdFileCache::IO::m_traceID
const char * m_traceID
Definition: XrdFileCacheIO.hh:49
XrdFileCache
Definition: XrdFileCache.hh:40
XrdFileCache::Cache::GetTrace
XrdSysTrace * GetTrace()
Definition: XrdFileCache.hh:258
XrdFileCache::IO::SetInput
void SetInput(XrdOucCacheIO2 *)
XrdFileCache.hh
XrdOucCacheIO2::Write
virtual void Write(XrdOucCacheIOCB &iocb, char *buff, long long offs, int wlen)
Definition: XrdOucCache2.hh:174
XrdOucCacheStats
Definition: XrdOucCacheStats.hh:40
XrdClDefaultEnv.hh
XrdFileCache::IO::m_statsGlobal
XrdOucCacheStats & m_statsGlobal
reference to Cache statistics
Definition: XrdFileCacheIO.hh:46
XrdFileCache::IO::m_io
XrdOucCacheIO2 * m_io
original data source
Definition: XrdFileCacheIO.hh:54
XrdOucCacheIO::Sync
virtual int Sync()=0
XrdFileCache::Cache
Attaches/creates and detaches/deletes cache-io objects for disk based cache.
Definition: XrdFileCache.hh:129
XrdSysTrace
Definition: XrdSysTrace.hh:48
XrdFileCache::IO::Trunc
virtual int Trunc(long long Offset)
Definition: XrdFileCacheIO.hh:33
XrdFileCache::IO::GetTrace
XrdSysTrace * GetTrace()
Definition: XrdFileCacheIO.hh:41