xrootd
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 (XrdSysMutex &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 g2Ref (XrdSysMutex &gMutex)
 
void Ref2g (XrdSysMutex &gMutex)
 
void g2nLock (XrdSysMutex &gMutex)
 
void n2gLock (XrdSysMutex &gMutex)
 
void Lock (bool doinc)
 
void UnLock ()
 
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
 
char hasNet
 
char isBad
 
char isOffline
 
char isRW
 
char isNoStage
 
char isMan
 
char isPeer
 
char isBound
 
char isKnown
 
char isConn
 
char isGone
 
char isPerm
 
char incUL
 
char RoleID
 
char TimeZone
 
char TZValid
 
unsigned int DiskTotal
 
int DiskNums
 
int DiskMinF
 
int DiskFree
 
int DiskUtil
 
unsigned int ConfigID
 

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 (XrdSysMutex &gMutex, 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)
 

Private Attributes

XrdSysCondVar nodeMutex
 
unsigned int lkCount
 
unsigned int ulCount
 
XrdLinkLink
 
XrdNetAddr netID
 
XrdNetIF netIF
 
XrdCmsManagerManager
 
XrdCmsNodeNext
 
time_t DropTime
 
XrdCmsDrop * DropJob
 
XrdCmsClustIDcidP
 
SMask_t NodeMask
 
int NodeID
 
int Instance
 
int myLevel
 
short subsPort
 
unsigned short myVersion
 
char * myCID
 
char * myNID
 
char * myName
 
int myNlen
 
int logload
 
int myCost
 
int myLoad
 
int myMass
 
int RefW
 
int RefTotW
 
int RefR
 
int RefTotR
 
short RSlot
 
char isLocked
 
char Share
 
char Shrem
 
char Shrip
 
char Rsvd [2]
 
int Shrin
 

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::XrdCmsNode ( XrdLink lnkp,
const char *  theIF = 0,
const char *  sid = 0,
int  port = 0,
int  lvl = 0,
int  id = -1 
)

◆ ~XrdCmsNode()

XrdCmsNode::~XrdCmsNode ( )

Member Function Documentation

◆ Delete()

void XrdCmsNode::Delete ( XrdSysMutex gMutex)

◆ DeleteWarn()

void XrdCmsNode::DeleteWarn ( XrdSysMutex gMutex,
unsigned int &  lkVal 
)
private

◆ Disc()

void XrdCmsNode::Disc ( const char *  reason = 0,
int  needLock = 1 
)

◆ do_Avail()

const char* XrdCmsNode::do_Avail ( XrdCmsRRData Arg)

◆ do_Chmod()

const char* XrdCmsNode::do_Chmod ( XrdCmsRRData Arg)

◆ do_Disc()

const char* XrdCmsNode::do_Disc ( XrdCmsRRData Arg)

◆ do_Gone()

const char* XrdCmsNode::do_Gone ( XrdCmsRRData Arg)

◆ do_Have()

const char* XrdCmsNode::do_Have ( XrdCmsRRData Arg)

◆ do_Load()

const char* XrdCmsNode::do_Load ( XrdCmsRRData Arg)

◆ do_Locate()

const char* XrdCmsNode::do_Locate ( XrdCmsRRData Arg)

◆ do_LocFmt()

static int XrdCmsNode::do_LocFmt ( char *  buff,
XrdCmsSelected sP,
SMask_t  pf,
SMask_t  wf,
bool  lsall = false,
bool  lsuniq = false 
)
static

◆ do_Mkdir()

const char* XrdCmsNode::do_Mkdir ( XrdCmsRRData Arg)

◆ do_Mkpath()

const char* XrdCmsNode::do_Mkpath ( XrdCmsRRData Arg)

◆ do_Mv()

const char* XrdCmsNode::do_Mv ( XrdCmsRRData Arg)

◆ do_Ping()

const char* XrdCmsNode::do_Ping ( XrdCmsRRData Arg)

◆ do_Pong()

const char* XrdCmsNode::do_Pong ( XrdCmsRRData Arg)

◆ do_PrepAdd()

const char* XrdCmsNode::do_PrepAdd ( XrdCmsRRData Arg)

◆ do_PrepDel()

const char* XrdCmsNode::do_PrepDel ( XrdCmsRRData Arg)

◆ do_Rm()

const char* XrdCmsNode::do_Rm ( XrdCmsRRData Arg)

◆ do_Rmdir()

const char* XrdCmsNode::do_Rmdir ( XrdCmsRRData Arg)

◆ do_SelAvoid()

int XrdCmsNode::do_SelAvoid ( XrdCmsRRData Arg,
XrdCmsSelect Sel,
char *  Avoid,
bool &  doRedir 
)

◆ do_Select()

const char* XrdCmsNode::do_Select ( XrdCmsRRData Arg)

◆ do_SelPrep()

static int XrdCmsNode::do_SelPrep ( XrdCmsPrepArgs Arg)
static

Referenced by XrdCmsPrepArgs::DoIt().

◆ do_Space()

const char* XrdCmsNode::do_Space ( XrdCmsRRData Arg)

◆ do_State()

const char* XrdCmsNode::do_State ( XrdCmsRRData Arg)

◆ do_StateDFS()

static void XrdCmsNode::do_StateDFS ( XrdCmsBaseFR rP,
int  rc 
)
static

◆ do_StateFWD()

int XrdCmsNode::do_StateFWD ( XrdCmsRRData Arg)

◆ do_StatFS()

const char* XrdCmsNode::do_StatFS ( XrdCmsRRData Arg)

◆ do_Stats()

const char* XrdCmsNode::do_Stats ( XrdCmsRRData Arg)

◆ do_Status()

const char* XrdCmsNode::do_Status ( XrdCmsRRData Arg)

◆ do_Trunc()

const char* XrdCmsNode::do_Trunc ( XrdCmsRRData Arg)

◆ do_Try()

const char* XrdCmsNode::do_Try ( XrdCmsRRData Arg)

◆ do_Update()

const char* XrdCmsNode::do_Update ( XrdCmsRRData Arg)

◆ do_Usage()

const char* XrdCmsNode::do_Usage ( XrdCmsRRData Arg)

◆ fsExec()

int XrdCmsNode::fsExec ( XrdOucProg Prog,
char *  Arg1,
char *  Arg2 = 0 
)
private

◆ fsFail()

const char* XrdCmsNode::fsFail ( const char *  Who,
const char *  What,
const char *  Path,
int  rc 
)
private

◆ g2nLock()

void XrdCmsNode::g2nLock ( XrdSysMutex gMutex)
inline

◆ g2Ref()

void XrdCmsNode::g2Ref ( XrdSysMutex gMutex)
inline

References lkCount, and XrdSysMutex::UnLock().

◆ getMode()

int XrdCmsNode::getMode ( const char *  theMode,
mode_t &  Mode 
)
private

◆ getSize()

int XrdCmsNode::getSize ( const char *  theSize,
long long &  Size 
)
private

◆ getSlot()

short XrdCmsNode::getSlot ( )
inline

References RSlot.

◆ ID()

int XrdCmsNode::ID ( int &  INum)
inline

References Instance, and NodeID.

◆ inDomain()

bool XrdCmsNode::inDomain ( )
inline

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

◆ Inst()

int XrdCmsNode::Inst ( )
inline

References Instance.

◆ isNode() [1/3]

int XrdCmsNode::isNode ( SMask_t  smask)
inline

References NodeMask.

◆ isNode() [2/3]

int XrdCmsNode::isNode ( const XrdNetAddr addr)
inline

References netID, and XrdNetAddrInfo::Same().

◆ isNode() [3/3]

int XrdCmsNode::isNode ( XrdLink lp,
const char *  nid,
int  port 
)
inline

◆ Lock()

void XrdCmsNode::Lock ( bool  doinc)
inline

◆ Mask()

SMask_t XrdCmsNode::Mask ( )
inline

References NodeMask.

◆ n2gLock()

void XrdCmsNode::n2gLock ( XrdSysMutex gMutex)
inline

◆ Name()

char* XrdCmsNode::Name ( )
inline

References myName.

◆ Ref2g()

void XrdCmsNode::Ref2g ( XrdSysMutex gMutex)
inline

References lkCount, and XrdSysMutex::Lock().

◆ Report_Usage()

static void XrdCmsNode::Report_Usage ( XrdLink lp)
static

◆ Send() [1/2]

int XrdCmsNode::Send ( const char *  buff,
int  blen = 0 
)
inline

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

◆ Send() [2/2]

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

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

◆ setManager()

void XrdCmsNode::setManager ( XrdCmsManager mP)
inline

References Manager.

◆ setName()

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

◆ setShare()

void XrdCmsNode::setShare ( int  shrval)
inline

References Share, Shrem, and Shrip.

◆ setSlot()

void XrdCmsNode::setSlot ( short  rslot)
inline

References RSlot.

◆ setTZone()

int XrdCmsNode::setTZone ( int  tZone)
inline

References TimeZone, and TZValid.

◆ setVersion()

void XrdCmsNode::setVersion ( unsigned short  vnum)
inline

References myVersion.

◆ ShowIF()

void XrdCmsNode::ShowIF ( )
inline

References XrdNetIF::Display(), and netIF.

◆ SyncSpace()

void XrdCmsNode::SyncSpace ( )

◆ UnLock()

void XrdCmsNode::UnLock ( )
inline

Friends And Related Function Documentation

◆ XrdCmsCluster

friend class XrdCmsCluster
friend

Member Data Documentation

◆ allowsRW

const char XrdCmsNode::allowsRW = 0x01
static

◆ allowsSS

const char XrdCmsNode::allowsSS = 0x02
static

◆ cidP

XrdCmsClustID* XrdCmsNode::cidP
private

◆ ConfigID

unsigned int XrdCmsNode::ConfigID

◆ DiskFree

int XrdCmsNode::DiskFree

◆ DiskMinF

int XrdCmsNode::DiskMinF

◆ DiskNums

int XrdCmsNode::DiskNums

◆ DiskTotal

unsigned int XrdCmsNode::DiskTotal

◆ DiskUtil

int XrdCmsNode::DiskUtil

◆ DropJob

XrdCmsDrop* XrdCmsNode::DropJob
private

◆ DropTime

time_t XrdCmsNode::DropTime
private

◆ fsL2PFail1

const int XrdCmsNode::fsL2PFail1 = 999991
staticprivate

◆ fsL2PFail2

const int XrdCmsNode::fsL2PFail2 = 999992
staticprivate

◆ hasNet

char XrdCmsNode::hasNet

◆ Ident

char* XrdCmsNode::Ident

◆ incUL

char XrdCmsNode::incUL

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

◆ Instance

int XrdCmsNode::Instance
private

Referenced by ID(), and Inst().

◆ isBad

char XrdCmsNode::isBad

◆ isBlisted

const char XrdCmsNode::isBlisted = 0x01
static

◆ isBound

char XrdCmsNode::isBound

◆ isConn

char XrdCmsNode::isConn

◆ isDisabled

const char XrdCmsNode::isDisabled = 0x02
static

◆ isDoomed

const char XrdCmsNode::isDoomed = 0x08
static

◆ isGone

char XrdCmsNode::isGone

Referenced by n2gLock(), and UnLock().

◆ isKnown

char XrdCmsNode::isKnown

◆ isLocked

char XrdCmsNode::isLocked
private

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

◆ isMan

char XrdCmsNode::isMan

◆ isNoStage

char XrdCmsNode::isNoStage

◆ isOffline

char XrdCmsNode::isOffline

Referenced by Send().

◆ isPeer

char XrdCmsNode::isPeer

◆ isPerm

char XrdCmsNode::isPerm

◆ isRW

char XrdCmsNode::isRW

◆ isSuspend

const char XrdCmsNode::isSuspend = 0x04
static

◆ LastFree

int XrdCmsNode::LastFree
staticprivate

◆ Link

XrdLink* XrdCmsNode::Link
private

Referenced by Send().

◆ lkCount

unsigned int XrdCmsNode::lkCount
private

Referenced by g2nLock(), g2Ref(), Lock(), and Ref2g().

◆ logload

int XrdCmsNode::logload
private

◆ Manager

XrdCmsManager* XrdCmsNode::Manager
private

Referenced by setManager().

◆ mlMutex

XrdSysMutex XrdCmsNode::mlMutex
staticprivate

◆ myCID

char* XrdCmsNode::myCID
private

◆ myCost

int XrdCmsNode::myCost
private

◆ myLevel

int XrdCmsNode::myLevel
private

◆ myLoad

int XrdCmsNode::myLoad
private

◆ myMass

int XrdCmsNode::myMass
private

◆ myName

char* XrdCmsNode::myName
private

Referenced by Name().

◆ myNID

char* XrdCmsNode::myNID
private

Referenced by isNode().

◆ myNlen

int XrdCmsNode::myNlen
private

◆ myVersion

unsigned short XrdCmsNode::myVersion
private

Referenced by setVersion().

◆ netID

XrdNetAddr XrdCmsNode::netID
private

Referenced by inDomain(), and isNode().

◆ netIF

XrdNetIF XrdCmsNode::netIF
private

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

◆ Next

XrdCmsNode* XrdCmsNode::Next
private

◆ NodeID

int XrdCmsNode::NodeID
private

Referenced by ID().

◆ NodeMask

SMask_t XrdCmsNode::NodeMask
private

Referenced by isNode(), and Mask().

◆ nodeMutex

XrdSysCondVar XrdCmsNode::nodeMutex
private

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

◆ RefR

int XrdCmsNode::RefR
private

◆ RefTotR

int XrdCmsNode::RefTotR
private

◆ RefTotW

int XrdCmsNode::RefTotW
private

◆ RefW

int XrdCmsNode::RefW
private

◆ RoleID

char XrdCmsNode::RoleID

◆ RSlot

short XrdCmsNode::RSlot
private

Referenced by getSlot(), and setSlot().

◆ Rsvd

char XrdCmsNode::Rsvd[2]
private

◆ Share

char XrdCmsNode::Share
private

Referenced by setShare().

◆ Shrem

char XrdCmsNode::Shrem
private

Referenced by setShare().

◆ Shrin

int XrdCmsNode::Shrin
private

◆ Shrip

char XrdCmsNode::Shrip
private

Referenced by setShare().

◆ subsPort

short XrdCmsNode::subsPort
private

◆ TimeZone

char XrdCmsNode::TimeZone

Referenced by setTZone().

◆ TZValid

char XrdCmsNode::TZValid

Referenced by setTZone().

◆ ulCount

unsigned int XrdCmsNode::ulCount
private

Referenced by n2gLock(), and UnLock().


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