#include <XrdXrootdJob.hh>
Inheritance diagram for XrdXrootdJob:

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 |
Definition at line 33 of file XrdXrootdJob.hh.
| XrdXrootdJob::XrdXrootdJob | ( | XrdScheduler * | schp, | |
| XrdOucProg * | pgm, | |||
| const char * | jname, | |||
| int | maxjobs = 4 | |||
| ) |
Definition at line 401 of file XrdXrootdJob.cc.
References JobName, maxJobs, numJobs, reScan, Sched, XrdScheduler::Schedule(), and theProg.
| XrdXrootdJob::~XrdXrootdJob | ( | ) |
Definition at line 429 of file XrdXrootdJob.cc.
References XrdScheduler::Cancel(), free(), JobName, XrdSysMutex::Lock(), myMutex, Sched, and XrdSysMutex::UnLock().
| int XrdXrootdJob::Cancel | ( | const char * | jkey = 0, |
|
| XrdXrootdResponse * | resp = 0 | |||
| ) |
Definition at line 441 of file XrdXrootdJob.cc.
References CleanUp(), XrdXrootdJob2Do::delClient(), XrdOucTable< T >::Find(), i, XrdOucTable< T >::Item(), JobTable, XrdSysMutex::Lock(), myMutex, XrdOucTable< T >::Next(), XrdXrootdJob2Do::numClients, and XrdSysMutex::UnLock().
Referenced by XrdXrootdAdmin::do_Cj(), and XrdXrootdProtocol::do_CKsum().
| void XrdXrootdJob::DoIt | ( | ) | [virtual] |
Implements XrdJob.
Definition at line 489 of file XrdXrootdJob.cc.
References CleanUp(), XrdOucTable< T >::Item(), XrdXrootdJob2Do::JobMark, JobTable, XrdSysMutex::Lock(), myMutex, XrdOucTable< T >::Next(), reScan, Sched, XrdScheduler::Schedule(), XrdSysMutex::UnLock(), and XrdXrootdJob2Do::verClient().
| XrdOucTList * XrdXrootdJob::List | ( | void | ) |
Definition at line 516 of file XrdXrootdJob.cc.
References XrdOucTable< T >::Item(), JobName, JobTable, XrdSysMutex::Lock(), XrdXrootdJob2Do::lstClient(), myMutex, XrdOucTable< T >::Next(), sprintf(), and XrdSysMutex::UnLock().
Referenced by XrdXrootdAdmin::do_Lsj_Xeq().
| int XrdXrootdJob::Schedule | ( | const char * | jkey, | |
| const char ** | args, | |||
| XrdXrootdResponse * | resp, | |||
| int | Opts = 0 | |||
| ) |
Definition at line 545 of file XrdXrootdJob.cc.
References XrdXrootdJob2Do::addClient(), XrdOucTable< T >::Alloc(), XrdOucTable< T >::Find(), XrdOucTable< T >::Insert(), XrdXrootdJob2Do::Job_Active, XrdXrootdJob2Do::Job_Done, JOB_Sync, JOB_Unique, JobTable, kXR_ArgMissing, kXR_wait, kXR_waitresp, XrdSysMutex::Lock(), maxJobs, myMutex, numJobs, Sched, XrdScheduler::Schedule(), XrdXrootdResponse::Send(), sendResult(), XrdXrootdJob2Do::Status, XrdSysMutex::UnLock(), and XrdXrootdJob2Do.
Referenced by XrdXrootdProtocol::do_CKsum().
| void XrdXrootdJob::CleanUp | ( | XrdXrootdJob2Do * | jp | ) | [private] |
Definition at line 599 of file XrdXrootdJob.cc.
References XrdXrootdJob2Do::Job_Active, XrdXrootdJob2Do::Job_Cancel, XrdXrootdJob2Do::Job_Done, XrdXrootdJob2Do::Job_Waiting, numJobs, Sched, XrdScheduler::Schedule(), and XrdXrootdJob2Do::Status.
Referenced by Cancel(), DoIt(), and sendResult().
| int XrdXrootdJob::sendResult | ( | XrdXrootdResponse * | resp, | |
| const char * | rpfx, | |||
| XrdXrootdJob2Do * | job | |||
| ) | [private] |
Definition at line 621 of file XrdXrootdJob.cc.
References CleanUp(), XrdXrootdJob2Do::delClient(), i, iovec::iov_base, iovec::iov_len, kXR_ServerError, XrdXrootdJob2Do::numClients, XrdXrootdResponse::Send(), and XrdXrootdJob2Do::theResult.
Referenced by Schedule().
friend class XrdXrootdJob2Do [friend] |
const int XrdXrootdJob::reScan = 15*60 [static, private] |
XrdSysMutex XrdXrootdJob::myMutex [private] |
Definition at line 69 of file XrdXrootdJob.hh.
Referenced by Cancel(), DoIt(), XrdXrootdJob2Do::DoIt(), List(), Schedule(), and ~XrdXrootdJob().
XrdScheduler* XrdXrootdJob::Sched [private] |
Definition at line 70 of file XrdXrootdJob.hh.
Referenced by CleanUp(), DoIt(), XrdXrootdJob2Do::Redrive(), Schedule(), XrdXrootdJob(), and ~XrdXrootdJob().
XrdOucTable<XrdXrootdJob2Do> XrdXrootdJob::JobTable [private] |
Definition at line 71 of file XrdXrootdJob.hh.
Referenced by Cancel(), DoIt(), XrdXrootdJob2Do::DoIt(), List(), XrdXrootdJob2Do::Redrive(), Schedule(), and XrdXrootdJob2Do::verClient().
XrdOucProg* XrdXrootdJob::theProg [private] |
Definition at line 72 of file XrdXrootdJob.hh.
Referenced by XrdXrootdJob2Do::DoIt(), and XrdXrootdJob().
char* XrdXrootdJob::JobName [private] |
Definition at line 73 of file XrdXrootdJob.hh.
Referenced by List(), XrdXrootdJob(), and ~XrdXrootdJob().
int XrdXrootdJob::maxJobs [private] |
Definition at line 74 of file XrdXrootdJob.hh.
Referenced by XrdXrootdJob2Do::DoIt(), Schedule(), and XrdXrootdJob().
int XrdXrootdJob::numJobs [private] |
Definition at line 75 of file XrdXrootdJob.hh.
Referenced by CleanUp(), XrdXrootdJob2Do::DoIt(), Schedule(), XrdXrootdJob2Do::verClient(), and XrdXrootdJob().
1.5.1