XrdCmsFinderRMT Class Reference

#include <XrdCmsFinder.hh>

Inheritance diagram for XrdCmsFinderRMT:

XrdCmsClient List of all members.

Public Member Functions

void Added (const char *path, int Pend=0)
int Configure (char *cfn)
int Forward (XrdOucErrInfo &Resp, const char *cmd, const char *arg1=0, const char *arg2=0, const char *arg3=0, const char *arg4=0)
int Locate (XrdOucErrInfo &Resp, const char *path, int flags, XrdOucEnv *Info=0)
int Prepare (XrdOucErrInfo &Resp, XrdSfsPrep &pargs)
void Removed (const char *path)
void setSS (XrdOss *thess)
int Space (XrdOucErrInfo &Resp, const char *path)
 XrdCmsFinderRMT (XrdSysLogger *lp, int whoami=0, int Port=0)
 ~XrdCmsFinderRMT ()

Static Public Attributes

static const int MaxMan = 16

Private Member Functions

int Decode (char **resp)
void Inform (XrdCmsClientMan *xman, struct iovec xmsg[], int xnum)
XrdCmsClientManSelectManager (XrdOucErrInfo &Resp, const char *path)
void SelectManFail (XrdOucErrInfo &Resp)
int send2Man (XrdOucErrInfo &, const char *, struct iovec *, int)
int StartManagers (XrdOucTList *)

Private Attributes

XrdCmsClientManmyManTable [MaxMan]
XrdCmsClientManmyManagers
int myManCount
XrdSysMutex myData
char * CMSPath
int ConWait
int RepDelay
int RepNone
int RepWait
int PrepWait
int isMeta
int isTarget
int myPort
unsigned char SMode
unsigned char sendID

Detailed Description

Definition at line 33 of file XrdCmsFinder.hh.


Constructor & Destructor Documentation

XrdCmsFinderRMT::XrdCmsFinderRMT ( XrdSysLogger lp,
int  whoami = 0,
int  Port = 0 
)

Definition at line 83 of file XrdCmsFinder.cc.

References XrdCms::IsMeta, isMeta, XrdCms::IsTarget, isTarget, XrdSysError::logger(), myManagers, myManCount, myPort, XrdFrm::Say(), sendID, and SMode.

XrdCmsFinderRMT::~XrdCmsFinderRMT (  ) 

Definition at line 102 of file XrdCmsFinder.cc.

References myManagers, and XrdCmsClientMan::nextManager().


Member Function Documentation

void XrdCmsFinderRMT::Added ( const char *  path,
int  Pend = 0 
) [inline, virtual]

Implements XrdCmsClient.

Definition at line 36 of file XrdCmsFinder.hh.

int XrdCmsFinderRMT::Configure ( char *  cfn  )  [virtual]

Implements XrdCmsClient.

Definition at line 113 of file XrdCmsFinder.cc.

References XrdCmsClient::amProxy, CMSPath, XrdCmsClientConfig::configMan, XrdCmsClientConfig::configMeta, XrdCmsClientConfig::configNorm, XrdCmsClientConfig::configProxy, XrdCmsClientConfig::configSuper, ConWait, isMeta, XrdCms::IsRedir, isTarget, XrdSysError::logger(), XrdCmsClient::myPersona, myPort, PrepWait, RepDelay, RepNone, RepWait, XrdCmsFinderTRG::RunAdmin(), XrdFrm::Say(), XrdCmsClientMan::setConfig(), SMode, StartManagers(), and RooFit::What().

int XrdCmsFinderRMT::Forward ( XrdOucErrInfo Resp,
const char *  cmd,
const char *  arg1 = 0,
const char *  arg2 = 0,
const char *  arg3 = 0,
const char *  arg4 = 0 
) [virtual]

Implements XrdCmsClient.

Definition at line 162 of file XrdCmsFinder.cc.

References ConWait, XrdCmsClientMan::doDebug, XrdSysError::Emsg(), XrdOucErrInfo::getErrUser(), Inform(), iovec::iov_base, iovec::iov_len, XrdCms::kYR_chmod, XrdCms::kYR_dnf, XrdCms::kYR_mkdir, XrdCms::kYR_mkpath, XrdCms::kYR_mv, XrdCms::kYR_rm, XrdCms::kYR_rmdir, XrdCms::kYR_trunc, XrdCmsParser::Pack(), XrdCms::Parser, RepDelay, XrdFrm::Say(), SelectManager(), XrdCmsClientMan::Send(), send2Man(), and XrdOucErrInfo::setErrInfo().

int XrdCmsFinderRMT::Locate ( XrdOucErrInfo Resp,
const char *  path,
int  flags,
XrdOucEnv Info = 0 
) [virtual]

Implements XrdCmsClient.

Definition at line 265 of file XrdCmsFinder.cc.

References XrdCmsClientMan::doDebug, XrdOucEnv::Env(), XrdOucEnv::Get(), XrdOucErrInfo::getErrUser(), iovec::iov_base, iovec::iov_len, XrdCms::kYR_locate, XrdCms::kYR_select, XrdCms::kYR_trunc, n, XrdCmsParser::Pack(), XrdCms::Parser, send2Man(), XrdOucErrInfo::setErrInfo(), SFS_O_CREAT, SFS_O_LOCATE, SFS_O_META, SFS_O_NOWAIT, SFS_O_RDWR, SFS_O_REPLICA, SFS_O_RESET, SFS_O_STAT, SFS_O_TRUNC, and SFS_O_WRONLY.

int XrdCmsFinderRMT::Prepare ( XrdOucErrInfo Resp,
XrdSfsPrep pargs 
) [virtual]

Implements XrdCmsClient.

Definition at line 333 of file XrdCmsFinder.cc.

References ConWait, DEBUG, XrdCmsClientMan::doDebug, XrdSysError::Emsg(), EPNAME, free(), XrdOucErrInfo::getErrUser(), iovec::iov_base, iovec::iov_len, XrdCms::kYR_prepadd, XrdCms::kYR_prepdel, XrdSysMutex::Lock(), malloc(), n, XrdCmsClientMan::Name(), XrdOucTList::next, XrdSfsPrep::notify, XrdSfsPrep::oinfo, XrdSfsPrep::opts, XrdCmsParser::Pack(), XrdCms::Parser, XrdSfsPrep::paths, Prep_COLOC, Prep_FRESH, Prep_PMASK, Prep_SENDACK, Prep_SENDERR, Prep_STAGE, Prep_WMODE, PrepWait, RepDelay, XrdSfsPrep::reqid, XrdFrm::Say(), SelectManager(), XrdCmsClientMan::Send(), XrdOucErrInfo::setErrInfo(), sprintf(), strcpy(), strlcpy(), XrdOucTList::text, XrdSysMutex::UnLock(), XrdOucTList::val, and XrdSysTimer::Wait().

void XrdCmsFinderRMT::Removed ( const char *  path  )  [inline, virtual]

Implements XrdCmsClient.

Definition at line 49 of file XrdCmsFinder.hh.

void XrdCmsFinderRMT::setSS ( XrdOss thess  )  [inline]

Definition at line 51 of file XrdCmsFinder.hh.

int XrdCmsFinderRMT::Space ( XrdOucErrInfo Resp,
const char *  path 
) [virtual]

Implements XrdCmsClient.

Definition at line 635 of file XrdCmsFinder.cc.

References XrdCmsClientMan::doDebug, XrdOucErrInfo::getErrUser(), iovec::iov_base, iovec::iov_len, XrdCms::kYR_statfs, XrdCmsParser::Pack(), XrdCms::Parser, send2Man(), and XrdOucErrInfo::setErrInfo().

int XrdCmsFinderRMT::Decode ( char **  resp  )  [private]

void XrdCmsFinderRMT::Inform ( XrdCmsClientMan xman,
struct iovec  xmsg[],
int  xnum 
) [private]

Definition at line 242 of file XrdCmsFinder.cc.

References XrdSysError::Emsg(), XrdCmsClientMan::isActive(), myManagers, XrdCmsClientMan::nextManager(), XrdFrm::Say(), and XrdCmsClientMan::Send().

Referenced by Forward().

XrdCmsClientMan * XrdCmsFinderRMT::SelectManager ( XrdOucErrInfo Resp,
const char *  path 
) [private]

Definition at line 457 of file XrdCmsFinder.cc.

References ConWait, XrdSysError::Emsg(), XrdOucReqID::Index(), XrdCmsClientMan::isActive(), myManagers, myManCount, myManTable, XrdCmsClientMan::nextManager(), XrdCmsClientConfig::RoundRob, XrdFrm::Say(), SelectManFail(), XrdOucErrInfo::setErrInfo(), SMode, and XrdCmsClientMan::Suspended().

Referenced by Forward(), Prepare(), and send2Man().

void XrdCmsFinderRMT::SelectManFail ( XrdOucErrInfo Resp  )  [private]

Definition at line 490 of file XrdCmsFinder.cc.

References ConWait, XrdSysError::Emsg(), EPNAME, XrdOucErrInfo::getErrUser(), XrdSysMutex::Lock(), myData, XrdFrm::Say(), XrdOucErrInfo::setErrInfo(), TRACE, and XrdSysMutex::UnLock().

Referenced by SelectManager().

int XrdCmsFinderRMT::send2Man ( XrdOucErrInfo ,
const char *  ,
struct iovec ,
int   
) [private]

Definition at line 513 of file XrdCmsFinder.cc.

References XrdCmsClientMsg::Alloc(), ConWait, XrdCmsClientMan::delayResp(), EINPROGRESS, EPNAME, XrdCmsClientMsg::getResult(), XrdCmsClientMsg::ID(), iovec::iov_base, QTRACE, XrdCmsClientMsg::Recycle(), RepDelay, SelectManager(), XrdCmsClientMan::Send(), XrdCmsClientMan::Suspended(), TRACE, XrdCmsClientMsg::Wait4Reply(), XrdCmsClientMan::waitTime(), and XrdCmsClientMan::whatsUp().

Referenced by Forward(), Locate(), and Space().

int XrdCmsFinderRMT::StartManagers ( XrdOucTList  )  [private]

Definition at line 576 of file XrdCmsFinder.cc.

References ConWait, XrdSysError::Emsg(), i, MaxMan, myManagers, myManCount, myManTable, XrdOucTList::next, RepDelay, RepNone, RepWait, XrdSysThread::Run(), XrdFrm::Say(), XrdSysError::Say(), XrdCmsClientMan::setNext(), sprintf(), XrdOucTList::text, XrdOucTList::val, XrdCmsStartManager(), and XrdCmsStartResp().

Referenced by Configure().


Member Data Documentation

const int XrdCmsFinderRMT::MaxMan = 16 [static]

Definition at line 58 of file XrdCmsFinder.hh.

Referenced by StartManagers().

XrdCmsClientMan* XrdCmsFinderRMT::myManTable[MaxMan] [private]

Definition at line 68 of file XrdCmsFinder.hh.

Referenced by SelectManager(), and StartManagers().

XrdCmsClientMan* XrdCmsFinderRMT::myManagers [private]

Definition at line 69 of file XrdCmsFinder.hh.

Referenced by Inform(), SelectManager(), StartManagers(), XrdCmsFinderRMT(), and ~XrdCmsFinderRMT().

int XrdCmsFinderRMT::myManCount [private]

Definition at line 70 of file XrdCmsFinder.hh.

Referenced by SelectManager(), StartManagers(), and XrdCmsFinderRMT().

XrdSysMutex XrdCmsFinderRMT::myData [private]

Definition at line 71 of file XrdCmsFinder.hh.

Referenced by SelectManFail().

char* XrdCmsFinderRMT::CMSPath [private]

Definition at line 72 of file XrdCmsFinder.hh.

Referenced by Configure().

int XrdCmsFinderRMT::ConWait [private]

Definition at line 73 of file XrdCmsFinder.hh.

Referenced by Configure(), Forward(), Prepare(), SelectManager(), SelectManFail(), send2Man(), and StartManagers().

int XrdCmsFinderRMT::RepDelay [private]

Definition at line 74 of file XrdCmsFinder.hh.

Referenced by Configure(), Forward(), Prepare(), send2Man(), and StartManagers().

int XrdCmsFinderRMT::RepNone [private]

Definition at line 75 of file XrdCmsFinder.hh.

Referenced by Configure(), and StartManagers().

int XrdCmsFinderRMT::RepWait [private]

Definition at line 76 of file XrdCmsFinder.hh.

Referenced by Configure(), and StartManagers().

int XrdCmsFinderRMT::PrepWait [private]

Definition at line 77 of file XrdCmsFinder.hh.

Referenced by Configure(), and Prepare().

int XrdCmsFinderRMT::isMeta [private]

Definition at line 78 of file XrdCmsFinder.hh.

Referenced by Configure(), and XrdCmsFinderRMT().

int XrdCmsFinderRMT::isTarget [private]

Definition at line 79 of file XrdCmsFinder.hh.

Referenced by Configure(), and XrdCmsFinderRMT().

int XrdCmsFinderRMT::myPort [private]

Definition at line 80 of file XrdCmsFinder.hh.

Referenced by Configure(), and XrdCmsFinderRMT().

unsigned char XrdCmsFinderRMT::SMode [private]

Definition at line 81 of file XrdCmsFinder.hh.

Referenced by Configure(), SelectManager(), and XrdCmsFinderRMT().

unsigned char XrdCmsFinderRMT::sendID [private]

Definition at line 82 of file XrdCmsFinder.hh.

Referenced by XrdCmsFinderRMT().


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