#include <XrdProofdPriorityMgr.h>
Inheritance diagram for XrdProofdPriorityMgr:
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) |
XrdProofdPipe * | Pipe () |
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 |
XrdProofdManager * | fMgr |
XrdOucHash< XrdProofdSessionEntry > | fSessions |
XrdOucHash< XrdProofdPriority > | fPriorities |
XrdProofdPipe | fPipe |
int | fSchedOpt |
int | fPriorityMax |
int | fPriorityMin |
Definition at line 59 of file XrdProofdPriorityMgr.h.
Definition at line 81 of file XrdProofdPriorityMgr.h.
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.
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().
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().
Definition at line 64 of file XrdProofdPriorityMgr.h.
Referenced by AddSession(), RemoveSession(), and SetNiceValues().
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().