#include <XrdXrootdTransit.hh>


Classes | |
| class | SchedReq |
Public Member Functions | |
| bool | Disc () |
| Handle dismantlement. | |
| void | Proceed () |
| Resume processing after a waitresp completion. | |
| int | Process (XrdLink *lp) |
| Handle link activation (replaces parent activation). | |
| void | Recycle (XrdLink *lp, int consec, const char *reason) |
| Handle link shutdown. | |
| void | Redrive () |
| Redrive a request after a wait. | |
| bool | Run (const char *xreqP, char *xdataP=0, int xdataL=0) |
| Inject an xrootd request into the protocol stack. | |
| int | Send (int rcode, const struct iovec *ioVec, int ioNum, int ioLen) |
| Handle request data response. | |
| int | Send (long long offset, int dlen, int fdnum) |
| Handle request sendfile response. | |
| int | Send (XrdOucSFVec *sfvec, int sfvnum, int dlen) |
| int | setSF (kXR_char *fhandle, bool seton=false) |
| Set sendfile() enablement. | |
| void | SetWait (int wtime, bool notify=false) |
| Set maximum wait time. | |
| XrdXrootdTransit () | |
| Constructor & Destructor. | |
| virtual | ~XrdXrootdTransit () |
Static Public Member Functions | |
| static XrdXrootdTransit * | Alloc (XrdXrootd::Bridge::Result *respP, XrdLink *linkP, XrdSecEntity *seceP, const char *nameP, const char *protP) |
| Get a new transit object. | |
| static int | Attn (XrdLink *lP, short *theSID, int rcode, const struct iovec *ioVec, int ioNum, int ioLen) |
| Handle attention response (i.e. async response). | |
| static void | Init (XrdScheduler *schedP, int qMax, int qTTL) |
| Perform one-time initialization. | |
| static const char * | ReqTable () |
| Initialize the valid request table. | |
Private Member Functions | |
| int | AttnCont (XrdXrootdTransPend *tP, int rcode, const struct iovec *ioV, int ioN, int ioL) |
| bool | Fail (int ecode, const char *etext) |
| int | Fatal (int rc) |
| void | Init (Result *rsltP, XrdLink *linkP, XrdSecEntity *seceP, const char *nameP, const char *protP) |
| bool | ReqWrite (char *xdataP, int xdataL) |
| bool | RunCopy (char *buffP, int buffL) |
| int | Wait (XrdXrootd::Bridge::Context &rInfo, const struct iovec *ioV, int ioN, int ioL) |
| int | WaitResp (XrdXrootd::Bridge::Context &rInfo, const struct iovec *ioV, int ioN, int ioL) |
Private Attributes | |
| XrdObject< XrdXrootdTransit > | TranLink |
| SchedReq | respJob |
| SchedReq | waitJob |
| XrdSysMutex | runMutex |
| XrdProtocol * | realProt |
| XrdXrootd::Bridge::Result * | respObj |
| const char * | runEText |
| char * | runArgs |
| int | runALen |
| int | runABsz |
| int | runError |
| int | runStatus |
| int | runWait |
| int | runWTot |
| int | runWMax |
| bool | runDone |
| bool | reInvoke |
| bool | runWCall |
| int | wBLen |
| char * | wBuff |
| const char * | pName |
| time_t | cTime |
Static Private Attributes | |
| static XrdObjectQ < XrdXrootdTransit > | TranStack |
| static const char * | reqTab |
| XrdXrootdTransit::XrdXrootdTransit | ( | ) | [inline] |
Constructor & Destructor.
| virtual XrdXrootdTransit::~XrdXrootdTransit | ( | ) | [inline, virtual] |
| static XrdXrootdTransit* XrdXrootdTransit::Alloc | ( | XrdXrootd::Bridge::Result * | respP, | |
| XrdLink * | linkP, | |||
| XrdSecEntity * | seceP, | |||
| const char * | nameP, | |||
| const char * | protP | |||
| ) | [static] |
Get a new transit object.
| static int XrdXrootdTransit::Attn | ( | XrdLink * | lP, | |
| short * | theSID, | |||
| int | rcode, | |||
| const struct iovec * | ioVec, | |||
| int | ioNum, | |||
| int | ioLen | |||
| ) | [static] |
Handle attention response (i.e. async response).
| int XrdXrootdTransit::AttnCont | ( | XrdXrootdTransPend * | tP, | |
| int | rcode, | |||
| const struct iovec * | ioV, | |||
| int | ioN, | |||
| int | ioL | |||
| ) | [private] |
| bool XrdXrootdTransit::Disc | ( | ) | [virtual] |
Handle dismantlement.
Implements XrdXrootd::Bridge.
| bool XrdXrootdTransit::Fail | ( | int | ecode, | |
| const char * | etext | |||
| ) | [private] |
| int XrdXrootdTransit::Fatal | ( | int | rc | ) | [private] |
| void XrdXrootdTransit::Init | ( | Result * | rsltP, | |
| XrdLink * | linkP, | |||
| XrdSecEntity * | seceP, | |||
| const char * | nameP, | |||
| const char * | protP | |||
| ) | [private] |
| static void XrdXrootdTransit::Init | ( | XrdScheduler * | schedP, | |
| int | qMax, | |||
| int | qTTL | |||
| ) | [static] |
Perform one-time initialization.
| void XrdXrootdTransit::Proceed | ( | ) |
Resume processing after a waitresp completion.
| int XrdXrootdTransit::Process | ( | XrdLink * | lp | ) | [virtual] |
Handle link activation (replaces parent activation).
Reimplemented from XrdXrootdProtocol.
| void XrdXrootdTransit::Recycle | ( | XrdLink * | lp, | |
| int | consec, | |||
| const char * | reason | |||
| ) | [virtual] |
Handle link shutdown.
Reimplemented from XrdXrootdProtocol.
| void XrdXrootdTransit::Redrive | ( | ) |
Redrive a request after a wait.
| static const char* XrdXrootdTransit::ReqTable | ( | ) | [static] |
Initialize the valid request table.
| bool XrdXrootdTransit::ReqWrite | ( | char * | xdataP, | |
| int | xdataL | |||
| ) | [private] |
| bool XrdXrootdTransit::Run | ( | const char * | xreqP, | |
| char * | xdataP = 0, |
|||
| int | xdataL = 0 | |||
| ) | [virtual] |
Inject an xrootd request into the protocol stack.
| xreqP | xrootd request header | |
| xdataP | xrootd request data (optional) | |
| xdataL | xrootd request data length |
Implements XrdXrootd::Bridge.
| bool XrdXrootdTransit::RunCopy | ( | char * | buffP, | |
| int | buffL | |||
| ) | [private] |
| int XrdXrootdTransit::Send | ( | XrdOucSFVec * | sfvec, | |
| int | sfvnum, | |||
| int | dlen | |||
| ) |
| int XrdXrootdTransit::Send | ( | long long | offset, | |
| int | dlen, | |||
| int | fdnum | |||
| ) |
Handle request sendfile response.
| int XrdXrootdTransit::Send | ( | int | rcode, | |
| const struct iovec * | ioVec, | |||
| int | ioNum, | |||
| int | ioLen | |||
| ) |
Handle request data response.
| int XrdXrootdTransit::setSF | ( | kXR_char * | fhandle, | |
| bool | seton = false | |||
| ) | [inline, virtual] |
| void XrdXrootdTransit::SetWait | ( | int | wtime, | |
| bool | notify = false | |||
| ) | [inline, virtual] |
| int XrdXrootdTransit::Wait | ( | XrdXrootd::Bridge::Context & | rInfo, | |
| const struct iovec * | ioV, | |||
| int | ioN, | |||
| int | ioL | |||
| ) | [private] |
| int XrdXrootdTransit::WaitResp | ( | XrdXrootd::Bridge::Context & | rInfo, | |
| const struct iovec * | ioV, | |||
| int | ioN, | |||
| int | ioL | |||
| ) | [private] |
time_t XrdXrootdTransit::cTime [private] |
const char* XrdXrootdTransit::pName [private] |
XrdProtocol* XrdXrootdTransit::realProt [private] |
bool XrdXrootdTransit::reInvoke [private] |
const char* XrdXrootdTransit::reqTab [static, private] |
SchedReq XrdXrootdTransit::respJob [private] |
int XrdXrootdTransit::runABsz [private] |
int XrdXrootdTransit::runALen [private] |
char* XrdXrootdTransit::runArgs [private] |
bool XrdXrootdTransit::runDone [private] |
int XrdXrootdTransit::runError [private] |
const char* XrdXrootdTransit::runEText [private] |
XrdSysMutex XrdXrootdTransit::runMutex [private] |
int XrdXrootdTransit::runStatus [private] |
int XrdXrootdTransit::runWait [private] |
bool XrdXrootdTransit::runWCall [private] |
Referenced by SetWait().
int XrdXrootdTransit::runWMax [private] |
Referenced by SetWait().
int XrdXrootdTransit::runWTot [private] |
XrdObject<XrdXrootdTransit> XrdXrootdTransit::TranLink [private] |
XrdObjectQ<XrdXrootdTransit> XrdXrootdTransit::TranStack [static, private] |
SchedReq XrdXrootdTransit::waitJob [private] |
int XrdXrootdTransit::wBLen [private] |
char* XrdXrootdTransit::wBuff [private] |
1.6.1