Logo ROOT  
Reference Guide
XrdProofdNetMgr Class Reference

Definition at line 38 of file XrdProofdNetMgr.h.

Public Member Functions

 XrdProofdNetMgr (XrdProofdManager *mgr, XrdProtocol_Config *pi, XrdSysError *e)
 Constructor. More...
 
virtual ~XrdProofdNetMgr ()
 Destructor. More...
 
void BalanceNodesOrder ()
 Indices (this will be used twice). More...
 
int Broadcast (int type, const char *msg, const char *usr=0, XrdProofdResponse *r=0, bool notify=0, int subtype=-1)
 Broadcast request to known potential sub-nodes. More...
 
int BroadcastCtrlC (const char *usr)
 Broadcast a ctrlc interrupt Return 0 on success, -1 on error. More...
 
int Config (bool rcf=0)
 Run configuration and parse the entered config directives. More...
 
int DoDirective (XrdProofdDirective *d, char *val, XrdOucStream *cfg, bool rcf)
 Update the priorities of the active sessions. More...
 
void Dump ()
 Dump status. More...
 
std::list< XrdProofWorker * > * GetActiveWorkers ()
 Return the list of workers after having made sure that the info is up-to-date. More...
 
std::list< XrdProofWorker * > * GetNodes ()
 Return the list of unique nodes after having made sure that the info is up-to-date. More...
 
XrdProofConnGetProofConn (const char *url)
 Get a XrdProofConn for url; create a new one if not available. More...
 
bool IsLocal (const char *host, bool checkport=0)
 Check if 'host' is this local host. More...
 
const char * PROOFcfg () const
 
int ReadBuffer (XrdProofdProtocol *p)
 Process a readbuf request. More...
 
char * ReadBufferLocal (const char *file, const char *pat, int &len, int opt)
 Grep lines matching 'pat' form 'path'; the returned buffer (length in 'len') must be freed by the caller. More...
 
char * ReadBufferLocal (const char *file, kXR_int64 ofs, int &len)
 Read a buffer of length 'len' at offset 'ofs' of local file 'path'; the returned buffer must be freed by the caller. More...
 
char * ReadBufferRemote (const char *url, const char *file, kXR_int64 ofs, int &len, int grep)
 Send a read buffer request of length 'len' at offset 'ofs' for remote file defined by 'url'; the returned buffer must be freed by the caller. More...
 
char * ReadLogPaths (const char *stag, int isess)
 Get log paths from next tier; used in multi-master setups Returns 0 in case of error. More...
 
char * ReadLogPaths (const char *url, const char *stag, int isess)
 Get log paths from next tier; used in multi-master setups Returns 0 in case of error. More...
 
void RegisterDirectives ()
 Register config directives. More...
 
XrdClientMessageSend (const char *url, int type, const char *msg, int srvtype, XrdProofdResponse *r, bool notify=0, int subtype=-1)
 Broadcast request to known potential sub-nodes. More...
 
bool WorkerUsrCfg () const
 
- Public Member Functions inherited from XrdProofdConfig
 XrdProofdConfig (const char *cfg=0, XrdSysError *edest=0)
 Main constructor. More...
 
virtual ~XrdProofdConfig ()
 
const char * CfgFile () const
 
virtual int Config (bool rcf=0)
 
virtual int DoDirective (XrdProofdDirective *, char *, XrdOucStream *, bool)
 
virtual void RegisterDirectives ()
 
void SetCfgEDest (const char *cfg, XrdSysError *edest)
 Set config file and error handler. More...
 

Private Member Functions

void CreateDefaultPROOFcfg ()
 Fill-in fWorkers for a localhost based on the number of workers fNumLocalWrks. More...
 
int DoDirectiveAdminReqTO (char *, XrdOucStream *, bool)
 Process 'adminreqto' directive. More...
 
int DoDirectiveResource (char *, XrdOucStream *, bool)
 Process 'resource' directive. More...
 
int DoDirectiveWorker (char *, XrdOucStream *, bool)
 Process 'worker' directive. More...
 
int FindUniqueNodes ()
 Scan fWorkers for unique nodes (stored in fNodes). More...
 
int LocateLocalFile (XrdOucString &file)
 Locate the exact file path allowing for wildcards '*' in the file name. More...
 
int ReadPROOFcfg (bool reset=1)
 Read PROOF config file and load the information in fWorkers. More...
 

Private Attributes

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

Additional Inherited Members

- Protected Member Functions inherited from XrdProofdConfig
int ParseFile (bool rcf=false)
 Parse config file for the registered directives. More...
 
