XrdProofdPriorityMgr Class Reference

#include <XrdProofdPriorityMgr.h>

Inheritance diagram for XrdProofdPriorityMgr:

XrdProofdConfig List of all members.

Public Types

enum  PMProtocol

Public Member Functions

 XrdProofdPriorityMgr (XrdProofdManager *mgr, XrdProtocol_Config *pi, XrdSysError *e)
virtual ~XrdProofdPriorityMgr ()
int Config (bool rcf=0)
int DoDirective (XrdProofdDirective *d, char *val, XrdOucStream *cfg, bool rcf)
XrdProofdPipePipe ()
int AddSession (const char *u, const char *g, int pid)
int RemoveSession (int pid)
void SetGroupPriority (const char *grp, int priority)
bool IsSchedOn ()
int SetNiceValues (int opt=0)
void SetSchedOpt (int opt)
int SetProcessPriority (int pid, const char *usr, int &dp)

Private Member Functions

void RegisterDirectives ()
int DoDirectivePriority (char *, XrdOucStream *, bool)
int DoDirectiveSchedOpt (char *, XrdOucStream *, bool)

Private Attributes

XrdSysRecMutex fMutex
XrdProofdManagerfMgr
XrdOucHash< XrdProofdSessionEntryfSessions
XrdOucHash< XrdProofdPriorityfPriorities
XrdProofdPipe fPipe
int fSchedOpt
int fPriorityMax
int fPriorityMin

Detailed Description

Definition at line 59 of file XrdProofdPriorityMgr.h.


Member Enumeration Documentation

enum XrdProofdPriorityMgr::PMProtocol

Definition at line 81 of file XrdProofdPriorityMgr.h.


Constructor & Destructor Documentation

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

Definition at line 117 of file XrdProofdPriorityMgr.cxx.

References fMgr, fPipe, fPriorityMax, fPriorityMin, fSchedOpt, XrdProofdPipe::IsValid(), kXPD_sched_off, RegisterDirectives(), TRACE, and XPDLOC.

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

Definition at line 79 of file XrdProofdPriorityMgr.h.


Member Function Documentation

void XrdProofdPriorityMgr::RegisterDirectives (  )  [private, virtual]

Reimplemented from XrdProofdConfig.

Definition at line 207 of file XrdProofdPriorityMgr.cxx.

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

Referenced by XrdProofdPriorityMgr().

int XrdProofdPriorityMgr::DoDirectivePriority ( char *  ,
XrdOucStream ,
bool   
) [private]

Definition at line 413 of file XrdProofdPriorityMgr.cxx.

References fPriorities, XrdOucStream::GetWord(), p, XrdOucHash< T >::Rep(), and strtol().

Referenced by DoDirective().

int XrdProofdPriorityMgr::DoDirectiveSchedOpt ( char *  ,
XrdOucStream ,
bool   
) [private]

Definition at line 436 of file XrdProofdPriorityMgr.cxx.

References XrdProofdAux::CheckIf(), fMgr, fPriorityMax, fPriorityMin, fSchedOpt, XrdProofdManager::Host(), kXPD_sched_central, kXPD_sched_local, o, TRACE, and XPDLOC.

Referenced by DoDirective().

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

Reimplemented from XrdProofdConfig.

Definition at line 161 of file XrdProofdPriorityMgr.cxx.

References XrdOucHash< T >::Apply(), XrdProofdConfig::Config(), DumpPriorityChanges(), XrdProofdConfig::fEDest, fMgr, fPriorities, fSchedOpt, XrdProofdManager::GroupsMgr(), kXPD_sched_central, kXPD_sched_off, XrdProofGroupMgr::Num(), XrdOucHash< T >::Num(), XrdSysThread::Run(), TRACE, XPDERR, XPDFORM, XPDLOC, and XrdProofdPriorityCron().

Referenced by XrdProofdManager::Config().

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

Reimplemented from XrdProofdConfig.

Definition at line 216 of file XrdProofdPriorityMgr.cxx.

References d, DoDirectivePriority(), DoDirectiveSchedOpt(), TRACE, and XPDLOC.

XrdProofdPipe* XrdProofdPriorityMgr::Pipe (  )  [inline]

Definition at line 87 of file XrdProofdPriorityMgr.h.

References fPipe.

Referenced by XrdProofdProtocol::PostSession(), XrdProofdAdmin::SetGroupProperties(), and XrdProofdPriorityCron().

int XrdProofdPriorityMgr::AddSession ( const char *  u,
const char *  g,
int  pid 
)

Definition at line 503 of file XrdProofdPriorityMgr.cxx.

References XrdOucHash< T >::Add(), XrdOucString::c_str(), XrdOucHash< T >::Find(), fSessions, and XrdOucHash< T >::Rep().

Referenced by XrdProofdPriorityCron().

int XrdProofdPriorityMgr::RemoveSession ( int  pid  ) 

Definition at line 493 of file XrdProofdPriorityMgr.cxx.

References XrdOucString::c_str(), XrdOucHash< T >::Del(), and fSessions.

Referenced by XrdProofdPriorityCron().

void XrdProofdPriorityMgr::SetGroupPriority ( const char *  grp,
int  priority 
)

Definition at line 236 of file XrdProofdPriorityMgr.cxx.

References fMgr, g, XrdProofGroupMgr::GetGroup(), XrdProofdManager::GroupsMgr(), kXPD_sched_central, and SetSchedOpt().

Referenced by XrdProofdPriorityCron().

bool XrdProofdPriorityMgr::IsSchedOn (  )  [inline]

Definition at line 94 of file XrdProofdPriorityMgr.h.

References fSchedOpt, and kXPD_sched_off.

Referenced by SetNiceValues().

int XrdProofdPriorityMgr::SetNiceValues ( int  opt = 0  ) 

Definition at line 320 of file XrdProofdPriorityMgr.cxx.

References XrdOucHash< T >::Apply(), CreateActiveList(), fMgr, fMutex, fPriorityMax, fPriorityMin, fSessions, XrdProofdManager::GroupsMgr(), i, IsSchedOn(), XrdProofGroupMgr::Num(), XrdOucHash< T >::Num(), ResetEntryPriority(), XrdProofGroupMgr::SetEffectiveFractions(), TRACE, TRACING, xmax, and XPDLOC.

Referenced by XrdProofdPriorityCron().

void XrdProofdPriorityMgr::SetSchedOpt ( int  opt  )  [inline]

Definition at line 96 of file XrdProofdPriorityMgr.h.

References fMutex, and fSchedOpt.

Referenced by SetGroupPriority().

int XrdProofdPriorityMgr::SetProcessPriority ( int  pid,
const char *  usr,
int &  dp 
)

Definition at line 523 of file XrdProofdPriorityMgr.cxx.

References XrdProofdPriority::fDeltaPriority, XrdOucHash< T >::Find(), fPriorities, XrdProofUI::fUid, XrdProofdAux::GetUserInfo(), XrdOucHash< T >::Num(), TRACE, XpdBadPGuard, XPDLOC, and XPPM_NOPRIORITY.

Referenced by XrdProofdProofServMgr::Create().


Member Data Documentation

XrdSysRecMutex XrdProofdPriorityMgr::fMutex [private]

Definition at line 61 of file XrdProofdPriorityMgr.h.

Referenced by SetNiceValues(), and SetSchedOpt().

XrdProofdManager* XrdProofdPriorityMgr::fMgr [private]

Definition at line 63 of file XrdProofdPriorityMgr.h.

Referenced by Config(), DoDirectiveSchedOpt(), SetGroupPriority(), SetNiceValues(), and XrdProofdPriorityMgr().

XrdOucHash<XrdProofdSessionEntry> XrdProofdPriorityMgr::fSessions [private]

Definition at line 64 of file XrdProofdPriorityMgr.h.

Referenced by AddSession(), RemoveSession(), and SetNiceValues().

XrdOucHash<XrdProofdPriority> XrdProofdPriorityMgr::fPriorities [private]

Definition at line 65 of file XrdProofdPriorityMgr.h.

Referenced by Config(), DoDirectivePriority(), and SetProcessPriority().

XrdProofdPipe XrdProofdPriorityMgr::fPipe [private]

Definition at line 67 of file XrdProofdPriorityMgr.h.

Referenced by Pipe(), and XrdProofdPriorityMgr().

int XrdProofdPriorityMgr::fSchedOpt [private]

Definition at line 69 of file XrdProofdPriorityMgr.h.

Referenced by Config(), DoDirectiveSchedOpt(), IsSchedOn(), SetSchedOpt(), and XrdProofdPriorityMgr().

int XrdProofdPriorityMgr::fPriorityMax [private]

Definition at line 70 of file XrdProofdPriorityMgr.h.

Referenced by DoDirectiveSchedOpt(), SetNiceValues(), and XrdProofdPriorityMgr().

int XrdProofdPriorityMgr::fPriorityMin [private]

Definition at line 71 of file XrdProofdPriorityMgr.h.

Referenced by DoDirectiveSchedOpt(), SetNiceValues(), and XrdProofdPriorityMgr().


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