XrdCmsCluster Class Reference

#include <XrdCmsCluster.hh>

Collaboration diagram for XrdCmsCluster:
Collaboration graph
[legend]

List of all members.

Public Types

enum  CmsLSOpts {
  LS_NULL = 0, LS_IPO = 0x0100, LS_IDNT = 0x0200, LS_ANY = 0x0400,
  LS_IFMASK = 0x0f
}

Public Member Functions

XrdCmsNodeAdd (XrdLink *lp, int dport, int Status, int sport, const char *theNID, const char *theIF)
virtual void BlackList (XrdOucTList *blP)
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 (const XrdNetAddr *addr)
SMask_t getMask (const char *Cid)
XrdCmsSelectedList (SMask_t mask, CmsLSOpts opts, bool &oksel)
int Locate (XrdCmsSelect &Sel)
void * MonPerf ()
void * MonRefs ()
long long Refs ()
void Remove (XrdCmsNode *theNode)
void Remove (const char *reason, XrdCmsNode *theNode, int immed=0)
void ResetRef (SMask_t smask)
int Select (XrdCmsSelect &Sel)
int Select (SMask_t pmask, int &port, char *hbuff, int &hlen, int isrw, int isMulti, int ifWant)
void SLock (bool dolock)
void Space (XrdCms::SpaceData &sData, SMask_t smask)
int Stats (char *bfr, int bln)
int Statt (char *bfr, int bln)
 XrdCmsCluster ()
virtual ~XrdCmsCluster ()

Public Attributes

int NodeCnt

Static Public Attributes

static const int RetryErr = -3
static const int RetryOut = -4

Private Types

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

Private Member Functions

XrdCmsNodeAddAlt (XrdCmsClustID *cidP, XrdLink *lp, int port, int Status, int sport, const char *theNID, const char *theIF)
XrdCmsNodecalcDelay (XrdCmsSelector &selR)
int Drop (int sent, int sinst, XrdCmsDrop *djp=0)
void Record (char *path, const char *reason, bool force=false)
bool maxBits (SMask_t mVec, int mbits)
int Multiple (SMask_t mVec)
int SelFail (XrdCmsSelect &Sel, int rc)
int SelNode (XrdCmsSelect &Sel, SMask_t pmask, SMask_t amask)
XrdCmsNodeSelbyCost (SMask_t, XrdCmsSelector &selR)
XrdCmsNodeSelbyLoad (SMask_t, XrdCmsSelector &selR)
XrdCmsNodeSelbyRef (SMask_t, XrdCmsSelector &selR)
int SelDFS (XrdCmsSelect &Sel, SMask_t amask, SMask_t &pmask, SMask_t &smask, int isRW)
void sendAList (XrdLink *lp)
void setAltMan (int snum, XrdLink *lp, int port)
int Unreachable (XrdCmsSelect &Sel, bool none)
int Unuseable (XrdCmsSelect &Sel)

Private Attributes

XrdSysMutex XXMutex
XrdSysMutex STMutex
XrdCmsNodeNodeTab [STMax]
int STHi
int doReset
long long SelWcnt
long long SelWtot
long long SelRcnt
long long SelRtot
long long SelTcnt
char AltMans [STMax *AltSize]
char * AltMend
int AltMent
SMask_t resetMask
SMask_t peerHost
SMask_t peerMask

Static Private Attributes

static const int AltSize = 254

Friends

class XrdCmsDrop

Member Enumeration Documentation

anonymous enum [private]
Enumerator:
eExists 
eDups 
eROfs 
eNoRep 
eNoSel 
eNoEnt 
Enumerator:
LS_NULL 
LS_IPO 
LS_IDNT 
LS_ANY 
LS_IFMASK 

Constructor & Destructor Documentation

XrdCmsCluster::XrdCmsCluster (  ) 
virtual XrdCmsCluster::~XrdCmsCluster (  )  [inline, virtual]

Member Function Documentation

