xrootd
Public Types | Public Member Functions | Public Attributes | Private Types | Private Member Functions | Private Attributes | Static Private Attributes | Friends | List of all members
XrdCmsCluster Class Reference

#include <XrdCmsCluster.hh>

Collaboration diagram for XrdCmsCluster:
Collaboration graph
[legend]

Public Types

enum  CmsLSOpts { LS_All = 0x0001, LS_IPO = 0x0002 }

Public Member Functions

XrdCmsNodeAdd (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)
XrdCmsSelectedList (SMask_t mask, CmsLSOpts opts)
int Locate (XrdCmsSelect &Sel)
void * MonPerf ()
void * MonRefs ()
long long Refs ()
void Remove (const char *reason, XrdCmsNode *theNode, int immed=0)
void ResetRef (SMask_t smask)
int Select (XrdCmsSelect &Sel)
int Select (int isrw, int isMulti, SMask_t pmask, int &port, char *hbuff, int &hlen)
void Space (XrdCms::SpaceData &sData, SMask_t smask)
int Stats (char *bfr, int bln)
int Statt (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)
XrdCmsNodecalcDelay (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)
XrdCmsNodeSelbyCost (SMask_t, int &, int &, const char **, int)
XrdCmsNodeSelbyLoad (SMask_t, int &, int &, const char **, int)
XrdCmsNodeSelbyRef (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
XrdOucTListcidFirst
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 = 24

Friends

class XrdCmsDrop

Member Enumeration Documentation

anonymous enum
private
Enumerator:
eExists 
eDups 
eROfs 
eNoRep 
eNoEnt 
Enumerator:
LS_All 
LS_IPO 

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,
const struct iovec *  iod,
int  iovcnt,
int  tot = 0 
)
SMask_t XrdCmsCluster::Broadcast ( SMask_t  smask,
XrdCms::CmsRRHdr Hdr,
char *  Data,
int  Dlen = 0 
)
SMask_t XrdCmsCluster::Broadcast ( SMask_t  smask,
XrdCms::CmsRRHdr Hdr,
void *  Data,
int  Dlen 
)
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 ( unsigned int  IPv4adr)
SMask_t XrdCmsCluster::getMask ( const char *  Cid)
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
long long XrdCmsCluster::Refs ( )
inline

References SelRcnt, SelRtot, SelWcnt, and SelWtot.

Referenced by XrdCmsNode::do_Load().

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

Referenced by XrdCmsProtocol::Admit().

XrdCmsNode * XrdCmsCluster::SelbyCost ( SMask_t  mask,
int &  nump,
int &  delay,
const char **  reason,
int  needspace 
)
private
XrdCmsNode * XrdCmsCluster::SelbyLoad ( SMask_t  mask,
int &  nump,
int &  delay,
const char **  reason,
int  needspace 
)
private
XrdCmsNode * XrdCmsCluster::SelbyRef ( SMask_t  mask,
int &  nump,
int &  delay,
const char **  reason,
int  needspace 
)
private
int XrdCmsCluster::SelDFS ( XrdCmsSelect Sel,
SMask_t  amask,
SMask_t pmask,
SMask_t smask,
int  isRW 
)
private
int XrdCmsCluster::Select ( XrdCmsSelect Sel)
int XrdCmsCluster::Select ( int  isrw,
int  isMulti,
SMask_t  pmask,
int &  port,
char *  hbuff,
int &  hlen 
)
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 
)
int XrdCmsCluster::Statt ( 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
staticprivate
XrdOucTList* XrdCmsCluster::cidFirst
private
XrdSysMutex XrdCmsCluster::cidMutex
private
int XrdCmsCluster::doReset
private
int XrdCmsCluster::NodeCnt

Referenced by XrdCmsProtocol::Execute().

XrdCmsNode* XrdCmsCluster::NodeTab[STMax]
private
SMask_t XrdCmsCluster::peerHost
private
SMask_t XrdCmsCluster::peerMask
private
SMask_t XrdCmsCluster::resetMask
private
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
XrdSysMutex XrdCmsCluster::STMutex
private

Referenced by XrdCmsDrop::DoIt().

XrdSysMutex XrdCmsCluster::XXMutex
private

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