|
Public Types |
enum | { kRmBlk_LRU = 0,
kRmBlk_LeastOffs,
kRmBlk_FIFO
} |
Public Member Functions |
| XrdClientReadCache () |
| ~XrdClientReadCache () |
long | GetDataIfPresent (const void *buffer, long long begin_offs, long long end_offs, bool PerfCalc, XrdClientIntvList &missingblks, long &outstandingblks) |
void | GetInfo (int &size, long long &bytessubmitted, long long &byteshit, long long &misscount, float &missrate, long long &readreqcnt, float &bytesusefulness) |
long long | GetTotalByteCount () |
void | PutPlaceholder (long long begin_offs, long long end_offs) |
void | PrintPerfCounters () |
void | PrintCache () |
void | SubmitXMessage (XrdClientMessage *xmsg, long long begin_offs, long long end_offs) |
bool | SubmitRawData (const void *buffer, long long begin_offs, long long end_offs, bool pinned=false) |
void | RemoveItems (bool leavepinned=true) |
void | RemoveItems (long long begin_offs, long long end_offs, bool remove_overlapped=false) |
void | RemovePlaceholders () |
void | SetSize (int sz) |
void | SetBlkRemovalPolicy (int p) |
void | UnPinCacheBlk (long long begin_offs, long long end_offs) |
void * | FindBlk (long long begin_offs, long long end_offs) |
bool | WillFit (long long bc) |
Private Member Functions |
long long | GetTimestampTick () |
bool | MakeFreeSpace (long long bytes) |
bool | RemoveItem () |
bool | RemoveLRUItem () |
bool | RemoveFirstItem () |
void | UpdatePerfCounters () |
int | FindInsertionApprox (long long begin_offs) |
int | FindInsertionApprox_rec (int startidx, int endidx, long long begin_offs) |
Private Attributes |
long long | fBytesHit |
long long | fBytesSubmitted |
float | fBytesUsefulness |
ItemVect | fItems |
long long | fMaxCacheSize |
long long | fMissCount |
float | fMissRate |
XrdSysRecMutex | fMutex |
long long | fReadsCounter |
int | fBlkRemPolicy |
long long | fTimestampTickCounter |
long long | fTotalByteCount |