bool ReadFile (bool update=true)
 Return true if the file has never been read or did change since last reading, false otherwise. More...
 
void Register (const char *dname, XrdProofdDirective *d)
 
- Protected Attributes inherited from XrdProofdConfig
XrdSysErrorfEDest
 

#include <XrdProofdNetMgr.h>

Inheritance diagram for XrdProofdNetMgr:
[legend]

Constructor & Destructor Documentation

◆ XrdProofdNetMgr()

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

Constructor.

Definition at line 67 of file XrdProofdNetMgr.cxx.

◆ ~XrdProofdNetMgr()

XrdProofdNetMgr::~XrdProofdNetMgr ( )
virtual

Destructor.

Definition at line 103 of file XrdProofdNetMgr.cxx.

Member Function Documentation

◆ BalanceNodesOrder()

void XrdProofdNetMgr::BalanceNodesOrder ( )

Indices (this will be used twice).

Definition at line 232 of file XrdProofdNetMgr.cxx.

◆ Broadcast()

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

Broadcast request to known potential sub-nodes.

Return 0 on success, -1 on error

Definition at line 552 of file XrdProofdNetMgr.cxx.

◆ BroadcastCtrlC()

int XrdProofdNetMgr::BroadcastCtrlC ( const char *  usr)

Broadcast a ctrlc interrupt Return 0 on success, -1 on error.

Definition at line 486 of file XrdProofdNetMgr.cxx.

◆ Config()

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

Run configuration and parse the entered config directives.

Return 0 on success, -1 on error

Reimplemented from XrdProofdConfig.

Definition at line 124 of file XrdProofdNetMgr.cxx.

◆ CreateDefaultPROOFcfg()

void XrdProofdNetMgr::CreateDefaultPROOFcfg ( )
private

Fill-in fWorkers for a localhost based on the number of workers fNumLocalWrks.

Definition at line 1357 of file XrdProofdNetMgr.cxx.

◆ DoDirective()

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

Update the priorities of the active sessions.

Reimplemented from XrdProofdConfig.

Definition at line 207 of file XrdProofdNetMgr.cxx.

◆ DoDirectiveAdminReqTO()

int XrdProofdNetMgr::DoDirectiveAdminReqTO ( char *  val,
XrdOucStream *  cfg,
bool   
)
private

Process 'adminreqto' directive.

Definition at line 345 of file XrdProofdNetMgr.cxx.

◆ DoDirectiveResource()

int XrdProofdNetMgr::DoDirectiveResource ( char *  val,
XrdOucStream *  cfg,
bool   
)
private

Process 'resource' directive.

Definition at line 366 of file XrdProofdNetMgr.cxx.

◆ DoDirectiveWorker()

int XrdProofdNetMgr::DoDirectiveWorker ( char *  val,
XrdOucStream *  cfg,
bool   
)
private

Process 'worker' directive.

Definition at line 414 of file XrdProofdNetMgr.cxx.

◆ Dump()

void XrdProofdNetMgr::Dump ( )

Dump status.

Definition at line 1435 of file XrdProofdNetMgr.cxx.

◆ FindUniqueNodes()

int XrdProofdNetMgr::FindUniqueNodes ( )
private

Scan fWorkers for unique nodes (stored in fNodes).

Return the number of unque nodes. NB: 'master' information here is ignored, because it is passed via the 'xpd.workdir' and 'xpd.image' config directives

Definition at line 1648 of file XrdProofdNetMgr.cxx.

◆ GetActiveWorkers()

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

Return the list of workers after having made sure that the info is up-to-date.

Definition at line 1406 of file XrdProofdNetMgr.cxx.

◆ GetNodes()

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

Return the list of unique nodes after having made sure that the info is up-to-date.

Definition at line 1459 of file XrdProofdNetMgr.cxx.

◆ GetProofConn()

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

Get a XrdProofConn for url; create a new one if not available.

Definition at line 609 of file XrdProofdNetMgr.cxx.

◆ IsLocal()

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

Check if 'host' is this local host.

If checkport is true, matching of the local port with the one implied by host is also checked. Return 1 if 'local', 0 otherwise

Definition at line 738 of file XrdProofdNetMgr.cxx.

◆ LocateLocalFile()

int XrdProofdNetMgr::LocateLocalFile ( XrdOucString &  file)
private

Locate the exact file path allowing for wildcards '*' in the file name.

In case of success, returns 0 and fills file wity the first matching instance. Return -1 if no matching pat is found.

Definition at line 901 of file XrdProofdNetMgr.cxx.

◆ PROOFcfg()

