xrootd
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Public Attributes | Static 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_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, bool isLocked=false)
 
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, bool wrmode=true)
 
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 NotFound = -1
 
static const int Wait4CBk = -2
 
static const int RetryErr = -3
 
static const int EReplete = -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

XrdSysRWLock STMutex
 
XrdCmsNodeNodeTab [STMax]
 
int STHi
 
int Reserved
 
RAtomic_llong SelWtot
 
RAtomic_llong SelRtot
 
RAtomic_llong SelTcnt
 
char AltMans [STMax *AltSize]
 
char * AltMend
 
int AltMent
 
SMask_t peerHost
 
SMask_t peerMask
 

Static Private Attributes

static const int AltSize = 254
 

Friends

class XrdCmsDrop
 

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
private
Enumerator
eExists 
eDups 
eROfs 
eNoRep 
eNoSel 
eNoEnt 

◆ CmsLSOpts

Enumerator
LS_NULL 
LS_IPO 
LS_IDNT 
LS_ANY 
LS_IFMASK 

Constructor & Destructor Documentation

◆ XrdCmsCluster()

XrdCmsCluster::XrdCmsCluster ( )

◆ ~XrdCmsCluster()

virtual XrdCmsCluster::~XrdCmsCluster ( )
inlinevirtual

Member Function Documentation

◆ Add()

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

◆ AddAlt()

XrdCmsNode * XrdCmsCluster::AddAlt ( XrdCmsClustID cidP,
XrdLink lp,
int  port,
int  Status,
int  sport,
const char *  theNID,
const char *  theIF 
)
private

◆ BlackList()

virtual void XrdCmsCluster::BlackList ( XrdOucTList blP)
virtual

◆ Broadcast() [1/3]

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

◆ Broadcast() [2/3]

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

◆ Broadcast() [3/3]

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

◆ Broadsend()

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

◆ calcDelay()

XrdCmsNode * XrdCmsCluster::calcDelay ( XrdCmsSelector selR)
private

◆ Drop()

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

◆ getMask() [1/2]

SMask_t XrdCmsCluster::getMask ( const char *  Cid)

◆ getMask() [2/2]

SMask_t XrdCmsCluster::getMask ( const XrdNetAddr addr)

◆ List()

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

◆ Locate()

int XrdCmsCluster::Locate ( XrdCmsSelect Sel)

◆ maxBits()

bool XrdCmsCluster::maxBits ( SMask_t  mVec,
int  mbits 
)
private

◆ MonPerf()

void * XrdCmsCluster::MonPerf ( )

◆ MonRefs()

void * XrdCmsCluster::MonRefs ( )

◆ Multiple()

int XrdCmsCluster::Multiple ( SMask_t  mVec)
private

◆ Record()

void XrdCmsCluster::Record ( char *  path,
const char *  reason,
bool  force = false 
)
private

◆ Refs()

long long XrdCmsCluster::Refs ( )
inline

References SelRtot, and SelWtot.

◆ Remove() [1/2]

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

◆ Remove() [2/2]

void XrdCmsCluster::Remove ( XrdCmsNode theNode)

◆ ResetRef()

void XrdCmsCluster::ResetRef ( SMask_t  smask,
bool  isLocked = false 
)

◆ SelbyCost()

XrdCmsNode * XrdCmsCluster::SelbyCost ( SMask_t  ,
XrdCmsSelector selR 
)
private

◆ SelbyLoad()

XrdCmsNode * XrdCmsCluster::SelbyLoad ( SMask_t  ,
XrdCmsSelector selR 
)
private

◆ SelbyRef()

XrdCmsNode * XrdCmsCluster::SelbyRef ( SMask_t  ,
XrdCmsSelector selR 
)
private

◆ SelDFS()

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

◆ Select() [1/2]

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

◆ Select() [2/2]

int XrdCmsCluster::Select ( XrdCmsSelect Sel)

◆ SelFail()

int XrdCmsCluster::SelFail ( XrdCmsSelect Sel,
int  rc 
)
private

◆ SelNode()

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

◆ sendAList()

void XrdCmsCluster::sendAList ( XrdLink lp)
private

◆ setAltMan()

void XrdCmsCluster::setAltMan ( int  snum,
XrdLink lp,
int  port 
)
private

◆ SLock()

void XrdCmsCluster::SLock ( bool  dolock,
bool  wrmode = true 
)
inline

◆ Space()

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

◆ Stats()

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

◆ Statt()

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

◆ Unreachable()

int XrdCmsCluster::Unreachable ( XrdCmsSelect Sel,
bool  none 
)
private

◆ Unuseable()

int XrdCmsCluster::Unuseable ( XrdCmsSelect Sel)
private

Friends And Related Symbol Documentation

◆ XrdCmsDrop

friend class XrdCmsDrop
friend

Member Data Documentation

◆ AltMans

char XrdCmsCluster::AltMans[STMax *AltSize]
private

◆ AltMend

char* XrdCmsCluster::AltMend
private

◆ AltMent

int XrdCmsCluster::AltMent
private

◆ AltSize

const int XrdCmsCluster::AltSize = 254
staticprivate

◆ EReplete

const int XrdCmsCluster::EReplete = -4
static

◆ NodeCnt

int XrdCmsCluster::NodeCnt

◆ NodeTab

XrdCmsNode* XrdCmsCluster::NodeTab[STMax]
private

◆ NotFound

const int XrdCmsCluster::NotFound = -1
static

◆ peerHost

SMask_t XrdCmsCluster::peerHost
private

◆ peerMask

SMask_t XrdCmsCluster::peerMask
private

◆ Reserved

int XrdCmsCluster::Reserved
private

◆ RetryErr

const int XrdCmsCluster::RetryErr = -3
static

◆ SelRtot

RAtomic_llong XrdCmsCluster::SelRtot
private

Referenced by Refs().

◆ SelTcnt

RAtomic_llong XrdCmsCluster::SelTcnt
private

◆ SelWtot

RAtomic_llong XrdCmsCluster::SelWtot
private

Referenced by Refs().

◆ STHi

int XrdCmsCluster::STHi
private

◆ STMutex

XrdSysRWLock XrdCmsCluster::STMutex
private

Referenced by SLock().

◆ Wait4CBk

const int XrdCmsCluster::Wait4CBk = -2
static

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