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

XrdCmsCluster Class Reference

#include <XrdCmsCluster.hh>

Collaboration diagram for XrdCmsCluster:

Collaboration graph
[legend]
List of all members.

Public Types

enum  CmsLSOpts { LS_Best = 0x0001, LS_All = 0x0002, LS_IPO = 0x0004, LS_IPV6 = 0x0008 }

Public Member Functions

XrdCmsNode * Add (XrdLink *lp, int dport, int Status, int sport, const char *theNID)
SMask_t Broadcast (SMask_t, const struct iovec *, int, int tot=0)
SMask_t Broadcast (SMask_t smask, XrdCms::CmsRRHdr &Hdr, char *Data, int Dlen=0)
SMask_t Broadcast (SMask_t smask, XrdCms::CmsRRHdr &Hdr, void *Data, int Dlen)
int Broadsend (SMask_t smask, XrdCms::CmsRRHdr &Hdr, void *Data, int Dlen)
SMask_t getMask (unsigned int IPv4adr)
SMask_t getMask (const char *Cid)
XrdCmsSelected * List (SMask_t mask, CmsLSOpts opts)
int Locate (XrdCmsSelect &Sel)
void * MonPerf ()
void * MonRefs ()
void Remove (const char *reason, XrdCmsNode *theNode, int immed=0)
void ResetRef (SMask_t smask)
int Select (XrdCmsSelect &Sel)
int Select (int isrw, SMask_t pmask, int &port, char *hbuff, int &hlen)
void Space (XrdCms::SpaceData &sData, SMask_t smask)
int Stats (char *bfr, int bln)
 XrdCmsCluster ()
 ~XrdCmsCluster ()

Public Attributes

int NodeCnt

Private Types

enum  {
  eExists, eDups, eROfs, eNoRep,
  eNoEnt
}

Private Member Functions

int Assign (const char *Cid)
XrdCmsNode * calcDelay (int nump, int numd, int numf, int numo, int nums, int &delay, const char **reason)
int Drop (int sent, int sinst, XrdCmsDrop *djp=0)
void Record (char *path, const char *reason)
int Multiple (SMask_t mVec)
int SelFail (XrdCmsSelect &Sel, int rc)
int SelNode (XrdCmsSelect &Sel, SMask_t pmask, SMask_t amask)
XrdCmsNode * SelbyCost (SMask_t, int &, int &, const char **, int)
XrdCmsNode * SelbyLoad (SMask_t, int &, int &, const char **, int)
XrdCmsNode * SelbyRef (SMask_t, int &, int &, const char **, int)
int SelDFS (XrdCmsSelect &Sel, SMask_t amask, SMask_t &pmask, SMask_t &smask, int isRW)
void sendAList (XrdLink *lp)
void setAltMan (int snum, unsigned int ipaddr, int port)

Private Attributes

XrdSysMutex cidMutex
XrdOucTList * cidFirst
XrdSysMutex XXMutex
XrdSysMutex STMutex
XrdCmsNode * NodeTab [STMax]
int STHi
int SelAcnt
int SelRcnt
int doReset
char AltMans [STMax *AltSize]
char * AltMend
int AltMent
SMask_t resetMask
SMask_t peerHost
SMask_t peerMask

Static Private Attributes

const int AltSize = 24

Friends

class XrdCmsDrop

Member Enumeration Documentation

anonymous enum [private]
 

Enumeration values:
eExists 
eDups 
eROfs 
eNoRep 
eNoEnt 

enum XrdCmsCluster::CmsLSOpts
 

Enumeration values:
LS_Best 
LS_All 
LS_IPO 
LS_IPV6 


Constructor & Destructor Documentation

XrdCmsCluster::XrdCmsCluster (   ) 
 

XrdCmsCluster::~XrdCmsCluster (   )  [inline]
 


Member Function Documentation

XrdCmsNode * XrdCmsCluster::Add (  XrdLink *  lp,
int  dport,
int  Status,
int  sport,
const char *  theNID
) 
 

int XrdCmsCluster::Assign (  const char *  Cid  )  [private]
 

SMask_t XrdCmsCluster::Broadcast (  SMask_t  smask,
XrdCms::CmsRRHdr &  Hdr,
void *  Data,
int  Dlen
) 
 

SMask_t XrdCmsCluster::Broadcast (  SMask_t  smask,
XrdCms::CmsRRHdr &  Hdr,
char *  Data,
int  Dlen = 0
) 
 

SMask_t XrdCmsCluster::Broadcast (  SMask_t  ,
const struct iovec *  ,
int  ,
int  tot = 0
) 
 

int XrdCmsCluster::Broadsend (  SMask_t  smask,
XrdCms::CmsRRHdr &  Hdr,
void *  Data,
int  Dlen
) 
 

XrdCmsNode * XrdCmsCluster::calcDelay (  int  nump,
int  numd,
int  numf,
int  numo,
int  nums,
int &  delay,
const char **  reason
)  [private]
 

int XrdCmsCluster::Drop (  int  sent,
int  sinst,
XrdCmsDrop *  djp = 0
)  [private]
 

SMask_t XrdCmsCluster::getMask (  const char *  Cid  ) 
 

SMask_t XrdCmsCluster::getMask (  unsigned int  IPv4adr  ) 
 

XrdCmsSelected * XrdCmsCluster::List (  SMask_t  mask,
CmsLSOpts  opts
) 
 

int XrdCmsCluster::Locate (  XrdCmsSelect &  Sel  ) 
 

void * XrdCmsCluster::MonPerf (   ) 
 

void * XrdCmsCluster::MonRefs (   ) 
 

int XrdCmsCluster::Multiple (  SMask_t  mVec  )  [private]
 

void XrdCmsCluster::Record (  char *  path,
const char *  reason
)  [private]
 

void XrdCmsCluster::Remove (  const char *  reason,
XrdCmsNode *  theNode,
int  immed = 0
) 
 

void XrdCmsCluster::ResetRef (  SMask_t  smask  ) 
 

XrdCmsNode * XrdCmsCluster::SelbyCost (  SMask_t  ,
int &  ,
int &  ,
const char **  ,
int 
)  [private]
 

XrdCmsNode * XrdCmsCluster::SelbyLoad (  SMask_t  ,
int &  ,
int &  ,
const char **  ,
int 
)  [private]
 

XrdCmsNode * XrdCmsCluster::SelbyRef (  SMask_t  ,
int &  ,
int &  ,
const char **  ,
int 
)  [private]
 

int XrdCmsCluster::SelDFS (  XrdCmsSelect &  Sel,
SMask_t  amask,
SMask_t &  pmask,
SMask_t &  smask,
int  isRW
)  [private]
 

int XrdCmsCluster::Select (  int  isrw,
SMask_t  pmask,
int &  port,
char *  hbuff,
int &  hlen
) 
 

int XrdCmsCluster::Select (  XrdCmsSelect &  Sel  ) 
 

int XrdCmsCluster::SelFail (  XrdCmsSelect &  Sel,
int  rc
)  [private]
 

int XrdCmsCluster::SelNode (  XrdCmsSelect &  Sel,
SMask_t  pmask,
SMask_t  amask
)  [private]
 

void XrdCmsCluster::sendAList (  XrdLink *  lp  )  [private]
 

void XrdCmsCluster::setAltMan (  int  snum,
unsigned int  ipaddr,
int  port
)  [private]
 

void XrdCmsCluster::Space (  XrdCms::SpaceData &  sData,
SMask_t  smask
) 
 

int XrdCmsCluster::Stats (  char *  bfr,
int  bln
) 
 


Friends And Related Function Documentation

friend class XrdCmsDrop [friend]
 


Member Data Documentation

char XrdCmsCluster::AltMans[STMax *AltSize] [private]
 

char* XrdCmsCluster::AltMend [private]
 

int XrdCmsCluster::AltMent [private]
 

const int XrdCmsCluster::AltSize = 24 [static, private]
 

XrdOucTList* XrdCmsCluster::cidFirst [private]
 

XrdSysMutex XrdCmsCluster::cidMutex [private]
 

int XrdCmsCluster::doReset [private]
 

int XrdCmsCluster::NodeCnt
 

XrdCmsNode* XrdCmsCluster::NodeTab[STMax] [private]
 

SMask_t XrdCmsCluster::peerHost [private]
 

SMask_t XrdCmsCluster::peerMask [private]
 

SMask_t XrdCmsCluster::resetMask [private]
 

int XrdCmsCluster::SelAcnt [private]
 

int XrdCmsCluster::SelRcnt [private]
 

int XrdCmsCluster::STHi [private]
 

XrdSysMutex XrdCmsCluster::STMutex [private]
 

XrdSysMutex XrdCmsCluster::XXMutex [private]
 


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