Definition at line 55 of file XrdProofdPriorityMgr.h.
Public Types | |
enum | PMProtocol { kChangeStatus = 0 , kSetGroupPriority = 1 } |
Public Member Functions | |
XrdProofdPriorityMgr (XrdProofdManager *mgr, XrdProtocol_Config *pi, XrdSysError *e) | |
Constructor. | |
virtual | ~XrdProofdPriorityMgr () |
int | AddSession (const char *u, const char *g, int pid) |
Add to the active list a session with ID pid. | |
int | Config (bool rcf=0) |
Run configuration and parse the entered config directives. | |
int | DoDirective (XrdProofdDirective *d, char *val, XrdOucStream *cfg, bool rcf) |
Update the priorities of the active sessions. | |
bool | IsSchedOn () |
XrdProofdPipe * | Pipe () |
int | RemoveSession (int pid) |
Remove from the active list the session with ID pid. | |
void | SetGroupPriority (const char *grp, int priority) |
Change group priority. Used when a master pushes a priority to a worker. | |
int | SetNiceValues (int opt=0) |
Recalculate nice values taking into account all active users and their priorities. | |
int | SetProcessPriority (int pid, const char *usr, int &dp) |
Change priority of process pid belonging to user, if needed. | |
void | SetSchedOpt (int opt) |
Public Member Functions inherited from XrdProofdConfig | |
XrdProofdConfig (const char *cfg=0, XrdSysError *edest=0) | |
Main constructor. | |
virtual | ~XrdProofdConfig () |
const char * | CfgFile () const |
void | SetCfgEDest (const char *cfg, XrdSysError *edest) |
Set config file and error handler. | |
Private Member Functions | |
int | DoDirectivePriority (char *, XrdOucStream *, bool) |
Process 'priority' directive. | |
int | DoDirectiveSchedOpt (char *, XrdOucStream *, bool) |
Process 'schedopt' directive. | |
void | RegisterDirectives () |
Register directives for configuration. | |
Private Attributes | |
XrdProofdManager * | fMgr |
XrdSysRecMutex | fMutex |
XrdProofdPipe | fPipe |
XrdOucHash< XrdProofdPriority > | fPriorities |
int | fPriorityMax |
int | fPriorityMin |
int | fSchedOpt |
XrdOucHash< XrdProofdSessionEntry > | fSessions |
Additional Inherited Members | |
Protected Member Functions inherited from XrdProofdConfig | |
int | ParseFile (bool rcf=false) |
Parse config file for the registered directives. | |
bool | ReadFile (bool update=true) |
Return true if the file has never been read or did change since last reading, false otherwise. | |
void | Register (const char *dname, XrdProofdDirective *d) |
Protected Attributes inherited from XrdProofdConfig | |
XrdSysError * | fEDest |
#include <XrdProofdPriorityMgr.h>
Enumerator | |
---|---|
kChangeStatus | |
kSetGroupPriority |
Definition at line 77 of file XrdProofdPriorityMgr.h.
XrdProofdPriorityMgr::XrdProofdPriorityMgr | ( | XrdProofdManager * | mgr, |
XrdProtocol_Config * | pi, | ||
XrdSysError * | e | ||
) |
Constructor.
Definition at line 120 of file XrdProofdPriorityMgr.cxx.
|
inlinevirtual |
Definition at line 75 of file XrdProofdPriorityMgr.h.
Add to the active list a session with ID pid.
Check for duplications. Returns 1 if the entry existed already and it has been replaced; or 0.
Definition at line 514 of file XrdProofdPriorityMgr.cxx.
Run configuration and parse the entered config directives.
Return 0 on success, -1 on error
Reimplemented from XrdProofdConfig.
Definition at line 167 of file XrdProofdPriorityMgr.cxx.
|
virtual |
Update the priorities of the active sessions.
Reimplemented from XrdProofdConfig.
Definition at line 222 of file XrdProofdPriorityMgr.cxx.
Process 'priority' directive.
Definition at line 422 of file XrdProofdPriorityMgr.cxx.
Process 'schedopt' directive.
Definition at line 445 of file XrdProofdPriorityMgr.cxx.
|
inline |
Definition at line 90 of file XrdProofdPriorityMgr.h.
|
inline |
Definition at line 83 of file XrdProofdPriorityMgr.h.
|
privatevirtual |
Register directives for configuration.
Reimplemented from XrdProofdConfig.
Definition at line 213 of file XrdProofdPriorityMgr.cxx.
Remove from the active list the session with ID pid.
Return -ENOENT if not found, or 0.
Definition at line 504 of file XrdProofdPriorityMgr.cxx.
Change group priority. Used when a master pushes a priority to a worker.
Definition at line 243 of file XrdProofdPriorityMgr.cxx.
Recalculate nice values taking into account all active users and their priorities.
The type of sessions considered depend on 'opt': 0 all active sessions 1 master sessions 2 worker sessionsg21 Return 0 on success, -1 otherwise.
Definition at line 334 of file XrdProofdPriorityMgr.cxx.
Change priority of process pid belonging to user, if needed.
Return 0 on success, -errno in case of error
Definition at line 534 of file XrdProofdPriorityMgr.cxx.
Definition at line 92 of file XrdProofdPriorityMgr.h.
|
private |
Definition at line 59 of file XrdProofdPriorityMgr.h.
|
private |
Definition at line 57 of file XrdProofdPriorityMgr.h.
|
private |
Definition at line 63 of file XrdProofdPriorityMgr.h.
|
private |
Definition at line 61 of file XrdProofdPriorityMgr.h.
|
private |
Definition at line 66 of file XrdProofdPriorityMgr.h.
|
private |
Definition at line 67 of file XrdProofdPriorityMgr.h.
|
private |
Definition at line 65 of file XrdProofdPriorityMgr.h.
|
private |
Definition at line 60 of file XrdProofdPriorityMgr.h.