Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members

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
 

Enumeration values:
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]
 

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]
 

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]
 


Member Data Documentation

int XrdClientReadCache::fBlkRemPolicy [private]
 

long long XrdClientReadCache::fBytesHit [private]
 

long long XrdClientReadCache::fBytesSubmitted [private]
 

float XrdClientReadCache::fBytesUsefulness [private]
 

ItemVect XrdClientReadCache::fItems [private]
 

long long XrdClientReadCache::fMaxCacheSize [private]
 

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]
 


The documentation for this class was generated from the following files:
Generated on Sun Nov 6 13:36:55 2011 for xrootd by  doxygen 1.3.9.1