1 #ifndef __XRDPFC_CACHE_IO_HH__
2 #define __XRDPFC_CACHE_IO_HH__
26 const char *
Path()
override {
return m_io->Path(); }
29 int Sync()
override {
return 0; }
32 int Trunc(
long long Offset)
override {
return -ENOTSUP; }
35 int Write(
char *Buffer,
long long Offset,
int Length)
override {
return -ENOTSUP; }
68 void Done(
int result)
override
std::string GetFilename()
Definition: XrdPfcIO.hh:56
virtual int Trunc(long long offs)=0
const char * Path() override
Original data source URL.
Definition: XrdPfcIO.hh:26
virtual void DetachFinalize()=0
void Update(XrdOucCacheIO &iocp) override
int Write(char *Buffer, long long Offset, int Length) override
Definition: XrdPfcIO.hh:35
const char * m_traceID
Definition: XrdPfcIO.hh:53
Base cache-io class that implements some XrdOucCacheIO abstract methods.
Definition: XrdPfcIO.hh:17
Definition: XrdOucCache.hh:104
Attaches/creates and detaches/deletes cache-io objects for disk based cache.
Definition: XrdPfc.hh:263
unsigned short ObtainReadSid()
Definition: XrdPfcIO.hh:59
const std::string & GetPath() const
Get the path.
Definition: XrdClURL.hh:212
time_t m_attach_time
Definition: XrdPfcIO.hh:84
void Signal()
Definition: XrdSysPthread.hh:84
int Sync() override
Definition: XrdPfcIO.hh:29
Definition: XrdPfcFile.hh:60
Definition: XrdOucCache.hh:81
const char * RefreshLocation()
Definition: XrdPfcIO.hh:57
Definition: XrdSysTrace.hh:48
const char * GetLocation()
Definition: XrdPfcIO.hh:46
RAtomic_ushort m_read_seqid
sequential read id (for logging)
Definition: XrdPfcIO.hh:76
bool m_allow_prefetching
Definition: XrdPfcIO.hh:86
Definition: XrdSysPthread.hh:78
XrdSys::RAtomic< XrdOucCacheIO * > m_io
original data source
Definition: XrdPfcIO.hh:75
RAtomic_int m_active_read_reqs
number of active read requests
Definition: XrdPfcIO.hh:72
const char * GetPath()
Definition: XrdPfcIO.hh:55
bool Detach(XrdOucCacheIOCD &iocdP) final
void SetInput(XrdOucCacheIO *)
XrdSysTrace * GetTrace()
Definition: XrdPfc.hh:389
bool m_in_detach
Definition: XrdPfcIO.hh:87
void Done(int result) override
Definition: XrdPfcIO.hh:68
int m_retval
Definition: XrdPfcIO.hh:64
IO(XrdOucCacheIO *io, Cache &cache)
URL representation.
Definition: XrdClURL.hh:30
int Trunc(long long Offset) override
Definition: XrdPfcIO.hh:32
Definition: XrdPfcFile.hh:212
virtual XrdOucCacheIO * Base()
Original data source.
Definition: XrdPfcIO.hh:23
ReadReqRH(unsigned short sid, XrdOucCacheIOCB *iocb)
Definition: XrdPfcFile.hh:67
XrdSysCondVar m_cond
Definition: XrdPfcIO.hh:63
void UnLock()
Definition: XrdSysPthread.hh:94
virtual bool ioActive()=0
XrdSysTrace * GetTrace()
Definition: XrdPfcIO.hh:47
XrdOucCacheIO * GetInput()
virtual int Write(char *buff, long long offs, int wlen)=0
int m_active_prefetches
Definition: XrdPfcIO.hh:85
Cache & m_cache
reference to Cache object
Definition: XrdPfcIO.hh:52
Definition: XrdPfcIO.hh:61
void Lock()
Definition: XrdSysPthread.hh:82