![]() |
XRootD
|
#include <XrdOssWrapper.hh>
Public Member Functions | |
XrdOssWrapDF (XrdOssDF &df2Wrap) | |
virtual | ~XrdOssWrapDF () |
virtual int | Close (long long *retsz=0) |
uint16_t | DFType () |
virtual int | Fchmod (mode_t mode) |
virtual int | Fctl (int cmd, int alen, const char *args, char **resp=0) |
virtual void | Flush () |
Flush filesystem cached pages for this file (used for checksums). More... | |
virtual int | Fstat (struct stat *buf) |
virtual int | Fsync () |
virtual int | Fsync (XrdSfsAio *aiop) |
virtual int | Ftruncate (unsigned long long flen) |
virtual int | getFD () |
virtual off_t | getMmap (void **addr) |
virtual const char * | getTID () |
virtual int | isCompressed (char *cxidp=0) |
virtual int | Open (const char *path, int Oflag, mode_t Mode, XrdOucEnv &env) |
virtual int | Opendir (const char *path, XrdOucEnv &env) |
virtual ssize_t | pgRead (void *buffer, off_t offset, size_t rdlen, uint32_t *csvec, uint64_t opts) |
virtual int | pgRead (XrdSfsAio *aioparm, uint64_t opts) |
virtual ssize_t | pgWrite (void *buffer, off_t offset, size_t wrlen, uint32_t *csvec, uint64_t opts) |
virtual int | pgWrite (XrdSfsAio *aioparm, uint64_t opts) |
virtual ssize_t | Read (off_t offset, size_t size) |
virtual ssize_t | Read (void *buffer, off_t offset, size_t size) |
virtual int | Read (XrdSfsAio *aiop) |
virtual int | Readdir (char *buff, int blen) |
virtual ssize_t | ReadRaw (void *buffer, off_t offset, size_t size) |
virtual ssize_t | ReadV (XrdOucIOVec *readV, int rdvcnt) |
virtual int | StatRet (struct stat *Stat) |
virtual ssize_t | Write (const void *buffer, off_t offset, size_t size) |
virtual int | Write (XrdSfsAio *aiop) |
virtual ssize_t | WriteV (XrdOucIOVec *writeV, int wrvcnt) |
![]() | |
XrdOssDF (const char *tid="", uint16_t dftype=0, int fdnum=-1) | |
virtual | ~XrdOssDF () |
uint16_t | DFType () |
Protected Attributes | |
XrdOssDF & | wrapDF |
![]() | |
uint16_t | dfType |
int | fd |
off_t | pgwEOF |
short | rsvd |
const char * | tident |
Additional Inherited Members | |
![]() | |
static const uint16_t | DF_isDir = 0x0001 |
Object is for a directory. More... | |
static const uint16_t | DF_isFile = 0x0002 |
Object is for a file. More... | |
static const uint16_t | DF_isProxy = 0x0010 |
Object is a proxy object. More... | |
static const uint64_t | doCalc = 0x4000000000000000ULL |
pgw: Calculate checksums More... | |
static const int | Fctl_ckpObj = 0 |
static const int | Fctl_utimes = 1 |
static const uint64_t | Verify = 0x8000000000000000ULL |
all: Verify checksums More... | |
This class defines a wrapper around the three basic XrdOss classes that defines the Oss interface. It is meant to be used by pushed XrdOss plugins that wish to intercept certain XrdOss method for an underlying Oss plugin. Inheriting this class and providing it the underlying wrapped object allows the derived class to easily intercept certain methods while allow non-intercepted methods to pass through. This class wraps the object that handles directory as well as file oriented requests. It is used by the derived class to wrap the object obtained by calling newDir() or newFile() in class XrdOss.
Definition at line 52 of file XrdOssWrapper.hh.
|
inline |
Constructor and Destructor
df2Wrap- | Reference to the newFile or newDir object being wrapped. |
Definition at line 432 of file XrdOssWrapper.hh.
|
inlinevirtual |
Definition at line 434 of file XrdOssWrapper.hh.
|
inlinevirtual |
Close a directory or file.
retsz | If not nil, where the size of the file is to be returned. |
Implements XrdOssDF.
Definition at line 377 of file XrdOssWrapper.hh.
References XrdOssDF::Close(), and wrapDF.
|
inline |
Return the underlying object type.
Definition at line 385 of file XrdOssWrapper.hh.
References XrdOssDF::DFType(), and wrapDF.
|
inlinevirtual |
Change file mode settings.
mode | - The new file mode setting. |
Reimplemented from XrdOssDF.
Reimplemented in StatsFile.
Definition at line 110 of file XrdOssWrapper.hh.
References XrdOssDF::Fchmod(), and wrapDF.
|
inlinevirtual |
Execute a special operation on the directory or file.
cmd | - The operation to be performed: Fctl_ckpObj - Obtain checkpoint object for proxy file. Argument: None. Response: Pointer to XrdOucChkPnt object. Fctl_utimes - Set atime and mtime (no response). Argument: struct timeval tv[2] |
alen | - Length of data pointed to by args. |
args | - Data sent with request, zero if alen is zero. |
resp | - Where the response is to be set. The caller must call delete on the returned object. |
Reimplemented from XrdOssDF.
Definition at line 404 of file XrdOssWrapper.hh.
References XrdOssDF::Fctl(), and wrapDF.
|
inlinevirtual |
Flush filesystem cached pages for this file (used for checksums).
Reimplemented from XrdOssDF.
Definition at line 116 of file XrdOssWrapper.hh.
References XrdOssDF::Flush(), and wrapDF.
|
inlinevirtual |
Return state information for this file.
buf | - Pointer to the structure where info it to be returned. |
Reimplemented from XrdOssDF.
Reimplemented in StatsFile.
Definition at line 126 of file XrdOssWrapper.hh.
References XrdOssDF::Fstat(), and wrapDF.
|
inlinevirtual |
Synchronize associated file with media (synchronous).
Reimplemented from XrdOssDF.
Definition at line 134 of file XrdOssWrapper.hh.
References XrdOssDF::Fsync(), and wrapDF.
|
inlinevirtual |
Synchronize associated file with media (asynchronous).
aiop | - Pointer to async I/O request object. |
Reimplemented from XrdOssDF.
Definition at line 144 of file XrdOssWrapper.hh.
References XrdOssDF::Fsync(), and wrapDF.
|
inlinevirtual |
Set the size of the associated file.
flen | - The new size of the file. |
Reimplemented from XrdOssDF.
Reimplemented in StatsFile.
Definition at line 154 of file XrdOssWrapper.hh.
References XrdOssDF::Ftruncate(), and wrapDF.
|
inlinevirtual |
Return the underlying file descriptor.
Reimplemented from XrdOssDF.
Definition at line 413 of file XrdOssWrapper.hh.
References XrdOssDF::getFD(), and wrapDF.
|
inlinevirtual |
Return the memory mapped characteristics of the file.
addr | - Pointer to where the memory mapped address is to be returned. |
Reimplemented from XrdOssDF.
Definition at line 167 of file XrdOssWrapper.hh.
References XrdOssDF::getMmap(), and wrapDF.
|
inlinevirtual |
Return trace identifier associated with this object.
Reimplemented from XrdOssDF.
Definition at line 421 of file XrdOssWrapper.hh.
References XrdOssDF::getTID(), and wrapDF.
|
inlinevirtual |
Return file compression charectistics.
cxidp | - Pointer to where the compression algorithm name returned. |
Reimplemented from XrdOssDF.
Definition at line 178 of file XrdOssWrapper.hh.
References XrdOssDF::isCompressed(), and wrapDF.
|
inlinevirtual |
Open a file.
path | - Pointer to the path of the file to be opened. |
Oflag | - Standard open flags. |
Mode | - File open mode (ignored unless creating a file). |
env | - Reference to environmental information. |
Reimplemented from XrdOssDF.
Reimplemented in StatsFile.
Definition at line 191 of file XrdOssWrapper.hh.
References Mode, XrdOssDF::Open(), and wrapDF.
|
inlinevirtual |
Open a directory.
path | - Pointer to the path of the directory to be opened. |
env | - Reference to environmental information. |
Reimplemented from XrdOssDF.
Reimplemented in StatsDirectory.
Definition at line 69 of file XrdOssWrapper.hh.
References XrdOssDF::Opendir(), and wrapDF.
|
inlinevirtual |
Read file pages into a buffer and return corresponding checksums.
buffer | - pointer to buffer where the bytes are to be placed. |
offset | - The offset where the read is to start. It must be page aligned. |
rdlen | - The number of bytes to read. The amount must be an integral number of XrdSfsPage::Size bytes. |
csvec | - A vector of entries to be filled with the cooresponding CRC32C checksum for each page. It must be size to rdlen/XrdSys::PageSize + (rdlenXrdSys::PageSize != 0) |
opts | - Processing options (see below). |
Reimplemented from XrdOssDF.
Reimplemented in StatsFile.
Definition at line 211 of file XrdOssWrapper.hh.
References opts, XrdOssDF::pgRead(), and wrapDF.
|
inlinevirtual |
Read file pages and checksums using asynchronous I/O.
aioparm | - Pointer to async I/O object controlling the I/O. |
opts | - Processing options (see above). |
Reimplemented from XrdOssDF.
Reimplemented in StatsFile.
Definition at line 225 of file XrdOssWrapper.hh.
References opts, XrdOssDF::pgRead(), and wrapDF.
|
inlinevirtual |
Write file pages into a file with corresponding checksums.
buffer | - pointer to buffer containing the bytes to write. |
offset | - The offset where the write is to start. It must be page aligned. |
wrlen | - The number of bytes to write. If amount is not an integral number of XrdSys::PageSize bytes, then this must be the last write to the file at or above the offset. |
csvec | - A vector which contains the corresponding CRC32 checksum for each page. It must be size to wrlen/XrdSys::PageSize + (wrlenXrdSys::PageSize != 0) |
opts | - Processing options (see above). |
Reimplemented from XrdOssDF.
Reimplemented in StatsFile.
Definition at line 247 of file XrdOssWrapper.hh.
References opts, XrdOssDF::pgWrite(), and wrapDF.
|
inlinevirtual |
Write file pages and checksums using asynchronous I/O.
aioparm | - Pointer to async I/O object controlling the I/O. |
opts | - Processing options (see above). |
Reimplemented from XrdOssDF.
Reimplemented in StatsFile.
Definition at line 261 of file XrdOssWrapper.hh.
References opts, XrdOssDF::pgWrite(), and wrapDF.
|
inlinevirtual |
Preread file blocks into the file system cache.
offset | - The offset where the read is to start. |
size | - The number of bytes to pre-read. |
Reimplemented from XrdOssDF.
Reimplemented in StatsFile.
Definition at line 273 of file XrdOssWrapper.hh.
References XrdOssDF::Read(), and wrapDF.
|
inlinevirtual |
Read file bytes into a buffer.
buffer | - pointer to buffer where the bytes are to be placed. |
offset | - The offset where the read is to start. |
size | - The number of bytes to read. |
Reimplemented from XrdOssDF.
Reimplemented in StatsFile.
Definition at line 287 of file XrdOssWrapper.hh.
References XrdOssDF::Read(), and wrapDF.
|
inlinevirtual |
Read file bytes using asynchronous I/O.
aiop | - Pointer to async I/O object controlling the I/O. |
Reimplemented from XrdOssDF.
Reimplemented in StatsFile.
Definition at line 299 of file XrdOssWrapper.hh.
References XrdOssDF::Read(), and wrapDF.
|
inlinevirtual |
Get the next directory entry.
buff | - Pointer to buffer where a null terminated string of the entry name is to be returned. If no more entries exist, a null string is returned. |
blen | - Length of the buffer. |
Reimplemented from XrdOssDF.
Reimplemented in StatsDirectory.
Definition at line 83 of file XrdOssWrapper.hh.
References XrdOssDF::Readdir(), and wrapDF.
|
inlinevirtual |
Read uncompressed file bytes into a buffer.
buffer | - pointer to buffer where the bytes are to be placed. |
offset | - The offset where the read is to start. |
size | - The number of bytes to read. |
Reimplemented from XrdOssDF.
Reimplemented in StatsFile.
Definition at line 312 of file XrdOssWrapper.hh.
References XrdOssDF::ReadRaw(), and wrapDF.
|
inlinevirtual |
Read file bytes as directed by the read vector.
readV | pointer to the array of read requests. |
rdvcnt | the number of elements in readV. |
Reimplemented from XrdOssDF.
Reimplemented in StatsFile.
Definition at line 325 of file XrdOssWrapper.hh.
References XrdOssDF::ReadV(), and wrapDF.
|
inlinevirtual |
Set the stat() buffer where stat information is to be placed corresponding to the directory entry returned by Readdir().
Stat | - Pointer to stat structure to be used. |
Reimplemented from XrdOssDF.
Definition at line 97 of file XrdOssWrapper.hh.
References Stat, XrdOssDF::StatRet(), and wrapDF.
|
inlinevirtual |
Write file bytes from a buffer.
buffer | - pointer to buffer where the bytes reside. |
offset | - The offset where the write is to start. |
size | - The number of bytes to write. |
Reimplemented from XrdOssDF.
Reimplemented in StatsFile.
Definition at line 339 of file XrdOssWrapper.hh.
References wrapDF, and XrdOssDF::Write().
|
inlinevirtual |
Write file bytes using asynchronous I/O.
aiop | - Pointer to async I/O object controlling the I/O. |
Reimplemented from XrdOssDF.
Reimplemented in StatsFile.
Definition at line 351 of file XrdOssWrapper.hh.
References wrapDF, and XrdOssDF::Write().
|
inlinevirtual |
Write file bytes as directed by the write vector.
writeV | pointer to the array of write requests. |
wrvcnt | the number of elements in writeV. |
Reimplemented from XrdOssDF.
Reimplemented in StatsFile.
Definition at line 363 of file XrdOssWrapper.hh.
References wrapDF, and XrdOssDF::WriteV().
|
protected |
Definition at line 439 of file XrdOssWrapper.hh.
Referenced by Close(), DFType(), Fchmod(), StatsFile::Fchmod(), Fctl(), Flush(), Fstat(), StatsFile::Fstat(), Fsync(), Ftruncate(), StatsFile::Ftruncate(), getFD(), getMmap(), getTID(), isCompressed(), Open(), StatsFile::Open(), Opendir(), StatsDirectory::Opendir(), pgRead(), StatsFile::pgRead(), pgWrite(), StatsFile::pgWrite(), Read(), StatsFile::Read(), Readdir(), StatsDirectory::Readdir(), ReadRaw(), StatsFile::ReadRaw(), ReadV(), StatsFile::ReadV(), StatRet(), Write(), StatsFile::Write(), WriteV(), and StatsFile::WriteV().