const char * XrdProofdNetMgr::PROOFcfg ( ) const
inline

Definition at line 80 of file XrdProofdNetMgr.h.

◆ ReadBuffer()

int XrdProofdNetMgr::ReadBuffer ( XrdProofdProtocol p)

Process a readbuf request.

Definition at line 771 of file XrdProofdNetMgr.cxx.

◆ ReadBufferLocal() [1/2]

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

Grep lines matching 'pat' form 'path'; the returned buffer (length in 'len') must be freed by the caller.

Wild cards '*' are allowed in the file name of 'path'; the first matching instance is taken. Returns 0 in case of error.

Definition at line 1059 of file XrdProofdNetMgr.cxx.

◆ ReadBufferLocal() [2/2]

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

Read a buffer of length 'len' at offset 'ofs' of local file 'path'; the returned buffer must be freed by the caller.

Wild cards '*' are allowed in the file name of 'path'; the first matching instance is taken. Returns 0 in case of error.

Definition at line 956 of file XrdProofdNetMgr.cxx.

◆ ReadBufferRemote()

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

Send a read buffer request of length 'len' at offset 'ofs' for remote file defined by 'url'; the returned buffer must be freed by the caller.

Returns 0 in case of error.

Definition at line 1180 of file XrdProofdNetMgr.cxx.

◆ ReadLogPaths() [1/2]

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

Get log paths from next tier; used in multi-master setups Returns 0 in case of error.

Definition at line 1304 of file XrdProofdNetMgr.cxx.

◆ ReadLogPaths() [2/2]

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

Get log paths from next tier; used in multi-master setups Returns 0 in case of error.

Definition at line 1246 of file XrdProofdNetMgr.cxx.

◆ ReadPROOFcfg()

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

Read PROOF config file and load the information in fWorkers.

NB: 'master' information here is ignored, because it is passed via the 'xpd.workdir' and 'xpd.image' config directives

Definition at line 1488 of file XrdProofdNetMgr.cxx.

◆ RegisterDirectives()

void XrdProofdNetMgr::RegisterDirectives ( )
virtual

Register config directives.

Reimplemented from XrdProofdConfig.

Definition at line 92 of file XrdProofdNetMgr.cxx.

◆ Send()

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

Broadcast request to known potential sub-nodes.

Return 0 on success, -1 on error

Definition at line 633 of file XrdProofdNetMgr.cxx.

◆ WorkerUsrCfg()

bool XrdProofdNetMgr::WorkerUsrCfg ( ) const
inline

Definition at line 81 of file XrdProofdNetMgr.h.

Member Data Documentation

◆ fDfltFallback

bool XrdProofdNetMgr::fDfltFallback
private

Definition at line 50 of file XrdProofdNetMgr.h.

◆ fDfltWorkers

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

Definition at line 54 of file XrdProofdNetMgr.h.

◆ fMgr

XrdProofdManager* XrdProofdNetMgr::fMgr
private

Definition at line 44 of file XrdProofdNetMgr.h.

◆ fMutex

XrdSysRecMutex XrdProofdNetMgr::fMutex
private

Definition at line 42 of file XrdProofdNetMgr.h.

◆ fNodes

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

Definition at line 57 of file XrdProofdNetMgr.h.

◆ fNumLocalWrks

int XrdProofdNetMgr::fNumLocalWrks
private

Definition at line 46 of file XrdProofdNetMgr.h.

◆ fPROOFcfg

XrdProofdFile XrdProofdNetMgr::fPROOFcfg
private

Definition at line 48 of file XrdProofdNetMgr.h.

◆ fProofConnHash

XrdOucHash<XrdProofConn> XrdProofdNetMgr::fProofConnHash
private

Definition at line 45 of file XrdProofdNetMgr.h.

◆ fRegWorkers

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

Definition at line 55 of file XrdProofdNetMgr.h.

◆ fReloadPROOFcfg

bool XrdProofdNetMgr::fReloadPROOFcfg
private

Definition at line 49 of file XrdProofdNetMgr.h.

◆ fRequestTO

int XrdProofdNetMgr::fRequestTO
private

Definition at line 52 of file XrdProofdNetMgr.h.

◆ fResourceType

int XrdProofdNetMgr::fResourceType
private

Definition at line 47 of file XrdProofdNetMgr.h.

◆ fWorkers

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

Definition at line 56 of file XrdProofdNetMgr.h.

◆ fWorkerUsrCfg

bool XrdProofdNetMgr::fWorkerUsrCfg
private

Definition at line 51 of file XrdProofdNetMgr.h.


The documentation for this class was generated from the following files: