XrdXrootdJob2Do Class Reference

Inheritance diagram for XrdXrootdJob2Do:

XrdJob List of all members.

Public Types

enum  JobStatus

Public Member Functions

void DoIt ()
 XrdXrootdJob2Do (XrdXrootdJob *job, int jnum, const char **args, XrdXrootdResponse *Resp, int opts)
 ~XrdXrootdJob2Do ()

Public Attributes

JobStatus Status

Private Member Functions

int addClient (XrdXrootdResponse *rp, int opts)
void delClient (XrdXrootdResponse *rp)
XrdOucTListlstClient (void)
int verClient (int dodel=0)
void Redrive (void)
void sendResult (char *lp, int caned=0)

Private Attributes

struct {
   XrdLink *   Link
   unsigned int   Inst
   kXR_char   streamid [2]
   char   isSync
Client [maxClients]
int numClients
XrdOucStream jobStream
XrdXrootdJobtheJob
char * theArgs [5]
char * theResult
int JobNum
char JobMark
char doRedrive

Static Private Attributes

static const int maxClients = 8

Friends

class XrdXrootdJob

Detailed Description

Definition at line 35 of file XrdXrootdJob.cc.


Member Enumeration Documentation

enum XrdXrootdJob2Do::JobStatus

Definition at line 42 of file XrdXrootdJob.cc.


Constructor & Destructor Documentation

XrdXrootdJob2Do::XrdXrootdJob2Do ( XrdXrootdJob job,
int  jnum,
const char **  args,
XrdXrootdResponse Resp,
int  opts 
)

Definition at line 97 of file XrdXrootdJob.cc.

References addClient(), doRedrive, i, Job_Waiting, JobMark, JobNum, numClients, Status, theArgs, theJob, and theResult.

XrdXrootdJob2Do::~XrdXrootdJob2Do (  ) 

Definition at line 121 of file XrdXrootdJob.cc.

References Client, free(), i, isSync, numClients, sendResult(), and theArgs.


Member Function Documentation

void XrdXrootdJob2Do::DoIt (  )  [virtual]

Implements XrdJob.

Definition at line 136 of file XrdXrootdJob.cc.

References Client, doRedrive, i, isSync, Job_Cancel, Job_Done, JobNum, jobStream, XrdXrootdJob::JobTable, XrdSysMutex::Lock(), XrdXrootdJob::maxJobs, XrdXrootdJob::myMutex, numClients, XrdXrootdJob::numJobs, Redrive(), XrdOucTable< T >::Remove(), XrdOucProg::Run(), sendResult(), Status, theArgs, theJob, XrdXrootdJob::theProg, theResult, and XrdSysMutex::UnLock().

int XrdXrootdJob2Do::addClient ( XrdXrootdResponse rp,
int  opts 
) [private]

Definition at line 194 of file XrdXrootdJob.cc.

References Client, i, Inst, XrdLink::Inst(), isSync, JOB_Sync, JobMark, Link, maxClients, numClients, XrdXrootdResponse::StreamID(), streamid, XrdXrootdResponse::theLink(), and verClient().

Referenced by XrdXrootdJob::Schedule(), and XrdXrootdJob2Do().

void XrdXrootdJob2Do::delClient ( XrdXrootdResponse rp  )  [private]

Definition at line 227 of file XrdXrootdJob.cc.

References Client, i, Inst, XrdLink::Inst(), j, Link, numClients, and XrdXrootdResponse::theLink().

Referenced by XrdXrootdJob::Cancel(), and XrdXrootdJob::sendResult().

XrdOucTList * XrdXrootdJob2Do::lstClient ( void   )  [private]

Definition at line 250 of file XrdXrootdJob.cc.

References Client, i, XrdLink::ID, XrdLink::isInstance(), Job_Active, Job_Cancel, Job_Done, Job_Waiting, k, Link, numClients, sprintf(), Status, strcpy(), and strlcpy().

Referenced by XrdXrootdJob::List().

int XrdXrootdJob2Do::verClient ( int  dodel = 0  )  [private]

Definition at line 294 of file XrdXrootdJob.cc.

References Client, i, XrdLink::isInstance(), j, Job_Waiting, JobNum, XrdXrootdJob::JobTable, k, Link, numClients, XrdXrootdJob::numJobs, XrdOucTable< T >::Remove(), and theJob.

Referenced by addClient(), XrdXrootdJob::DoIt(), and Redrive().

void XrdXrootdJob2Do::Redrive ( void   )  [private]

Definition at line 322 of file XrdXrootdJob.cc.

References XrdOucTable< T >::Apply(), doRedrive, Job_Active, JobMark, JobNum, XrdXrootdJob::JobTable, XrdXrootdJob::Sched, XrdScheduler::Schedule(), Status, theJob, verClient(), and XrdXrootdJobWaiting().

Referenced by DoIt().

void XrdXrootdJob2Do::sendResult ( char *  lp,
int  caned = 0 
) [private]

Definition at line 346 of file XrdXrootdJob.cc.

References Client, i, XrdLink::ID, iovec::iov_base, iovec::iov_len, isSync, j, kXR_Cancelled, kXR_error, kXR_ok, kXR_ServerError, Link, n, numClients, XrdXrootdResponse::Send(), theArgs, and TRACE.

Referenced by DoIt(), and ~XrdXrootdJob2Do().


Friends And Related Function Documentation

friend class XrdXrootdJob [friend]

Definition at line 38 of file XrdXrootdJob.cc.


Member Data Documentation

JobStatus XrdXrootdJob2Do::Status

Definition at line 44 of file XrdXrootdJob.cc.

Referenced by XrdXrootdJob::CleanUp(), DoIt(), lstClient(), Redrive(), XrdXrootdJob::Schedule(), XrdXrootdJob2Do(), and XrdXrootdJobWaiting().

const int XrdXrootdJob2Do::maxClients = 8 [static, private]

Definition at line 61 of file XrdXrootdJob.cc.

Referenced by addClient().

XrdLink* XrdXrootdJob2Do::Link [private]

Definition at line 62 of file XrdXrootdJob.cc.

Referenced by addClient(), delClient(), lstClient(), sendResult(), and verClient().

unsigned int XrdXrootdJob2Do::Inst [private]

Definition at line 63 of file XrdXrootdJob.cc.

Referenced by addClient(), and delClient().

kXR_char XrdXrootdJob2Do::streamid[2] [private]

Definition at line 64 of file XrdXrootdJob.cc.

Referenced by addClient().

char XrdXrootdJob2Do::isSync [private]

Definition at line 65 of file XrdXrootdJob.cc.

Referenced by addClient(), DoIt(), sendResult(), and ~XrdXrootdJob2Do().

struct { ... } XrdXrootdJob2Do::Client[maxClients] [private]

Referenced by addClient(), delClient(), DoIt(), lstClient(), sendResult(), verClient(), and ~XrdXrootdJob2Do().

int XrdXrootdJob2Do::numClients [private]

Definition at line 68 of file XrdXrootdJob.cc.

Referenced by addClient(), XrdXrootdJob::Cancel(), delClient(), DoIt(), lstClient(), XrdXrootdJob::sendResult(), sendResult(), verClient(), XrdXrootdJob2Do(), and ~XrdXrootdJob2Do().

XrdOucStream XrdXrootdJob2Do::jobStream [private]

Definition at line 70 of file XrdXrootdJob.cc.

Referenced by DoIt().

XrdXrootdJob* XrdXrootdJob2Do::theJob [private]

Definition at line 71 of file XrdXrootdJob.cc.

Referenced by DoIt(), Redrive(), verClient(), and XrdXrootdJob2Do().

char* XrdXrootdJob2Do::theArgs[5] [private]

Definition at line 72 of file XrdXrootdJob.cc.

Referenced by DoIt(), sendResult(), XrdXrootdJob2Do(), and ~XrdXrootdJob2Do().

char* XrdXrootdJob2Do::theResult [private]

Definition at line 73 of file XrdXrootdJob.cc.

Referenced by DoIt(), XrdXrootdJob::sendResult(), and XrdXrootdJob2Do().

int XrdXrootdJob2Do::JobNum [private]

Definition at line 74 of file XrdXrootdJob.cc.

Referenced by DoIt(), Redrive(), verClient(), and XrdXrootdJob2Do().

char XrdXrootdJob2Do::JobMark [private]

Definition at line 75 of file XrdXrootdJob.cc.

Referenced by addClient(), XrdXrootdJob::DoIt(), Redrive(), and XrdXrootdJob2Do().

char XrdXrootdJob2Do::doRedrive [private]

Definition at line 76 of file XrdXrootdJob.cc.

Referenced by DoIt(), Redrive(), and XrdXrootdJob2Do().


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