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

XrdSysError * XrdLog
XrdOucTrace * XrdTrace
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
XrdJob * WorkFirst
XrdJob * WorkLast
XrdSysSemaphore WorkAvail
XrdSysMutex SchedMutex
XrdJob * TimerQueue
XrdSysCondVar TimerRings
XrdSysMutex TimerMutex
XrdSchedulerPID * firstPID
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: