xrootd
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
XrdClientReadCache Class Reference

#include <XrdClientReadCache.hh>

Collaboration diagram for XrdClientReadCache:
Collaboration graph
[legend]

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 ( bool  leavepinned = true)
void XrdClientReadCache::RemoveItems ( long long  begin_offs,
long long  end_offs,
bool  remove_overlapped = false 
)
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 ( )
inlineprivate
bool XrdClientReadCache::WillFit ( long long  bc)
inline

References fMaxCacheSize, and fMutex.

Referenced by XrdClientConn::CacheWillFit().

Member Data Documentation

int XrdClientReadCache::fBlkRemPolicy
private

Referenced by SetBlkRemovalPolicy().

long long XrdClientReadCache::fBytesHit
private
long long XrdClientReadCache::fBytesSubmitted
private
float XrdClientReadCache::fBytesUsefulness
private
ItemVect XrdClientReadCache::fItems
private
long long XrdClientReadCache::fMaxCacheSize
private

Referenced by SetSize(), and WillFit().

long long XrdClientReadCache::fMissCount
private
float XrdClientReadCache::fMissRate
private
XrdSysRecMutex XrdClientReadCache::fMutex
private
long long XrdClientReadCache::fReadsCounter
private
long long XrdClientReadCache::fTimestampTickCounter
private
long long XrdClientReadCache::fTotalByteCount
private

Referenced by GetTotalByteCount().


The documentation for this class was generated from the following file: