xrootd
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Private Member Functions | Private Attributes | Static Private Attributes | Friends | List of all members
XrdCmsNode Class Reference

#include <XrdCmsNode.hh>

Collaboration diagram for XrdCmsNode:
Collaboration graph
[legend]

Public Member Functions

const char * do_Avail (XrdCmsRRData &Arg)
 
const char * do_Chmod (XrdCmsRRData &Arg)
 
const char * do_Disc (XrdCmsRRData &Arg)
 
const char * do_Gone (XrdCmsRRData &Arg)
 
const char * do_Have (XrdCmsRRData &Arg)
 
const char * do_Load (XrdCmsRRData &Arg)
 
const char * do_Locate (XrdCmsRRData &Arg)
 
const char * do_Mkdir (XrdCmsRRData &Arg)
 
const char * do_Mkpath (XrdCmsRRData &Arg)
 
const char * do_Mv (XrdCmsRRData &Arg)
 
const char * do_Ping (XrdCmsRRData &Arg)
 
const char * do_Pong (XrdCmsRRData &Arg)
 
const char * do_PrepAdd (XrdCmsRRData &Arg)
 
const char * do_PrepDel (XrdCmsRRData &Arg)
 
const char * do_Rm (XrdCmsRRData &Arg)
 
const char * do_Rmdir (XrdCmsRRData &Arg)
 
int do_SelAvoid (XrdCmsRRData &Arg, XrdCmsSelect &Sel, char *Avoid, bool &doRedir)
 
const char * do_Select (XrdCmsRRData &Arg)
 
const char * do_Space (XrdCmsRRData &Arg)
 
const char * do_State (XrdCmsRRData &Arg)
 
int do_StateFWD (XrdCmsRRData &Arg)
 
const char * do_StatFS (XrdCmsRRData &Arg)
 
const char * do_Stats (XrdCmsRRData &Arg)
 
const char * do_Status (XrdCmsRRData &Arg)
 
const char * do_Trunc (XrdCmsRRData &Arg)
 
const char * do_Try (XrdCmsRRData &Arg)
 
const char * do_Update (XrdCmsRRData &Arg)
 
const char * do_Usage (XrdCmsRRData &Arg)
 
void Delete (XrdSysRWLock &gMutex)
 
void Delete (XrdSysMutex &gMutex)
 
void Delete (XrdSysFusedMutex &gMutex)
 
void Disc (const char *reason=0, int needLock=1)
 
int ID (int &INum)
 
int Inst ()
 
bool inDomain ()
 
int isNode (SMask_t smask)
 
int isNode (const XrdNetAddr *addr)
 
int isNode (XrdLink *lp, const char *nid, int port)
 
char * Name ()
 
SMask_t Mask ()
 
void g2nLock (XrdSysRWLock &gMutex)
 
void n2gLock (XrdSysRWLock &gMutex, bool rdlock=false)
 
void Lock ()
 
void UnLock ()
 
void Ref ()
 
void unRef ()
 
int Send (const char *buff, int blen=0)
 
int Send (const struct iovec *iov, int iovcnt, int iotot=0)
 
void setManager (XrdCmsManager *mP)
 
void setName (XrdLink *lnkp, const char *theIF, int port)
 
void setShare (int shrval)
 
int setTZone (int tZone)
 
void setVersion (unsigned short vnum)
 
void setSlot (short rslot)
 
short getSlot ()
 
void ShowIF ()
 
void SyncSpace ()
 
 XrdCmsNode (XrdLink *lnkp, const char *theIF=0, const char *sid=0, int port=0, int lvl=0, int id=-1)
 
 ~XrdCmsNode ()
 

Static Public Member Functions

static int do_LocFmt (char *buff, XrdCmsSelected *sP, SMask_t pf, SMask_t wf, bool lsall=false, bool lsuniq=false)
 
static int do_SelPrep (XrdCmsPrepArgs &Arg)
 
static void do_StateDFS (XrdCmsBaseFR *rP, int rc)
 
static void Report_Usage (XrdLink *lp)
 

Public Attributes

char * Ident = 0
 
char hasNet = 0
 
char isBad = 0
 
char isOffline
 
char isRW = 0
 
char isNoStage = 0
 
char isMan = 0
 
char isPeer = 0
 
char isBound = 0
 
char isKnown = 0
 
char isConn = 0
 
char isGone = 0
 
char isPerm = 0
 
char rsvd = 0
 
