XrdCmsNode Class Reference

#include <XrdCmsNode.hh>

List of all members.

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)
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 Disc (const char *reason=0, int needLock=1)
int ID (int &INum)
int Inst ()
int isNode (SMask_t smask)
int isNode (const char *hn)
int isNode (unsigned int ipa)
int isNode (unsigned int ipa, const char *nid)
char * Name ()
char * Name (int &len, int &port)
SMask_t Mask ()
void Lock ()
void UnLock ()
int Send (const char *buff, int blen=0)
int Send (const struct iovec *iov, int iovcnt, int iotot=0)
void setName (XrdLink *lnkp, int port)
void setSlot (short rslot)
short getSlot ()
void SyncSpace ()
 XrdCmsNode (XrdLink *lnkp, int port=0, const char *sid=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)
static int do_SelPrep (XrdCmsPrepArgs &Arg)
static void Report_Usage (XrdLink *lp)

Public Attributes

char * Ident
char isDisable
char isOffline
char isNoStage
char isMan
char isPeer
char isProxy
char isSuspend
char isBound
char isRW
char isKnown
char isConn
char isGone
char isPerm
char isReserved [3]
unsigned int DiskTotal
int DiskNums
int DiskMinF
int DiskFree
int DiskUtil
unsigned int ConfigID

Static Public Attributes

static const char allowsRW = 0x01
static const char allowsSS = 0x02

Private Member Functions

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)

Static Private Member Functions

static int isOnline (char *path, int upt=1)

Private Attributes

XrdSysMutex myMutex
XrdLinkLink
unsigned int IPAddr
XrdCmsNodeNext
time_t DropTime
XrdCmsDropDropJob
int IPV6Len
char IPV6 [28]
SMask_t NodeMask
int NodeID
int Instance
int Port
int myLevel
int myCNUM
char * myCID
char * myNID
char * myName
int myNlen
int logload
int myCost
int myLoad
int myMass
int RefA
int RefTotA
int RefR
int RefTotR
short RSlot
char isLocked
char RSVD

Static Private Attributes

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

Friends

class XrdCmsCluster


Detailed Description

Definition at line 30 of file XrdCmsNode.hh.


Constructor & Destructor Documentation

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

Definition at line 72 of file XrdCmsNode.cc.

References XrdFrm::Config(), ConfigID, DiskFree, DiskMinF, DiskNums, DiskTotal, DiskUtil, DropJob, DropTime, Ident, Instance, IPAddr, isBound, isConn, isDisable, isGone, isKnown, isMan, isNoStage, isOffline, isPeer, isPerm, isProxy, isSuspend, Link, XrdSysMutex::Lock(), logload, myCID, myCNUM, myCost, myLevel, myLoad, myMass, myName, myNID, myNlen, Next, NodeID, NodeMask, Port, RefA, RefR, RefTotA, RefTotR, setName(), and XrdSysMutex::UnLock().

XrdCmsNode::~XrdCmsNode (  ) 

Definition at line 135 of file XrdCmsNode.cc.

References free(), Ident, isLocked, isOffline, myName, myNID, and UnLock().


Member Function Documentation

const char * XrdCmsNode::do_Avail ( XrdCmsRRData Arg  ) 

Definition at line 222 of file XrdCmsNode.cc.

References DEBUGR, DiskFree, DiskUtil, XrdCmsRRData::dskFree, XrdCmsRRData::dskUtil, and EPNAME.

const char * XrdCmsNode::do_Chmod ( XrdCmsRRData Arg  ) 

Definition at line 243 of file XrdCmsNode.cc.

References XrdOss::Chmod(), XrdCmsXmi::Chmod(), XrdFrm::Config(), DEBUGR, EPNAME, fsExec(), fsFail(), getMode(), XrdCmsRRData::Ident, XrdCmsRRData::Mode, XrdCmsRRData::Opaque, XrdFrmConfig::ossFS, XrdCmsRRData::Path, XrdCmsRRData::Request, XrdCms::CmsRRHdr::streamid, and XrdCms::Xmi_Chmod.

const char * XrdCmsNode::do_Disc ( XrdCmsRRData Arg  ) 

Definition at line 285 of file XrdCmsNode.cc.

References XrdLink::Close(), XrdFrm::Config(), XrdSysError::Emsg(), isOffline, Link, XrdLink::Name(), XrdCmsRRData::Request, XrdFrm::Say(), and XrdLink::Send().

const char * XrdCmsNode::do_Gone ( XrdCmsRRData Arg  ) 

Definition at line 310 of file XrdCmsNode.cc.

References XrdCmsSelect::Advisory, XrdCmsRRData::Buff, XrdCms::Cache, XrdFrm::Config(), XrdCmsCache::DelFile(), XrdCmsRRData::Dlen, EPNAME, XrdCmsPrepare::Gone(), XrdCmsManager::Inform(), XrdCms::Manager, NodeMask, XrdCmsRRData::Path, XrdCmsRRData::PathLen, XrdCms::PrepQ, XrdCmsManager::Present(), XrdCmsRRData::Request, and TRACER.

const char * XrdCmsNode::do_Have ( XrdCmsRRData Arg  ) 

Definition at line 351 of file XrdCmsNode.cc.