XrdCmsNode* XrdCmsCluster::Add ( XrdLink lp,
int  dport,
int  Status,
int  sport,
const char *  theNID,
const char *  theIF 
)
XrdCmsNode* XrdCmsCluster::AddAlt ( XrdCmsClustID cidP,
XrdLink lp,
int  port,
int  Status,
int  sport,
const char *  theNID,
const char *  theIF 
) [private]
virtual void XrdCmsCluster::BlackList ( XrdOucTList blP  )  [virtual]
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 ( XrdCmsSelector selR  )  [private]
int XrdCmsCluster::Drop ( int  sent,
int  sinst,
XrdCmsDrop *  djp = 0 
) [private]
SMask_t XrdCmsCluster::getMask ( const char *  Cid  ) 
SMask_t XrdCmsCluster::getMask ( const XrdNetAddr addr  ) 
XrdCmsSelected* XrdCmsCluster::List ( SMask_t  mask,
CmsLSOpts  opts,
bool &  oksel 
)
int XrdCmsCluster::Locate ( XrdCmsSelect Sel  ) 
bool XrdCmsCluster::maxBits ( SMask_t  mVec,
int  mbits 
) [private]
void* XrdCmsCluster::MonPerf (  ) 
void* XrdCmsCluster::MonRefs (  ) 
int XrdCmsCluster::Multiple ( SMask_t  mVec  )  [private]
void XrdCmsCluster::Record ( char *  path,
const char *  reason,
bool  force = false 
) [private]
long long XrdCmsCluster::Refs (  )  [inline]

References SelRcnt, SelRtot, SelWcnt, and SelWtot.

void XrdCmsCluster::Remove ( const char *  reason,
XrdCmsNode theNode,
int  immed = 0 
)
void XrdCmsCluster::Remove ( XrdCmsNode theNode  ) 
void XrdCmsCluster::ResetRef ( SMask_t  smask  ) 
XrdCmsNode* XrdCmsCluster::SelbyCost ( SMask_t  ,
XrdCmsSelector selR 
) [private]
XrdCmsNode* XrdCmsCluster::SelbyLoad ( SMask_t  ,
XrdCmsSelector selR 
) [private]
XrdCmsNode* XrdCmsCluster::SelbyRef ( SMask_t  ,
XrdCmsSelector selR 
) [private]
int XrdCmsCluster::SelDFS ( XrdCmsSelect Sel,
SMask_t  amask,
SMask_t pmask,
SMask_t smask,
int  isRW 
) [private]
int XrdCmsCluster::Select ( SMask_t  pmask,
int &  port,
char *  hbuff,
int &  hlen,
int  isrw,
int  isMulti,
int  ifWant 
)
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,
XrdLink lp,
int  port 
) [private]
void XrdCmsCluster::SLock ( bool  dolock  )  [inline]
void XrdCmsCluster::Space ( XrdCms::SpaceData sData,
SMask_t  smask 
)
int XrdCmsCluster::Stats ( char *  bfr,
int  bln 
)
int XrdCmsCluster::Statt ( char *  bfr,
int  bln 
)
int XrdCmsCluster::Unreachable ( XrdCmsSelect Sel,
bool  none 
) [private]
int XrdCmsCluster::Unuseable ( XrdCmsSelect Sel  )  [private]

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 = 254 [static, private]
int XrdCmsCluster::doReset [private]
const int XrdCmsCluster::RetryErr = -3 [static]
const int XrdCmsCluster::RetryOut = -4 [static]
long long XrdCmsCluster::SelRcnt [private]

Referenced by Refs().

long long XrdCmsCluster::SelRtot [private]

Referenced by Refs().

long long XrdCmsCluster::SelTcnt [private]
long long XrdCmsCluster::SelWcnt [private]

Referenced by Refs().

long long XrdCmsCluster::SelWtot [private]

Referenced by Refs().

int XrdCmsCluster::STHi [private]

Referenced by SLock().


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

Generated on 9 Oct 2019 for xrootd by  doxygen 1.6.1