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 (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

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 ( int  minw = 8,
int  maxw = 2048,
int  maxi = 780 
)
XrdScheduler::~XrdScheduler ( )

Member Function Documentation

int XrdScheduler::Active ( ) [inline]

References idl_Workers, num_JobsinQ, and num_Workers.

Referenced by XrdStats::Report().

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

References idl_Workers, num_Workers, and stk_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 TRACE, WEXITSTATUS, WIFEXITED, WIFSIGNALED, and WTERMSIG.

Referenced by Reaper().


Member Data Documentation

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

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

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

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

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

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

Referenced by DoIt(), and Run().

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

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

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

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 Run(), Schedule(), and XrdScheduler().

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


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