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;
URL representation.
Definition: XrdClURL.hh:31
const std::string & GetPath() const
Get the path.
Definition: XrdClURL.hh:212
Definition: XrdOucCache.hh:82
Definition: XrdOucCache.hh:105
virtual int Write(char *buff, long long offs, int wlen)=0
virtual int Trunc(long long offs)=0
Attaches/creates and detaches/deletes cache-io objects for disk based cache.
Definition: XrdPfc.hh:264
XrdSysTrace * GetTrace()
Definition: XrdPfc.hh:389
Base cache-io class that implements XrdOucCacheIO abstract methods.
Definition: XrdPfcIO.hh:19
virtual XrdOucCacheIO * Base()
Original data source.
Definition: XrdPfcIO.hh:24
virtual void Update(XrdOucCacheIO &iocp)
const char * GetPath()
Definition: XrdPfcIO.hh:59
XrdSysTrace * GetTrace()
Definition: XrdPfcIO.hh:51
std::string GetFilename()
Definition: XrdPfcIO.hh:60
std::atomic< XrdOucCacheIO * > m_io
original data source
Definition: XrdPfcIO.hh:64
virtual const char * Path()
Original data source URL.
Definition: XrdPfcIO.hh:27
const char * m_traceID
Definition: XrdPfcIO.hh:57
Cache & m_cache
reference to Cache needed in detach
Definition: XrdPfcIO.hh:56
XrdOucCacheIO * GetInput()
virtual int Write(char *Buffer, long long Offset, int Length)
Definition: XrdPfcIO.hh:39
const char * RefreshLocation()
Definition: XrdPfcIO.hh:61
bool Detach(XrdOucCacheIOCD &iocdP)
void SetInput(XrdOucCacheIO *)
virtual int Trunc(long long Offset)
Definition: XrdPfcIO.hh:35
virtual int Sync()
Definition: XrdPfcIO.hh:31
virtual bool ioActive()=0
const char * GetLocation()
Definition: XrdPfcIO.hh:50
virtual void DetachFinalize()=0
IO(XrdOucCacheIO *io, Cache &cache)
Definition: XrdSysTrace.hh:49