|
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 addClient(), doRedrive, Job_Waiting, JobMark, JobNum, numClients, Status, theArgs, theJob, and theResult.
| XrdXrootdJob2Do::~XrdXrootdJob2Do | ( | ) |
References Client, isSync, numClients, sendResult(), and theArgs.
| int XrdXrootdJob2Do::addClient | ( | XrdXrootdResponse * | rp, |
| int | opts | ||
| ) | [private] |
References Client, XrdLink::Inst(), Inst, JOB_Sync, JobMark, Link, maxClients, numClients, streamid, XrdXrootdResponse::StreamID(), XrdXrootdResponse::theLink(), and verClient().
Referenced by XrdXrootdJob::Schedule(), and XrdXrootdJob2Do().
| void XrdXrootdJob2Do::delClient | ( | XrdXrootdResponse * | rp | ) | [private] |
References Client, XrdLink::Inst(), Inst, Link, numClients, and XrdXrootdResponse::theLink().
Referenced by XrdXrootdJob::Cancel(), and XrdXrootdJob::sendResult().
| void XrdXrootdJob2Do::DoIt | ( | ) | [virtual] |
Implements XrdJob.
References Client, doRedrive, XrdOucStream::GetLine(), 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().
| XrdOucTList * XrdXrootdJob2Do::lstClient | ( | void | ) | [private] |
References Client, XrdLink::ID, XrdLink::isInstance(), Job_Active, Job_Cancel, Job_Done, Job_Waiting, Link, numClients, Status, and strlcpy().
Referenced by XrdXrootdJob::List().
| void XrdXrootdJob2Do::Redrive | ( | void | ) | [private] |
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] |
References Client, XrdLink::FDnum(), XrdLink::ID, iovec::iov_base, iovec::iov_len, isSync, kXR_Cancelled, kXR_error, kXR_ok, kXR_ServerError, Link, numClients, XrdXrootdResponse::Send(), XrdXrootdReqID::setID(), streamid, theArgs, and TRACE.
Referenced by DoIt(), and ~XrdXrootdJob2Do().
| int XrdXrootdJob2Do::verClient | ( | int | dodel = 0 | ) | [private] |
References Client, XrdLink::isInstance(), Job_Waiting, JobNum, XrdXrootdJob::JobTable, Link, numClients, XrdXrootdJob::numJobs, XrdOucTable< T >::Remove(), Status, and theJob.
Referenced by addClient(), XrdXrootdJob::DoIt(), and Redrive().
friend class XrdXrootdJob [friend] |
struct { ... } XrdXrootdJob2Do::Client[maxClients] [private] |
Referenced by addClient(), delClient(), DoIt(), lstClient(), sendResult(), verClient(), and ~XrdXrootdJob2Do().
char XrdXrootdJob2Do::doRedrive [private] |
Referenced by DoIt(), Redrive(), and XrdXrootdJob2Do().
| unsigned int XrdXrootdJob2Do::Inst |
Referenced by addClient(), and delClient().
Referenced by DoIt(), sendResult(), and ~XrdXrootdJob2Do().
char XrdXrootdJob2Do::JobMark [private] |
Referenced by addClient(), XrdXrootdJob::DoIt(), Redrive(), and XrdXrootdJob2Do().
int XrdXrootdJob2Do::JobNum [private] |
Referenced by DoIt(), Redrive(), verClient(), and XrdXrootdJob2Do().
XrdOucStream XrdXrootdJob2Do::jobStream [private] |
Referenced by DoIt().
Referenced by addClient(), delClient(), lstClient(), sendResult(), and verClient().
const int XrdXrootdJob2Do::maxClients = 8 [static, private] |
Referenced by addClient().
int XrdXrootdJob2Do::numClients [private] |
Referenced by addClient(), XrdXrootdJob::Cancel(), delClient(), DoIt(), lstClient(), XrdXrootdJob::sendResult(), sendResult(), verClient(), XrdXrootdJob2Do(), and ~XrdXrootdJob2Do().
Referenced by XrdXrootdJob::CleanUp(), DoIt(), lstClient(), Redrive(), XrdXrootdJob::Schedule(), verClient(), XrdXrootdJob2Do(), and XrdXrootdJobWaiting().
Referenced by addClient(), and sendResult().
char* XrdXrootdJob2Do::theArgs[5] [private] |
Referenced by DoIt(), sendResult(), XrdXrootdJob2Do(), and ~XrdXrootdJob2Do().
XrdXrootdJob* XrdXrootdJob2Do::theJob [private] |
Referenced by DoIt(), Redrive(), verClient(), and XrdXrootdJob2Do().
char* XrdXrootdJob2Do::theResult [private] |
Referenced by DoIt(), XrdXrootdJob::sendResult(), and XrdXrootdJob2Do().
1.7.3