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