|
XRootD
|
#include <XrdThrottle.hh>
Inheritance diagram for XrdThrottle::File:
Collaboration diagram for XrdThrottle::File:Public Member Functions | |
| virtual int | checkpoint (cpAct act, struct iov *range=0, int n=0) override |
| virtual int | close () override |
| virtual int | fctl (const int cmd, const char *args, XrdOucErrInfo &out_error) override |
| virtual int | fctl (const int cmd, int alen, const char *args, const XrdSecEntity *client=0) |
| virtual const char * | FName () override |
| virtual int | getCXinfo (char cxtype[4], int &cxrsz) override |
| virtual int | getMmap (void **Addr, off_t &Size) override |
| virtual int | open (const char *fileName, XrdSfsFileOpenMode openMode, mode_t createMode, const XrdSecEntity *client, const char *opaque=0) override |
| virtual XrdSfsXferSize | pgRead (XrdSfsAio *aioparm, uint64_t opts=0) override |
| virtual XrdSfsXferSize | pgRead (XrdSfsFileOffset offset, char *buffer, XrdSfsXferSize rdlen, uint32_t *csvec, uint64_t opts=0) override |
| virtual XrdSfsXferSize | pgWrite (XrdSfsAio *aioparm, uint64_t opts=0) override |
| virtual XrdSfsXferSize | pgWrite (XrdSfsFileOffset offset, char *buffer, XrdSfsXferSize rdlen, uint32_t *csvec, uint64_t opts=0) override |
| virtual int | read (XrdSfsAio *aioparm) override |
| virtual XrdSfsXferSize | read (XrdSfsFileOffset fileOffset, char *buffer, XrdSfsXferSize buffer_size) override |
| virtual int | read (XrdSfsFileOffset fileOffset, XrdSfsXferSize amount) override |
| virtual int | SendData (XrdSfsDio *sfDio, XrdSfsFileOffset offset, XrdSfsXferSize size) override |
| virtual int | stat (struct stat *buf) override |
| virtual int | sync () override |
| virtual int | sync (XrdSfsAio *aiop) override |
| virtual int | truncate (XrdSfsFileOffset fileOffset) override |
| virtual int | write (XrdSfsAio *aioparm) override |
| virtual XrdSfsXferSize | write (XrdSfsFileOffset fileOffset, const char *buffer, XrdSfsXferSize buffer_size) override |
Public Member Functions inherited from XrdSfsFile | |
| XrdSfsFile (const char *user=0, int MonID=0) | |
| XrdSfsFile (XrdOucErrInfo &eInfo) | |
| XrdSfsFile (XrdSfsFile &wrapF) | |
| virtual | ~XrdSfsFile () |
| Destructor. | |
| virtual XrdSfsXferSize | readv (XrdOucIOVec *readV, int rdvCnt) |
| virtual void | setXio (XrdSfsXio *xioP) |
| virtual XrdSfsXferSize | writev (XrdOucIOVec *writeV, int wdvCnt) |
Friends | |
| class | FileSystem |
Additional Inherited Members | |
Public Types inherited from XrdSfsFile | |
| enum | cpAct { cpCreate =0 , cpDelete , cpRestore , cpQuery , cpTrunc , cpWrite } |
Public Attributes inherited from XrdSfsFile | |
| XrdOucErrInfo & | error |
Static Public Attributes inherited from XrdSfsFile | |
| static const uint64_t | Verify = 0x8000000000000000ULL |
| Options for pgRead() and pgWrite() as noted below. | |
Definition at line 28 of file XrdThrottle.hh.
Reimplemented from XrdSfsFile.
Definition at line 85 of file XrdThrottleFile.cc.
References checkpoint().
Referenced by checkpoint().
Here is the call graph for this function:
Here is the caller graph for this function:
|
overridevirtual |
Close the file.
Implements XrdSfsFile.
Definition at line 78 of file XrdThrottleFile.cc.
References close().
Referenced by close().
Here is the call graph for this function:
Here is the caller graph for this function:
|
overridevirtual |
Execute a special operation on the file (version 1)
| cmd | - The operation to be performed (see below). SFS_FCTL_GETFD Return file descriptor if possible SFS_FCTL_STATV Reserved for future use. |
| args | - specific arguments to cmd SFS_FCTL_GETFD Set to zero. |
| eInfo | - The object where error info or results are to be returned. This is legacy and the error onject may be used as well. |
Implements XrdSfsFile.
Definition at line 89 of file XrdThrottleFile.cc.
References XrdSfsFile::error, fctl(), SFS_ERROR, and SFS_FCTL_GETFD.
Referenced by fctl().
Here is the call graph for this function:
Here is the caller graph for this function:
|
virtual |
Execute a special operation on the file (version 2)
| cmd | - The operation to be performed: SFS_FCTL_SPEC1 Perform implementation defined action |
| alen | - Length of data pointed to by args. |
| args | - Data sent with request, zero if alen is zero. |
| client | - Client's identify (see common description). |
Reimplemented from XrdSfsFile.
Definition at line 489 of file XrdSfsInterface.cc.
|
overridevirtual |
Get the file path.
Implements XrdSfsFile.
Definition at line 103 of file XrdThrottleFile.cc.
References FName().
Referenced by FName().
Here is the call graph for this function:
Here is the caller graph for this function:
|
overridevirtual |
Get compression information for the file.
| cxtype | - Place where the compression algorithm name is to be placed |
| cxrsz | - Place where the compression page size is to be returned |
Implements XrdSfsFile.
Definition at line 230 of file XrdThrottleFile.cc.
References getCXinfo().
Referenced by getCXinfo().
Here is the call graph for this function:
Here is the caller graph for this function:
|
overridevirtual |
Get file's memory mapping if one exists (memory mapped files only).
| Addr | - Place where the starting memory address is returned. |
| Size | - Place where the file's size is returned. |
Implements XrdSfsFile.
Definition at line 109 of file XrdThrottleFile.cc.
References XrdSfsFile::error, getMmap(), and SFS_ERROR.
Referenced by getMmap().
Here is the call graph for this function:
Here is the caller graph for this function:
|
overridevirtual |
Open a file.
| fileName | - Pointer to the path of the file to be opened. |
| openMode | - Flags indicating how the open is to be handled. SFS_O_CREAT create the file SFS_O_MKPTH Make directory path if missing SFS_O_NOWAIT do not impose operational delays SFS_O_NOTPC do not allow TPC operation SFS_O_POSC persist only on successful close SFS_O_RAWIO allow client-side decompression SFS_O_RDONLY open read/only SFS_O_RDWR open read/write SFS_O_REPLICA Open for replication SFS_O_RESET Reset any cached information SFS_O_TRUNC truncate existing file to zero length SFS_O_WRONLY open write/only |
| createMode | - The file's mode if it will be created. |
| client | - Client's identify (see common description). |
| opaque | - path's CGI information (see common description). |
Implements XrdSfsFile.
Definition at line 55 of file XrdThrottleFile.cc.
References XrdSfsFile::error, open(), and SFS_ERROR.
Referenced by open().
Here is the call graph for this function:
Here is the caller graph for this function:
|
overridevirtual |
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 XrdSfsFile.
Definition at line 127 of file XrdThrottleFile.cc.
References aiocb::aio_buf, aiocb::aio_nbytes, aiocb::aio_offset, XrdSfsAio::cksVec, XrdSfsAio::doneRead(), opts, pgRead(), XrdSfsAio::Result, SFS_OK, and XrdSfsAio::sfsAio.
Here is the call graph for this function:
|
overridevirtual |
Read file pages into a buffer and return corresponding checksums.
| offset | - The offset where the read is to start. It may be unaligned with certain caveats relative to csvec. |
| buffer | - pointer to buffer where the bytes are to be placed. |
| 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. However, if the offset is unaligned, then csvec[0] contains the crc for the page fragment that brings it to alignment for csvec[1]. It must be sized to hold all aligned XrdSys::Pagesize crc's plus additional ones for leading and ending page fragments, if any. |
| opts | - Processing options (see above). |
Reimplemented from XrdSfsFile.
Definition at line 116 of file XrdThrottleFile.cc.
References DO_THROTTLE, opts, and pgRead().
Referenced by pgRead(), and pgRead().
Here is the call graph for this function:
Here is the caller graph for this function:
|
overridevirtual |
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 XrdSfsFile.
Definition at line 149 of file XrdThrottleFile.cc.
References aiocb::aio_buf, aiocb::aio_nbytes, aiocb::aio_offset, XrdSfsAio::cksVec, XrdSfsAio::doneWrite(), opts, pgWrite(), XrdSfsAio::Result, SFS_OK, and XrdSfsAio::sfsAio.
Here is the call graph for this function:
|
overridevirtual |
Write file pages into a file with corresponding checksums.
| offset | - The offset where the write is to start. It may be unaligned with certain caveats relative to csvec. |
| buffer | - pointer to buffer containing the bytes to write. |
| 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 or page fragment. If offset is unaligned then csvec[0] is the crc of the leading fragment to align the subsequent full page who's crc is in csvec[1]. It must be sized to hold all aligned XrdSys::Pagesize crc's plus additional ones for leading and ending page fragments, if any. |
| opts | - Processing options (see above). |
Reimplemented from XrdSfsFile.
Definition at line 138 of file XrdThrottleFile.cc.
References DO_THROTTLE, opts, and pgWrite().
Referenced by pgWrite(), and pgWrite().
Here is the call graph for this function:
Here is the caller graph for this function:
|
overridevirtual |
Read file bytes using asynchronous I/O.
| aioparm | - Pointer to async I/O object controlling the I/O. |
Implements XrdSfsFile.
Definition at line 177 of file XrdThrottleFile.cc.
References aiocb::aio_buf, aiocb::aio_nbytes, aiocb::aio_offset, XrdSfsAio::doneRead(), read, read(), XrdSfsAio::Result, SFS_OK, and XrdSfsAio::sfsAio.
Here is the call graph for this function:
|
overridevirtual |
Read file bytes into a buffer.
| offset | - The offset where the read is to start. |
| buffer | - pointer to buffer where the bytes are to be placed. |
| size | - The number of bytes to read. |
Implements XrdSfsFile.
Definition at line 168 of file XrdThrottleFile.cc.
References DO_THROTTLE, and read().
Here is the call graph for this function:
|
overridevirtual |
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. |
Implements XrdSfsFile.
Definition at line 160 of file XrdThrottleFile.cc.
References DO_THROTTLE, and read().
Referenced by read(), read(), and read().
Here is the call graph for this function:
Here is the caller graph for this function:
|
overridevirtual |
Send file bytes via a XrdSfsDio sendfile object to a client (optional).
| sfDio | - Pointer to the sendfile object for data transfer. |
| offset | - The offset where the read is to start. |
| size | - The number of bytes to read and send. |
Reimplemented from XrdSfsFile.
Definition at line 236 of file XrdThrottleFile.cc.
References DO_THROTTLE, and SendData().
Referenced by SendData().
Here is the call graph for this function:
Here is the caller graph for this function:
|
overridevirtual |
Return state information on the file.
| buf | - Pointer to the structure where info it to be returned. |
Implements XrdSfsFile.
Definition at line 218 of file XrdThrottleFile.cc.
References stat().
Referenced by FileSystem, and stat().
Here is the call graph for this function:
Here is the caller graph for this function:
|
overridevirtual |
Make sure all outstanding data is actually written to the file (sync).
Implements XrdSfsFile.
Definition at line 206 of file XrdThrottleFile.cc.
References sync().
Referenced by sync(), and sync().
Here is the call graph for this function:
Here is the caller graph for this function:
|
overridevirtual |
Make sure all outstanding data is actually written to the file (async).
Implements XrdSfsFile.
Definition at line 212 of file XrdThrottleFile.cc.
References sync().
Here is the call graph for this function:
|
overridevirtual |
Truncate the file.
| fsize | - The size that the file is to have. |
Implements XrdSfsFile.
Definition at line 224 of file XrdThrottleFile.cc.
References truncate().
Referenced by truncate().
Here is the call graph for this function:
Here is the caller graph for this function:
|
overridevirtual |
Write file bytes using asynchronous I/O.
| aioparm | - Pointer to async I/O object controlling the I/O. |
Implements XrdSfsFile.
Definition at line 196 of file XrdThrottleFile.cc.
References aiocb::aio_buf, aiocb::aio_nbytes, aiocb::aio_offset, XrdSfsAio::doneWrite(), XrdSfsAio::Result, SFS_OK, XrdSfsAio::sfsAio, write, and write().
Here is the call graph for this function:
|
overridevirtual |
Write file bytes from a buffer.
| offset | - The offset where the write is to start. |
| buffer | - pointer to buffer where the bytes reside. |
| size | - The number of bytes to write. |
Implements XrdSfsFile.
Definition at line 187 of file XrdThrottleFile.cc.
References DO_THROTTLE, and write().
Referenced by write(), and write().
Here is the call graph for this function:
Here is the caller graph for this function:
|
friend |
Definition at line 30 of file XrdThrottle.hh.
References XrdSfsFile::fctl(), FileSystem, opts, and stat().
Referenced by FileSystem.