xrootd
|
#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 () |
Public Member Functions inherited from XrdXrootd::Bridge | |
Bridge () | |
Constructor & Destructor. | |
Public Member Functions inherited from XrdXrootdProtocol | |
void | aioUpdate (int val) |
void | aioUpdReq (int val) |
XrdSfsXioHandle | Claim (const char *buff, int datasz, int minasz=0) override |
void | DoIt () override |
int | do_WriteSpan () |
int | getData (gdCallBack *gdcbP, const char *dtype, char *buff, int blen) |
int | getData (gdCallBack *gdcbP, const char *dtype, struct iovec *iov, int iovn) |
int | getDump (const char *dtype, int dlen) |
int | getPathID () |
XrdProtocol * | Match (XrdLink *lp) override |
int | Process2 () |
int | ProcSig () |
int | SendFile (int fildes) override |
int | SendFile (XrdOucSFVec *sfvec, int sfvnum) override |
void | SetFD (int fildes) override |
int | Stats (char *buff, int blen, int do_sync=0) override |
void | StreamNOP () |
XrdSfsXioHandle | Swap (const char *buff, XrdSfsXioHandle h=0) override |
XrdXrootdProtocol * | VerifyStream (int &rc, int pID, bool lok=true) |
XrdXrootdProtocol | operator= (const XrdXrootdProtocol &rhs)=delete |
XrdXrootdProtocol () | |
~XrdXrootdProtocol () | |
Public Member Functions inherited from XrdProtocol | |
XrdProtocol (const char *jname) | |
virtual | ~XrdProtocol () |
Public Member Functions inherited from XrdJob | |
XrdJob (const char *desc="") | |
virtual | ~XrdJob () |
Public Member Functions inherited from XrdXrootd::gdCallBack | |
virtual void | gdFail () |
gdCallBack () | |
virtual | ~gdCallBack () |
Public Member Functions inherited from XrdSfsDio | |
XrdSfsDio () | |
Constructor and destructor. | |
virtual | ~XrdSfsDio () |
Public Member Functions inherited from XrdSfsXio | |
XrdSfsXio (XrdSfsXioImpl &xioimpl) | |
virtual | ~XrdSfsXio () |
Constructor and destructor. | |
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. | |
Static Public Member Functions inherited from XrdXrootd::Bridge | |
static Bridge * | Login (Result *rsltP, XrdLink *linkP, XrdSecEntity *seceP, const char *nameP, const char *protP) |
Static Public Member Functions inherited from XrdXrootdProtocol | |
static char * | Buffer (XrdSfsXioHandle h, int *bsz) |
static int | Configure (char *parms, XrdProtocol_Config *pi) |
static void | Reclaim (XrdSfsXioHandle h) |
Static Public Member Functions inherited from XrdSfsXio | |
static char * | Buffer (XrdSfsXioHandle theHand, int *buffsz=0) |
static void | Reclaim (XrdSfsXioHandle theHand) |
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 |
Additional Inherited Members | |
Public Attributes inherited from XrdJob | |
XrdJob * | NextJob |
const char * | Comment |
Static Public Attributes inherited from XrdXrootdProtocol | |
static const int | maxStreams = 16 |
static int | as_maxperlnk |
static int | as_maxperreq |
static int | as_maxpersrv |
static int | as_miniosz |
static int | as_minsfsz |
static int | as_seghalf |
static int | as_segsize |
static int | as_maxstalls |
static short | as_okstutter |
static short | as_timeout |
static bool | as_force |
static bool | as_aioOK |
static bool | as_nosf |
static bool | as_syncw |
Protected Member Functions inherited from XrdXrootd::Bridge | |
virtual | ~Bridge () |
Protected Member Functions inherited from XrdXrootdProtocol | |
void | MonAuth () |
int | SetSF (kXR_char *fhandle, bool seton=false) |
Static Protected Member Functions inherited from XrdXrootdProtocol | |
static unsigned int | getSID () |
Protected Attributes inherited from XrdXrootdProtocol | |
int | numReads |
int | numReadP |
int | numReadV |
int | numSegsV |
int | numWritV |
int | numSegsW |
int | numWrites |
int | numFiles |
int | cumReads |
int | cumReadP |
int | cumReadV |
int | cumSegsV |
int | cumWritV |
int | cumSegsW |
int | cumWrites |
int | myStalls |
long long | totReadP |
XrdLink * | Link |
XrdBuffer * | argp |
XrdXrootdFileTable * | FTab |
XrdXrootdMonitor::User | Monitor |
XrdNetPMark::Handle * | pmHandle |
int | clientPV |
int | clientRN |
bool | pmDone |
char | reserved [3] |
short | rdType |
char | Status |
unsigned char | CapVer |
XrdSecEntity * | Client |
XrdSecProtocol * | AuthProt |
XrdSecEntity | Entity |
XrdSecProtect * | Protect |
char * | AppName |
ClientRequest | sigReq2Ver |
SecurityRequest | sigReq |
char | sigBuff [64] |
bool | sigNeed |
bool | sigHere |
bool | sigRead |
bool | sigWarn |
RAtomic_int | linkAioReq |
XrdXrootdPgwCtl * | pgwCtl |
char * | myBuff |
int | myBlen |
int | myBlast |
struct XrdXrootdProtocol::GetDataCtl | gdCtl |
XrdXrootdWVInfo * | wvInfo |
int(XrdXrootdProtocol::* | ResumePio )() |
int(XrdXrootdProtocol::* | Resume )() |
XrdXrootd::IOParms | IO |
int | hcPrev |
int | hcNext |
int | hcNow |
int | halfBSize |
XrdSysMutex | unbindMutex |
XrdSysMutex | streamMutex |
XrdSysSemaphore * | reTry |
XrdSysCondVar2 * | endNote |
XrdXrootdProtocol * | Stream [maxStreams] |
unsigned int | mySID |
bool | isActive |
bool | isLinkWT |
bool | isNOP |
bool | isDead |
XrdXrootdPio * | pioFirst |
XrdXrootdPio * | pioLast |
XrdXrootdPio * | pioFree |
short | PathID |
bool | newPio |
unsigned char | rvSeq |
unsigned char | wvSeq |
char | doTLS |
bool | ableTLS |
bool | isTLS |
int | PrepareCount |
XrdXrootdReqID | ReqID |
ClientRequest | Request |
XrdXrootdResponse | Response |
Static Protected Attributes inherited from XrdXrootdProtocol | |
static XrdXrootdXPath | RPList |
static XrdXrootdXPath | RQList |
static XrdXrootdXPath | XPList |
static XrdSfsFileSystem * | osFS |
static XrdSfsFileSystem * | digFS |
static XrdSecService * | CIA |
static XrdSecProtector * | DHS |
static XrdTlsContext * | tlsCtx |
static XrdXrootdFileLock * | Locker |
static XrdScheduler * | Sched |
static XrdBuffManager * | BPool |
static XrdSysError & | eDest |
static XrdNetPMark * | PMark |
static const char * | myInst |
static const char * | TraceID |
static int | RQLxist |
static int | myPID |
static int | myRole |
static int | myRolf |
static gid_t | myGID |
static uid_t | myUID |
static int | myGNLen |
static int | myUNLen |
static const char * | myGName |
static const char * | myUName |
static time_t | keepT |
static XrdNetSocket * | AdminSock |
static int | hailWait |
static int | readWait |
static int | Port |
static int | Window |
static int | tlsPort |
static char * | Notify |
static const char * | myCName |
static int | myCNlen |
static char | isRedir |
static char | JobLCL |
static char | JobCKCGI |
static XrdXrootdJob * | JobCKS |
static char * | JobCKT |
static XrdOucTList * | JobCKTLST |
static XrdOucReqID * | PrepID |
static uint64_t | fsFeatures |
static struct XrdXrootdProtocol::RD_Table | Route [RD_Num] |
static struct XrdXrootdProtocol::RC_Table | RouteClient |
static int | OD_Stall |
static bool | OD_Bypass |
static bool | OD_Redir |
static bool | CL_Redir |
static bool | isProxy |
static int | usxMaxNsz |
static int | usxMaxVsz |
static char * | usxParms |
static const char | Req_TLSData = 0x01 |
static const char | Req_TLSGPFile = 0x02 |
static const char | Req_TLSLogin = 0x04 |
static const char | Req_TLSSess = 0x08 |
static const char | Req_TLSTPC = 0x10 |
static char | tlsCap |
static char | tlsNot |
static int | maxBuffsz |
static int | maxTransz |
static int | maxReadv_ior |
static XrdXrootdStats * | SI |
static RAtomic_int | srvrAioOps |
static int | hcMax |
static const int | maxPio = 4 |
static bool | PrepareAlt |
static bool | LimitError |
static int | PrepareLimit |
|
inline |
Constructor & Destructor.
|
inlinevirtual |
|
static |
Get a new transit object.
|
static |
Handle attention response (i.e. async response)
|
private |
|
virtual |
Handle dismantlement.
Implements XrdXrootd::Bridge.
|
private |
|
private |
|
private |
|
static |
Perform one-time initialization.
void XrdXrootdTransit::Proceed | ( | ) |
Resume processing after a waitresp completion.
|
virtual |
Handle link activation (replaces parent activation).
Reimplemented from XrdXrootdProtocol.
|
virtual |
Handle link shutdown.
Reimplemented from XrdXrootdProtocol.
void XrdXrootdTransit::Redrive | ( | ) |
Redrive a request after a wait.
|
static |
Initialize the valid request table.
|
private |
|
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.
|
private |
int XrdXrootdTransit::Send | ( | int | rcode, |
const struct iovec * | ioVec, | ||
int | ioNum, | ||
int | ioLen | ||
) |
Handle request data response.
int XrdXrootdTransit::Send | ( | long long | offset, |
int | dlen, | ||
int | fdnum | ||
) |
Handle request sendfile response.
int XrdXrootdTransit::Send | ( | XrdOucSFVec * | sfvec, |
int | sfvnum, | ||
int | dlen | ||
) |
|
inlinevirtual |
|
inlinevirtual |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
staticprivate |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
Referenced by SetWait().
|
private |
Referenced by SetWait().
|
private |
|
private |
|
staticprivate |
|
private |
|
private |
|
private |