12 #ifndef ROOT_XrdProofdNetMgr
13 #define ROOT_XrdProofdNetMgr
27 #include "XrdOuc/XrdOucHash.hh"
78 char *val, XrdOucStream *cfg,
bool rcf);
90 bool IsLocal(
const char *host,
bool checkport = 0);
93 bool notify = 0,
int subtype = -1);
97 char *
ReadBufferLocal(
const char *file,
const char *pat,
int &len,
int opt);
99 kXR_int64 ofs,
int &len,
int grep);
100 char *
ReadLogPaths(
const char *url,
const char *stag,
int isess);
105 std::list<XrdProofWorker *> *
GetNodes();
int DoDirectiveBonjour(char *val, XrdOucStream *cfg, bool)
int DoDirectiveAdminReqTO(char *, XrdOucStream *, bool)
Process 'adminreqto' directive.
void RegisterDirectives()
Register config directives.
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...
std::list< XrdProofWorker * > fRegWorkers
int LocateLocalFile(XrdOucString &file)
Locate the exact file path allowing for wildcards '*' in the file name.
int ReadPROOFcfg(bool reset=1)
Read PROOF config file and load the information in fWorkers.
XrdOucHash< XrdProofConn > fProofConnHash
XrdProofConn * GetProofConn(const char *url)
Get a XrdProofConn for url; create a new one if not available.
std::list< XrdProofWorker * > * GetActiveWorkers()
Return the list of workers after having made sure that the info is up-to-date.
int DoDirectiveResource(char *, XrdOucStream *, bool)
Process 'resource' directive.
unsigned int per_iteration
XrdClientMessage * 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.
std::list< XrdProofWorker * > fNodes
int BroadcastCtrlC(const char *usr)
Broadcast a ctrlc interrupt Return 0 on success, -1 on error.
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.
virtual ~XrdProofdNetMgr()
Destructor.
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.
int DoDirective(XrdProofdDirective *d, char *val, XrdOucStream *cfg, bool rcf)
Update the priorities of the active sessions.
int FindUniqueNodes()
Scan fWorkers for unique nodes (stored in fNodes).
void CreateDefaultPROOFcfg()
Fill-in fWorkers for a localhost based on the number of workers fNumLocalWrks.
std::list< XrdProofWorker * > * GetNodes()
Return the list of unique nodes after having made sure that the info is up-to-date.
int DoDirectiveWorker(char *, XrdOucStream *, bool)
Process 'worker' directive.
int ReadBuffer(XrdProofdProtocol *p)
Process a readbuf request.
std::list< XrdProofWorker * > fWorkers
int Config(bool rcf=0)
Run configuration and parse the entered config directives.
std::list< XrdProofWorker * > fDfltWorkers
const char * PROOFcfg() const
void BalanceNodesOrder()
Indices (this will be used twice).
bool WorkerUsrCfg() const
bool IsLocal(const char *host, bool checkport=0)
Check if 'host' is this local host.
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 retu...
struct BalancerInfo BalancerInfo
XrdProofdNetMgr(XrdProofdManager *mgr, XrdProtocol_Config *pi, XrdSysError *e)
Constructor.