XrdCmsCache Class Reference

#include <XrdCmsCache.hh>

List of all members.

Public Member Functions

int AddFile (XrdCmsSelect &Sel, SMask_t mask)
int DelFile (XrdCmsSelect &Sel, SMask_t mask)
int GetFile (XrdCmsSelect &Sel, SMask_t mask)
int UnkFile (XrdCmsSelect &Sel, SMask_t mask)
int WT4File (XrdCmsSelect &Sel, SMask_t mask)
void Bounce (SMask_t smask, int SNum)
void Drop (SMask_t mask, int SNum, int xHi)
int Init (int fxHold, int fxDelay)
void * TickTock ()
 XrdCmsCache ()
 ~XrdCmsCache ()

Public Attributes

XrdCmsPList_Anchor Paths

Private Member Functions

void Add2Q (XrdCmsRRQInfo *Info, XrdCmsKeyItem *cp, int isrw)
void Dispatch (XrdCmsKeyItem *cinfo, short roQ, short rwQ)
SMask_t getBVec (unsigned int todA, unsigned int &todB)
void Recycle (XrdCmsKeyItem *theList)

Private Attributes

struct {
   SMask_t   Vec
   unsigned int   Start
   unsigned int   End
Bhistory [XrdCmsKeyItem::TickRate]
XrdSysMutex myMutex
XrdCmsNash CTable
unsigned int Bounced [STMax]
SMask_t okVec
unsigned int Tick
unsigned int Tock
unsigned int BClock
int DLTime
int Bhits
int Bmiss
int vecHi

Friends

class XrdCmsCacheJob


Detailed Description

Definition at line 26 of file XrdCmsCache.hh.


Constructor & Destructor Documentation

XrdCmsCache::XrdCmsCache (  )  [inline]

Definition at line 63 of file XrdCmsCache.hh.

References Bhistory, and Bounced.

XrdCmsCache::~XrdCmsCache (  )  [inline]

Definition at line 68 of file XrdCmsCache.hh.


Member Function Documentation

int XrdCmsCache::AddFile ( XrdCmsSelect Sel,
SMask_t  mask 
)

Definition at line 103 of file XrdCmsCache.cc.

References XrdCmsNash::Add(), XrdCmsSelect::Advisory, BClock, CTable, XrdCmsKeyLoc::deadline, Dispatch(), DLTime, XrdCmsKey::Equiv(), XrdCmsNash::Find(), XrdCmsKeyLoc::hfvec, XrdCmsKeyItem::Key, XrdCmsKeyItem::Loc, XrdSysMutex::Lock(), myMutex, XrdCmsSelect::Opts, XrdCmsSelect::Path, XrdCmsSelect::Pending, XrdCmsKeyLoc::pfvec, XrdCmsKeyLoc::qfvec, XrdCmsKey::Ref, XrdCmsKeyLoc::roPend, XrdCmsKeyLoc::rwPend, Tock, XrdCmsKey::TOD, XrdCmsKeyLoc::TOD_B, XrdCmsKey::TODRef, XrdSysMutex::UnLock(), and XrdCmsSelect::Write.

Referenced by XrdCmsNode::do_Have(), XrdCmsNode::do_StateFWD(), XrdCmsCluster::Locate(), XrdCmsCluster::Select(), and XrdCmsCluster::SelNode().

int XrdCmsCache::DelFile ( XrdCmsSelect Sel,
SMask_t  mask 
)

Definition at line 175 of file XrdCmsCache.cc.

References XrdCmsSelect::Advisory, CTable, XrdSysError::Emsg(), XrdCmsNash::Find(), XrdCmsKeyLoc::hfvec, XrdCmsKeyItem::Key, XrdCmsKeyItem::Loc, XrdSysMutex::Lock(), myMutex, XrdCmsSelect::Opts, XrdCmsSelect::Path, XrdCmsKeyLoc::pfvec, XrdCmsNash::Recycle(), XrdFrm::Say(), XrdCmsKeyItem::Unload(), XrdSysMutex::UnLock(), and XrdCmsKey::Val.

Referenced by XrdCmsNode::do_Gone(), XrdCmsNode::do_Mv(), XrdCmsNode::do_Rm(), and XrdCmsNode::do_Rmdir().

int XrdCmsCache::GetFile ( XrdCmsSelect Sel,
SMask_t  mask 
)

Definition at line 214 of file XrdCmsCache.cc.

References BClock, XrdCmsSelect::bf, CTable, XrdCmsKeyLoc::deadline, DLTime, XrdCmsNash::Find(), getBVec(), XrdCmsSelect::hf, XrdCmsKeyLoc::hfvec, XrdCmsKeyItem::Key, XrdCmsKeyItem::Loc, XrdSysMutex::Lock(), myMutex, okVec, XrdCmsSelect::Path, XrdCmsSelect::pf, XrdCmsKeyLoc::pfvec, XrdCmsKeyLoc::qfvec, XrdCmsKey::Ref, XrdCmsKey::TOD, XrdCmsKeyLoc::TOD_B, XrdCmsKey::TODRef, XrdSysMutex::UnLock(), and XrdCmsSelect::Vec.

Referenced by XrdCmsNode::do_StateFWD(), XrdCmsCluster::Locate(), and XrdCmsCluster::Select().

int XrdCmsCache::UnkFile ( XrdCmsSelect Sel,
SMask_t  mask 
)

Definition at line 255 of file XrdCmsCache.cc.

References DEBUG, EPNAME, XrdCmsKey::Equiv(), XrdCmsKeyItem::Key, XrdCmsKeyItem::Loc, XrdSysMutex::Lock(), myMutex, XrdCmsSelect::Path, XrdCmsKeyLoc::qfvec, XrdCmsKey::TODRef, XrdSysMutex::UnLock(), and XrdCmsKey::Val.

Referenced by XrdCmsCluster::Locate(), and XrdCmsCluster::Select().

int XrdCmsCache::WT4File ( XrdCmsSelect Sel,
SMask_t  mask 
)

Definition at line 283 of file XrdCmsCache.cc.

References Add2Q(), XrdCmsKeyLoc::deadline, DEBUG, DLTime, EPNAME, XrdCmsKey::Equiv(), XrdCmsKeyLoc::hfvec, XrdCmsSelect::InfoP, XrdCmsKeyItem::Key, XrdCmsKeyItem::Loc, XrdSysMutex::Lock(), myMutex, XrdCmsSelect::Opts, XrdCmsSelect::Path, XrdCmsKey::TODRef, XrdSysMutex::UnLock(), XrdCmsKey::Val, and XrdCmsSelect::Write.

Referenced by XrdCmsCluster::Locate(), and XrdCmsCluster::Select().

void XrdCmsCache::Bounce ( SMask_t  smask,
int  SNum 
)

Definition at line 320 of file XrdCmsCache.cc.

References BClock, Bounced, XrdSysMutex::Lock(), myMutex, okVec, XrdSysMutex::UnLock(), and vecHi.

Referenced by XrdCmsProtocol::ConfigCheck(), and XrdCmsNode::do_Status().

void XrdCmsCache::Drop ( SMask_t  mask,
int  SNum,
int  xHi 
)

Definition at line 336 of file XrdCmsCache.cc.

References Bounced, XrdSysMutex::Lock(), myMutex, okVec, Paths, XrdCmsPList_Anchor::Remove(), XrdSysMutex::UnLock(), and vecHi.

Referenced by XrdCmsCluster::Drop().

int XrdCmsCache::Init ( int  fxHold,
int  fxDelay 
)

Definition at line 357 of file XrdCmsCache.cc.

References XrdCmsKeyItem::Alloc(), DLTime, XrdSysError::Emsg(), XrdCmsKeyItem::Recycle(), XrdSysThread::Run(), XrdFrm::Say(), Tick, XrdCmsKeyItem::TickRate, XrdCmsKeyItem::Unload(), and XrdCmsStartTickTock().

Referenced by XrdCmsConfig::Configure2().

void * XrdCmsCache::TickTock (  ) 

Definition at line 390 of file XrdCmsCache.cc.

References Bhistory, XrdSysMutex::Lock(), myMutex, XrdCms::Sched, XrdScheduler::Schedule(), XrdSysTimer::Snooze(), Tick, XrdCmsKeyItem::TickMask, Tock, XrdCmsKeyItem::Unload(), XrdSysMutex::UnLock(), and XrdCmsCacheJob.

Referenced by XrdCmsStartTickTock().

void XrdCmsCache::Add2Q ( XrdCmsRRQInfo Info,
XrdCmsKeyItem cp,
int  isrw 
) [private]

Definition at line 417 of file XrdCmsCache.cc.

References XrdCmsRRQ::Add(), Info, XrdCmsKeyItem::Loc, XrdCmsKeyLoc::roPend, XrdCms::RRQ, and XrdCmsKeyLoc::rwPend.

Referenced by WT4File().

void XrdCmsCache::Dispatch ( XrdCmsKeyItem cinfo,
short  roQ,
short  rwQ 
) [private]

Definition at line 434 of file XrdCmsCache.cc.

References XrdCmsKeyLoc::hfvec, XrdCmsKeyItem::Loc, XrdCmsKeyLoc::pfvec, XrdCmsRRQ::Ready(), XrdCmsKeyLoc::roPend, XrdCms::RRQ, and XrdCmsKeyLoc::rwPend.

Referenced by AddFile().

SMask_t XrdCmsCache::getBVec ( unsigned int  todA,
unsigned int &  todB 
) [private]

Definition at line 451 of file XrdCmsCache.cc.

References BClock, Bhistory, Bhits, Bmiss, Bounced, DEBUG, End, EPNAME, i, Start, and vecHi.

Referenced by GetFile().

void XrdCmsCache::Recycle ( XrdCmsKeyItem theList  )  [private]

Definition at line 480 of file XrdCmsCache.cc.

References CTable, XrdCmsRRQ::Del(), XrdSysError::Emsg(), XrdCmsKeyItem::Key, XrdCmsKeyItem::Loc, XrdSysMutex::Lock(), XrdCmsKeyItem::minAlloc, XrdCmsKeyItem::minFree, myMutex, XrdCmsNash::Recycle(), XrdCmsKeyItem::Replenish(), XrdCmsKeyLoc::roPend, XrdCms::RRQ, XrdCmsKeyLoc::rwPend, XrdFrm::Say(), sprintf(), XrdCmsKeyItem::Stats(), XrdCmsKey::TODRef, and XrdSysMutex::UnLock().

Referenced by XrdCmsCacheJob::DoIt().


Friends And Related Function Documentation

friend class XrdCmsCacheJob [friend]

Definition at line 29 of file XrdCmsCache.hh.

Referenced by TickTock().


Member Data Documentation

XrdCmsPList_Anchor XrdCmsCache::Paths

Definition at line 31 of file XrdCmsCache.hh.

Referenced by XrdCmsProtocol::AddPath(), XrdCmsProtocol::Admit(), XrdCmsProtocol::ConfigCheck(), XrdCmsNode::do_Have(), XrdCmsNode::do_StateFWD(), XrdCmsNode::do_StatFS(), Drop(), XrdCmsCluster::Locate(), XrdCmsProtocol::Reissue(), and XrdCmsCluster::Select().

SMask_t XrdCmsCache::Vec [private]

Definition at line 77 of file XrdCmsCache.hh.

unsigned int XrdCmsCache::Start [private]

Definition at line 78 of file XrdCmsCache.hh.

Referenced by getBVec().

unsigned int XrdCmsCache::End [private]

Definition at line 79 of file XrdCmsCache.hh.

Referenced by getBVec().

struct { ... } XrdCmsCache::Bhistory[XrdCmsKeyItem::TickRate] [private]

Referenced by getBVec(), TickTock(), and XrdCmsCache().

XrdSysMutex XrdCmsCache::myMutex [private]

Definition at line 82 of file XrdCmsCache.hh.

Referenced by AddFile(), Bounce(), DelFile(), Drop(), GetFile(), Recycle(), TickTock(), UnkFile(), and WT4File().

XrdCmsNash XrdCmsCache::CTable [private]

Definition at line 83 of file XrdCmsCache.hh.

Referenced by AddFile(), DelFile(), GetFile(), and Recycle().

unsigned int XrdCmsCache::Bounced[STMax] [private]

Definition at line 84 of file XrdCmsCache.hh.

Referenced by Bounce(), Drop(), getBVec(), and XrdCmsCache().

SMask_t XrdCmsCache::okVec [private]

Definition at line 85 of file XrdCmsCache.hh.

Referenced by Bounce(), Drop(), and GetFile().

unsigned int XrdCmsCache::Tick [private]

Definition at line 86 of file XrdCmsCache.hh.

Referenced by Init(), and TickTock().

unsigned int XrdCmsCache::Tock [private]

Definition at line 87 of file XrdCmsCache.hh.

Referenced by AddFile(), and TickTock().

unsigned int XrdCmsCache::BClock [private]

Definition at line 88 of file XrdCmsCache.hh.

Referenced by AddFile(), Bounce(), getBVec(), and GetFile().

int XrdCmsCache::DLTime [private]

Definition at line 89 of file XrdCmsCache.hh.

Referenced by AddFile(), GetFile(), Init(), and WT4File().

int XrdCmsCache::Bhits [private]

Definition at line 90 of file XrdCmsCache.hh.

Referenced by getBVec().

int XrdCmsCache::Bmiss [private]

Definition at line 91 of file XrdCmsCache.hh.

Referenced by getBVec().

int XrdCmsCache::vecHi [private]

Definition at line 92 of file XrdCmsCache.hh.

Referenced by Bounce(), Drop(), and getBVec().


The documentation for this class was generated from the following files:
Generated on Tue Jul 5 16:50:19 2011 for ROOT_528-00b_version by  doxygen 1.5.1