xrootd
|
#include <XrdOssWrapper.hh>
Public Member Functions | |
virtual int | Opendir (const char *path, XrdOucEnv &env) |
virtual int | Readdir (char *buff, int blen) |
virtual int | StatRet (struct stat *Stat) |
virtual int | Fchmod (mode_t mode) |
virtual void | Flush () |
Flush filesystem cached pages for this file (used for checksums). | |
virtual int | Fstat (struct stat *buf) |
virtual int | Fsync () |
virtual int | Fsync (XrdSfsAio *aiop) |
virtual int | Ftruncate (unsigned long long flen) |
virtual off_t | getMmap (void **addr) |
virtual int | isCompressed (char *cxidp=0) |
virtual int | Open (const char *path, int Oflag, mode_t Mode, 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 ssize_t | ReadRaw (void *buffer, off_t offset, size_t size) |
virtual ssize_t | ReadV (XrdOucIOVec *readV, int rdvcnt) |
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) |
virtual int | Close (long long *retsz=0) |
uint16_t | DFType () |
virtual int | Fctl (int cmd, int alen, const char *args, char **resp=0) |
virtual int | getFD () |
virtual const char * | getTID () |
XrdOssWrapDF (XrdOssDF &df2Wrap) | |
virtual | ~XrdOssWrapDF () |
Public Member Functions inherited from XrdOssDF | |
uint16_t | DFType () |
XrdOssDF (const char *tid="", uint16_t dftype=0, int fdnum=-1) | |
virtual | ~XrdOssDF () |
Protected Attributes | |
XrdOssDF & | wrapDF |
Protected Attributes inherited from XrdOssDF | |
const char * | tident |
off_t | pgwEOF |
int | fd |
uint16_t | dfType |
short | rsvd |
Additional Inherited Members | |
Static Public Attributes inherited from XrdOssDF | |
static const uint64_t | Verify = 0x8000000000000000ULL |
all: Verify checksums | |
static const uint64_t | doCalc = 0x4000000000000000ULL |
pgw: Calculate checksums | |
static const uint16_t | DF_isDir = 0x0001 |
Object is for a directory. | |
static const uint16_t | DF_isFile = 0x0002 |
Object is for a file. | |
static const uint16_t | DF_isProxy = 0x0010 |
Object is a proxy object. | |
static const int | Fctl_ckpObj = 0 |
static const int | Fctl_utimes = 1 |
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.
|
inline |
Constructor and Destructor
df2Wrap- | Reference to the newFile or newDir object being wrapped. |
|
inlinevirtual |
|
inlinevirtual |
Close a directory or file.
retsz | If not nil, where the size of the file is to be returned. |
Implements XrdOssDF.
References XrdOssDF::Close(), and wrapDF.
|
inline |
Return the underlying object type.
References XrdOssDF::DFType(), and wrapDF.
|
inlinevirtual |
Change file mode settings.
mode | - The new file mode setting. |
Reimplemented from XrdOssDF.
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.
References XrdOssDF::Fctl(), and wrapDF.
|
inlinevirtual |
Flush filesystem cached pages for this file (used for checksums).
Reimplemented from XrdOssDF.
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.
References XrdOssDF::Fstat(), and wrapDF.
|
inlinevirtual |
Synchronize associated file with media (synchronous).
Reimplemented from XrdOssDF.
References XrdOssDF::Fsync(), and wrapDF.
|
inlinevirtual |
Synchronize associated file with media (asynchronous).
aiop | - Pointer to async I/O request object. |
Reimplemented from XrdOssDF.
References XrdOssDF::Fsync(), and wrapDF.
|
inlinevirtual |
Set the size of the associated file.
flen | - The new size of the file. |
Reimplemented from XrdOssDF.
References XrdOssDF::Ftruncate(), and wrapDF.
|
inlinevirtual |
Return the underlying file descriptor.
Reimplemented from XrdOssDF.
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.
References XrdOssDF::getMmap(), and wrapDF.
|
inlinevirtual |
Return trace identifier associated with this object.
Reimplemented from XrdOssDF.
References XrdOssDF::getTID(), and wrapDF.
|
inlinevirtual |
Return file compression charectistics.
cxidp | - Pointer to where the compression algorithm name returned. |
Reimplemented from XrdOssDF.
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.
References 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.
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.
References 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.
References 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.
References 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.
References 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.
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.
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.
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.
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.
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.
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.
References 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.
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.
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.
References wrapDF, and XrdOssDF::WriteV().
|
protected |
Referenced by Close(), DFType(), Fchmod(), Fctl(), Flush(), Fstat(), Fsync(), Fsync(), Ftruncate(), getFD(), getMmap(), getTID(), isCompressed(), Open(), Opendir(), pgRead(), pgRead(), pgWrite(), pgWrite(), Read(), Read(), Read(), Readdir(), ReadRaw(), ReadV(), StatRet(), Write(), Write(), and WriteV().