#include <XrdScheduler.hh>
Public Member Functions | |
XrdScheduler (int minw=3, int maxw=128, int maxi=12) | |
XrdScheduler (XrdSysError *eP, XrdOucTrace *tP, int minw=8, int maxw=8192, int maxi=780) | |
XrdScheduler (XrdSysError *eP, XrdSysTrace *tP, int minw=8, int maxw=8192, int maxi=780) | |
~XrdScheduler () | |
int | Active () |
void | Cancel (XrdJob *jp) |
int | canStick () |
void | DoIt () |
pid_t | Fork (const char *id) |
void * | Reaper () |
void | Run () |
void | Schedule (int num, XrdJob *jfirst, XrdJob *jlast) |
void | Schedule (XrdJob *jp) |
void | Schedule (XrdJob *jp, time_t atime) |
void | setNproc (const bool limlower) |
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 () |
Public Member Functions inherited from XrdJob | |
XrdJob (const char *desc="") | |
virtual | ~XrdJob () |
Public Attributes | |
int | max_QLength |
int | num_Jobs |
int | num_Limited |
int | num_TCreate |
int | num_TDestroy |
Public Attributes inherited from XrdJob | |
const char * | Comment |
XrdJob * | NextJob |
Definition at line 46 of file XrdScheduler.hh.
XrdScheduler::XrdScheduler | ( | XrdSysError * | eP, |
XrdSysTrace * | tP, | ||
int | minw = 8, | ||
int | maxw = 8192, | ||
int | maxi = 780 ) |
Definition at line 97 of file XrdScheduler.cc.
References XrdJob::XrdJob().
XrdScheduler::XrdScheduler | ( | XrdSysError * | eP, |
XrdOucTrace * | tP, | ||
int | minw = 8, | ||
int | maxw = 8192, | ||
int | maxi = 780 ) |
Definition at line 108 of file XrdScheduler.cc.
References XrdJob::XrdJob(), and XrdSysError::logger().
XrdScheduler::XrdScheduler | ( | int | minw = 3, |
int | maxw = 128, | ||
int | maxi = 12 ) |
Definition at line 123 of file XrdScheduler.cc.
References XrdJob::XrdJob(), fcntl(), Logger, and TRACE_SCHED.
XrdScheduler::~XrdScheduler | ( | ) |
Definition at line 177 of file XrdScheduler.cc.
|
inline |
Definition at line 50 of file XrdScheduler.hh.
void XrdScheduler::Cancel | ( | XrdJob * | jp | ) |
Definition at line 185 of file XrdScheduler.cc.
References XrdJob::XrdJob(), XrdJob::Comment, XrdJob::NextJob, and TRACE.
Referenced by Schedule(), and setParms().
|
inline |
Definition at line 54 of file XrdScheduler.hh.
|
virtual |
Implements XrdJob.
Definition at line 215 of file XrdScheduler.cc.
References XrdJob::XrdJob(), Schedule(), and TRACE.
pid_t XrdScheduler::Fork | ( | const char * | id | ) |
Definition at line 245 of file XrdScheduler.cc.
References XrdSysThread::Run(), and XrdStartReaper().
void * XrdScheduler::Reaper | ( | ) |
Definition at line 283 of file XrdScheduler.cc.
References XrdSchedulerPID::next, XrdSchedulerPID::pid, TRACE_SCHED, TRACING, and ts().
Referenced by XrdStartReaper().
void XrdScheduler::Run | ( | ) |
Definition at line 329 of file XrdScheduler.cc.
References XrdJob::XrdJob(), XrdJob::Comment, XrdJob::DoIt(), XrdJob::NextJob, num_TDestroy, TRACE, TRACE_SCHED, and TRACING.
Referenced by XrdStartWorking().
Definition at line 404 of file XrdScheduler.cc.
References XrdJob::XrdJob(), max_QLength, XrdJob::NextJob, and num_Jobs.
void XrdScheduler::Schedule | ( | XrdJob * | jp | ) |
Definition at line 373 of file XrdScheduler.cc.
References XrdJob::XrdJob(), max_QLength, XrdJob::NextJob, and num_Jobs.
Referenced by XrdXrootdJob::XrdXrootdJob(), XrdXrootdPrepare::XrdXrootdPrepare(), XrdPollE::Disable(), XrdPollPoll::Disable(), DoIt(), XrdXrootdCallBack::Done(), mainAccept(), mainAdmin(), setParms(), XrdPollE::Start(), XrdPollPoll::Start(), Start(), and TimeSched().
void XrdScheduler::Schedule | ( | XrdJob * | jp, |
time_t | atime ) |
Definition at line 439 of file XrdScheduler.cc.
References XrdJob::XrdJob(), Cancel(), XrdJob::Comment, XrdJob::NextJob, TRACE, TRACE_SCHED, and TRACING.
void XrdScheduler::setNproc | ( | const bool | limlower | ) |
Definition at line 474 of file XrdScheduler.cc.
References close, DFL_SCHED_PROCS, MAX_SCHED_PROCS, open, and read.
void XrdScheduler::setParms | ( | int | minw, |
int | maxw, | ||
int | avlt, | ||
int | maxi, | ||
int | once = 0 ) |
Definition at line 548 of file XrdScheduler.cc.
References XrdJob::XrdJob(), Cancel(), Schedule(), and TRACE.
void XrdScheduler::Start | ( | ) |
Definition at line 594 of file XrdScheduler.cc.
References XrdJob::XrdJob(), XrdSysThread::Run(), Schedule(), TRACE, TRACE_SCHED, XrdStartTSched(), and XRDSYSTHREAD_BIND.
int XrdScheduler::Stats | ( | char * | buff, |
int | blen, | ||
int | do_sync = 0 ) |
Definition at line 628 of file XrdScheduler.cc.
References max_QLength, num_Jobs, num_Limited, num_TCreate, and num_TDestroy.
void XrdScheduler::TimeSched | ( | ) |
Definition at line 671 of file XrdScheduler.cc.
References XrdJob::XrdJob(), XrdJob::NextJob, and Schedule().
Referenced by XrdStartTSched().
int XrdScheduler::max_QLength |
Definition at line 84 of file XrdScheduler.hh.
Referenced by Schedule(), Schedule(), and Stats().
int XrdScheduler::num_Jobs |
Definition at line 83 of file XrdScheduler.hh.
Referenced by Schedule(), Schedule(), and Stats().
int XrdScheduler::num_Limited |
Definition at line 85 of file XrdScheduler.hh.
Referenced by Stats().
int XrdScheduler::num_TCreate |
Definition at line 81 of file XrdScheduler.hh.
Referenced by Stats().
int XrdScheduler::num_TDestroy |
Definition at line 82 of file XrdScheduler.hh.