XrdProofdNetMgr Class Reference

#include <XrdProofdNetMgr.h>

Inheritance diagram for XrdProofdNetMgr:

XrdProofdConfig List of all members.

Public Member Functions

 XrdProofdNetMgr (XrdProofdManager *mgr, XrdProtocol_Config *pi, XrdSysError *e)
virtual ~XrdProofdNetMgr ()
int Config (bool rcf=0)
int DoDirective (XrdProofdDirective *d, char *val, XrdOucStream *cfg, bool rcf)
void RegisterDirectives ()
void Dump ()
const char * PROOFcfg () const
bool WorkerUsrCfg () const
int Broadcast (int type, const char *msg, const char *usr=0, XrdProofdResponse *r=0, bool notify=0, int subtype=-1)
int BroadcastCtrlC (const char *usr)
XrdProofConnGetProofConn (const char *url)
bool IsLocal (const char *host, bool checkport=0)
XrdClientMessageSend (const char *url, int type, const char *msg, int srvtype, XrdProofdResponse *r, bool notify=0, int subtype=-1)
int ReadBuffer (XrdProofdProtocol *p)
char * ReadBufferLocal (const char *file, kXR_int64 ofs, int &len)
char * ReadBufferLocal (const char *file, const char *pat, int &len, int opt)
char * ReadBufferRemote (const char *url, const char *file, kXR_int64 ofs, int &len, int grep)
char * ReadLogPaths (const char *url, const char *stag, int isess)
std::list< XrdProofWorker * > * GetActiveWorkers ()
std::list< XrdProofWorker * > * GetNodes ()
void BalanceNodesOrder ()

Private Member Functions

void CreateDefaultPROOFcfg ()
int ReadPROOFcfg (bool reset=1)
int FindUniqueNodes ()
int LocateLocalFile (XrdOucString &file)
int DoDirectiveBonjour (char *val, XrdOucStream *cfg, bool)
int DoDirectiveAdminReqTO (char *, XrdOucStream *, bool)
int DoDirectiveResource (char *, XrdOucStream *, bool)
int DoDirectiveWorker (char *, XrdOucStream *, bool)

Private Attributes

XrdSysRecMutex fMutex
XrdProofdManagerfMgr
XrdOucHash< XrdProofConnfProofConnHash
int fNumLocalWrks
int fResourceType
XrdProofdFile fPROOFcfg
bool fReloadPROOFcfg
bool fDfltFallback
bool fWorkerUsrCfg
int fRequestTO
std::list< XrdProofWorker * > fDfltWorkers
std::list< XrdProofWorker * > fRegWorkers
std::list< XrdProofWorker * > fWorkers
std::list< XrdProofWorker * > fNodes
bool fBonjourEnabled

Detailed Description

Definition at line 46 of file XrdProofdNetMgr.h.


Constructor & Destructor Documentation

XrdProofdNetMgr::XrdProofdNetMgr ( XrdProofdManager mgr,
XrdProtocol_Config pi,
XrdSysError e 
)

Definition at line 60 of file XrdProofdNetMgr.cxx.

References fBonjourEnabled, fDfltFallback, fDfltWorkers, fMgr, XrdProofdFile::fMtime, XrdProofdFile::fName, fNodes, fNumLocalWrks, fPROOFcfg, fRegWorkers, fReloadPROOFcfg, fRequestTO, fResourceType, fWorkers, fWorkerUsrCfg, XrdNetDNS::getHostName(), XrdProofdAux::GetNumCPUs(), kBonjourSrvDisabled, kRTNone, RegisterDirectives(), and SafeFree.

XrdProofdNetMgr::~XrdProofdNetMgr (  )  [virtual]

Definition at line 104 of file XrdProofdNetMgr.cxx.

References fDfltWorkers, fRegWorkers, fWorkers, and w.


Member Function Documentation

void XrdProofdNetMgr::CreateDefaultPROOFcfg (  )  [private]

Definition at line 1578 of file XrdProofdNetMgr.cxx.

References fDfltWorkers, FindUniqueNodes(), fMgr, fMutex, fNumLocalWrks, fWorkers, XrdProofdManager::Host(), XrdProofdManager::Port(), TRACE, and XPDLOC.

Referenced by Config(), GetActiveWorkers(), and GetNodes().

int XrdProofdNetMgr::ReadPROOFcfg ( bool  reset = 1  )  [private]

Definition at line 1704 of file XrdProofdNetMgr.cxx.

References XrdOucString::beginswith(), XrdOucString::c_str(), fclose(), fDfltFallback, XrdProofWorker::fHost, FindUniqueNodes(), fMgr, XrdProofdFile::fMtime, fMutex, XrdProofdFile::fName, fopen, XrdProofWorker::fPort, fPROOFcfg, fRegWorkers, fWorkers, XrdProofdManager::Host(), XrdOucString::length(), XrdProofWorker::Matches(), p, XrdProofWorker::Reset(), SafeDelete, stat, TRACE, and XPDLOC.

Referenced by Config(), GetActiveWorkers(), and GetNodes().

int XrdProofdNetMgr::FindUniqueNodes (  )  [private]

Definition at line 1862 of file XrdProofdNetMgr.cxx.

References fNodes, fWorkers, n, TRACE, and XPDLOC.

Referenced by Config(), CreateDefaultPROOFcfg(), DoDirectiveWorker(), and ReadPROOFcfg().

int XrdProofdNetMgr::LocateLocalFile ( XrdOucString file  )  [private]

Definition at line 1182 of file XrdProofdNetMgr.cxx.

References XrdOucString::assign(), XrdOucString::c_str(), closedir, emsg(), XrdOucString::find(), XrdOucString::length(), XrdOucString::matches(), opendir, readdir, XrdOucString::rfind(), STR_NPOS, TRACE, XPDFORM, and XPDLOC.

Referenced by ReadBufferLocal().

int XrdProofdNetMgr::DoDirectiveBonjour ( char *  val,
XrdOucStream cfg,
bool   
) [private]

Definition at line 233 of file XrdProofdNetMgr.cxx.

References fMgr, XrdOucStream::GetWord(), kBonjourSrvBoth, kBonjourSrvBrowse, kBonjourSrvRegister, NULL, XrdOucStream::RetToken(), s, XrdProofdManager::SrvType(), strtol(), TRACE, and XPDLOC.

Referenced by DoDirective().

int XrdProofdNetMgr::DoDirectiveAdminReqTO ( char *  ,
XrdOucStream ,
bool   
) [private]

Definition at line 655 of file XrdProofdNetMgr.cxx.

References XrdProofdAux::CheckIf(), fMgr, fRequestTO, XrdProofdManager::Host(), and strtol().

Referenced by DoDirective().

int XrdProofdNetMgr::DoDirectiveResource ( char *  ,
XrdOucStream ,
bool   
) [private]

Definition at line 676 of file XrdProofdNetMgr.cxx.

References access, XrdOucString::beginswith(), XrdOucString::c_str(), XrdProofdAux::Expand(), fDfltFallback, XrdProofdFile::fMtime, XrdProofdFile::fName, fPROOFcfg, fReloadPROOFcfg, fResourceType, fWorkerUsrCfg, XrdOucStream::GetWord(), kRTStatic, R_OK, XrdOucString::replace(), s, TRACE, and XPDLOC.

Referenced by DoDirective().

int XrdProofdNetMgr::DoDirectiveWorker ( char *  ,
XrdOucStream ,
bool   
) [private]

Definition at line 723 of file XrdProofdNetMgr.cxx.

References XrdOucString::beginswith(), XrdProofWorker::fHost, FindUniqueNodes(), fMgr, fMutex, fWorkers, XrdOucStream::GetRest(), XrdOucStream::GetWord(), XrdProofdManager::Host(), i, line, XrdProofWorker::Matches(), XrdProofWorker::Reset(), XrdOucStream::RetToken(), SafeDelete, STR_NPOS, TRACE, XPD_LONGOK, XPDFORM, and XPDLOC.

Referenced by DoDirective().

int XrdProofdNetMgr::Config ( bool  rcf = 0  )  [virtual]

Reimplemented from XrdProofdConfig.

Definition at line 124 of file XrdProofdNetMgr.cxx.

References XrdOucString::c_str(), XrdProofdConfig::Config(), CreateDefaultPROOFcfg(), EnvPutInt, fBonjourEnabled, fDfltFallback, FindUniqueNodes(), fMgr, XrdProofdFile::fMtime, fMutex, XrdProofdFile::fName, fPROOFcfg, fReloadPROOFcfg, fRequestTO, fResourceType, fWorkers, XrdProofdManager::Host(), kRTNone, kRTStatic, kXPD_AnyServer, kXPD_Worker, XrdOucString::length(), NAME_REQUESTTIMEOUT, XrdProofdManager::Port(), ReadPROOFcfg(), XrdProofConn::SetRetryParam(), XrdProofdManager::SrvType(), TRACE, w, XPDERR, XPDFORM, and XPDLOC.

Referenced by XrdProofdManager::Config().

int XrdProofdNetMgr::DoDirective ( XrdProofdDirective d,
char *  val,
XrdOucStream cfg,
bool  rcf 
) [virtual]

Reimplemented from XrdProofdConfig.

Definition at line 207 of file XrdProofdNetMgr.cxx.

References d, DoDirectiveAdminReqTO(), DoDirectiveBonjour(), DoDirectiveResource(), DoDirectiveWorker(), TRACE, and XPDLOC.

void XrdProofdNetMgr::RegisterDirectives (  )  [virtual]

Reimplemented from XrdProofdConfig.

Definition at line 92 of file XrdProofdNetMgr.cxx.

References DoDirectiveClass(), DoDirectiveInt(), fNumLocalWrks, and XrdProofdConfig::Register().

Referenced by XrdProofdNetMgr().

void XrdProofdNetMgr::Dump (  ) 

Definition at line 1655 of file XrdProofdNetMgr.cxx.

References fMutex, fWorkers, and XPDPRT.

Referenced by GetActiveWorkers(), XrdProofdManager::GetWorkers(), and XrdProofdAdmin::ReleaseWorker().

const char* XrdProofdNetMgr::PROOFcfg (  )  const [inline]

Definition at line 101 of file XrdProofdNetMgr.h.

References XrdOucString::c_str(), XrdProofdFile::fName, and fPROOFcfg.

bool XrdProofdNetMgr::WorkerUsrCfg (  )  const [inline]

Definition at line 102 of file XrdProofdNetMgr.h.

References fWorkerUsrCfg.

Referenced by XrdProofdManager::Config(), XrdProofdProofServMgr::SetProofServEnv(), and XrdProofdProofServMgr::SetProofServEnvOld().

int XrdProofdNetMgr::Broadcast ( int  type,
const char *  msg,
const char *  usr = 0,
XrdProofdResponse r = 0,
bool  notify = 0,
int  subtype = -1 
)

Definition at line 854 of file XrdProofdNetMgr.cxx.

References XrdProofdManager::EffectiveUser(), fMgr, fNodes, XrdProofdManager::Host(), kXPD_Master, kXPD_Worker, XrdProofdManager::Port(), SafeDelete, Send(), STR_NPOS, TRACE, u, w, and XPDLOC.

Referenced by XrdProofdAdmin::CleanupSessions(), XrdProofdAdmin::Exec(), and XrdProofdAdmin::SetROOTVersion().

int XrdProofdNetMgr::BroadcastCtrlC ( const char *  usr  ) 

Definition at line 793 of file XrdProofdNetMgr.cxx.

References XPD::clientMarshall(), XrdProofdManager::EffectiveUser(), fMgr, fNodes, GetProofConn(), XrdProofdManager::Host(), XrdProofConn::IsValid(), kOK, kXP_ctrlc, XrdProofConn::LowWrite(), XrdProofdManager::Port(), SafeDelete, XrdProofConn::SetSID(), STR_NPOS, TRACE, u, w, and XPDLOC.

Referenced by XrdProofdProtocol::CtrlC().

XrdProofConn * XrdProofdNetMgr::GetProofConn ( const char *  url  ) 

Definition at line 908 of file XrdProofdNetMgr.cxx.

References buf, fMgr, fMutex, XrdProofdManager::Host(), m, p, and SafeDelete.

Referenced by BroadcastCtrlC(), ReadBufferRemote(), ReadLogPaths(), and Send().

bool XrdProofdNetMgr::IsLocal ( const char *  host,
bool  checkport = 0 
)

Definition at line 1034 of file XrdProofdNetMgr.cxx.

References XrdOucString::c_str(), fMgr, XrdNetDNS::getHostName(), XrdClientUrlInfo::Host, XrdProofdManager::Host(), XrdProofdManager::Port(), XrdClientUrlInfo::Port, and SafeFree.

Referenced by XrdProofdAdmin::Exec(), and ReadBuffer().

XrdClientMessage * XrdProofdNetMgr::Send ( const char *  url,
int  type,
const char *  msg,
int  srvtype,
XrdProofdResponse r,
bool  notify = 0,
int  subtype = -1 
)

Definition at line 931 of file XrdProofdNetMgr.cxx.