References XrdCmsCache::AddFile(), XrdCmsSelect::Advisory, XrdCmsRRData::Buff, XrdCms::Cache, XrdFrm::Config(), XrdCmsRRData::Dlen, EPNAME, XrdCmsPList_Anchor::Find(), XrdCmsKey::Hash, XrdCmsManager::Inform(), XrdCms::Manager, XrdCms::CmsRRHdr::modifier, NodeMask, XrdMpx::Opts, XrdCmsRRData::Path, XrdCmsSelect::Path, XrdCmsRRData::PathLen, XrdCmsCache::Paths, XrdCmsSelect::Pending, XrdCmsManager::Present(), XrdCmsRRData::Request, XrdCmsPInfo::rwvec, XrdCms::CmsRRHdr::streamid, TRACER, and XrdCmsSelect::Write.

const char * XrdCmsNode::do_Load ( XrdCmsRRData Arg  ) 

Definition at line 396 of file XrdCmsNode.cc.

References XrdCmsMeter::calcLoad(), XrdFrm::Config(), DEBUGR, DiskFree, DiskUtil, do_Pong(), do_Space(), XrdCmsRRData::dskFree, XrdSysError::Emsg(), EPNAME, isRW, LastFree, XrdSysMutex::Lock(), logload, XrdCms::Meter, mlMutex, myLoad, myMass, Name(), XrdCmsRRData::Opaque, XrdCmsMeter::Record(), XrdFrm::Say(), XrdCmsMeter::setVirtUpdt(), snprintf, and XrdSysMutex::UnLock().

const char * XrdCmsNode::do_Locate ( XrdCmsRRData Arg  ) 

Definition at line 458 of file XrdCmsNode.cc.

References EPNAME, Instance, XrdCmsRRData::Path, XrdCmsRRData::PathLen, XrdCmsRRData::Request, RSlot, STMax, XrdCms::CmsRRHdr::streamid, and Val.

int XrdCmsNode::do_LocFmt ( char *  buff,
XrdCmsSelected sP,
SMask_t  pf,
SMask_t  wf 
) [static]

Definition at line 541 of file XrdCmsNode.cc.

References XrdCmsSelected::Disable, XrdCmsSelected::IPV6, XrdCmsSelected::IPV6Len, XrdCmsSelected::isMangr, XrdCmsSelected::Mask, XrdCmsSelected::next, XrdCmsSelected::Offline, XrdCmsSelected::Status, and strcpy().

Referenced by XrdCmsRRQ::sendLocResp().

const char * XrdCmsNode::do_Mkdir ( XrdCmsRRData Arg  ) 

Definition at line 575 of file XrdCmsNode.cc.

References XrdFrm::Config(), DEBUGR, EPNAME, fsExec(), fsFail(), getMode(), XrdCmsRRData::Ident, XrdOss::Mkdir(), XrdCmsXmi::Mkdir(), XrdCmsRRData::Mode, XrdCmsRRData::Opaque, XrdFrmConfig::ossFS, XrdCmsRRData::Path, XrdCmsRRData::Request, XrdCms::CmsRRHdr::streamid, and XrdCms::Xmi_Mkdir.

const char * XrdCmsNode::do_Mkpath ( XrdCmsRRData Arg  ) 

Definition at line 615 of file XrdCmsNode.cc.

References XrdFrm::Config(), DEBUGR, EPNAME, fsExec(), fsFail(), getMode(), XrdCmsRRData::Ident, XrdOss::Mkdir(), XrdCmsXmi::Mkpath(), XrdCmsRRData::Mode, XrdCmsRRData::Opaque, XrdFrmConfig::ossFS, XrdCmsRRData::Path, XrdCmsRRData::Request, XrdCms::CmsRRHdr::streamid, and XrdCms::Xmi_Mkpath.

const char * XrdCmsNode::do_Mv ( XrdCmsRRData Arg  ) 

Definition at line 655 of file XrdCmsNode.cc.

References XrdCms::Cache, XrdCms::Cluster, XrdFrm::Config(), DEBUGR, XrdCmsSelect::Defer, XrdCmsCache::DelFile(), XrdSysError::Emsg(), EPNAME, fsExec(), fsFail(), XrdCmsSelect::hf, XrdCmsRRData::Ident, XrdCmsSelect::InfoP, XrdCmsSelect::iovN, XrdCmsSelect::iovP, XrdCms::kYR_dnf, XrdCms::CmsRRHdr::modifier, XrdCmsSelect::nmask, XrdCmsRRData::Opaque, XrdCmsRRData::Opaque2, XrdFrmConfig::ossFS, XrdCmsRRData::Path, XrdCmsRRData::Path2, XrdOss::Rename(), XrdCmsXmi::Rename(), XrdCmsRRData::Request, XrdFrm::Say(), XrdCmsCluster::Select(), XrdCms::CmsRRHdr::streamid, XrdCmsSelect::Vec, XrdCmsRRData::waitVal, and XrdCms::Xmi_Rename.

const char * XrdCmsNode::do_Ping ( XrdCmsRRData Arg  ) 

Definition at line 719 of file XrdCmsNode.cc.

References XrdCms::kYR_pong, Link, and XrdLink::Send().

const char * XrdCmsNode::do_Pong ( XrdCmsRRData Arg  ) 

Definition at line 736 of file XrdCmsNode.cc.

Referenced by do_Load().

const char * XrdCmsNode::do_PrepAdd ( XrdCmsRRData Arg  ) 

Definition at line 748 of file XrdCmsNode.cc.

