Inheritance diagram for XrdXrootdJob2Do:
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) |
XrdOucTList * | lstClient (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 |
XrdXrootdJob * | theJob |
char * | theArgs [5] |
char * | theResult |
int | JobNum |
char | JobMark |
char | doRedrive |
Static Private Attributes | |
static const int | maxClients = 8 |
Friends | |
class | XrdXrootdJob |
Definition at line 35 of file XrdXrootdJob.cc.
Definition at line 42 of file XrdXrootdJob.cc.
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.
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().
friend class XrdXrootdJob [friend] |
Definition at line 38 of file XrdXrootdJob.cc.
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] |
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] |
kXR_char XrdXrootdJob2Do::streamid[2] [private] |
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] |
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().