References buf, XrdOucString::c_str(), XrdProofConn::GetLastErr(), GetProofConn(), XrdProofConn::IsValid(), kCleanupSessions, kExec, kROOTVersion, kXP_admin, kXPD_srvmsg, kXR_attn, XrdOucString::length(), MessageSender(), ok, SafeDelete, XrdProofConn::SendReq(), XrdProofConn::SetAsync(), XrdProofConn::SetSID(), TRACE, and XPDLOC.

Referenced by Broadcast(), and XrdProofdAdmin::Exec().

int XrdProofdNetMgr::ReadBuffer ( XrdProofdProtocol p  ) 

Definition at line 1058 of file XrdProofdNetMgr.cxx.

References buf, XrdOucString::c_str(), XrdProofdManager::EffectiveUser(), emsg(), XrdClientUrlInfo::File, fMgr, XrdClientUrlInfo::Host, i, IsLocal(), j, kXR_InvalidRequest, len, XrdOucString::length(), local, ntohll, p, ReadBufferLocal(), ReadBufferRemote(), SafeDelArray, SafeFree, TRACEP, TRACING, u, XPD_SETRESP, XPDFORM, and XPDLOC.

Referenced by XrdProofdManager::Process().

char * XrdProofdNetMgr::ReadBufferLocal ( const char *  file,
kXR_int64  ofs,
int &  len 
)

Definition at line 1235 of file XrdProofdNetMgr.cxx.

References buf, XrdOucString::c_str(), close, emsg(), fstat, int, LocateLocalFile(), lseek, malloc(), open, read, SEEK_SET, start, stat, TRACE, XPDERR, and XPDLOC.

Referenced by ReadBuffer().

char * XrdProofdNetMgr::ReadBufferLocal ( const char *  file,
const char *  pat,
int &  len,
int  opt 
)

Definition at line 1337 of file XrdProofdNetMgr.cxx.

References buf, XrdOucString::c_str(), emsg(), fp, fprintf(), free(), int, line, LocateLocalFile(), realloc(), sprintf(), stat, TRACE, TRACING, and XPDLOC.

char * XrdProofdNetMgr::ReadBufferRemote ( const char *  url,
const char *  file,
kXR_int64  ofs,
int &  len,
int  grep 
)

Definition at line 1455 of file XrdProofdNetMgr.cxx.

References buf, XrdClientMessage::DataLen(), XrdProofdManager::EffectiveUser(), fMgr, GetProofConn(), XrdClientMessage::IsError(), XrdProofConn::IsValid(), kXP_readbuf, SafeDelete, SafeFree, XrdProofConn::SendReq(), XrdProofConn::SetSID(), TRACE, u, and XPDLOC.

Referenced by ReadBuffer().

char * XrdProofdNetMgr::ReadLogPaths ( const char *  url,
const char *  stag,
int  isess 
)

Definition at line 1521 of file XrdProofdNetMgr.cxx.

References buf, XrdClientMessage::DataLen(), GetProofConn(), XrdProofConn::IsValid(), kQueryLogPaths, kXP_admin, len, realloc(), SafeDelete, SafeFree, XrdProofConn::SendReq(), XrdProofConn::SetSID(), TRACE, and XPDLOC.

Referenced by XrdProofdAdmin::QueryLogPaths().

std::list< XrdProofWorker * > * XrdProofdNetMgr::GetActiveWorkers (  ) 

Definition at line 1626 of file XrdProofdNetMgr.cxx.

References CreateDefaultPROOFcfg(), Dump(), fDfltFallback, fMutex, XrdProofdFile::fName, fPROOFcfg, fReloadPROOFcfg, fResourceType, fWorkers, kRTStatic, XrdOucString::length(), ReadPROOFcfg(), TRACE, TRACING, and XPDLOC.

Referenced by XrdProofSched::ExportInfo(), XrdProofSched::GetNumWorkers(), and XrdProofSched::GetWorkers().

std::list< XrdProofWorker * > * XrdProofdNetMgr::GetNodes (  ) 

Definition at line 1677 of file XrdProofdNetMgr.cxx.

References CreateDefaultPROOFcfg(), fDfltFallback, fMutex, XrdProofdFile::fName, fNodes, fPROOFcfg, fReloadPROOFcfg, fResourceType, kRTStatic, XrdOucString::length(), ReadPROOFcfg(), TRACE, and XPDLOC.

void XrdProofdNetMgr::BalanceNodesOrder (  ) 

Definition at line 319 of file XrdProofdNetMgr.cxx.

