XrdProofSched Class Reference

#include <XrdProofSched.h>

Inheritance diagram for XrdProofSched:

XrdProofdConfig List of all members.

Public Types

enum  SchedProtocol

Public Member Functions

 XrdProofSched (const char *name, XrdProofdManager *mgr, XrdProofGroupMgr *grpmgr, const char *cfn, XrdSysError *e=0)
virtual ~XrdProofSched ()
virtual int GetWorkers (XrdProofdProofServ *xps, std::list< XrdProofWorker * > *, const char *)
virtual int Reschedule ()
virtual int UpdateSession (XrdProofdProofServ *, int=0, void *=0)
virtual int MaxSessions () const
virtual int UpdateProperties ()
virtual int ExportInfo (XrdOucString &)
virtual bool IsValid ()
const char * Name () const
virtual int ProcessDirective (XrdProofdDirective *d, char *val, XrdOucStream *cfg, bool rcf)
virtual int Enqueue (XrdProofdProofServ *xps, XrdProofQuery *query)
virtual void DumpQueues (const char *prefix=0)
virtual XrdProofdProofServFirstSession ()
int CheckFrequency () const
XrdProofdPipePipe ()
virtual int Config (bool rcf=0)
virtual int DoDirective (XrdProofdDirective *d, char *val, XrdOucStream *cfg, bool rcf)

Protected Member Functions

virtual void RegisterDirectives ()
virtual int DoDirectiveSchedParam (char *, XrdOucStream *, bool)
virtual int DoDirectiveResource (char *, XrdOucStream *, bool)
virtual int GetNumWorkers (XrdProofdProofServ *xps)
virtual void ResetParameters ()

Protected Attributes

char fName [kXPSMXNMLEN]
bool fValid
XrdProofdManagerfMgr
XrdProofGroupMgrfGrpMgr
int fMaxSessions
int fMaxRunning
int fWorkerMax
int fWorkerSel
int fNextWrk
int fOptWrksPerUnit
int fMinForQuery
double fNodesFraction
bool fUseFIFO
std::list< XrdProofdProofServ * > fQueue
XrdOucHash< XrdProofdDirectivefConfigDirectives
int fCheckFrequency
XrdProofdPipe fPipe
XrdSysErrorfEDest

Detailed Description

Definition at line 63 of file XrdProofSched.h.


Member Enumeration Documentation

enum XrdProofSched::SchedProtocol

Definition at line 115 of file XrdProofSched.h.


Constructor & Destructor Documentation

XrdProofSched::XrdProofSched ( const char *  name,
XrdProofdManager mgr,
XrdProofGroupMgr grpmgr,
const char *  cfn,
XrdSysError e = 0 
)

Definition at line 167 of file XrdProofSched.cxx.

References fEDest, fGrpMgr, fMgr, fName, fNextWrk, fUseFIFO, fValid, kXPSMXNMLEN, RegisterDirectives(), and ResetParameters().

virtual XrdProofSched::~XrdProofSched (  )  [inline, virtual]

Definition at line 69 of file XrdProofSched.h.


Member Function Documentation

int XrdProofSched::GetWorkers ( XrdProofdProofServ xps,
std::list< XrdProofWorker * > *  ,
const char *   
) [virtual]

Definition at line 386 of file XrdProofSched.cxx.

References close, XrdProofdProofServ::CurrentQuery(), XrdProofdProofServ::DumpQueries(), Enqueue(), fMaxRunning, fMaxSessions, fMgr, fNextWrk, fUseFIFO, fWorkerMax, fWorkerSel, XrdProofdNetMgr::GetActiveWorkers(), XrdProofWorker::GetNActiveSessions(), GetNumWorkers(), XrdProofdProofServ::GetQuery(), XrdProofQuery::GetTag(), i, j, kSSOLoadBased, kSSORandom, XrdProofdManager::NetMgr(), XrdOucHash< T >::Num(), nwt, ok, open, read, XrdProofdProofServ::RemoveQuery(), seed, XrdProofWorker::Sort(), XrdProofdProofServ::SrvPID(), TRACE, TRACING, XrdProofdProofServ::Workers(), XPD_GW_Static, XPDLOC, and XpdWrkComp().

Referenced by XrdProofdManager::GetWorkers().

int XrdProofSched::Reschedule (  )  [virtual]

Definition at line 691 of file XrdProofSched.cxx.

References XrdOucString::beginswith(), XrdOucString::c_str(), DumpQueues(), FirstSession(), fMgr, fQueue, fUseFIFO, XrdProofdManager::GetWorkers(), XrdOucString::length(), XrdOucString::replace(), TRACING, XPD_GW_QueryEnqueued, XPD_GW_Static, and XPDDOM.

Referenced by XrdProofSchedCron().

virtual int XrdProofSched::UpdateSession ( XrdProofdProofServ ,
int  = 0,
void *  = 0 
) [inline, virtual]

Definition at line 87 of file XrdProofSched.h.

virtual int XrdProofSched::MaxSessions (  )  const [inline, virtual]

Definition at line 90 of file XrdProofSched.h.

References fMaxSessions.

Referenced by XrdProofdProofServMgr::Create().

virtual int XrdProofSched::UpdateProperties (  )  [inline, virtual]

Definition at line 93 of file XrdProofSched.h.

int XrdProofSched::ExportInfo ( XrdOucString  )  [virtual]

Definition at line 744 of file XrdProofSched.cxx.

References fMgr, fWorkerMax, fWorkerSel, XrdProofdNetMgr::GetActiveWorkers(), if(), and XrdProofdManager::NetMgr().

Referenced by XrdProofdAdmin::QueryWorkers().

virtual bool XrdProofSched::IsValid (  )  [inline, virtual]

Definition at line 97 of file XrdProofSched.h.

References fValid.

Referenced by XrdProofdManager::LoadScheduler().

const char* XrdProofSched::Name (  )  const [inline]

Definition at line 99 of file XrdProofSched.h.

References fName.

Referenced by XrdProofdManager::LoadScheduler().

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

Definition at line 776 of file XrdProofSched.cxx.

References d, DoDirectiveResource(), DoDirectiveSchedParam(), TRACE, and XPDLOC.

int XrdProofSched::Enqueue ( XrdProofdProofServ xps,
XrdProofQuery query 
) [virtual]

Definition at line 276 of file XrdProofSched.cxx.

References DumpQueues(), XrdProofdProofServ::Enqueue(), fQueue, kXPD_running, TRACING, and XPDDOM.

Referenced by GetWorkers().

void XrdProofSched::DumpQueues ( const char *  prefix = 0  )  [virtual]

Definition at line 299 of file XrdProofSched.cxx.

References fQueue, i, TRACE, and XPDLOC.

Referenced by Enqueue(), FirstSession(), and Reschedule().

XrdProofdProofServ * XrdProofSched::FirstSession (  )  [virtual]

Definition at line 319 of file XrdProofSched.cxx.

References DumpQueues(), fQueue, XrdProofdProofServ::IsValid(), TRACING, and XPDDOM.

Referenced by Reschedule().

int XrdProofSched::CheckFrequency (  )  const [inline]

Definition at line 108 of file XrdProofSched.h.

References fCheckFrequency.

Referenced by XrdProofSchedCron().

XrdProofdPipe* XrdProofSched::Pipe (  )  [inline]

Definition at line 109 of file XrdProofSched.h.

References fPipe.

Referenced by XrdProofdProtocol::PostSession(), XrdProofdProofServCron(), and XrdProofSchedCron().

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

Reimplemented from XrdProofdConfig.

Definition at line 236 of file XrdProofSched.cxx.

References XrdProofdConfig::Config(), fMaxRunning, fMaxSessions, fUseFIFO, fValid, fWorkerMax, fWorkerSel, XrdSysThread::Run(), TRACE, XPDERR, XPDFORM, XPDLOC, and XrdProofSchedCron().

Referenced by XrdProofdManager::Config().

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

Reimplemented from XrdProofdConfig.

Definition at line 200 of file XrdProofSched.cxx.

References d, DoDirectiveResource(), DoDirectiveSchedParam(), TRACE, and XPDLOC.

void XrdProofSched::RegisterDirectives (  )  [protected, virtual]

Reimplemented from XrdProofdConfig.

Definition at line 191 of file XrdProofSched.cxx.

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

Referenced by XrdProofSched().

int XrdProofSched::DoDirectiveSchedParam ( char *  ,
XrdOucStream ,
bool   
) [protected, virtual]

Definition at line 796 of file XrdProofSched.cxx.

References fMaxRunning, fMaxSessions, fMinForQuery, fNodesFraction, fOptWrksPerUnit, fUseFIFO, fWorkerMax, fWorkerSel, XrdOucStream::GetWord(), kSSOLoadBased, kSSORandom, kSSORoundRobin, ResetParameters(), s, strtol(), TRACE, and XPDLOC.

Referenced by DoDirective(), and ProcessDirective().

int XrdProofSched::DoDirectiveResource ( char *  ,
XrdOucStream ,
bool   
) [protected, virtual]

Definition at line 864 of file XrdProofSched.cxx.

References fMaxSessions, fWorkerMax, fWorkerSel, XrdOucStream::GetWord(), kSSORandom, kSSORoundRobin, s, and strtol().

Referenced by DoDirective(), and ProcessDirective().

int XrdProofSched::GetNumWorkers ( XrdProofdProofServ xps  )  [protected, virtual]

Definition at line 338 of file XrdProofSched.cxx.

References XrdProofdProofServMgr::ActiveSessions(), fGrpMgr, fMgr, fMinForQuery, fNodesFraction, fOptWrksPerUnit, g, XrdProofdNetMgr::GetActiveWorkers(), XrdProofGroupMgr::GetGroup(), XrdProofdProofServ::Group(), int, XrdProofdManager::NetMgr(), XrdProofGroup::Priority(), XrdProofdManager::SessionMgr(), TRACE, and XPDLOC.

Referenced by GetWorkers().

void XrdProofSched::ResetParameters (  )  [protected, virtual]

Definition at line 221 of file XrdProofSched.cxx.

References fCheckFrequency, fMaxRunning, fMaxSessions, fMinForQuery, fNodesFraction, fOptWrksPerUnit, fWorkerMax, fWorkerSel, and kSSORoundRobin.

Referenced by DoDirectiveSchedParam(), and XrdProofSched().


Member Data Documentation

char XrdProofSched::fName[kXPSMXNMLEN] [protected]

Definition at line 118 of file XrdProofSched.h.

Referenced by Name(), and XrdProofSched().

bool XrdProofSched::fValid [protected]

Definition at line 119 of file XrdProofSched.h.

Referenced by Config(), IsValid(), and XrdProofSched().

XrdProofdManager* XrdProofSched::fMgr [protected]

Definition at line 120 of file XrdProofSched.h.

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

XrdProofGroupMgr* XrdProofSched::fGrpMgr [protected]

Definition at line 121 of file XrdProofSched.h.

Referenced by GetNumWorkers(), and XrdProofSched().

int XrdProofSched::fMaxSessions [protected]

Definition at line 123 of file XrdProofSched.h.

Referenced by Config(), DoDirectiveResource(), DoDirectiveSchedParam(), GetWorkers(), MaxSessions(), and ResetParameters().

int XrdProofSched::fMaxRunning [protected]

Definition at line 124 of file XrdProofSched.h.

Referenced by Config(), DoDirectiveSchedParam(), GetWorkers(), and ResetParameters().

int XrdProofSched::fWorkerMax [protected]

Definition at line 125 of file XrdProofSched.h.

Referenced by Config(), DoDirectiveResource(), DoDirectiveSchedParam(), ExportInfo(), GetWorkers(), and ResetParameters().

int XrdProofSched::fWorkerSel [protected]

Definition at line 126 of file XrdProofSched.h.

Referenced by Config(), DoDirectiveResource(), DoDirectiveSchedParam(), ExportInfo(), GetWorkers(), and ResetParameters().

int XrdProofSched::fNextWrk [protected]

Definition at line 127 of file XrdProofSched.h.

Referenced by GetWorkers(), and XrdProofSched().

int XrdProofSched::fOptWrksPerUnit [protected]

Definition at line 128 of file XrdProofSched.h.

Referenced by DoDirectiveSchedParam(), GetNumWorkers(), and ResetParameters().

int XrdProofSched::fMinForQuery [protected]

Definition at line 129 of file XrdProofSched.h.

Referenced by DoDirectiveSchedParam(), GetNumWorkers(), and ResetParameters().

double XrdProofSched::fNodesFraction [protected]

Definition at line 130 of file XrdProofSched.h.

Referenced by DoDirectiveSchedParam(), GetNumWorkers(), and ResetParameters().

bool XrdProofSched::fUseFIFO [protected]

Definition at line 132 of file XrdProofSched.h.

Referenced by Config(), DoDirectiveSchedParam(), GetWorkers(), Reschedule(), and XrdProofSched().

std::list<XrdProofdProofServ *> XrdProofSched::fQueue [protected]

Definition at line 133 of file XrdProofSched.h.

Referenced by DumpQueues(), Enqueue(), FirstSession(), and Reschedule().

XrdOucHash<XrdProofdDirective> XrdProofSched::fConfigDirectives [protected]

Definition at line 135 of file XrdProofSched.h.

int XrdProofSched::fCheckFrequency [protected]

Definition at line 137 of file XrdProofSched.h.

Referenced by CheckFrequency(), and ResetParameters().

XrdProofdPipe XrdProofSched::fPipe [protected]

Definition at line 138 of file XrdProofSched.h.

Referenced by Pipe().

XrdSysError* XrdProofSched::fEDest [protected]

Reimplemented from XrdProofdConfig.

Definition at line 140 of file XrdProofSched.h.

Referenced by XrdProofSched().


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