xrootd
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
XrdScheduler Class Reference

#include <XrdScheduler.hh>

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

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, XrdSysTrace *tP, int minw=8, int maxw=8192, int maxi=780)
 
 XrdScheduler (XrdSysError *eP, XrdOucTrace *tP, int minw=8, int maxw=8192, int maxi=780)
 
 XrdScheduler (int minw=3, int maxw=128, int maxi=12)
 
 ~XrdScheduler ()
 
- Public Member Functions inherited from XrdJob
 XrdJob (const char *desc="")
 
virtual ~XrdJob ()
 

Public Attributes

int num_TCreate
 
int num_TDestroy
 
int num_Jobs
 
int max_QLength
 
int num_Limited
 
- Public Attributes inherited from XrdJob
XrdJobNextJob
 
const char * Comment
 

Private Member Functions

void Boot (XrdSysError *eP, XrdSysTrace *tP, int minw, int maxw, int maxi)
 
void hireWorker (int dotrace=1)
 
void Init (int minw, int maxw, int maxi)
 
void Monitor ()
 
void traceExit (pid_t pid, int status)
 

Private Attributes

XrdSysErrorXrdLog
 
XrdSysTraceXrdTrace
 
XrdOucTraceXrdTraceOld
 
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
 
XrdSchedulerPID * firstPID
 
XrdSysMutex ReaperMutex
 

Static Private Attributes

static const char * TraceID
 

Constructor & Destructor Documentation

◆ XrdScheduler() [1/3]

XrdScheduler::XrdScheduler ( XrdSysError eP,
XrdSysTrace tP,
int  minw = 8,
int  maxw = 8192,
int  maxi = 780 
)

◆ XrdScheduler() [2/3]

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

◆ XrdScheduler() [3/3]

XrdScheduler::XrdScheduler ( int  minw = 3,
int  maxw = 128,
int  maxi = 12 
)

◆ ~XrdScheduler()

XrdScheduler::~XrdScheduler ( )

Member Function Documentation

◆ Active()

int XrdScheduler::Active ( )
inline

References idl_Workers, num_JobsinQ, and num_Workers.

◆ Boot()

void XrdScheduler::Boot ( XrdSysError eP,
XrdSysTrace tP,
int  minw,
int  maxw,
int  maxi 
)
private

◆ Cancel()

void XrdScheduler::Cancel ( XrdJob jp)

◆ canStick()

int XrdScheduler::canStick ( )
inline

References idl_Workers, num_Workers, and stk_Workers.

◆ DoIt()

void XrdScheduler::DoIt ( )
virtual

Implements XrdJob.

◆ Fork()

pid_t XrdScheduler::Fork ( const char *  id)

◆ hireWorker()

void XrdScheduler::hireWorker ( int  dotrace = 1)
private

◆ Init()

void XrdScheduler::Init ( int  minw,
int  maxw,
int  maxi 
)
private

◆ Monitor()

void XrdScheduler::Monitor ( )
private

◆ Reaper()

void * XrdScheduler::Reaper ( )

◆ Run()

void XrdScheduler::Run ( )

◆ Schedule() [1/3]

void XrdScheduler::Schedule ( int  num,
XrdJob jfirst,
XrdJob jlast 
)

◆ Schedule() [2/3]

void XrdScheduler::Schedule ( XrdJob jp)

◆ Schedule() [3/3]

void XrdScheduler::Schedule ( XrdJob jp,
time_t  atime 
)

◆ setParms()

void XrdScheduler::setParms ( int  minw,
int  maxw,
int  avlt,
int  maxi,
int  once = 0 
)

◆ Start()

void XrdScheduler::Start ( )

◆ Stats()

int XrdScheduler::Stats ( char *  buff,
int  blen,
int  do_sync = 0 
)

◆ TimeSched()

void XrdScheduler::TimeSched ( )

◆ traceExit()

void XrdScheduler::traceExit ( pid_t  pid,
int  status 
)
private

Member Data Documentation

◆ DispatchMutex

XrdSysMutex XrdScheduler::DispatchMutex
private

◆ firstPID

XrdSchedulerPID* XrdScheduler::firstPID
private

◆ idl_Workers

int XrdScheduler::idl_Workers
private

Referenced by Active(), and canStick().

◆ max_QLength

int XrdScheduler::max_QLength

◆ max_Workers

int XrdScheduler::max_Workers
private

◆ max_Workidl

int XrdScheduler::max_Workidl
private

◆ min_Workers

int XrdScheduler::min_Workers
private

◆ num_Jobs

int XrdScheduler::num_Jobs

◆ num_JobsinQ

int XrdScheduler::num_JobsinQ
private

Referenced by Active().

◆ num_Layoffs

int XrdScheduler::num_Layoffs
private

◆ num_Limited

int XrdScheduler::num_Limited

◆ num_TCreate

int XrdScheduler::num_TCreate

◆ num_TDestroy

int XrdScheduler::num_TDestroy

◆ num_Workers

int XrdScheduler::num_Workers
private

Referenced by Active(), and canStick().

◆ ReaperMutex

XrdSysMutex XrdScheduler::ReaperMutex
private

◆ SchedMutex

XrdSysMutex XrdScheduler::SchedMutex
private

◆ stk_Workers

int XrdScheduler::stk_Workers
private

Referenced by canStick().

◆ TimerMutex

XrdSysMutex XrdScheduler::TimerMutex
private

◆ TimerQueue

XrdJob* XrdScheduler::TimerQueue
private

◆ TimerRings

XrdSysCondVar XrdScheduler::TimerRings
private

◆ TraceID

const char* XrdScheduler::TraceID
staticprivate

◆ WorkAvail

XrdSysSemaphore XrdScheduler::WorkAvail
private

◆ WorkFirst

XrdJob* XrdScheduler::WorkFirst
private

◆ WorkLast

XrdJob* XrdScheduler::WorkLast
private

◆ XrdLog

XrdSysError* XrdScheduler::XrdLog
private

◆ XrdTrace

XrdSysTrace* XrdScheduler::XrdTrace
private

◆ XrdTraceOld

XrdOucTrace* XrdScheduler::XrdTraceOld
private

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