References floor(), fNodes, fWorkers, i, info, int, j, min, total, and xrdmin.


Member Data Documentation

XrdSysRecMutex XrdProofdNetMgr::fMutex [private]

Definition at line 50 of file XrdProofdNetMgr.h.

Referenced by Config(), CreateDefaultPROOFcfg(), DoDirectiveWorker(), Dump(), GetActiveWorkers(), GetNodes(), GetProofConn(), and ReadPROOFcfg().

XrdProofdManager* XrdProofdNetMgr::fMgr [private]

Definition at line 52 of file XrdProofdNetMgr.h.

Referenced by Broadcast(), BroadcastCtrlC(), Config(), CreateDefaultPROOFcfg(), DoDirectiveAdminReqTO(), DoDirectiveBonjour(), DoDirectiveWorker(), GetProofConn(), IsLocal(), ReadBuffer(), ReadBufferRemote(), ReadPROOFcfg(), and XrdProofdNetMgr().

XrdOucHash<XrdProofConn> XrdProofdNetMgr::fProofConnHash [private]

Definition at line 53 of file XrdProofdNetMgr.h.

int XrdProofdNetMgr::fNumLocalWrks [private]

Definition at line 54 of file XrdProofdNetMgr.h.

Referenced by CreateDefaultPROOFcfg(), RegisterDirectives(), and XrdProofdNetMgr().

int XrdProofdNetMgr::fResourceType [private]

Definition at line 55 of file XrdProofdNetMgr.h.

Referenced by Config(), DoDirectiveResource(), GetActiveWorkers(), GetNodes(), and XrdProofdNetMgr().

XrdProofdFile XrdProofdNetMgr::fPROOFcfg [private]

Definition at line 56 of file XrdProofdNetMgr.h.

Referenced by Config(), DoDirectiveResource(), GetActiveWorkers(), GetNodes(), PROOFcfg(), ReadPROOFcfg(), and XrdProofdNetMgr().

bool XrdProofdNetMgr::fReloadPROOFcfg [private]

Definition at line 57 of file XrdProofdNetMgr.h.

Referenced by Config(), DoDirectiveResource(), GetActiveWorkers(), GetNodes(), and XrdProofdNetMgr().

bool XrdProofdNetMgr::fDfltFallback [private]

Definition at line 58 of file XrdProofdNetMgr.h.

Referenced by Config(), DoDirectiveResource(), GetActiveWorkers(), GetNodes(), ReadPROOFcfg(), and XrdProofdNetMgr().

bool XrdProofdNetMgr::fWorkerUsrCfg [private]

Definition at line 59 of file XrdProofdNetMgr.h.

Referenced by DoDirectiveResource(), WorkerUsrCfg(), and XrdProofdNetMgr().

int XrdProofdNetMgr::fRequestTO [private]

Definition at line 60 of file XrdProofdNetMgr.h.

Referenced by Config(), DoDirectiveAdminReqTO(), and XrdProofdNetMgr().

std::list<XrdProofWorker *> XrdProofdNetMgr::fDfltWorkers [private]

Definition at line 62 of file XrdProofdNetMgr.h.

Referenced by CreateDefaultPROOFcfg(), XrdProofdNetMgr(), and ~XrdProofdNetMgr().

std::list<XrdProofWorker *> XrdProofdNetMgr::fRegWorkers [private]

Definition at line 63 of file XrdProofdNetMgr.h.

Referenced by ReadPROOFcfg(), XrdProofdNetMgr(), and ~XrdProofdNetMgr().

std::list<XrdProofWorker *> XrdProofdNetMgr::fWorkers [private]

Definition at line 64 of file XrdProofdNetMgr.h.

Referenced by BalanceNodesOrder(), Config(), CreateDefaultPROOFcfg(), DoDirectiveWorker(), Dump(), FindUniqueNodes(), GetActiveWorkers(), ReadPROOFcfg(), XrdProofdNetMgr(), and ~XrdProofdNetMgr().

std::list<XrdProofWorker *> XrdProofdNetMgr::fNodes [private]

Definition at line 65 of file XrdProofdNetMgr.h.

Referenced by BalanceNodesOrder(), Broadcast(), BroadcastCtrlC(), FindUniqueNodes(), GetNodes(), and XrdProofdNetMgr().

bool XrdProofdNetMgr::fBonjourEnabled [private]

Definition at line 78 of file XrdProofdNetMgr.h.

Referenced by Config(), and XrdProofdNetMgr().


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