1 #ifndef __XRDPFC_CACHE_IO_HH__
2 #define __XRDPFC_CACHE_IO_HH__
27 virtual const char *
Path() {
return m_io.load(std::memory_order_relaxed)->Path(); }
31 virtual int Sync() {
return 0; }
35 virtual int Trunc(
long long Offset) {
return -ENOTSUP; }
39 virtual int Write(
char *Buffer,
long long Offset,
int Length) {
return -ENOTSUP; }
50 const char*
GetLocation() {
return m_io.load(std::memory_order_relaxed)->Location(
false); }
59 const char*
GetPath() {
return m_io.load(std::memory_order_relaxed)->Path(); }
64 std::atomic<XrdOucCacheIO*>
m_io;
virtual void Update(XrdOucCacheIO &iocp)
std::string GetFilename()
Definition: XrdPfcIO.hh:60
virtual int Trunc(long long offs)=0
virtual void DetachFinalize()=0
virtual const char * Path()
Original data source URL.
Definition: XrdPfcIO.hh:27
const char * m_traceID
Definition: XrdPfcIO.hh:57
Base cache-io class that implements XrdOucCacheIO abstract methods.
Definition: XrdPfcIO.hh:18
Definition: XrdOucCache.hh:104
Attaches/creates and detaches/deletes cache-io objects for disk based cache.
Definition: XrdPfc.hh:263
bool Detach(XrdOucCacheIOCD &iocdP)
const std::string & GetPath() const
Get the path.
Definition: XrdClURL.hh:212
Definition: XrdOucCache.hh:81
const char * RefreshLocation()
Definition: XrdPfcIO.hh:61
Definition: XrdSysTrace.hh:48
const char * GetLocation()
Definition: XrdPfcIO.hh:50
virtual int Trunc(long long Offset)
Definition: XrdPfcIO.hh:35
const char * GetPath()
Definition: XrdPfcIO.hh:59
void SetInput(XrdOucCacheIO *)
XrdSysTrace * GetTrace()
Definition: XrdPfc.hh:389
IO(XrdOucCacheIO *io, Cache &cache)
URL representation.
Definition: XrdClURL.hh:30
virtual XrdOucCacheIO * Base()
Original data source.
Definition: XrdPfcIO.hh:24
virtual int Write(char *Buffer, long long Offset, int Length)
Definition: XrdPfcIO.hh:39
virtual bool ioActive()=0
XrdSysTrace * GetTrace()
Definition: XrdPfcIO.hh:51
XrdOucCacheIO * GetInput()
virtual int Write(char *buff, long long offs, int wlen)=0
virtual int Sync()
Definition: XrdPfcIO.hh:31
std::atomic< XrdOucCacheIO * > m_io
original data source
Definition: XrdPfcIO.hh:64
Cache & m_cache
reference to Cache needed in detach
Definition: XrdPfcIO.hh:56