xrootd
Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | Static Private Attributes
XrdScheduler Class Reference

#include <XrdScheduler.hh>

Inheritance diagram for XrdScheduler:
Inheritance graph
[legend]
Collaboration diagram for XrdScheduler:
Collaboration graph
[legend]

List of all members.

Public Member Functions

int Active ()
void Cancel (XrdJob *jp)
int canStick ()
void DoIt ()
pid_t Fork (const char *id)
void * Reaper ()
void Run ()
void Schedule (XrdJob *jp)
void Schedule (int num, XrdJob *jfirst, XrdJob *jlast)
void Schedule (XrdJob *jp, time_t atime)
void setParms (int minw, int maxw, int avlt, int maxi, int once=0)
void Start ()
int Stats (char *buff, int blen, int do_sync=0)
void TimeSched ()
 XrdScheduler (XrdSysError *eP, XrdOucTrace *tP, int minw=8, int maxw=2048, int maxi=780)
 ~XrdScheduler ()

Public Attributes

int num_TCreate
int num_TDestroy
int num_Jobs
int max_QLength
int num_Limited

Private Member Functions

void hireWorker (int dotrace=1)
void Monitor ()
void traceExit (pid_t pid, int status)

Private Attributes

XrdSysErrorXrdLog
XrdOucTraceXrdTrace
XrdSysMutex DispatchMutex
int idl_Workers
int min_Workers
int max_Workers
int max_Workidl
int num_Workers
int stk_Workers
int num_JobsinQ
int num_Layoffs
XrdJobWorkFirst
XrdJobWorkLast
XrdSysSemaphore WorkAvail
XrdSysMutex SchedMutex
XrdJobTimerQueue
XrdSysCondVar TimerRings
XrdSysMutex TimerMutex
XrdSchedulerPIDfirstPID
XrdSysMutex ReaperMutex

Static Private Attributes

static const char * TraceID = "Sched"

Constructor & Destructor Documentation

XrdScheduler::XrdScheduler ( XrdSysError eP,
XrdOucTrace tP,
int  minw = 8,
int  maxw = 2048,
int  maxi = 780 
)
XrdScheduler::~XrdScheduler ( )

Member Function Documentation

int XrdScheduler::Active ( ) [inline]

References num_Workers, idl_Workers, and num_JobsinQ.

Referenced by XrdStats::Report().

void XrdScheduler::Cancel ( XrdJob jp)
int XrdScheduler::canStick ( ) [inline]

References num_Workers, stk_Workers, and idl_Workers.

Referenced by XrdLink::DoIt().

void XrdScheduler::DoIt ( ) [virtual]
pid_t XrdScheduler::Fork ( const char *  id)
void XrdScheduler::hireWorker ( int  dotrace = 1) [private]
void XrdScheduler::Monitor ( ) [private]
void * XrdScheduler::Reaper ( )
void XrdScheduler::Run ( )
void XrdScheduler::Schedule ( XrdJob jp)
void XrdScheduler::Schedule ( int  num,
XrdJob jfirst,
XrdJob jlast 
)
void XrdScheduler::Schedule ( XrdJob jp,
time_t  atime 
)
void XrdScheduler::setParms ( int  minw,
int  maxw,
int  avlt,
int  maxi,
int  once = 0 
)
void XrdScheduler::Start ( )
int XrdScheduler::Stats ( char *  buff,
int  blen,
int  do_sync = 0 
)
void XrdScheduler::TimeSched ( )
void XrdScheduler::traceExit ( pid_t  pid,
int  status 
) [private]

References WIFEXITED, WEXITSTATUS, WIFSIGNALED, WTERMSIG, and TRACE.

Referenced by Reaper().


Member Data Documentation

Referenced by DoIt(), Run(), and Stats().

Referenced by XrdScheduler(), Fork(), and Reaper().

Referenced by XrdScheduler(), Schedule(), and Stats().

Referenced by XrdScheduler(), setParms(), and hireWorker().

Referenced by XrdScheduler(), DoIt(), setParms(), and Start().

Referenced by XrdScheduler(), Schedule(), and Stats().

Referenced by DoIt(), and Run().

Referenced by XrdScheduler(), Stats(), and hireWorker().

Referenced by XrdScheduler(), Stats(), and hireWorker().

Referenced by XrdScheduler(), Run(), and Stats().

Referenced by Fork(), and Reaper().

Referenced by Cancel(), Schedule(), and TimeSched().

Referenced by Schedule(), and TimeSched().

const char * XrdScheduler::TraceID = "Sched" [static, private]

Referenced by DoIt(), Run(), and Schedule().

Referenced by XrdScheduler(), Run(), and Schedule().

Referenced by XrdScheduler(), Run(), and Schedule().

Referenced by XrdScheduler().


The documentation for this class was generated from the following files: