xrootd
|
#include <XrdXrootdProtocol.hh>
Classes | |
struct | GetDataCtl |
struct | RC_Table |
struct | RD_Table |
Public Member Functions | |
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 | Process (XrdLink *lp) override |
int | Process2 () |
int | ProcSig () |
void | Recycle (XrdLink *lp, int consec, const char *reason) override |
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 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) |
Static Public Attributes | |
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 | |
void | MonAuth () |
int | SetSF (kXR_char *fhandle, bool seton=false) |
Static Protected Member Functions | |
static unsigned int | getSID () |
Static Protected Attributes | |
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 |
Private Types | |
enum | RD_func { RD_chmod = 0 , RD_chksum , RD_dirlist , RD_locate , RD_mkdir , RD_mv , RD_prepare , RD_prepstg , RD_rm , RD_rmdir , RD_stat , RD_trunc , RD_ovld , RD_client , RD_open1 , RD_open2 , RD_open3 , RD_open4 , RD_Num } |
Private Member Functions | |
int | do_Auth () |
int | do_Bind () |
int | do_ChkPnt () |
int | do_ChkPntXeq () |
int | do_Chmod () |
int | do_CKsum (int canit) |
int | do_CKsum (char *algT, const char *Path, char *Opaque) |
int | do_Close () |
int | do_Dirlist () |
int | do_DirStat (XrdSfsDirectory *dp, char *pbuff, char *opaque) |
int | do_Endsess () |
int | do_FAttr () |
int | do_gpFile () |
int | do_Login () |
int | do_Locate () |
int | do_Mkdir () |
int | do_Mv () |
int | do_Offload (int(XrdXrootdProtocol::*Invoke)(), int pathID) |
int | do_OffloadIO () |
int | do_Open () |
bool | do_PgClose (XrdXrootdFile *fP, int &rc) |
int | do_PgRead () |
int | do_PgRIO () |
int | do_PgWrite () |
bool | do_PgWAIO (int &rc) |
int | do_PgWIO () |
int | do_PgWIO (bool isFresh) |
bool | do_PgWIORetry (int &rc) |
bool | do_PgWIOSetup (XrdXrootdPgwCtl *pgwCtl) |
int | do_Ping () |
int | do_Prepare (bool isQuery=false) |
int | do_Protocol () |
int | do_Qconf () |
int | do_QconfCX (XrdOucTokenizer &qcargs, char *val) |
int | do_Qfh () |
int | do_Qopaque (short) |
int | do_Qspace () |
int | do_Query () |
int | do_Qxattr () |
int | do_Read () |
int | do_ReadV () |
int | do_ReadAll () |
int | do_ReadNone (int &retc, int &pathID) |
int | do_Rm () |
int | do_Rmdir () |
int | do_Set () |
int | do_Set_Cache (XrdOucTokenizer &setargs) |
int | do_Set_Mon (XrdOucTokenizer &setargs) |
int | do_Stat () |
int | do_Statx () |
int | do_Sync () |
int | do_Truncate () |
int | do_Write () |
int | do_WriteAio () |
int | do_WriteAll () |
int | do_WriteCont () |
int | do_WriteNone () |
int | do_WriteNone (int pathid, XErrorCode ec=kXR_noErrorYet, const char *emsg=0) |
int | do_WriteNoneMsg () |
int | do_WriteV () |
int | do_WriteVec () |
int | gdDone () override |
void | Assign (const XrdXrootdProtocol &rhs) |
void | Cleanup () |
int | fsError (int rc, char opc, XrdOucErrInfo &myError, const char *Path, char *Cgi) |
int | fsOvrld (char opc, const char *Path, char *Cgi) |
int | fsRedirNoEnt (const char *eMsg, char *Cgi, int popt) |
int | getBuff (const int isRead, int Quantum) |
char * | getCksType (char *opaque, char *cspec=0, int cslen=0) |
int | getData (const char *dtype, char *buff, int blen) |
int | getDataCont () |
int | getDataIovCont () |
int | getDumpCont () |
bool | logLogin (bool xauth=false) |
void | Reset () |
int | rpEmsg (const char *op, char *fn) |
int | vpEmsg (const char *op, char *fn) |
int | StatGen (struct stat &buf, char *xxBuff, int xxLen, bool xa=false) |
int | ProcFAttr (char *faPath, char *faCgi, char *faArgs, int faALen, int faCode, bool doAChk) |
int | XeqFADel (XrdSfsFACtl &ctl, char *faVars, int faVLen) |
int | XeqFAGet (XrdSfsFACtl &ctl, char *faVars, int faVLen) |
int | XeqFALsd (XrdSfsFACtl &ctl) |
int | XeqFALst (XrdSfsFACtl &ctl) |
int | XeqFASet (XrdSfsFACtl &ctl, char *faVars, int faVLen) |
Static Private Member Functions | |
static int | CheckSum (XrdOucStream *, char **, int) |
static int | Config (const char *fn) |
static bool | ConfigMon (XrdProtocol_Config *pi, XrdOucEnv &xrootdEnv) |
static int | ConfigSecurity (XrdOucEnv &xEnv, const char *cfn) |
static int | mapMode (int mode) |
static int | rpCheck (char *fn, char **opaque) |
static int | CheckTLS (const char *tlsProt) |
static bool | ConfigFS (XrdOucEnv &xEnv, const char *cfn) |
static bool | ConfigFS (const char *path, XrdOucEnv &xEnv, const char *cfn) |
static bool | ConfigGStream (XrdOucEnv &myEnv, XrdOucEnv *urEnv) |
static int | Squash (char *) |
static int | xapath (XrdOucStream &Config) |
static int | xasync (XrdOucStream &Config) |
static int | xcksum (XrdOucStream &Config) |
static int | xbif (XrdOucStream &Config) |
static int | xdig (XrdOucStream &Config) |
static int | xexp (XrdOucStream &Config) |
static int | xexpdo (char *path, int popt=0) |
static int | xfsl (XrdOucStream &Config) |
static int | xfsL (XrdOucStream &Config, char *val, int lix) |
static int | xfso (XrdOucStream &Config) |
static int | xgpf (XrdOucStream &Config) |
static int | xprep (XrdOucStream &Config) |
static int | xlog (XrdOucStream &Config) |
static int | xmon (XrdOucStream &Config) |
static char * | xmondest (const char *what, char *val) |
static int | xmongs (XrdOucStream &Config) |
static bool | xmongsend (XrdOucStream &Config, char *val, char *&dest, int &opt, int &fmt, int &hdr) |
static int | xred (XrdOucStream &Config) |
static int | xred_clnt (XrdOucStream &Config, char *hP[2], int rPort[2]) |
static bool | xred_php (char *val, char *hP[2], int rPort[2], const char *what, bool optport=false) |
static void | xred_set (RD_func func, char *rHost[2], int rPort[2]) |
static bool | xred_xok (int func, char *rHost[2], int rPort[2]) |
static int | xsecl (XrdOucStream &Config) |
static int | xtls (XrdOucStream &Config) |
static int | xtlsr (XrdOucStream &Config) |
static int | xtrace (XrdOucStream &Config) |
static int | xlimit (XrdOucStream &Config) |
Private Attributes | |
XrdObject< XrdXrootdProtocol > | ProtLink |
Static Private Attributes | |
static XrdObjectQ< XrdXrootdProtocol > | ProtStack |
Friends | |
class | XrdXrootdAdmin |
Additional Inherited Members | |
Public Attributes inherited from XrdJob | |
XrdJob * | NextJob |
const char * | Comment |
|
private |
XrdXrootdProtocol::XrdXrootdProtocol | ( | ) |
|
inline |
References Cleanup().
|
inline |
References srvrAioOps.
|
inline |
References linkAioReq.
|
private |
|
static |
|
staticprivate |
|
staticprivate |
|
overridevirtual |
Claim ownership of the current buffer if it is memory effecient to do so.
curBuff | - The address of the current buffer. It must match the the buffer that was most recently passed to the caller. |
datasz | - Number of useful bytes in the buffer (i.e. write size). |
minasz | - Minimum buffer size that would be allocated to copy data. |
Implements XrdSfsXio.
|
private |
Referenced by ~XrdXrootdProtocol().
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
static |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
Referenced by gdDone().
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
int XrdXrootdProtocol::do_WriteSpan | ( | ) |
|
private |
|
private |
|
private |
|
private |
|
private |
|
inlineoverrideprivatevirtual |
Implements XrdXrootd::gdCallBack.
References do_PgWIO().
|
private |
|
private |
|
private |
int XrdXrootdProtocol::getData | ( | gdCallBack * | gdcbP, |
const char * | dtype, | ||
char * | buff, | ||
int | blen | ||
) |
int XrdXrootdProtocol::getData | ( | gdCallBack * | gdcbP, |
const char * | dtype, | ||
struct iovec * | iov, | ||
int | iovn | ||
) |
|
private |
|
private |
int XrdXrootdProtocol::getDump | ( | const char * | dtype, |
int | dlen | ||
) |
|
private |
|
inline |
References PathID.
|
staticprotected |
|
private |
|
staticprivate |
|
overridevirtual |
Implements XrdProtocol.
|
protected |
|
delete |
|
overridevirtual |
Implements XrdProtocol.
Reimplemented in XrdXrootdTransit.
int XrdXrootdProtocol::Process2 | ( | ) |
|
private |
int XrdXrootdProtocol::ProcSig | ( | ) |
|
static |
|
overridevirtual |
Implements XrdProtocol.
Reimplemented in XrdXrootdTransit.
|
private |
|
staticprivate |
|
private |
|
overridevirtual |
Send data to a client using the sendfile() system interface.
fildes | - The file descriptor to use to effect a sendfile() for all of the requested data. The original offset and length are used relative to this file descriptor. |
Implements XrdSfsDio.
|
overridevirtual |
Send data to a client using the sendfile() system interface.
sfvec | - One or more XrdOucSFVec elements describing what should be transferred. The first element of the vector must be available for use by the interface for proper framing. That is, start filling in elements at sfvec[1] and sfvnum should be the count of elements filled in plus 1. |
sfvnum | - total number of elements in sfvec and includes the first unused element. There is a maximum number of elements that the vector may have; defined inside XrdOucSFVec. |
Implements XrdSfsDio.
|
overridevirtual |
Change the file descriptor setting and, consequently, interface processing.
fildes | - The file descriptor to use in the future, as follows: < 0 - Disable sendfile and always use read(). >= 0 - Enable sendfile and always use sendfile() w/o invoking this interface (i.e. fast path). |
Implements XrdSfsDio.
|
protected |
Referenced by XrdXrootdTransit::setSF().
|
staticprivate |
|
private |
|
overridevirtual |
Implements XrdProtocol.
void XrdXrootdProtocol::StreamNOP | ( | ) |
|
overridevirtual |
Swap the current I/O buffer
curBuff | - The address of the current buffer. It must match the the buffer that was most recently passed to the caller. |
oldHand | - The handle associated with a buffer returned by a previous call to Swap(). A value of zero indicates that the caller is taking control of the buffer but has no replacement buffer. |
Implements XrdSfsXio.
XrdXrootdProtocol * XrdXrootdProtocol::VerifyStream | ( | int & | rc, |
int | pID, | ||
bool | lok = true |
||
) |
|
private |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
private |
|
private |
|
private |
|
private |
|
private |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
friend |
|
protected |
|
staticprotected |
|
protected |
|
protected |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
protected |
|
staticprotected |
|
protected |
|
staticprotected |
|
staticprotected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
staticprotected |
|
staticprotected |
|
protected |
|
staticprotected |
|
protected |
|
protected |
|
staticprotected |
|
protected |
|
protected |
|
staticprotected |
|
protected |
|
staticprotected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
staticprotected |
|
staticprotected |
|
protected |
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
protected |
|
protected |
Referenced by aioUpdReq().
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
static |
|
staticprotected |
|
protected |
|
protected |
|
protected |
|
protected |
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
protected |
|
protected |
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
protected |
|
staticprotected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
protected |
Referenced by getPathID().
|
protected |
|
protected |
|
protected |
|
protected |
|
staticprotected |
|
protected |
|
protected |
|
staticprotected |
|
staticprotected |
|
protected |
|
staticprotected |
|
staticprotected |
|
protected |
|
private |
|
staticprivate |
|
protected |
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
Referenced by DoIt().
|
protected |
|
protected |
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
protected |
|
staticprotected |
|
staticprotected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
staticprotected |
Referenced by aioUpdate().
|
protected |
|
protected |
|
protected |
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
protected |
|
staticprotected |
|
protected |
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
protected |
|
protected |
|
staticprotected |