xrootd
|
Base cache-io class that implements XrdOucCacheIO abstract methods. More...
#include <XrdPfcIO.hh>
Public Member Functions | |
IO (XrdOucCacheIO *io, Cache &cache) | |
virtual XrdOucCacheIO * | Base () |
Original data source. More... | |
virtual const char * | Path () |
Original data source URL. More... | |
virtual int | Sync () |
virtual int | Trunc (long long Offset) |
virtual int | Write (char *Buffer, long long Offset, int Length) |
virtual void | Update (XrdOucCacheIO &iocp) |
bool | Detach (XrdOucCacheIOCD &iocdP) |
virtual bool | ioActive ()=0 |
virtual void | DetachFinalize ()=0 |
const char * | GetLocation () |
XrdSysTrace * | GetTrace () |
XrdOucCacheIO * | GetInput () |
virtual int | Sync ()=0 |
virtual void | Sync (XrdOucCacheIOCB &iocb) |
virtual int | Trunc (long long offs)=0 |
virtual void | Trunc (XrdOucCacheIOCB &iocb, long long offs) |
virtual int | Write (char *buff, long long offs, int wlen)=0 |
virtual void | Write (XrdOucCacheIOCB &iocb, char *buff, long long offs, int wlen) |
![]() | |
virtual long long | FSize ()=0 |
virtual int | Fstat (struct stat &sbuff) |
virtual const char * | Location (bool refresh=false) |
virtual int | pgRead (char *buff, long long offs, int rdlen, std::vector< uint32_t > &csvec, uint64_t opts=0) |
virtual void | pgRead (XrdOucCacheIOCB &iocb, char *buff, long long offs, int rdlen, std::vector< uint32_t > &csvec, uint64_t opts=0) |
virtual int | pgWrite (char *buff, long long offs, int rdlen, uint32_t *csvec, uint64_t opts=0) |
virtual void | pgWrite (XrdOucCacheIOCB &iocb, char *buff, long long offs, int wrlen, uint32_t *csvec, uint64_t opts=0) |
virtual void | Preread (long long offs, int rlen, int opts=0) |
virtual void | Preread (aprParms &Parms) |
virtual int | Read (char *buff, long long offs, int rlen)=0 |
virtual void | Read (XrdOucCacheIOCB &iocb, char *buff, long long offs, int rlen) |
virtual int | ReadV (const XrdOucIOVec *readV, int rnum) |
virtual void | ReadV (XrdOucCacheIOCB &iocb, const XrdOucIOVec *readV, int rnum) |
virtual void | Sync (XrdOucCacheIOCB &iocb) |
virtual void | Trunc (XrdOucCacheIOCB &iocb, long long offs) |
virtual void | Write (XrdOucCacheIOCB &iocb, char *buff, long long offs, int wlen) |
virtual int | WriteV (const XrdOucIOVec *writV, int wnum) |
virtual void | WriteV (XrdOucCacheIOCB &iocb, const XrdOucIOVec *writV, int wnum) |
XrdOucCacheIO () | |
Construct and Destructor. More... | |
Protected Member Functions | |
const char * | GetPath () |
std::string | GetFilename () |
const char * | RefreshLocation () |
![]() | |
virtual | ~XrdOucCacheIO () |
Protected Attributes | |
Cache & | m_cache |
reference to Cache needed in detach More... | |
const char * | m_traceID |
Private Member Functions | |
void | SetInput (XrdOucCacheIO *) |
Private Attributes | |
XrdOucCacheIO * | m_io |
original data source More... | |
XrdSysMutex | updMutex |
Additional Inherited Members | |
![]() | |
static const uint64_t | forceCS = 0x0000000000000001ULL |
static const int | SingleUse = 0x0001 |
Mark pages for single use. More... | |
Base cache-io class that implements XrdOucCacheIO abstract methods.
XrdPfc::IO::IO | ( | XrdOucCacheIO * | io, |
Cache & | cache | ||
) |
|
inlinevirtual |
Original data source.
References m_io.
|
virtual |
Detach this CacheIO object from the cache.
iocd | reference to the detach complete callback object. |
Implements XrdOucCacheIO.
|
pure virtual |
Implemented in XrdPfc::IOEntireFile, and XrdPfc::IOFileBlock.
|
inlineprotected |
References GetPath(), and XrdCl::URL::GetPath().
XrdOucCacheIO* XrdPfc::IO::GetInput | ( | ) |
|
inline |
References XrdOucCacheIO::Location(), and m_io.
|
inlineprotected |
References m_io, and XrdOucCacheIO::Path().
Referenced by GetFilename().
|
inline |
References XrdPfc::Cache::GetTrace(), and m_cache.
|
pure virtual |
Implemented in XrdPfc::IOEntireFile, and XrdPfc::IOFileBlock.
|
inlinevirtual |
|
inlineprotected |
References XrdOucCacheIO::Location(), and m_io.
|
private |
|
inline |
Perform an asynchronous sync() operation (defaults to synchronous).
iocb | reference to the callback object that receives the result. All results are returned via this object's Done() method. If the caller holds any locks they must be recursive locks as the callback may occur on the calling thread. |
virtual int XrdOucCacheIO::Sync |
Perform an synchronous sync() operation.
|
inlinevirtual |
Perform an synchronous sync() operation.
Implements XrdOucCacheIO.
|
inline |
Perform an asynchronous trunc() operation (defaults to synchronous).
iocb | reference to the callback object that receives the result. All results are returned via this object's Done() method. If the caller holds any locks they must be recursive locks as the callback may occur on the calling thread. |
offs | the size the file is have. |
virtual int XrdOucCacheIO::Trunc |
Perform an synchronous trunc() operation.
offs | the size the file is have. |
|
inlinevirtual |
Perform an synchronous trunc() operation.
offs | the size the file is have. |
Implements XrdOucCacheIO.
|
virtual |
Update the originally passed XrdOucCacheIO object with the object passed. All future uses underlying XrdOucCacheIO object must now use this object. Update() is called when Prepare() indicated that the file should not be physically opened and a file method was invoked in the XrdOucCacheIO passed to Attach(). When this occurs, the file is actually opened and Update() called to replace the original XrdOucCacheIO object with one that uses the newly opened file.
iocp | reference to the new XrdOucCacheIO object. |
Reimplemented from XrdOucCacheIO.
Reimplemented in XrdPfc::IOEntireFile, and XrdPfc::IOFileBlock.
|
inline |
Perform an asynchronous write (defaults to synchronous).
iocb | reference to the callback object that receives the result. All results are returned via this object's Done() method. If the caller holds any locks they must be recursive locks as the callback may occur on the calling thread. |
buff | pointer to the buffer holding the contents. The buffer must remain valid until the callback is invoked. |
offs | the offset into the file. |
wlen | the number of bytes to write |
virtual int XrdOucCacheIO::Write |
Perform an synchronous write.
buff | pointer to the buffer holding the contents. The buffer must remain valid until the callback is invoked. |
offs | the offset into the file. |
wlen | the number of bytes to write |
|
inlinevirtual |
Perform an synchronous write.
buff | pointer to the buffer holding the contents. The buffer must remain valid until the callback is invoked. |
offs | the offset into the file. |
wlen | the number of bytes to write |
Implements XrdOucCacheIO.
|
protected |
reference to Cache needed in detach
Referenced by GetTrace().
|
private |
original data source
Referenced by Base(), GetLocation(), GetPath(), Path(), and RefreshLocation().
|
protected |
|
private |