#include <XrdOdcFinder.hh>


Public Member Functions | |
| int | Configure (char *cfn) |
| int | Forward (XrdOucErrInfo &Resp, const char *cmd, const char *arg1=0, const char *arg2=0) |
| int | Locate (XrdOucErrInfo &Resp, const char *path, int flags, XrdOucEnv *Info=0) |
| int | Prepare (XrdOucErrInfo &Resp, XrdSfsPrep &pargs) |
| XrdOdcFinderRMT (XrdSysLogger *lp, int whoami=0) | |
| ~XrdOdcFinderRMT () | |
Private Member Functions | |
| int | Decode (char **resp) |
| XrdOdcManager * | SelectManager (XrdOucErrInfo &Resp, const char *path) |
| void | SelectManFail (XrdOucErrInfo &Resp) |
| int | send2Man (XrdOucErrInfo &, const char *, struct iovec *, int) |
| int | StartManagers (XrdOucTList *) |
Private Attributes | |
| XrdOdcManager * | myManTable [XRDODCMAXMAN] |
| XrdOdcManager * | myManagers |
| int | myManCount |
| XrdSysMutex | myData |
| int | ConWait |
| int | RepDelay |
| int | RepNone |
| int | RepWait |
| int | PrepWait |
| int | isTarget |
| unsigned char | SMode |
| XrdOdcFinderRMT::XrdOdcFinderRMT | ( | XrdSysLogger * | lp, | |
| int | whoami = 0 | |||
| ) |
References isTarget, myManagers, myManCount, and SMode.
| XrdOdcFinderRMT::~XrdOdcFinderRMT | ( | ) |
References myManagers, and XrdOdcManager::nextManager().
| int XrdOdcFinderRMT::Configure | ( | char * | cfn | ) | [virtual] |
Implements XrdOdcFinder.
References XrdOdcFinder::amProxy, XrdOdcConfig::Configure(), XrdOdcConfig::ConWait, ConWait, isTarget, XrdOdcConfig::ManList, XrdOdcFinder::myPersona, OdcEDest, XrdOdcConfig::OLBPath, XrdOdcFinder::OLBPath, XrdOdcConfig::PanList, XrdOdcConfig::PrepWait, PrepWait, XrdOdcConfig::RepDelay, RepDelay, XrdOdcConfig::RepNone, RepNone, XrdOdcConfig::RepWait, RepWait, XrdOdcConfig::SMode, SMode, XrdOdcConfig::SModeP, and StartManagers().
| int XrdOdcFinderRMT::Decode | ( | char ** | resp | ) | [private] |
| int XrdOdcFinderRMT::Forward | ( | XrdOucErrInfo & | Resp, | |
| const char * | cmd, | |||
| const char * | arg1 = 0, |
|||
| const char * | arg2 = 0 | |||
| ) | [virtual] |
Implements XrdOdcFinder.
References XrdSysError::Emsg(), iovec::iov_base, iovec::iov_len, myManagers, OdcEDest, RepDelay, SelectManager(), XrdOdcManager::Send(), send2Man(), and XrdOucErrInfo::setErrInfo().
| int XrdOdcFinderRMT::Locate | ( | XrdOucErrInfo & | Resp, | |
| const char * | path, | |||
| int | flags, | |||
| XrdOucEnv * | Info = 0 | |||
| ) | [virtual] |
Implements XrdOdcFinder.
References XrdSysError::Emsg(), XrdOucEnv::Get(), iovec::iov_base, iovec::iov_len, myManagers, OdcEDest, send2Man(), XrdOucErrInfo::setErrInfo(), SFS_O_CREAT, SFS_O_LOCATE, SFS_O_NOWAIT, SFS_O_RDWR, SFS_O_RESET, SFS_O_STAT, SFS_O_TRUNC, and SFS_O_WRONLY.
| int XrdOdcFinderRMT::Prepare | ( | XrdOucErrInfo & | Resp, | |
| XrdSfsPrep & | pargs | |||
| ) | [virtual] |
Implements XrdOdcFinder.
References ConWait, DEBUG, XrdSysError::Emsg(), EPNAME, iovec::iov_base, iovec::iov_len, XrdSysMutex::Lock(), myManagers, XrdOdcManager::Name(), XrdOucTList::next, XrdSfsPrep::notify, OdcEDest, XrdSfsPrep::opts, XrdSfsPrep::paths, Prep_PMASK, Prep_SENDACK, Prep_SENDERR, Prep_WMODE, PrepWait, RepDelay, XrdSfsPrep::reqid, SelectManager(), XrdOdcManager::Send(), XrdOucErrInfo::setErrInfo(), XrdOucTList::text, XrdSysMutex::UnLock(), XrdOucTList::val, and XrdSysTimer::Wait().
| XrdOdcManager * XrdOdcFinderRMT::SelectManager | ( | XrdOucErrInfo & | Resp, | |
| const char * | path | |||
| ) | [private] |
References XrdOucReqID::Index(), XrdOdcManager::isActive(), myManagers, myManCount, myManTable, XrdOdcManager::nextManager(), ODC_ROUNDROB, SelectManFail(), and SMode.
Referenced by Forward(), Prepare(), and send2Man().
| void XrdOdcFinderRMT::SelectManFail | ( | XrdOucErrInfo & | Resp | ) | [private] |
References ConWait, XrdSysError::Emsg(), EPNAME, XrdOucErrInfo::getErrUser(), XrdSysMutex::Lock(), myData, OdcEDest, XrdOucErrInfo::setErrInfo(), TRACE, and XrdSysMutex::UnLock().
Referenced by SelectManager().
| int XrdOdcFinderRMT::send2Man | ( | XrdOucErrInfo & | Resp, | |
| const char * | path, | |||
| struct iovec * | xmsg, | |||
| int | xnum | |||
| ) | [private] |
References XrdOdcMsg::Alloc(), ConWait, XrdOdcManager::delayResp(), EINPROGRESS, EPNAME, XrdOucErrInfo::getErrText(), XrdOucErrInfo::getErrUser(), XrdOdcMsg::ID(), index(), iovec::iov_base, iovec::iov_len, XrdOdcManager::NPfx(), XrdOdcMsg::Recycle(), RepDelay, RepWait, SelectManager(), XrdOdcManager::Send(), XrdOucErrInfo::setErrCode(), XrdOucErrInfo::setErrInfo(), TRACE, XrdOdcMsg::Wait4Reply(), and XrdOdcManager::whatsUp().
| int XrdOdcFinderRMT::StartManagers | ( | XrdOucTList * | myManList | ) | [private] |
References ConWait, XrdSysError::Emsg(), myManagers, myManCount, myManTable, XrdOucTList::next, OdcEDest, RepNone, XrdSysThread::Run(), XrdSysError::Say(), XrdOdcManager::setNext(), XrdOucTList::text, XrdOucTList::val, XRDODCMAXMAN, and XrdOdcStartManager().
Referenced by Configure().
int XrdOdcFinderRMT::ConWait [private] |
Referenced by Configure(), Prepare(), SelectManFail(), send2Man(), and StartManagers().
int XrdOdcFinderRMT::isTarget [private] |
Referenced by Configure(), and XrdOdcFinderRMT().
XrdSysMutex XrdOdcFinderRMT::myData [private] |
Referenced by SelectManFail().
XrdOdcManager* XrdOdcFinderRMT::myManagers [private] |
Referenced by Forward(), Locate(), Prepare(), SelectManager(), StartManagers(), XrdOdcFinderRMT(), and ~XrdOdcFinderRMT().
int XrdOdcFinderRMT::myManCount [private] |
Referenced by SelectManager(), StartManagers(), and XrdOdcFinderRMT().
XrdOdcManager* XrdOdcFinderRMT::myManTable[XRDODCMAXMAN] [private] |
Referenced by SelectManager(), and StartManagers().
int XrdOdcFinderRMT::PrepWait [private] |
Referenced by Configure(), and Prepare().
int XrdOdcFinderRMT::RepDelay [private] |
Referenced by Configure(), Forward(), Prepare(), and send2Man().
int XrdOdcFinderRMT::RepNone [private] |
Referenced by Configure(), and StartManagers().
int XrdOdcFinderRMT::RepWait [private] |
Referenced by Configure(), and send2Man().
unsigned char XrdOdcFinderRMT::SMode [private] |
Referenced by Configure(), SelectManager(), and XrdOdcFinderRMT().
1.7.1