References DEBUGR, EPNAME, XrdCmsRRData::Mode, XrdCmsRRData::Notify, XrdCmsRRData::Opaque, XrdCmsRRData::Opts, XrdCmsRRData::Path, XrdCmsXmi::Prep(), XrdCmsRRData::Prty, XrdCmsRRData::Reqid, XrdCms::Xmi_Prep, and XMI_RW.

const char * XrdCmsNode::do_PrepDel ( XrdCmsRRData Arg  ) 

Definition at line 775 of file XrdCmsNode.cc.

References XrdFrm::Config(), DEBUGR, XrdCmsPrepare::Del(), EPNAME, XrdCmsXmi::Prep(), XrdCms::PrepQ, XrdCmsRRData::Reqid, XMI_CANCEL, and XrdCms::Xmi_Prep.

const char * XrdCmsNode::do_Rm ( XrdCmsRRData Arg  ) 

Definition at line 804 of file XrdCmsNode.cc.

References XrdCms::Cache, XrdFrm::Config(), DEBUGR, XrdCmsCache::DelFile(), EPNAME, fsExec(), fsFail(), XrdCmsRRData::Ident, XrdCms::kYR_dnf, XrdCms::CmsRRHdr::modifier, XrdCmsRRData::Opaque, XrdFrmConfig::ossFS, XrdCmsRRData::Path, XrdCmsXmi::Remove(), XrdCmsRRData::Request, XrdCms::CmsRRHdr::streamid, XrdOss::Unlink(), and XrdCms::Xmi_Remove.

const char * XrdCmsNode::do_Rmdir ( XrdCmsRRData Arg  ) 

Definition at line 846 of file XrdCmsNode.cc.

References XrdCms::Cache, XrdFrm::Config(), DEBUGR, XrdCmsCache::DelFile(), EPNAME, fsExec(), fsFail(), XrdCmsRRData::Ident, XrdCms::kYR_dnf, XrdCms::CmsRRHdr::modifier, XrdCmsRRData::Opaque, XrdFrmConfig::ossFS, XrdCmsRRData::Path, XrdOss::Remdir(), XrdCmsXmi::Remdir(), XrdCmsRRData::Request, XrdCms::CmsRRHdr::streamid, and XrdCms::Xmi_Remdir.

const char * XrdCmsNode::do_Select ( XrdCmsRRData Arg  ) 

Definition at line 889 of file XrdCmsNode.cc.

References XrdCmsRRData::Avoid, XrdCms::Cluster, XrdCmsSelect::Data, XrdCms::CmsRRHdr::datalen, DEBUGR, XrdCmsSelect::DLen, EPNAME, XrdCmsCluster::getMask(), XrdNetDNS::Host2IP(), XrdCmsSelect::InfoP, Instance, iovec::iov_base, iovec::iov_len, XrdCmsSelect::iovN, XrdCmsSelect::iovP, XrdCmsSelect::isMeta, XrdCms::kYR_ENOENT, XrdCms::kYR_error, XrdCms::kYR_redirect, XrdCms::kYR_trunc, XrdCms::kYR_wait, Link, XrdCmsSelect::NewFile, XrdCmsSelect::nmask, XrdCmsSelect::noBind, XrdCmsSelect::Online, XrdCmsRRData::Opaque, XrdCmsRRData::Opts, XrdCmsSelect::Opts, opts, XrdCmsRRData::Path, XrdCmsRRData::PathLen, XrdCmsSelect::Peers, XrdCmsSelect::Port, XrdCmsSelect::Refresh, XrdCmsSelect::Replica, XrdCmsRRData::Request, XrdCmsSelect::Resp, XrdCms::CmsRRHdr::rrCode, RSlot, XrdCmsCluster::Select(), XrdLink::Send(), XrdCmsXmi::Stat(), XrdCms::CmsRRHdr::streamid, XrdCmsSelect::Trunc, XrdCmsSelect::Write, XMI_NEW, XMI_RW, XrdCms::Xmi_Select, XrdCms::Xmi_Stat, and XMI_TRUNC.

int XrdCmsNode::do_SelPrep ( XrdCmsPrepArgs Arg  )  [static]

Definition at line 996 of file XrdCmsNode.cc.

References XrdCmsPrepArgs::clPath, XrdCms::Cluster, XrdCmsSelect::Data, DEBUGR, XrdCmsSelect::Defer, XrdSysError::Emsg(), EPNAME, XrdCmsSelect::Freshen, XrdCmsSelect::InfoP, XrdCmsPrepare::Inform(), XrdCmsPrepArgs::ioV, XrdCmsSelect::iovN, XrdCmsPrepArgs::iovNum, XrdCmsSelect::iovP, XrdCmsSelect::nmask, XrdCmsPrepArgs::opaque, XrdCmsPrepArgs::options, XrdCmsSelect::Opts, opts, XrdCmsPrepArgs::path, XrdCmsPrepArgs::pathlen, XrdCmsSelect::Peers, XrdCmsXmi::Prep(), XrdCms::PrepQ, XrdCmsPrepArgs::reqid, XrdCmsSelect::Resp, XrdFrm::Say(), XrdCms::Sched, XrdScheduler::Schedule(), XrdCmsCluster::Select(), XrdCmsSelect::smask, XrdCmsSelect::Write, XrdCms::Xmi_Prep, and XMI_RW.

Referenced by XrdCmsPrepArgs::DoIt().

const char * XrdCmsNode::do_Space ( XrdCmsRRData Arg  ) 

Definition at line 1065 of file XrdCmsNode.cc.

References DEBUGR, EPNAME, XrdCmsMeter::FreeSpace(), XrdCmsManager::Inform(), int, iovec::iov_base, iovec::iov_len, XrdCms::kYR_avail, XrdCms::kYR_space, Link, XrdCms::Manager, XrdCms::Meter, XrdOucPup::Pack(), XrdCmsRRData::Request, XrdCms::CmsRRHdr::rrCode, and XrdLink::Send().

Referenced by do_Load(), and SyncSpace().

const char * XrdCmsNode::do_State ( XrdCmsRRData Arg  ) 

Definition at line 1107 of file XrdCmsNode.cc.

References XrdCmsRRData::Buff, XrdFrm::Config(), XrdCmsRRData::Dlen, do_StateFWD(), EPNAME, iovec::iov_base, iovec::iov_len, isKnown, isMan, isOnline(), XrdCms::kYR_have, XrdCms::kYR_raw, Link, XrdCms::CmsRRHdr::modifier, XrdCmsRRData::Path, XrdCmsRRData::Request, XrdCms::CmsRRHdr::rrCode, XrdLink::Send(), and TRACER.

int XrdCmsNode::do_StateFWD ( XrdCmsRRData Arg  ) 

Definition at line 1148 of file XrdCmsNode.cc.

References XrdCmsCache::AddFile(), XrdCmsSelect::bf, XrdCmsCluster::Broadcast(), XrdCmsRRData::Buff, XrdCms::Cache, XrdCms::Cluster, DEBUGR, XrdCmsRRData::Dlen, EPNAME, XrdCmsPList_Anchor::Find(), XrdCmsCache::GetFile(), XrdCmsSelect::hf, XrdCms::CmsRRHdr::modifier, XrdCmsRRData::Path, XrdCmsRRData::PathLen, XrdCmsCache::Paths, XrdCmsSelect::pf, XrdCmsRRData::Request, XrdCmsPInfo::rovec, and XrdCmsSelect::Vec.

Referenced by do_State().

const char * XrdCmsNode::do_StatFS ( XrdCmsRRData Arg  ) 

Definition at line 1187 of file XrdCmsNode.cc.

References XrdCms::Cache, XrdCms::Cluster, XrdCms::CmsRRHdr::datalen, XrdCmsPList_Anchor::Find(), iovec::iov_len, XrdCms::kYR_data, Link, XrdCmsRRData::Path, XrdCmsCache::Paths, XrdCmsRRData::Request, XrdCmsPInfo::rovec, XrdCms::CmsRRHdr::rrCode, XrdLink::Send(), XrdCmsCluster::Space(), sprintf(), and strlcpy().

const char * XrdCmsNode::do_Stats ( XrdCmsRRData Arg  ) 

Definition at line 1223 of file XrdCmsNode.cc.

References XrdCms::Cluster, XrdCms::CmsRRHdr::datalen, iovec::iov_base, iovec::iov_len, XrdCms::kYR_data, Link, XrdSysMutex::Lock(), malloc(), XrdCms::CmsRRHdr::modifier, XrdCmsRRData::Request, XrdCms::CmsRRHdr::rrCode, XrdLink::Send(), XrdCmsCluster::Stats(), and XrdSysMutex::UnLock().

const char * XrdCmsNode::do_Status ( XrdCmsRRData Arg  ) 

Definition at line 1288 of file XrdCmsNode.cc.

References XrdCmsCache::Bounce(), XrdCms::Cache, XrdCms::CmsState, XrdCmsState::Counts, DEBUGR, XrdSysError::Emsg(), EPNAME, isDisable, isNoStage, isOffline, isSuspend, XrdCms::Manager, XrdCms::CmsRRHdr::modifier, Name(), NodeID, NodeMask, Port, XrdCmsRRData::Request, XrdCmsManager::Reset(), Reset(), XrdFrm::Say(), XrdCms::CmsRRHdr::streamid, and XrdCmsState::Update().

const char * XrdCmsNode::do_Trunc ( XrdCmsRRData Arg  ) 

Definition at line 1356 of file XrdCmsNode.cc.

References XrdFrm::Config(), DEBUGR, EPNAME, fsExec(), fsFail(), getSize(), XrdCmsRRData::Ident, XrdCmsRRData::Mode, XrdFrmConfig::ossFS, XrdCmsRRData::Path, xmlio::Size, and XrdOss::Truncate().

const char * XrdCmsNode::do_Try ( XrdCmsRRData Arg  ) 

Definition at line 1397 of file XrdCmsNode.cc.

References XrdCmsManList::Add(), XrdFrm::Config(), DEBUGR, XrdCmsManList::Del(), EPNAME, XrdOucTokenizer::GetLine(), XrdOucTokenizer::GetToken(), IPAddr, myLevel, XrdCms::myMans, and XrdCmsRRData::Path.

const char * XrdCmsNode::do_Update ( XrdCmsRRData Arg  ) 

Definition at line 1427 of file XrdCmsNode.cc.

References XrdCms::CmsState, Link, and XrdCmsState::sendState().

const char * XrdCmsNode::do_Usage ( XrdCmsRRData Arg  ) 

Definition at line 1443 of file XrdCmsNode.cc.

References Link, and Report_Usage().

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

Definition at line 194 of file XrdCmsNode.cc.

References XrdLink::Close(), isConn, isOffline, Link, XrdSysMutex::Lock(), myMutex, XrdLink::setEtext(), and XrdSysMutex::UnLock().

Referenced by XrdCmsCluster::Remove().

int XrdCmsNode::ID ( int &  INum  )  [inline]

Definition at line 92 of file XrdCmsNode.hh.

References Instance, and NodeID.

Referenced by XrdCmsProtocol::ConfigCheck(), XrdCmsCluster::Remove(), and XrdCmsManager::Remove().

int XrdCmsNode::Inst (  )  [inline]

Definition at line 94 of file XrdCmsNode.hh.

References Instance.

Referenced by XrdCmsCluster::Drop(), and XrdCmsReq::XrdCmsReq().

int XrdCmsNode::isNode ( SMask_t  smask  )  [inline]

Definition at line 96 of file XrdCmsNode.hh.

References NodeMask.

Referenced by XrdCmsCluster::Broadcast(), XrdCmsCluster::getMask(), XrdCmsCluster::MonRefs(), and XrdCmsCluster::Space().

int XrdCmsNode::isNode ( const char *  hn  )  [inline]

Definition at line 97 of file XrdCmsNode.hh.

References XrdLink::Host(), and Link.

int XrdCmsNode::isNode ( unsigned int  ipa  )  [inline]

Definition at line 99 of file XrdCmsNode.hh.

References IPAddr.

int XrdCmsNode::isNode ( unsigned int  ipa,
const char *  nid 
) [inline]

Definition at line 101 of file XrdCmsNode.hh.

References IPAddr, and myNID.

char* XrdCmsNode::Name (  )  [inline]

Definition at line 103 of file XrdCmsNode.hh.

References myName.

Referenced by XrdCmsManager::Add(), do_Load(), do_Status(), XrdCmsManager::Inform(), XrdCmsCluster::List(), XrdCmsManager::Remove(), XrdCmsManager::Reset(), XrdCmsCluster::Select(), and XrdCmsCluster::SelNode().

char* XrdCmsNode::Name ( int &  len,
int &  port 
) [inline]

Definition at line 105 of file XrdCmsNode.hh.

References myName, myNlen, and Port.

SMask_t XrdCmsNode::Mask (  )  [inline]

Definition at line 108 of file XrdCmsNode.hh.

References NodeMask.

Referenced by XrdCmsProtocol::AddPath(), XrdCmsProtocol::Admit(), XrdCmsCluster::Broadcast(), and XrdCmsProtocol::ConfigCheck().

void XrdCmsNode::Lock (  )  [inline]

Definition at line 110 of file XrdCmsNode.hh.

References isLocked, XrdSysMutex::Lock(), and myMutex.

Referenced by XrdCmsCluster::Add(), XrdCmsProtocol::Admit_Redirector(), XrdCmsCluster::Broadcast(), XrdCmsManager::Inform(), XrdCmsCluster::MonRefs(), XrdCmsProtocol::Process(), XrdCmsManager::Reset(), and XrdCmsCluster::Select().

void XrdCmsNode::UnLock ( void   )  [inline]

Definition at line 111 of file XrdCmsNode.hh.

References isLocked, myMutex, and XrdSysMutex::UnLock().

Referenced by XrdCmsCluster::Broadcast(), XrdCmsManager::Inform(), XrdCmsCluster::List(), XrdCmsCluster::MonRefs(), XrdCmsProtocol::Process(), XrdCmsManager::Reset(), XrdCmsCluster::Select(), XrdCmsCluster::SelNode(), and ~XrdCmsNode().

void XrdCmsNode::Report_Usage ( XrdLink lp  )  [static]

Definition at line 1457 of file XrdCmsNode.cc.

References DEBUG, EPNAME, XrdCmsManager::Inform(), iovec::iov_base, iovec::iov_len, XrdCms::kYR_load, XrdCms::Manager, XrdCms::Meter, myLoad, XrdOucPup::Pack(), XrdCmsMeter::Report(), and XrdLink::Send().

Referenced by do_Usage(), and XrdCmsMeter::Run().

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

Definition at line 115 of file XrdCmsNode.hh.

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

Referenced by XrdCmsProtocol::Admit_Redirector(), XrdCmsCluster::Broadcast(), XrdCmsManager::Inform(), XrdCmsReq::Reply(), XrdCmsManager::Reset(), XrdCmsCluster::SelNode(), XrdCmsRTable::Send(), XrdCmsRRQ::sendLocResp(), and XrdCmsRRQ::sendResponse().

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

Definition at line 117 of file XrdCmsNode.hh.

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

void XrdCmsNode::setName ( XrdLink lnkp,
int  port 
)

Definition at line 151 of file XrdCmsNode.cc.

References free(), XrdLink::Host(), XrdLink::ID, Ident, XrdNetDNS::IP2String(), IPAddr, XrdNetDNS::IPAddr(), IPV6, IPV6Len, myName, myNlen, XrdLink::Name(), Port, sprintf(), and strcpy().

Referenced by XrdCmsCluster::Add(), and XrdCmsNode().

void XrdCmsNode::setSlot ( short  rslot  )  [inline]

Definition at line 122 of file XrdCmsNode.hh.

References RSlot.

Referenced by XrdCmsProtocol::Admit_Redirector().

short XrdCmsNode::getSlot (  )  [inline]

Definition at line 123 of file XrdCmsNode.hh.

References RSlot.

Referenced by XrdCmsReq::XrdCmsReq().

void XrdCmsNode::SyncSpace (  ) 

Definition at line 1498 of file XrdCmsNode.cc.

References DiskFree, DiskUtil, do_Space(), XrdCmsRRData::dskFree, XrdCmsRRData::dskUtil, Ident, XrdCmsRRData::Ident, isRW, XrdCms::kYR_login, LastFree, XrdSysMutex::Lock(), mlMutex, XrdCmsRRData::Request, XrdCms::CmsRRHdr::rrCode, and XrdSysMutex::UnLock().

Referenced by XrdCmsProtocol::Admit().

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

Definition at line 1528 of file XrdCmsNode.cc.

References XrdFrm::Config(), fsL2PFail1, fsL2PFail2, XrdFrmConfig::lcl_N2N, XrdOucName2Name::lfn2pfn(), Prog, and XrdCmsMAX_PATH_LEN.

Referenced by do_Chmod(), do_Mkdir(), do_Mkpath(), do_Mv(), do_Rm(), do_Rmdir(), and do_Trunc().

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

Definition at line 1556 of file XrdCmsNode.cc.

References DEBUGR, XrdSysError::Emsg(), EPNAME, fsL2PFail1, fsL2PFail2, Ident, XrdFrm::Say(), and strerror().

Referenced by do_Chmod(), do_Mkdir(), do_Mkpath(), do_Mv(), do_Rm(), do_Rmdir(), and do_Trunc().

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

Definition at line 1577 of file XrdCmsNode.cc.

References strtol().

Referenced by do_Chmod(), do_Mkdir(), and do_Mkpath().

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

Definition at line 1591 of file XrdCmsNode.cc.

References strtoll.

Referenced by do_Trunc().

int XrdCmsNode::isOnline ( char *  path,
int  upt = 1 
) [static, private]

Definition at line 1605 of file XrdCmsNode.cc.

References XrdFrm::Config(), XrdCmsPrepare::Exists(), XrdFrmConfig::ossFS, XrdCms::PrepQ, stat, XrdOss::Stat(), XRDOSS_resonly, and XRDOSS_updtatm.

Referenced by do_State().


Friends And Related Function Documentation

friend class XrdCmsCluster [friend]

Definition at line 32 of file XrdCmsNode.hh.


Member Data Documentation

char* XrdCmsNode::Ident

Definition at line 34 of file XrdCmsNode.hh.

Referenced by XrdCmsCluster::Add(), XrdCmsProtocol::Admit(), XrdCmsProtocol::Admit_Redirector(), XrdCmsCluster::Broadcast(), XrdCmsProtocol::Dispatch(), XrdCmsCluster::Drop(), XrdCmsProtocol::Execute(), fsFail(), XrdCmsCluster::Remove(), XrdCmsManager::Remove(), XrdCmsProtocol::Reply_Delay(), XrdCmsProtocol::Reply_Error(), setName(), SyncSpace(), XrdCmsNode(), and ~XrdCmsNode().

char XrdCmsNode::isDisable

Definition at line 35 of file XrdCmsNode.hh.

Referenced by XrdCmsCluster::Add(), XrdCmsProtocol::Admit(), do_Status(), XrdCmsCluster::List(), XrdCmsCluster::Select(), and XrdCmsNode().

char XrdCmsNode::isOffline

Definition at line 36 of file XrdCmsNode.hh.

Referenced by XrdCmsCluster::Add(), XrdCmsManager::Add(), Disc(), do_Disc(), do_Status(), XrdCmsCluster::Drop(), XrdCmsManager::Inform(), XrdCmsCluster::List(), XrdCmsCluster::Remove(), XrdCmsManager::Remove(), XrdCmsManager::Reset(), XrdCmsCluster::SelbyCost(), XrdCmsCluster::SelbyLoad(), XrdCmsCluster::SelbyRef(), XrdCmsCluster::Select(), Send(), XrdCmsCluster::Space(), XrdCmsNode(), and ~XrdCmsNode().

char XrdCmsNode::isNoStage

Definition at line 37 of file XrdCmsNode.hh.

Referenced by XrdCmsCluster::Add(), XrdCmsManager::Add(), do_Status(), XrdCmsCluster::List(), XrdCmsCluster::Remove(), XrdCmsCluster::Select(), and XrdCmsNode().

char XrdCmsNode::isMan

Definition at line 38 of file XrdCmsNode.hh.

Referenced by XrdCmsCluster::Add(), XrdCmsManager::Add(), do_State(), XrdCmsCluster::Drop(), XrdCmsCluster::List(), and XrdCmsNode().

char XrdCmsNode::isPeer

Definition at line 39 of file XrdCmsNode.hh.

Referenced by XrdCmsCluster::Add(), XrdCmsProtocol::Admit(), XrdCmsCluster::Drop(), XrdCmsCluster::List(), and XrdCmsNode().

char XrdCmsNode::isProxy

Definition at line 40 of file XrdCmsNode.hh.

Referenced by XrdCmsCluster::List(), and XrdCmsNode().

char XrdCmsNode::isSuspend

Definition at line 41 of file XrdCmsNode.hh.

Referenced by XrdCmsCluster::Add(), XrdCmsManager::Add(), XrdCmsProtocol::Admit(), do_Status(), XrdCmsCluster::List(), XrdCmsCluster::Remove(), XrdCmsCluster::Select(), and XrdCmsNode().

char XrdCmsNode::isBound

Definition at line 42 of file XrdCmsNode.hh.

Referenced by XrdCmsCluster::Add(), XrdCmsManager::Add(), XrdCmsCluster::Drop(), XrdCmsProtocol::Process(), XrdCmsCluster::Remove(), and XrdCmsNode().

char XrdCmsNode::isRW

Definition at line 43 of file XrdCmsNode.hh.

Referenced by XrdCmsProtocol::AddPath(), do_Load(), XrdCmsCluster::List(), XrdCmsCluster::Space(), and SyncSpace().

char XrdCmsNode::isKnown

Definition at line 44 of file XrdCmsNode.hh.

Referenced by do_State(), XrdCmsManager::Reset(), and XrdCmsNode().

char XrdCmsNode::isConn

Definition at line 45 of file XrdCmsNode.hh.

Referenced by XrdCmsCluster::Add(), XrdCmsManager::Add(), Disc(), XrdCmsProtocol::Process(), XrdCmsCluster::Remove(), and XrdCmsNode().

char XrdCmsNode::isGone

Definition at line 46 of file XrdCmsNode.hh.

Referenced by XrdCmsProtocol::Process(), XrdCmsCluster::Remove(), and XrdCmsNode().

char XrdCmsNode::isPerm

Definition at line 47 of file XrdCmsNode.hh.

Referenced by XrdCmsCluster::Add(), and XrdCmsNode().

char XrdCmsNode::isReserved[3]

Definition at line 48 of file XrdCmsNode.hh.

const char XrdCmsNode::allowsRW = 0x01 [static]

Definition at line 50 of file XrdCmsNode.hh.

Referenced by XrdCmsProtocol::AddPath(), XrdCmsCluster::SelNode(), and XrdCmsCluster::Space().

const char XrdCmsNode::allowsSS = 0x02 [static]

Definition at line 51 of file XrdCmsNode.hh.

Referenced by XrdCmsProtocol::AddPath(), XrdCmsCluster::SelbyLoad(), XrdCmsCluster::SelbyRef(), and XrdCmsCluster::SelNode().

unsigned int XrdCmsNode::DiskTotal

Definition at line 53 of file XrdCmsNode.hh.

Referenced by XrdCmsProtocol::Admit(), XrdCmsCluster::Space(), and XrdCmsNode().

int XrdCmsNode::DiskNums

Definition at line 54 of file XrdCmsNode.hh.

Referenced by XrdCmsProtocol::Admit(), and XrdCmsNode().

int XrdCmsNode::DiskMinF

Definition at line 55 of file XrdCmsNode.hh.

Referenced by XrdCmsProtocol::Admit(), XrdCmsCluster::Select(), XrdCmsCluster::Space(), and XrdCmsNode().

int XrdCmsNode::DiskFree

Definition at line 56 of file XrdCmsNode.hh.

Referenced by XrdCmsProtocol::Admit(), do_Avail(), do_Load(), XrdCmsCluster::Select(), XrdCmsCluster::Space(), SyncSpace(), and XrdCmsNode().

int XrdCmsNode::DiskUtil

Definition at line 57 of file XrdCmsNode.hh.

Referenced by XrdCmsProtocol::Admit(), do_Avail(), do_Load(), XrdCmsCluster::List(), XrdCmsCluster::Space(), SyncSpace(), and XrdCmsNode().

unsigned int XrdCmsNode::ConfigID

Definition at line 58 of file XrdCmsNode.hh.

Referenced by XrdCmsProtocol::ConfigCheck(), and XrdCmsNode().

const int XrdCmsNode::fsL2PFail1 = 999991 [static, private]

Definition at line 132 of file XrdCmsNode.hh.

Referenced by fsExec(), and fsFail().

const int XrdCmsNode::fsL2PFail2 = 999992 [static, private]

Definition at line 133 of file XrdCmsNode.hh.

Referenced by fsExec(), and fsFail().

XrdSysMutex XrdCmsNode::myMutex [private]

Definition at line 141 of file XrdCmsNode.hh.

Referenced by Disc(), Lock(), and UnLock().

XrdLink* XrdCmsNode::Link [private]

Definition at line 142 of file XrdCmsNode.hh.

Referenced by XrdCmsCluster::Add(), Disc(), do_Disc(), do_Ping(), do_Select(), do_Space(), do_State(), do_StatFS(), do_Stats(), do_Update(), do_Usage(), isNode(), Send(), and XrdCmsNode().

unsigned int XrdCmsNode::IPAddr [private]

Definition at line 143 of file XrdCmsNode.hh.

Referenced by do_Try(), isNode(), XrdCmsCluster::List(), setName(), and XrdCmsNode().

XrdCmsNode* XrdCmsNode::Next [private]

Definition at line 144 of file XrdCmsNode.hh.

Referenced by XrdCmsNode().

time_t XrdCmsNode::DropTime [private]

Definition at line 145 of file XrdCmsNode.hh.

Referenced by XrdCmsCluster::Drop(), XrdCmsCluster::Remove(), and XrdCmsNode().

XrdCmsDrop* XrdCmsNode::DropJob [private]

Definition at line 146 of file XrdCmsNode.hh.

Referenced by XrdCmsCluster::Drop(), XrdCmsCluster::Remove(), and XrdCmsNode().

int XrdCmsNode::IPV6Len [private]

Definition at line 147 of file XrdCmsNode.hh.

Referenced by XrdCmsCluster::List(), and setName().

char XrdCmsNode::IPV6[28] [private]

Definition at line 148 of file XrdCmsNode.hh.

Referenced by XrdCmsCluster::List(), and setName().

SMask_t XrdCmsNode::NodeMask [private]

Definition at line 150 of file XrdCmsNode.hh.

Referenced by XrdCmsCluster::Add(), do_Gone(), do_Have(), do_Status(), XrdCmsCluster::Drop(), XrdCmsCluster::getMask(), isNode(), XrdCmsCluster::List(), Mask(), XrdCmsCluster::SelbyCost(), XrdCmsCluster::SelbyLoad(), XrdCmsCluster::SelbyRef(), XrdCmsCluster::SelNode(), and XrdCmsNode().

int XrdCmsNode::NodeID [private]

Definition at line 151 of file XrdCmsNode.hh.

Referenced by do_Status(), ID(), XrdCmsCluster::List(), and XrdCmsNode().

int XrdCmsNode::Instance [private]

Definition at line 152 of file XrdCmsNode.hh.

Referenced by XrdCmsCluster::Add(), do_Locate(), do_Select(), ID(), Inst(), and XrdCmsNode().

int XrdCmsNode::Port [private]

Definition at line 153 of file XrdCmsNode.hh.

Referenced by do_Status(), XrdCmsCluster::List(), Name(), setName(), and XrdCmsNode().

int XrdCmsNode::myLevel [private]

Definition at line 154 of file XrdCmsNode.hh.

Referenced by do_Try(), and XrdCmsNode().

int XrdCmsNode::myCNUM [private]

Definition at line 155 of file XrdCmsNode.hh.

Referenced by XrdCmsCluster::Add(), XrdCmsCluster::getMask(), and XrdCmsNode().

char* XrdCmsNode::myCID [private]

Definition at line 156 of file XrdCmsNode.hh.

Referenced by XrdCmsCluster::Add(), and XrdCmsNode().

char* XrdCmsNode::myNID [private]

Definition at line 157 of file XrdCmsNode.hh.

Referenced by XrdCmsCluster::Add(), isNode(), XrdCmsNode(), and ~XrdCmsNode().

char* XrdCmsNode::myName [private]

Definition at line 158 of file XrdCmsNode.hh.

Referenced by Name(), setName(), XrdCmsNode(), and ~XrdCmsNode().

int XrdCmsNode::myNlen [private]

Definition at line 159 of file XrdCmsNode.hh.

Referenced by Name(), setName(), and XrdCmsNode().

int XrdCmsNode::logload [private]

Definition at line 161 of file XrdCmsNode.hh.

Referenced by do_Load(), and XrdCmsNode().

int XrdCmsNode::myCost [private]

Definition at line 162 of file XrdCmsNode.hh.

Referenced by XrdCmsNode().

int XrdCmsNode::myLoad [private]

Definition at line 163 of file XrdCmsNode.hh.

Referenced by do_Load(), XrdCmsCluster::List(), Report_Usage(), XrdCmsCluster::Select(), and XrdCmsNode().

int XrdCmsNode::myMass [private]

Definition at line 164 of file XrdCmsNode.hh.

Referenced by do_Load(), and XrdCmsNode().

int XrdCmsNode::RefA [private]

Definition at line 165 of file XrdCmsNode.hh.

Referenced by XrdCmsCluster::List(), XrdCmsCluster::MonRefs(), and XrdCmsNode().

int XrdCmsNode::RefTotA [private]

Definition at line 166 of file XrdCmsNode.hh.

Referenced by XrdCmsCluster::List(), XrdCmsCluster::MonRefs(), and XrdCmsNode().

int XrdCmsNode::RefR [private]

Definition at line 167 of file XrdCmsNode.hh.

Referenced by XrdCmsCluster::List(), XrdCmsCluster::MonRefs(), XrdCmsCluster::Select(), and XrdCmsNode().

int XrdCmsNode::RefTotR [private]

Definition at line 168 of file XrdCmsNode.hh.

Referenced by XrdCmsCluster::List(), XrdCmsCluster::MonRefs(), and XrdCmsNode().

short XrdCmsNode::RSlot [private]

Definition at line 169 of file XrdCmsNode.hh.

Referenced by do_Locate(), do_Select(), getSlot(), and setSlot().

char XrdCmsNode::isLocked [private]

Definition at line 170 of file XrdCmsNode.hh.

Referenced by Lock(), UnLock(), and ~XrdCmsNode().

char XrdCmsNode::RSVD [private]

Definition at line 171 of file XrdCmsNode.hh.

XrdSysMutex XrdCmsNode::mlMutex [static, private]

Definition at line 175 of file XrdCmsNode.hh.

Referenced by do_Load(), and SyncSpace().

int XrdCmsNode::LastFree [static, private]

Definition at line 176 of file XrdCmsNode.hh.

Referenced by do_Load(), and SyncSpace().


The documentation for this class was generated from the following files:
Generated on Tue Jul 5 16:50:20 2011 for ROOT_528-00b_version by  doxygen 1.5.1