|
xrootd
|
#include <XrdXrootdJob.hh>


Public Member Functions | |
| int | Cancel (const char *jkey=0, XrdXrootdResponse *resp=0) |
| void | DoIt () |
| XrdOucTList * | List (void) |
| int | Schedule (const char *jkey, const char **args, XrdXrootdResponse *resp, int Opts=0) |
| XrdXrootdJob (XrdScheduler *schp, XrdOucProg *pgm, const char *jname, int maxjobs=4) | |
| ~XrdXrootdJob () | |
Private Member Functions | |
| void | CleanUp (XrdXrootdJob2Do *jp) |
| int | sendResult (XrdXrootdResponse *resp, const char *rpfx, XrdXrootdJob2Do *job) |
Private Attributes | |
| XrdSysMutex | myMutex |
| XrdScheduler * | Sched |
| XrdOucTable< XrdXrootdJob2Do > | JobTable |
| XrdOucProg * | theProg |
| char * | JobName |
| int | maxJobs |
| int | numJobs |
Static Private Attributes | |
| static const int | reScan = 15*60 |
Friends | |
| class | XrdXrootdJob2Do |
| XrdXrootdJob::XrdXrootdJob | ( | XrdScheduler * | schp, |
| XrdOucProg * | pgm, | ||
| const char * | jname, | ||
| int | maxjobs = 4 |
||
| ) |
| XrdXrootdJob::~XrdXrootdJob | ( | ) |
References JobName, myMutex, XrdSysMutex::Lock(), Sched, XrdScheduler::Cancel(), and XrdSysMutex::UnLock().
| int XrdXrootdJob::Cancel | ( | const char * | jkey = 0, |
| XrdXrootdResponse * | resp = 0 |
||
| ) |
| void XrdXrootdJob::CleanUp | ( | XrdXrootdJob2Do * | jp | ) | [private] |
References XrdXrootdJob2Do::Status, XrdXrootdJob2Do::Job_Waiting, XrdXrootdJob2Do::Job_Done, Sched, XrdScheduler::Schedule(), XrdXrootdJob2Do::Job_Active, and numJobs.
Referenced by Cancel(), DoIt(), and sendResult().
| void XrdXrootdJob::DoIt | ( | ) | [virtual] |
Implements XrdJob.
References JobTable, XrdOucTable::Next(), myMutex, XrdSysMutex::Lock(), XrdOucTable::Item(), XrdXrootdJob2Do::JobMark, XrdXrootdJob2Do::verClient(), CleanUp(), XrdSysMutex::UnLock(), Sched, XrdScheduler::Schedule(), and reScan.
| XrdOucTList * XrdXrootdJob::List | ( | void | ) |
References JobTable, XrdOucTable::Next(), myMutex, XrdSysMutex::Lock(), XrdOucTable::Item(), XrdXrootdJob2Do::lstClient(), JobName, and XrdSysMutex::UnLock().
Referenced by XrdXrootdAdmin::do_Lsj_Xeq().
| int XrdXrootdJob::Schedule | ( | const char * | jkey, |
| const char ** | args, | ||
| XrdXrootdResponse * | resp, | ||
| int | Opts = 0 |
||
| ) |
References JOB_Sync, XrdXrootdResponse::Send(), kXR_ArgMissing, myMutex, XrdSysMutex::Lock(), JOB_Unique, JobTable, XrdOucTable::Find(), XrdXrootdJob2Do::Status, XrdXrootdJob2Do::Job_Done, sendResult(), XrdSysMutex::UnLock(), XrdXrootdJob2Do::addClient(), XrdOucTable::Alloc(), XrdXrootdJob2Do, XrdOucTable::Insert(), numJobs, maxJobs, Sched, XrdScheduler::Schedule(), kXR_wait, and kXR_waitresp.
Referenced by XrdXrootdProtocol::do_CKsum().
| int XrdXrootdJob::sendResult | ( | XrdXrootdResponse * | resp, |
| const char * | rpfx, | ||
| XrdXrootdJob2Do * | job | ||
| ) | [private] |
References XrdXrootdJob2Do::theResult, XrdXrootdResponse::Send(), kXR_ServerError, iovec::iov_base, iovec::iov_len, XrdXrootdJob2Do::delClient(), XrdXrootdJob2Do::numClients, and CleanUp().
Referenced by Schedule().
friend class XrdXrootdJob2Do [friend] |
Referenced by Schedule().
char* XrdXrootdJob::JobName [private] |
Referenced by XrdXrootdJob(), ~XrdXrootdJob(), and List().
XrdOucTable<XrdXrootdJob2Do> XrdXrootdJob::JobTable [private] |
Referenced by XrdXrootdJob2Do::DoIt(), XrdXrootdJob2Do::verClient(), XrdXrootdJob2Do::Redrive(), Cancel(), DoIt(), List(), and Schedule().
int XrdXrootdJob::maxJobs [private] |
Referenced by XrdXrootdJob2Do::DoIt(), XrdXrootdJob(), and Schedule().
XrdSysMutex XrdXrootdJob::myMutex [private] |
Referenced by XrdXrootdJob2Do::DoIt(), ~XrdXrootdJob(), Cancel(), DoIt(), List(), and Schedule().
int XrdXrootdJob::numJobs [private] |
Referenced by XrdXrootdJob2Do::DoIt(), XrdXrootdJob2Do::verClient(), XrdXrootdJob(), Schedule(), and CleanUp().
const int XrdXrootdJob::reScan = 15*60 [static, private] |
Referenced by XrdXrootdJob(), and DoIt().
XrdScheduler* XrdXrootdJob::Sched [private] |
Referenced by XrdXrootdJob2Do::Redrive(), XrdXrootdJob(), ~XrdXrootdJob(), DoIt(), Schedule(), and CleanUp().
XrdOucProg* XrdXrootdJob::theProg [private] |
Referenced by XrdXrootdJob2Do::DoIt(), and XrdXrootdJob().
1.7.5