char RoleID = 0
 
char TimeZone = 0
 
char TZValid = 0
 
unsigned int DiskTotal = 0
 
int DiskNums = 0
 
int DiskMinF = 0
 
int DiskFree = 0
 
int DiskUtil = 0
 
unsigned int ConfigID = 0
 

Static Public Attributes

static const char isBlisted = 0x01
 
static const char isDisabled = 0x02
 
static const char isSuspend = 0x04
 
static const char isDoomed = 0x08
 
static const char allowsRW = 0x01
 
static const char allowsSS = 0x02
 

Private Member Functions

void DeleteWarn (unsigned int lkVal)
 
int fsExec (XrdOucProg *Prog, char *Arg1, char *Arg2=0)
 
const char * fsFail (const char *Who, const char *What, const char *Path, int rc)
 
int getMode (const char *theMode, mode_t &Mode)
 
int getSize (const char *theSize, long long &Size)
 
void setHash (XrdCmsSelect &Sel, int acount)
 

Private Attributes

XrdSysMutex nodeMutex
 
RAtomic_uint refCnt
 
XrdLinkLink
 
XrdNetAddr netID
 
XrdNetIF netIF
 
XrdCmsManagerManager = 0
 
time_t DropTime = 0
 
XrdCmsDrop * DropJob = 0
 
XrdCmsClustIDcidP = 0
 
SMask_t NodeMask
 
int NodeID
 
int Instance
 
int myLevel
 
short subsPort = 0
 
unsigned short myVersion
 
char * myCID
 
char * myNID
 
char * myName = 0
 
int myNlen = 0
 
int logload
 
int myCost = 0
 
int myLoad = 0
 
int myMass = 0
 
RAtomic_int RefW {0}
 
RAtomic_int RefTotW {0}
 
RAtomic_int RefR {0}
 
RAtomic_int RefTotR {0}
 
short RSlot = 0
 
char Share = 0
 
RAtomic_char Shrem {0}
 
RAtomic_char Shrin {0}
 
char Shrip = 0
 
char Rsvd [3]
 

Static Private Attributes

static const int fsL2PFail1 = 999991
 
static const int fsL2PFail2 = 999992
 
static XrdSysMutex mlMutex
 
static int LastFree
 

Friends

class XrdCmsCluster
 

Constructor & Destructor Documentation

XrdCmsNode::XrdCmsNode ( XrdLink lnkp,
const char *  theIF = 0,
const char *  sid = 0,
int  port = 0,
int  lvl = 0,
int  id = -1 
)
XrdCmsNode::~XrdCmsNode ( )

Member Function Documentation

void XrdCmsNode::Delete ( XrdSysRWLock gMutex)
inline

Referenced by Delete().

void XrdCmsNode::Delete ( XrdSysMutex gMutex)
inline

References Delete().

void XrdCmsNode::Delete ( XrdSysFusedMutex gMutex)
void XrdCmsNode::DeleteWarn ( unsigned int  lkVal)
private
void XrdCmsNode::Disc ( const char *  reason = 0,
int  needLock = 1 
)
const char* XrdCmsNode::do_Avail ( XrdCmsRRData Arg)
const char* XrdCmsNode::do_Chmod ( XrdCmsRRData Arg)
const char* XrdCmsNode::do_Disc ( XrdCmsRRData Arg)
const char* XrdCmsNode::do_Gone ( XrdCmsRRData Arg)
const char* XrdCmsNode::do_Have ( XrdCmsRRData Arg)
const char* XrdCmsNode::do_Load ( XrdCmsRRData Arg)
const char* XrdCmsNode::do_Locate ( XrdCmsRRData Arg)
static int XrdCmsNode::do_LocFmt ( char *  buff,
XrdCmsSelected sP,
SMask_t  pf,
SMask_t  wf,
bool  lsall = false,
bool  lsuniq = false 
)
static
const char* XrdCmsNode::do_Mkdir ( XrdCmsRRData Arg)
const char* XrdCmsNode::do_Mkpath ( XrdCmsRRData Arg)
const char* XrdCmsNode::do_Mv ( XrdCmsRRData Arg)
const char* XrdCmsNode::do_Ping ( XrdCmsRRData Arg)
const char* XrdCmsNode::do_Pong ( XrdCmsRRData Arg)
const char* XrdCmsNode::do_PrepAdd ( XrdCmsRRData Arg)
const char* XrdCmsNode::do_PrepDel ( XrdCmsRRData Arg)
const char* XrdCmsNode::do_Rm ( XrdCmsRRData Arg)
const char* XrdCmsNode::do_Rmdir ( XrdCmsRRData Arg)
int XrdCmsNode::do_SelAvoid ( XrdCmsRRData Arg,
XrdCmsSelect Sel,
char *  Avoid,
bool &  doRedir 
)
const char* XrdCmsNode::do_Select ( XrdCmsRRData Arg)
static int XrdCmsNode::do_SelPrep ( XrdCmsPrepArgs Arg)
static

Referenced by XrdCmsPrepArgs::DoIt().

const char* XrdCmsNode::do_Space ( XrdCmsRRData Arg)
const char* XrdCmsNode::do_State ( XrdCmsRRData Arg)
static void XrdCmsNode::do_StateDFS ( XrdCmsBaseFR rP,
int  rc 
)
static
int XrdCmsNode::do_StateFWD ( XrdCmsRRData Arg)
const char* XrdCmsNode::do_StatFS ( XrdCmsRRData Arg)
const char* XrdCmsNode::do_Stats ( XrdCmsRRData Arg)
const char* XrdCmsNode::do_Status ( XrdCmsRRData Arg)
const char* XrdCmsNode::do_Trunc ( XrdCmsRRData Arg)
const char* XrdCmsNode::do_Try ( XrdCmsRRData Arg)
const char* XrdCmsNode::do_Update ( XrdCmsRRData Arg)
const char* XrdCmsNode::do_Usage ( XrdCmsRRData Arg)
int XrdCmsNode::fsExec ( XrdOucProg Prog,
char *  Arg1,
char *  Arg2 = 0 
)
private
const char* XrdCmsNode::fsFail ( const char *  Who,
const char *  What,
const char *  Path,
int  rc 
)
private
void XrdCmsNode::g2nLock ( XrdSysRWLock gMutex)
inline
int XrdCmsNode::getMode ( const char *  theMode,
mode_t &  Mode 
)
private
int XrdCmsNode::getSize ( const char *  theSize,
long long &  Size 
)
private
short XrdCmsNode::getSlot ( )
inline

References RSlot.

int XrdCmsNode::ID ( int &  INum)
inline

References Instance, and NodeID.

bool XrdCmsNode::inDomain ( )
inline

References XrdNetIF::InDomain(), netID, and netIF.

int XrdCmsNode::Inst ( )
inline

References Instance.

int XrdCmsNode::isNode ( SMask_t  smask)
inline

References NodeMask.

int XrdCmsNode::isNode ( const XrdNetAddr addr)
inline

References netID, and XrdNetAddrInfo::Same().

int XrdCmsNode::isNode ( XrdLink lp,
const char *  nid,
int  port 
)
inline
void XrdCmsNode::Lock ( )
inline
SMask_t XrdCmsNode::Mask ( )
inline

References NodeMask.

void XrdCmsNode::n2gLock ( XrdSysRWLock gMutex,
bool  rdlock = false 
)
inline
char* XrdCmsNode::Name ( )
inline

References myName.

void XrdCmsNode::Ref ( )
inline

References refCnt.

static void XrdCmsNode::Report_Usage ( XrdLink lp)
static
int XrdCmsNode::Send ( const char *  buff,
int  blen = 0 
)
inline

References isOffline, Link, and XrdLink::Send().

int XrdCmsNode::Send ( const struct iovec *  iov,
int  iovcnt,
int  iotot = 0 
)
inline

References isOffline, Link, and XrdLink::Send().

void XrdCmsNode::setHash ( XrdCmsSelect Sel,
int  acount 
)
private
void XrdCmsNode::setManager ( XrdCmsManager mP)
inline

References Manager.

void XrdCmsNode::setName ( XrdLink lnkp,
const char *  theIF,
int  port 
)
void XrdCmsNode::setShare ( int  shrval)
inline

References Share, Shrem, and Shrip.

void XrdCmsNode::setSlot ( short  rslot)
inline

References RSlot.

int XrdCmsNode::setTZone ( int  tZone)
inline

References TimeZone, and TZValid.

void XrdCmsNode::setVersion ( unsigned short  vnum)
inline

References myVersion.

void XrdCmsNode::ShowIF ( )
inline

References XrdNetIF::Display(), and netIF.

