|
xrootd
|


Public Types | |
| enum | JobStatus { Job_Active, Job_Cancel, Job_Done, Job_Waiting } |
Public Member Functions | |
| void | DoIt () |
| XrdXrootdJob2Do (XrdXrootdJob *job, int jnum, const char **args, XrdXrootdResponse *Resp, int opts) | |
| ~XrdXrootdJob2Do () | |
Public Attributes | |
| JobStatus | Status |
| XrdLink * | Link |
| unsigned int | Inst |
| kXR_char | streamid [2] |
| char | isSync |
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 |
| XrdXrootdJob2Do::XrdXrootdJob2Do | ( | XrdXrootdJob * | job, |
| int | jnum, | ||
| const char ** | args, | ||
| XrdXrootdResponse * | Resp, | ||
| int | opts | ||
| ) |
References theArgs, theJob, JobNum, JobMark, numClients, theResult, doRedrive, Status, Job_Waiting, and addClient().
| XrdXrootdJob2Do::~XrdXrootdJob2Do | ( | ) |
References numClients, Client, isSync, sendResult(), and theArgs.
| int XrdXrootdJob2Do::addClient | ( | XrdXrootdResponse * | rp, |
| int | opts | ||
| ) | [private] |
References XrdXrootdResponse::theLink(), Inst, XrdLink::Inst(), numClients, maxClients, verClient(), Client, Link, JOB_Sync, XrdXrootdResponse::StreamID(), streamid, and JobMark.
Referenced by XrdXrootdJob2Do(), and XrdXrootdJob::Schedule().
| void XrdXrootdJob2Do::delClient | ( | XrdXrootdResponse * | rp | ) | [private] |
References XrdXrootdResponse::theLink(), Inst, XrdLink::Inst(), numClients, Client, and Link.
Referenced by XrdXrootdJob::Cancel(), and XrdXrootdJob::sendResult().
| void XrdXrootdJob2Do::DoIt | ( | ) | [virtual] |
Implements XrdJob.
References theJob, XrdXrootdJob::myMutex, XrdSysMutex::Lock(), Status, Job_Cancel, XrdXrootdJob::theProg, XrdOucProg::Run(), jobStream, theArgs, XrdSysMutex::UnLock(), XrdOucStream::GetLine(), Job_Done, numClients, Client, isSync, sendResult(), doRedrive, XrdXrootdJob::numJobs, XrdXrootdJob::maxJobs, Redrive(), theResult, XrdXrootdJob::JobTable, XrdOucTable::Remove(), and JobNum.
| XrdOucTList * XrdXrootdJob2Do::lstClient | ( | void | ) | [private] |
References Status, Job_Active, Job_Cancel, Job_Done, Job_Waiting, numClients, Client, Link, XrdLink::isInstance(), strlcpy(), and XrdLink::ID.
Referenced by XrdXrootdJob::List().
| void XrdXrootdJob2Do::Redrive | ( | void | ) | [private] |
References theJob, XrdXrootdJob::JobTable, XrdOucTable::Apply(), XrdXrootdJobWaiting(), verClient(), JobMark, JobNum, Status, Job_Active, doRedrive, XrdXrootdJob::Sched, and XrdScheduler::Schedule().
Referenced by DoIt().
| void XrdXrootdJob2Do::sendResult | ( | char * | lp, |
| int | caned = 0 |
||
| ) | [private] |
References kXR_Cancelled, kXR_ServerError, kXR_ok, theArgs, iovec::iov_base, iovec::iov_len, kXR_error, numClients, Client, isSync, XrdXrootdReqID::setID(), streamid, Link, XrdLink::FDnum(), XrdXrootdResponse::Send(), TRACE, and XrdLink::ID.
Referenced by ~XrdXrootdJob2Do(), and DoIt().
| int XrdXrootdJob2Do::verClient | ( | int | dodel = 0 | ) | [private] |
References numClients, Client, Link, XrdLink::isInstance(), theJob, XrdXrootdJob::JobTable, XrdOucTable::Remove(), JobNum, Status, Job_Waiting, and XrdXrootdJob::numJobs.
Referenced by addClient(), Redrive(), and XrdXrootdJob::DoIt().
friend class XrdXrootdJob [friend] |
struct { ... } XrdXrootdJob2Do::Client[maxClients] [private] |
Referenced by ~XrdXrootdJob2Do(), DoIt(), addClient(), delClient(), lstClient(), verClient(), and sendResult().
char XrdXrootdJob2Do::doRedrive [private] |
Referenced by XrdXrootdJob2Do(), DoIt(), and Redrive().
| unsigned int XrdXrootdJob2Do::Inst |
Referenced by addClient(), and delClient().
Referenced by ~XrdXrootdJob2Do(), DoIt(), and sendResult().
char XrdXrootdJob2Do::JobMark [private] |
Referenced by XrdXrootdJob2Do(), addClient(), Redrive(), and XrdXrootdJob::DoIt().
int XrdXrootdJob2Do::JobNum [private] |
Referenced by XrdXrootdJob2Do(), DoIt(), verClient(), and Redrive().
XrdOucStream XrdXrootdJob2Do::jobStream [private] |
Referenced by DoIt().
Referenced by addClient(), delClient(), lstClient(), verClient(), and sendResult().
const int XrdXrootdJob2Do::maxClients = 8 [static, private] |
Referenced by addClient().
int XrdXrootdJob2Do::numClients [private] |
Referenced by XrdXrootdJob2Do(), ~XrdXrootdJob2Do(), DoIt(), addClient(), delClient(), lstClient(), verClient(), sendResult(), XrdXrootdJob::Cancel(), and XrdXrootdJob::sendResult().
Referenced by XrdXrootdJobWaiting(), XrdXrootdJob2Do(), DoIt(), lstClient(), verClient(), Redrive(), XrdXrootdJob::Schedule(), and XrdXrootdJob::CleanUp().
Referenced by addClient(), and sendResult().
char* XrdXrootdJob2Do::theArgs[5] [private] |
Referenced by XrdXrootdJob2Do(), ~XrdXrootdJob2Do(), DoIt(), and sendResult().
XrdXrootdJob* XrdXrootdJob2Do::theJob [private] |
Referenced by XrdXrootdJob2Do(), DoIt(), verClient(), and Redrive().
char* XrdXrootdJob2Do::theResult [private] |
Referenced by XrdXrootdJob2Do(), DoIt(), and XrdXrootdJob::sendResult().
1.7.5