XrdClientReadCache Class Reference

#include <XrdClientReadCache.hh>

Collaboration diagram for XrdClientReadCache:
Collaboration graph
[legend]

List of all members.

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

Member Enumeration Documentation

anonymous enum
Enumerator:
kRmBlk_LRU 
kRmBlk_LeastOffs 
kRmBlk_FIFO 

Constructor & Destructor Documentation

XrdClientReadCache::XrdClientReadCache (  ) 
XrdClientReadCache::~XrdClientReadCache (  ) 

Member Function Documentation

void* XrdClientReadCache::FindBlk ( long long  begin_offs,
long long  end_offs 
)
int XrdClientReadCache::FindInsertionApprox ( long long  begin_offs  )  [private]
int XrdClientReadCache::FindInsertionApprox_rec ( int  startidx,
int  endidx,
long long  begin_offs 
) [private]
long XrdClientReadCache::GetDataIfPresent ( const void *  buffer,
long long  begin_offs,
long long  end_offs,
bool  PerfCalc,
XrdClientIntvList missingblks,
long &  outstandingblks 
)
void XrdClientReadCache::GetInfo ( int &  size,
long long &  bytessubmitted,
long long &  byteshit,
long long &  misscount,
float &  missrate,
long long &  readreqcnt,
float &  bytesusefulness 
)
long long XrdClientReadCache::GetTimestampTick (  )  [private]
long long XrdClientReadCache::GetTotalByteCount (  )  [inline]

References fMutex, and fTotalByteCount.

bool XrdClientReadCache::MakeFreeSpace ( long long  bytes  )  [private]
void XrdClientReadCache::PrintCache (  ) 
void XrdClientReadCache::PrintPerfCounters (  )  [inline]
void XrdClientReadCache::PutPlaceholder ( long long  begin_offs,
long long  end_offs 
)
bool XrdClientReadCache::RemoveFirstItem (  )  [private]
bool XrdClientReadCache::RemoveItem (  )  [private]
void XrdClientReadCache::RemoveItems ( long long  begin_offs,
long long  end_offs,
bool  remove_overlapped = false 
)
void XrdClientReadCache::RemoveItems ( bool  leavepinned = true  ) 
bool XrdClientReadCache::RemoveLRUItem (  )  [private]
void XrdClientReadCache::RemovePlaceholders (  ) 
void XrdClientReadCache::SetBlkRemovalPolicy ( int  p  )  [inline]
void XrdClientReadCache::SetSize ( int  sz  )  [inline]

References fMaxCacheSize.

Referenced by XrdClientConn::SetCacheSize().

bool XrdClientReadCache::SubmitRawData ( const void *  buffer,
long long  begin_offs,
long long  end_offs,
bool  pinned = false 
)
void XrdClientReadCache::SubmitXMessage ( XrdClientMessage xmsg,
long long  begin_offs,
long long  end_offs 
)
void XrdClientReadCache::UnPinCacheBlk ( long long  begin_offs,
long long  end_offs 
)
void XrdClientReadCache::UpdatePerfCounters (  )  [inline, private]
bool XrdClientReadCache::WillFit ( long long  bc  )  [inline]

References fMaxCacheSize, and fMutex.

Referenced by XrdClientConn::CacheWillFit().


Member Data Documentation

Referenced by SetBlkRemovalPolicy().

long long XrdClientReadCache::fBytesHit [private]
long long XrdClientReadCache::fMaxCacheSize [private]

Referenced by SetSize(), and WillFit().

long long XrdClientReadCache::fMissCount [private]
long long XrdClientReadCache::fReadsCounter [private]

Referenced by GetTotalByteCount().


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 5 Apr 2019 for xrootd by  doxygen 1.6.1