void XrdCmsNode::SyncSpace ( )
void XrdCmsNode::UnLock ( )
inline
void XrdCmsNode::unRef ( )
inline

References refCnt.

Friends And Related Function Documentation

friend class XrdCmsCluster
friend

Member Data Documentation

const char XrdCmsNode::allowsRW = 0x01
static
const char XrdCmsNode::allowsSS = 0x02
static
XrdCmsClustID* XrdCmsNode::cidP = 0
private
unsigned int XrdCmsNode::ConfigID = 0
int XrdCmsNode::DiskFree = 0
int XrdCmsNode::DiskMinF = 0
int XrdCmsNode::DiskNums = 0
unsigned int XrdCmsNode::DiskTotal = 0
int XrdCmsNode::DiskUtil = 0
XrdCmsDrop* XrdCmsNode::DropJob = 0
private
time_t XrdCmsNode::DropTime = 0
private
const int XrdCmsNode::fsL2PFail1 = 999991
staticprivate
const int XrdCmsNode::fsL2PFail2 = 999992
staticprivate
char XrdCmsNode::hasNet = 0
char* XrdCmsNode::Ident = 0
int XrdCmsNode::Instance
private

Referenced by ID(), and Inst().

char XrdCmsNode::isBad = 0
const char XrdCmsNode::isBlisted = 0x01
static
char XrdCmsNode::isBound = 0
char XrdCmsNode::isConn = 0
const char XrdCmsNode::isDisabled = 0x02
static
const char XrdCmsNode::isDoomed = 0x08
static
char XrdCmsNode::isGone = 0
char XrdCmsNode::isKnown = 0
char XrdCmsNode::isMan = 0
char XrdCmsNode::isNoStage = 0
char XrdCmsNode::isOffline

Referenced by Send().

char XrdCmsNode::isPeer = 0
char XrdCmsNode::isPerm = 0
char XrdCmsNode::isRW = 0
const char XrdCmsNode::isSuspend = 0x04
static
int XrdCmsNode::LastFree
staticprivate
XrdLink* XrdCmsNode::Link
private

Referenced by Send().

int XrdCmsNode::logload
private
XrdCmsManager* XrdCmsNode::Manager = 0
private

Referenced by setManager().

XrdSysMutex XrdCmsNode::mlMutex
staticprivate
char* XrdCmsNode::myCID
private
int XrdCmsNode::myCost = 0
private
int XrdCmsNode::myLevel
private
int XrdCmsNode::myLoad = 0
private
int XrdCmsNode::myMass = 0
private
char* XrdCmsNode::myName = 0
private

Referenced by Name().

char* XrdCmsNode::myNID
private

Referenced by isNode().

int XrdCmsNode::myNlen = 0
private
unsigned short XrdCmsNode::myVersion
private

Referenced by setVersion().

XrdNetAddr XrdCmsNode::netID
private

Referenced by inDomain(), and isNode().

XrdNetIF XrdCmsNode::netIF
private

Referenced by inDomain(), isNode(), and ShowIF().

int XrdCmsNode::NodeID
private

Referenced by ID().

SMask_t XrdCmsNode::NodeMask
private

Referenced by isNode(), and Mask().

XrdSysMutex XrdCmsNode::nodeMutex
private

Referenced by g2nLock(), Lock(), n2gLock(), and UnLock().

RAtomic_uint XrdCmsNode::refCnt
private

Referenced by g2nLock(), Lock(), n2gLock(), Ref(), UnLock(), and unRef().

RAtomic_int XrdCmsNode::RefR {0}
private
RAtomic_int XrdCmsNode::RefTotR {0}
private
RAtomic_int XrdCmsNode::RefTotW {0}
private
RAtomic_int XrdCmsNode::RefW {0}
private
char XrdCmsNode::RoleID = 0
short XrdCmsNode::RSlot = 0
private

Referenced by getSlot(), and setSlot().

char XrdCmsNode::rsvd = 0
char XrdCmsNode::Rsvd[3]
private
char XrdCmsNode::Share = 0
private

Referenced by setShare().

RAtomic_char XrdCmsNode::Shrem {0}
private

Referenced by setShare().

RAtomic_char XrdCmsNode::Shrin {0}
private
char XrdCmsNode::Shrip = 0
private

Referenced by setShare().

short XrdCmsNode::subsPort = 0
private
char XrdCmsNode::TimeZone = 0

Referenced by setTZone().

char XrdCmsNode::TZValid = 0

Referenced by setTZone().


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