XrdRmcData Class Reference
#include <XrdRmcData.hh>
List of all members.
Classes |
class | MrSw |
Public Member Functions |
bool | Detach (XrdOucCacheIOCD &iocd) |
long long | FSize () |
const char * | Path () |
void | Preread () |
void | Preread (aprParms &Parms) |
void | Preread (long long Offs, int rLen, int Opts=0) |
int | Read (char *Buffer, long long Offset, int Length) |
int | Sync () |
int | Trunc (long long Offset) |
int | Write (char *Buffer, long long Offset, int Length) |
| XrdRmcData (XrdRmcReal *cP, XrdOucCacheIO *ioP, long long vn, int opts) |
Static Public Member Functions |
static int | setAPR (aprParms &Dest, aprParms &Src, int pSize) |
Private Member Functions |
| ~XrdRmcData () |
void | QueuePR (long long SegOffs, int rLen, int prHow, int isAuto=0) |
int | Read (XrdOucCacheStats &Now, char *Buffer, long long Offs, int Length) |
Private Attributes |
XrdOucCacheStats | Statistics |
XrdSysXSLock | rwLock |
XrdSysXSLock * | pPLock |
XrdSysXSLock * | rPLock |
XrdSysXSLock * | wPLock |
XrdSysXS_Type | pPLopt |
XrdSysXS_Type | rPLopt |
XrdSysMutex | DMutex |
XrdRmcReal * | Cache |
XrdOucCacheIO * | ioObj |
long long | VNum |
long long | SegSize |
long long | OffMask |
long long | SegShft |
int | maxCache |
char | isFIS |
char | isRW |
char | Debug |
XrdRmcReal::prTask | prReq |
XrdSysSemaphore * | prStop |
long long | prNSS |
long long | prRR [prRRMax] |
int | prRRNow |
aprParms | Apr |
long long | prCalc |
long long | prBeg [prMax] |
long long | prEnd [prMax] |
int | prNext |
int | prFree |
int | prPerf |
char | prOpt [prMax] |
char | prOK |
char | prActive |
char | prAuto |
Static Private Attributes |
static const int | okRW = 1 |
static const int | xqRW = 2 |
static const int | prRRMax = 5 |
static const int | prMax = 8 |
static const int | prRun = 1 |
static const int | prWait = 2 |
static const int | prLRU = 1 |
static const int | prSUSE = 2 |
static const int | prSKIP = 3 |
Constructor & Destructor Documentation
XrdRmcData::~XrdRmcData |
( |
|
) |
[inline, private] |
Member Function Documentation
Detach this CacheIO object from the cache.
- Note:
- This method must be called instead of using the delete operator since CacheIO objects may have multiple outstanding references and actual deletion may need to be defered.
- Parameters:
-
| iocd | reference to the detach complete callback object. |
- Returns:
- true Deletion can occur immediately. There is no outstanding I/O.
-
false Deletion must be deferred until it is safe to so from the cache perspective. At which point, the cache will call the DetachDone() method in the passed callback object. No locks may be held with respect to the CacheIO object when this is done to avoid deadlocks.
Implements XrdOucCacheIO.
long long XrdRmcData::FSize |
( |
|
) |
[inline, virtual] |
const char* XrdRmcData::Path |
( |
|
) |
[inline, virtual] |
void XrdRmcData::Preread |
( |
long long |
Offs, |
|
|
int |
rLen, |
|
|
int |
Opts = 0 | |
|
) |
| | [virtual] |
void XrdRmcData::Preread |
( |
aprParms & |
Parms |
) |
[virtual] |
void XrdRmcData::Preread |
( |
|
) |
|
void XrdRmcData::QueuePR |
( |
long long |
SegOffs, |
|
|
int |
rLen, |
|
|
int |
prHow, |
|
|
int |
isAuto = 0 | |
|
) |
| | [private] |
int XrdRmcData::Read |
( |
XrdOucCacheStats & |
Now, |
|
|
char * |
Buffer, |
|
|
long long |
Offs, |
|
|
int |
Length | |
|
) |
| | [private] |
int XrdRmcData::Read |
( |
char * |
buff, |
|
|
long long |
offs, |
|
|
int |
rlen | |
|
) |
| | [virtual] |
Perform an synchronous read.
- Parameters:
-
| 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. |
- Returns:
- < 0 - Read failed, value is -errno. >=0 - Read succeeded, value is number of bytes read.
Implements XrdOucCacheIO.
static int XrdRmcData::setAPR |
( |
aprParms & |
Dest, |
|
|
aprParms & |
Src, |
|
|
int |
pSize | |
|
) |
| | [static] |
int XrdRmcData::Sync |
( |
|
) |
[inline, virtual] |
Perform an synchronous sync() operation.
- Returns:
- <0 - Sync failed, value is -errno. =0 - Sync succeeded.
Implements XrdOucCacheIO.
int XrdRmcData::Trunc |
( |
long long |
offs |
) |
[virtual] |
Perform an synchronous trunc() operation.
- Parameters:
-
| offs | the size the file is have. |
- Returns:
- <0 - Trunc failed, value is -errno. =0 - Trunc succeeded.
Implements XrdOucCacheIO.
int XrdRmcData::Write |
( |
char * |
buff, |
|
|
long long |
offs, |
|
|
int |
wlen | |
|
) |
| | [virtual] |
Perform an synchronous write.
- Parameters:
-
| 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 |
- Returns:
- < 0 - Write failed, value is -errno. >=0 - Write succeeded, value is number of bytes written.
Implements XrdOucCacheIO.
Member Data Documentation
The documentation for this class was generated from the following file: