|
xrootd
|
#include <XrdCmsFinder.hh>


Public Member Functions | |
| void | Added (const char *path, int Pend=0) |
| int | Configure (char *cfn, XrdOucEnv *EnvInfo) |
| 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) |
| XrdCmsClientMan * | SelectManager (XrdOucErrInfo &Resp, const char *path) |
| void | SelectManFail (XrdOucErrInfo &Resp) |
| int | send2Man (XrdOucErrInfo &, const char *, struct iovec *, int) |
| int | StartManagers (XrdOucTList *) |
Private Attributes | |
| XrdCmsClientMan * | myManTable [MaxMan] |
| XrdCmsClientMan * | myManagers |
| int | myManCount |
| XrdSysMutex | myData |
| char * | CMSPath |
| int | ConWait |
| int | RepDelay |
| int | RepNone |
| int | RepWait |
| int | FwdWait |
| int | PrepWait |
| int | isMeta |
| int | isTarget |
| int | myPort |
| unsigned char | SMode |
| unsigned char | sendID |
| XrdCmsFinderRMT::XrdCmsFinderRMT | ( | XrdSysLogger * | lp, |
| int | whoami = 0, |
||
| int | Port = 0 |
||
| ) |
References myManagers, myManCount, myPort, SMode, sendID, isMeta, XrdCms::IsMeta, isTarget, XrdCms::IsTarget, and Say.
| XrdCmsFinderRMT::~XrdCmsFinderRMT | ( | ) |
References myManagers, and XrdCmsClientMan::nextManager().
| void XrdCmsFinderRMT::Added | ( | const char * | path, |
| int | Pend = 0 |
||
| ) | [inline, virtual] |
Implements XrdCmsClient.
| int XrdCmsFinderRMT::Configure | ( | char * | cfn, |
| XrdOucEnv * | EnvInfo | ||
| ) | [virtual] |
Implements XrdCmsClient.
References XrdCms::IsRedir, XrdCmsClient::myPersona, XrdCmsClient::amProxy, XrdCms::IsProxy, isMeta, isTarget, XrdOucEnv::GetPtr(), Say, XrdCmsClientMan::setNetwork(), XrdCmsClientMan::setConfig(), XrdCmsSecurity::setSecFunc(), XrdCmsClientConfig::Configure(), CMSPath, XrdCmsClientConfig::CMSPath, RepDelay, XrdCmsClientConfig::RepDelay, RepNone, XrdCmsClientConfig::RepNone, RepWait, XrdCmsClientConfig::RepWait, ConWait, XrdCmsClientConfig::ConWait, FwdWait, XrdCmsClientConfig::FwdWait, PrepWait, XrdCmsClientConfig::PrepWait, SMode, XrdCmsClientConfig::SModeP, StartManagers(), XrdCmsClientConfig::PanList, XrdCmsClientConfig::SMode, XrdCmsClientConfig::ManList, XrdCmsClientConfig::haveMeta, myPort, and XrdCmsFinderTRG::RunAdmin().
| int XrdCmsFinderRMT::Decode | ( | char ** | resp | ) | [private] |
| 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.
References XrdCmsRRData::Request, XrdCms::CmsRRHdr::rrCode, XrdCms::kYR_chmod, XrdCms::kYR_mkdir, XrdCms::kYR_mkpath, XrdCms::kYR_mv, XrdCms::kYR_rm, XrdCms::kYR_rmdir, XrdCms::kYR_trunc, Say, XrdOucErrInfo::setErrInfo(), XrdCmsRRData::Ident, XrdCmsClientMan::doDebug, XrdOucErrInfo::getErrUser(), XrdCmsRRData::Path, XrdCmsRRData::Mode, XrdCmsRRData::Path2, XrdCmsRRData::Opaque, XrdCmsRRData::Opaque2, XrdCms::Parser, XrdCmsParser::Pack(), iovec::iov_base, iovec::iov_len, send2Man(), FwdWait, XrdSysMutex::Lock(), gettimeofday(), XrdSysTimer::Wait(), XrdSysMutex::UnLock(), SelectManager(), ConWait, XrdCmsClientMan::Send(), XrdCms::kYR_dnf, Inform(), and RepDelay.
| void XrdCmsFinderRMT::Inform | ( | XrdCmsClientMan * | xman, |
| struct iovec | xmsg[], | ||
| int | xnum | ||
| ) | [private] |
References myManagers, Say, XrdCmsClientMan::isActive(), XrdCmsClientMan::Send(), and XrdCmsClientMan::nextManager().
Referenced by Forward().
| int XrdCmsFinderRMT::Locate | ( | XrdOucErrInfo & | Resp, |
| const char * | path, | ||
| int | flags, | ||
| XrdOucEnv * | Info = 0 |
||
| ) | [virtual] |
Implements XrdCmsClient.
References XrdCmsRRData::Ident, XrdCmsClientMan::doDebug, XrdOucErrInfo::getErrUser(), XrdCmsRRData::Path, XrdCmsRRData::Opaque, XrdOucEnv::Env(), XrdCmsRRData::Avoid, XrdOucEnv::Get(), SFS_O_LOCATE, XrdCmsRRData::Request, XrdCms::CmsRRHdr::rrCode, XrdCms::kYR_locate, XrdCmsRRData::Opts, SFS_O_NOWAIT, SFS_O_RESET, XrdCms::kYR_select, SFS_O_TRUNC, XrdCms::kYR_trunc, SFS_O_CREAT, SFS_O_REPLICA, SFS_O_STAT, SFS_O_WRONLY, SFS_O_RDWR, SFS_O_META, XrdCms::Parser, XrdCmsParser::Pack(), XrdOucErrInfo::setErrInfo(), iovec::iov_base, iovec::iov_len, and send2Man().
| int XrdCmsFinderRMT::Prepare | ( | XrdOucErrInfo & | Resp, |
| XrdSfsPrep & | pargs | ||
| ) | [virtual] |
Implements XrdCmsClient.
References EPNAME, XrdCmsRRData::Ident, XrdCmsClientMan::doDebug, XrdOucErrInfo::getErrUser(), XrdCmsRRData::Reqid, XrdSfsPrep::reqid, XrdCmsRRData::Request, XrdCms::CmsRRHdr::streamid, XrdCms::CmsRRHdr::modifier, iovec::iov_base, iovec::iov_len, XrdSfsPrep::paths, XrdCms::CmsRRHdr::rrCode, XrdCms::kYR_prepdel, XrdCms::Parser, XrdCmsParser::Pack(), XrdOucErrInfo::setErrInfo(), SelectManager(), ConWait, XrdCmsClientMan::Send(), DEBUG, XrdCmsClientMan::Name(), RepDelay, XrdSfsPrep::opts, Prep_STAGE, Prep_WMODE, Prep_FRESH, XrdSfsPrep::notify, Prep_SENDACK, XrdCmsRRData::Mode, XrdCmsRRData::Notify, Prep_SENDERR, Prep_PMASK, Prep_COLOC, XrdOucTList::next, strlcpy(), XrdOucTList::text, XrdCmsRRData::Prty, XrdCms::kYR_prepadd, XrdSfsPrep::oinfo, XrdOucTList::val, XrdCmsRRData::Path, XrdCmsRRData::Opaque, XrdSysMutex::Lock(), XrdSysTimer::Wait(), PrepWait, XrdSysMutex::UnLock(), and Say.
| void XrdCmsFinderRMT::Removed | ( | const char * | path | ) | [inline, virtual] |
Implements XrdCmsClient.
| XrdCmsClientMan * XrdCmsFinderRMT::SelectManager | ( | XrdOucErrInfo & | Resp, |
| const char * | path | ||
| ) | [private] |
References myManagers, Say, XrdOucErrInfo::setErrInfo(), ConWait, SMode, XrdCmsClientConfig::RoundRob, myManTable, XrdOucReqID::Index(), myManCount, XrdCmsClientMan::isActive(), XrdCmsClientMan::Suspended(), XrdCmsClientMan::nextManager(), and SelectManFail().
Referenced by Forward(), Prepare(), and send2Man().
| void XrdCmsFinderRMT::SelectManFail | ( | XrdOucErrInfo & | Resp | ) | [private] |
References EPNAME, myData, XrdSysMutex::Lock(), XrdSysMutex::UnLock(), Say, XrdOucErrInfo::setErrInfo(), ConWait, TRACE, and XrdOucErrInfo::getErrUser().
Referenced by SelectManager().
| int XrdCmsFinderRMT::send2Man | ( | XrdOucErrInfo & | Resp, |
| const char * | path, | ||
| struct iovec * | xmsg, | ||
| int | xnum | ||
| ) | [private] |
References EPNAME, SelectManager(), XrdCmsClientMan::Suspended(), ConWait, XrdCmsClientMsg::Alloc(), XrdOucErrInfo::setErrInfo(), RepDelay, TRACE, XrdOucErrInfo::getErrUser(), iovec::iov_base, XrdCmsClientMsg::ID(), QTRACE, XrdCmsClientMan::Send(), XrdCmsClientMsg::Wait4Reply(), XrdCmsClientMan::waitTime(), XrdCmsClientMsg::Recycle(), XrdCmsClientMan::whatsUp(), XrdCmsClientMsg::getResult(), EINPROGRESS, XrdCmsClientMan::delayResp(), and XrdOucErrInfo::getErrInfo().
| void XrdCmsFinderRMT::setSS | ( | XrdOss * | thess | ) | [inline] |
| int XrdCmsFinderRMT::Space | ( | XrdOucErrInfo & | Resp, |
| const char * | path | ||
| ) | [virtual] |
| int XrdCmsFinderRMT::StartManagers | ( | XrdOucTList * | myManList | ) | [private] |
References myManTable, MaxMan, XrdOucTList::text, XrdOucTList::val, ConWait, RepNone, RepWait, RepDelay, myManagers, XrdCmsClientMan::setNext(), XrdSysThread::Run(), XrdCmsStartManager(), Say, XrdOucTList::next, myManCount, and XrdCmsStartResp().
Referenced by Configure().
char* XrdCmsFinderRMT::CMSPath [private] |
Referenced by Configure().
int XrdCmsFinderRMT::ConWait [private] |
Referenced by Configure(), Forward(), Prepare(), SelectManager(), SelectManFail(), send2Man(), and StartManagers().
int XrdCmsFinderRMT::FwdWait [private] |
Referenced by Configure(), and Forward().
int XrdCmsFinderRMT::isMeta [private] |
Referenced by XrdCmsFinderRMT(), and Configure().
int XrdCmsFinderRMT::isTarget [private] |
Referenced by XrdCmsFinderRMT(), and Configure().
const int XrdCmsFinderRMT::MaxMan = 16 [static] |
Referenced by StartManagers().
XrdSysMutex XrdCmsFinderRMT::myData [private] |
Referenced by SelectManFail().
XrdCmsClientMan* XrdCmsFinderRMT::myManagers [private] |
Referenced by XrdCmsFinderRMT(), ~XrdCmsFinderRMT(), Inform(), SelectManager(), and StartManagers().
int XrdCmsFinderRMT::myManCount [private] |
Referenced by XrdCmsFinderRMT(), SelectManager(), and StartManagers().
XrdCmsClientMan* XrdCmsFinderRMT::myManTable[MaxMan] [private] |
Referenced by SelectManager(), and StartManagers().
int XrdCmsFinderRMT::myPort [private] |
Referenced by XrdCmsFinderRMT(), and Configure().
int XrdCmsFinderRMT::PrepWait [private] |
Referenced by Configure(), and Prepare().
int XrdCmsFinderRMT::RepDelay [private] |
Referenced by Configure(), Forward(), Prepare(), send2Man(), and StartManagers().
int XrdCmsFinderRMT::RepNone [private] |
Referenced by Configure(), and StartManagers().
int XrdCmsFinderRMT::RepWait [private] |
Referenced by Configure(), and StartManagers().
unsigned char XrdCmsFinderRMT::sendID [private] |
Referenced by XrdCmsFinderRMT().
unsigned char XrdCmsFinderRMT::SMode [private] |
Referenced by XrdCmsFinderRMT(), Configure(), and SelectManager().
1.7.5