XrdXrootdJob Class Reference

#include <XrdXrootdJob.hh>

Inheritance diagram for XrdXrootdJob:

XrdJob List of all members.

Public Member Functions

int Cancel (const char *jkey=0, XrdXrootdResponse *resp=0)
void DoIt ()
XrdOucTListList (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
XrdSchedulerSched
XrdOucTable< XrdXrootdJob2DoJobTable
XrdOucProgtheProg
char * JobName
int maxJobs
int numJobs

Static Private Attributes

static const int reScan = 15*60

Friends

class XrdXrootdJob2Do

Detailed Description

Definition at line 33 of file XrdXrootdJob.hh.


Constructor & Destructor Documentation

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


Member Function Documentation

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


Friends And Related Function Documentation

friend class XrdXrootdJob2Do [friend]

Definition at line 35 of file XrdXrootdJob.hh.

Referenced by Schedule().


Member Data Documentation

const int XrdXrootdJob::reScan = 15*60 [static, private]

Definition at line 67 of file XrdXrootdJob.hh.

Referenced by DoIt(), and XrdXrootdJob().

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


The documentation for this class was generated from the following files:
Generated on Tue Jul 5 16:50:47 2011 for ROOT_528-00b_version by  doxygen 1.5.1