#include <XrdPosixPrepIO.hh>
Public Member Functions | |
bool | Detach (XrdOucCacheIOCD &cdP) |
void | Disable () |
long long | FSize () |
int | Fstat (struct stat &buf) |
int | Open () |
const char * | Path () |
int | Read (char *Buffer, long long Offset, int Length) |
void | Read (XrdOucCacheIOCB &iocb, char *buff, long long offs, int rlen) |
int | ReadV (const XrdOucIOVec *readV, int n) |
void | ReadV (XrdOucCacheIOCB &iocb, const XrdOucIOVec *readV, int rnum) |
int | Sync () |
void | Sync (XrdOucCacheIOCB &iocb) |
int | Trunc (long long Offset) |
int | Write (char *Buffer, long long Offset, int Length) |
void | Write (XrdOucCacheIOCB &iocb, char *buff, long long offs, int wlen) |
XrdPosixPrepIO (XrdPosixFile *fP, XrdCl::OpenFlags::Flags clflags, XrdCl::Access::Mode clmode) | |
virtual | ~XrdPosixPrepIO () |
Private Member Functions | |
bool | Init (XrdOucCacheIOCB *iocbP=0) |
Private Attributes | |
XrdPosixFile * | fileP |
int | openRC |
int | iCalls |
XrdCl::OpenFlags::Flags | clFlags |
XrdCl::Access::Mode | clMode |
XrdPosixPrepIO::XrdPosixPrepIO | ( | XrdPosixFile * | fP, | |
XrdCl::OpenFlags::Flags | clflags, | |||
XrdCl::Access::Mode | clmode | |||
) | [inline] |
virtual XrdPosixPrepIO::~XrdPosixPrepIO | ( | ) | [inline, virtual] |
bool XrdPosixPrepIO::Detach | ( | XrdOucCacheIOCD & | iocd | ) | [inline, virtual] |
Detach this CacheIO object from the cache.
iocd | reference to the detach complete callback object. |
Implements XrdOucCacheIO.
void XrdPosixPrepIO::Disable | ( | ) |
long long XrdPosixPrepIO::FSize | ( | ) | [inline, virtual] |
Obtain size of the file.
Implements XrdOucCacheIO.
References fileP, XrdPosixFile::FSize(), Init(), and openRC.
int XrdPosixPrepIO::Fstat | ( | struct stat & | sbuff | ) | [inline, virtual] |
Perform an fstat() operation (defaults to passthrough).
sbuff | reference to the stat buffer to be filled in. Only fields st_size, st_blocks, st_mtime (st_atime and st_ctime may be set to st_mtime), st_ino, and st_mode need to be set. All other fields are preset and should not be changed. |
Reimplemented from XrdOucCacheIO.
References fileP, XrdPosixFile::Fstat(), Init(), and openRC.
bool XrdPosixPrepIO::Init | ( | XrdOucCacheIOCB * | iocbP = 0 |
) | [private] |
const char* XrdPosixPrepIO::Path | ( | ) | [inline, virtual] |
Get the path associated with this object.
Implements XrdOucCacheIO.
References fileP, and XrdPosixFile::Path().
void XrdPosixPrepIO::Read | ( | XrdOucCacheIOCB & | iocb, | |
char * | buff, | |||
long long | offs, | |||
int | rlen | |||
) | [inline, virtual] |
Perform an asynchronous read (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 to receive the results. The buffer must remain valid until the callback is invoked. | |
offs | the offset into the file. | |
rlen | the number of bytes to read. |
Reimplemented from XrdOucCacheIO.
References XrdOucCacheIOCB::Done(), fileP, Init(), openRC, and XrdPosixFile::Read().
int XrdPosixPrepIO::Read | ( | char * | buff, | |
long long | offs, | |||
int | rlen | |||
) | [inline, virtual] |
Perform an synchronous read.
buff | pointer to the buffer to receive the results. The buffer must remain valid until the callback is invoked. | |
offs | the offset into the file. | |
rlen | the number of bytes to read. |
Implements XrdOucCacheIO.
References fileP, Init(), openRC, and XrdPosixFile::Read().
void XrdPosixPrepIO::ReadV | ( | XrdOucCacheIOCB & | iocb, | |
const XrdOucIOVec * | readV, | |||
int | rnum | |||
) | [inline, virtual] |
Perform an asynchronous vector read (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. | |
readV | pointer to a vector of read requests. | |
rnum | the number of elements in the vector. |
Reimplemented from XrdOucCacheIO.
References XrdOucCacheIOCB::Done(), fileP, Init(), openRC, and XrdPosixFile::ReadV().
int XrdPosixPrepIO::ReadV | ( | const XrdOucIOVec * | readV, | |
int | rnum | |||
) | [inline, virtual] |
Perform an synchronous vector read.
readV | pointer to a vector of read requests. | |
rnum | the number of elements in the vector. |
Reimplemented from XrdOucCacheIO.
References fileP, Init(), openRC, and XrdPosixFile::ReadV().
void XrdPosixPrepIO::Sync | ( | XrdOucCacheIOCB & | iocb | ) | [inline, virtual] |
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. |
Reimplemented from XrdOucCacheIO.
References XrdOucCacheIOCB::Done(), fileP, Init(), openRC, and XrdPosixFile::Sync().
int XrdPosixPrepIO::Sync | ( | ) | [inline, virtual] |
Perform an synchronous sync() operation.
Implements XrdOucCacheIO.
References fileP, Init(), openRC, and XrdPosixFile::Sync().
int XrdPosixPrepIO::Trunc | ( | long long | offs | ) | [inline, virtual] |
Perform an synchronous trunc() operation.
offs | the size the file is have. |
Implements XrdOucCacheIO.
References fileP, Init(), openRC, and XrdPosixFile::Trunc().
void XrdPosixPrepIO::Write | ( | XrdOucCacheIOCB & | iocb, | |
char * | buff, | |||
long long | offs, | |||
int | wlen | |||
) | [inline, virtual] |
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 |
Reimplemented from XrdOucCacheIO.
References XrdOucCacheIOCB::Done(), fileP, Init(), openRC, and XrdPosixFile::Write().
int XrdPosixPrepIO::Write | ( | char * | buff, | |
long long | offs, | |||
int | wlen | |||
) | [inline, virtual] |
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.
References fileP, Init(), openRC, and XrdPosixFile::Write().
XrdCl::Access::Mode XrdPosixPrepIO::clMode [private] |
XrdPosixFile* XrdPosixPrepIO::fileP [private] |
int XrdPosixPrepIO::iCalls [private] |
int XrdPosixPrepIO::openRC [private] |