Go to the documentation of this file. 1 #ifndef XRD_READCACHE_H
2 #define XRD_READCACHE_H
63 long long end_offs,
long long ticksnow,
64 bool placeholder=
false);
72 return ( (end_offs >= begin_offs) &&
79 return ( (end_offs > begin_offs) &&
98 inline bool GetInterval(
const void *buffer,
long long begin_offs,
103 end_offs - begin_offs + 1);
110 long long end_offs) {
112 long long b = -1, e, l;
114 if (begin_offs > end_offs)
return 0;
193 long long begin_offs);
207 long long end_offs,
bool PerfCalc,
215 long long &bytessubmitted,
222 long long &misscount,
228 long long &readreqcnt,
231 float &bytesusefulness
244 cout <<
"Low level caching info:" << endl;
245 cout <<
" StallsRate=" <<
fMissRate << endl;
246 cout <<
" StallsCount=" <<
fMissCount << endl;
260 long long end_offs,
bool pinned=
false);
263 void RemoveItems(
long long begin_offs,
long long end_offs,
bool remove_overlapped =
false);
275 void UnPinCacheBlk(
long long begin_offs,
long long end_offs);
276 void *
FindBlk(
long long begin_offs,
long long end_offs);
@ kRmBlk_LRU
Definition: XrdClientReadCache.hh:198
long GetPartialInterval(const void *buffer, long long begin_offs, long long end_offs)
Definition: XrdClientReadCache.hh:109
bool fIsPlaceholder
Definition: XrdClientReadCache.hh:54
#define xrdmin(a, b)
Definition: XrdClientConst.hh:189
#define TRUE
Definition: XrdClientConst.hh:186
Definition: XrdClientReadCache.hh:161
void GetInfo(int &size, long long &bytessubmitted, long long &byteshit, long long &misscount, float &missrate, long long &readreqcnt, float &bytesusefulness)
bool ContainsInterval(long long begin_offs, long long end_offs)
Definition: XrdClientReadCache.hh:78
#define FALSE
Definition: XrdClientConst.hh:187
long long GetTotalByteCount()
Definition: XrdClientReadCache.hh:234
long long fBytesSubmitted
Definition: XrdClientReadCache.hh:165
int fBlkRemPolicy
Definition: XrdClientReadCache.hh:173
long long BeginOffset()
Definition: XrdClientReadCache.hh:67
void SubmitXMessage(XrdClientMessage *xmsg, long long begin_offs, long long end_offs)
void * GetData()
Definition: XrdClientReadCache.hh:95
long Size()
Definition: XrdClientReadCache.hh:138
long long fMissCount
Definition: XrdClientReadCache.hh:169
void PrintPerfCounters()
Definition: XrdClientReadCache.hh:241
long fTimestampTicks
Definition: XrdClientReadCache.hh:59
long long fTimestampTickCounter
Definition: XrdClientReadCache.hh:174
Definition: XrdClientReadCache.hh:154
int FindInsertionApprox_rec(int startidx, int endidx, long long begin_offs)
void * fData
Definition: XrdClientReadCache.hh:57
ItemVect fItems
Definition: XrdClientReadCache.hh:167
XrdClientReadCacheItem(const void *buffer, long long begin_offs, long long end_offs, long long ticksnow, bool placeholder=false)
long long GetTimestampTicks()
Definition: XrdClientReadCache.hh:134
bool ContainedInInterval(long long begin_offs, long long end_offs)
Definition: XrdClientReadCache.hh:71
bool ContainsOffset(long long offs)
Definition: XrdClientReadCache.hh:91
long long fReadsCounter
Definition: XrdClientReadCache.hh:172
long long fEndOffset
Definition: XrdClientReadCache.hh:58
Definition: XrdClientMessage.hh:49
float fBytesUsefulness
Definition: XrdClientReadCache.hh:166
long long fMaxCacheSize
Definition: XrdClientReadCache.hh:168
@ kRmBlk_FIFO
Definition: XrdClientReadCache.hh:200
long long EndOffset()
Definition: XrdClientReadCache.hh:68
void UnPinCacheBlk(long long begin_offs, long long end_offs)
XrdClientVector< XrdClientReadCacheItem * > ItemVect
Definition: XrdClientReadCache.hh:151
Definition: XrdSysPthread.hh:239
~XrdClientReadCacheItem()
long long GetTimestampTick()
bool WillFit(long long bc)
Definition: XrdClientReadCache.hh:279
long long fBytesHit
Definition: XrdClientReadCache.hh:164
bool SubmitRawData(const void *buffer, long long begin_offs, long long end_offs, bool pinned=false)
void SetBlkRemovalPolicy(int p)
Definition: XrdClientReadCache.hh:271
long long fTotalByteCount
Definition: XrdClientReadCache.hh:175
XrdClientVector< XrdClientCacheInterval > XrdClientIntvList
Definition: XrdClientReadCache.hh:159
void * FindBlk(long long begin_offs, long long end_offs)
bool GetInterval(const void *buffer, long long begin_offs, long long end_offs)
Definition: XrdClientReadCache.hh:98
XrdSysRecMutex fMutex
Definition: XrdClientReadCache.hh:171
void RemovePlaceholders()
long long fBeginOffset
Definition: XrdClientReadCache.hh:56
Definition: XrdSysPthread.hh:260
void PutPlaceholder(long long begin_offs, long long end_offs)
long long endoffs
Definition: XrdClientReadCache.hh:156
long long beginoffs
Definition: XrdClientReadCache.hh:155
bool IntersectInterval(long long begin_offs, long long end_offs)
Definition: XrdClientReadCache.hh:84
@ kRmBlk_LeastOffs
Definition: XrdClientReadCache.hh:199
void SetSize(int sz)
Definition: XrdClientReadCache.hh:267
void UpdatePerfCounters()
Definition: XrdClientReadCache.hh:184
bool Pinned
Definition: XrdClientReadCache.hh:142
void Touch(long long ticksnow)
Definition: XrdClientReadCache.hh:140
void RemoveItems(bool leavepinned=true)
bool MakeFreeSpace(long long bytes)
bool IsPlaceholder()
Definition: XrdClientReadCache.hh:136
Definition: XrdClientReadCache.hh:51
int FindInsertionApprox(long long begin_offs)
long GetDataIfPresent(const void *buffer, long long begin_offs, long long end_offs, bool PerfCalc, XrdClientIntvList &missingblks, long &outstandingblks)
float fMissRate
Definition: XrdClientReadCache.hh:170