Loading...
Searching...
No Matches
XrdXrootdProtocol.hh
Go to the documentation of this file.
#ifndef __XROOTD_PROTOCOL_H__
#define __XROOTD_PROTOCOL_H__
/******************************************************************************/
/* */
/* X r d X r o o t d P r o t o c o l . h h */
/* */
/* (c) 2004 by the Board of Trustees of the Leland Stanford, Jr., University */
/* Produced by Andrew Hanushevsky for Stanford University under contract */
/* DE-AC02-76-SFO0515 with the Department of Energy */
/* */
/* This file is part of the XRootD software suite. */
/* */
/* XRootD is free software: you can redistribute it and/or modify it under */
/* the terms of the GNU Lesser General Public License as published by the */
/* Free Software Foundation, either version 3 of the License, or (at your */
/* option) any later version. */
/* */
/* XRootD is distributed in the hope that it will be useful, but WITHOUT */
/* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or */
/* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public */
/* License for more details. */
/* */
/* You should have received a copy of the GNU Lesser General Public License */
/* along with XRootD in a file called COPYING.LESSER (LGPL license) and file */
/* COPYING (GPL license). If not, see <http://www.gnu.org/licenses/>. */
/* */
/* The copyright holder's institutional names and contributor's names may not */
/* be used to endorse or promote products derived from this software without */
/* specific prior written permission of the institution or contributor. */
/******************************************************************************/
#include <cstdlib>
#include <unistd.h>
#include <sys/types.h>
#include "XrdNet/XrdNetPMark.hh"
#include "XrdSys/XrdSysError.hh"
#include "XrdSys/XrdSysPthread.hh"
#include "XrdSys/XrdSysRAtomic.hh"
#include "XrdSec/XrdSecInterface.hh"
#include "XrdSfs/XrdSfsDio.hh"
#include "XrdSfs/XrdSfsXioImpl.hh"
#include "Xrd/XrdObject.hh"
#include "Xrd/XrdProtocol.hh"
#include "XrdXrootd/XrdXrootdMonitor.hh"
#include "XrdXrootd/XrdXrootdReqID.hh"
#include "XrdXrootd/XrdXrootdResponse.hh"
#include "XProtocol/XProtocol.hh"
/******************************************************************************/
/* D e f i n e s */
/******************************************************************************/
#define ROOTD_PQ 2012
#define XRD_LOGGEDIN 1
#define XRD_NEED_AUTH 2
#define XRD_BOUNDPATH 8
#ifndef __GNUC__
#define __attribute__(x)
#endif
/******************************************************************************/
/* x r d _ P r o t o c o l _ X R o o t d */
/******************************************************************************/
class XrdNetSocket;
class XrdOucEnv;
class XrdOucErrInfo;
class XrdOucReqID;
class XrdOucStream;
class XrdOucTList;
class XrdOucTokenizer;
class XrdSecProtect;
class XrdSecProtector;
class XrdSfsDirectory;
class XrdSfsFileSystem;
class XrdSecProtocol;
class XrdBuffer;
class XrdLink;
class XrdTlsContext;
class XrdXrootdFile;
class XrdXrootdFileLock;
class XrdXrootdFileTable;
class XrdXrootdJob;
class XrdXrootdMonitor;
class XrdXrootdPgwCtl;
class XrdXrootdPio;
class XrdXrootdRedirPI;
class XrdXrootdStats;
class XrdXrootdXPath;
struct XrdSfsFACtl;
struct XrdXrootdWVInfo;
/******************************************************************************/
/* N a m e s p a c e X r d X r o o t d */
/******************************************************************************/
namespace XrdXrootd
{
struct netInfo;
/******************************************************************************/
/* g d C a l l B a c k */
/******************************************************************************/
class gdCallBack // Used for new style getData() with callback
{
public:
// Called when getData with a buffer successfully completed with a suspension.
// A direct return is made if there was no suspension. Return values and action:
// >1 If getData with a buffer was called while in the callback, the operation
// is performed with a subsequent callback. Otherwise, a fatal error results.
// =0 Variable discard holds the number of bytes to be discarded from the
// from the socket (default 0). Return is made to link-level.
// <0 Considered a fatal link error.
//
virtual int gdDone() = 0;
// Called when a fatal link error occurs during reading.
//
virtual void gdFail() {} // Called when a link failure occurs
gdCallBack() {}
virtual ~gdCallBack() {}
};
/******************************************************************************/
/* I O P a r m s */
/******************************************************************************/
struct IOParms
{
XrdXrootdFile *File;
union {
long long Offset;
long long WVBytes;
int EInfo[2];
};
int IOLen;
unsigned short Flags;
char reserved;
char Mode;
static const int useBasic = 0;
static const int useMMap = 1;
static const int useSF = 2;
};
}
/******************************************************************************/
/* C l a s s X r d X r o o t d P r o t o c o l */
/******************************************************************************/
class XrdXrootdProtocol : public XrdProtocol, public XrdXrootd::gdCallBack,
public XrdSfsDio, public XrdSfsXio
{
friend class XrdXrootdAdmin;
public:
void aioUpdate(int val) {srvrAioOps += val;}
void aioUpdReq(int val) {linkAioReq += val;}
static char *Buffer(XrdSfsXioHandle h, int *bsz); // XrdSfsXio
XrdSfsXioHandle Claim(const char *buff, int datasz, int minasz=0) override;// XrdSfsXio
static int Configure(char *parms, XrdProtocol_Config *pi);
void DoIt() override {(*this.*Resume)();}
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() {return PathID;}
XrdProtocol *Match(XrdLink *lp) override;
int Process(XrdLink *lp) override; // Sync: Job->Link.DoIt->Process
int Process2();
int ProcSig();
void Recycle(XrdLink *lp, int consec, const char *reason) override;
static void Reclaim(XrdSfsXioHandle h); // XrdSfsXio
int SendFile(int fildes) override; // XrdSfsDio
int SendFile(XrdOucSFVec *sfvec, int sfvnum) override; // XrdSfsDio
void SetFD(int fildes) override; // XrdSfsDio
int Stats(char *buff, int blen, int do_sync=0) override;
void StreamNOP();
XrdSfsXioHandle Swap(const char *buff, XrdSfsXioHandle h=0) override; // XrdSfsXio
XrdXrootdProtocol *VerifyStream(int &rc, int pID, bool lok=true);
XrdXrootdProtocol operator =(const XrdXrootdProtocol &rhs) = delete;
XrdXrootdProtocol();
~XrdXrootdProtocol() {Cleanup();}
static const int maxStreams = 16;
// async configuration values (referenced outside this class)
//
static int as_maxperlnk; // Max async requests per link
static int as_maxperreq; // Max async ops per request
static int as_maxpersrv; // Max async ops per server
static int as_miniosz; // Min async request size
static int as_minsfsz; // Min sendf request size
static int as_seghalf;
static int as_segsize; // Aio quantum (optimal)
static int as_maxstalls; // Maximum stalls we will tolerate
static short as_okstutter; // Allowable stutters per transfer unit
static short as_timeout; // request timeout (usually < stream timeout)
static bool as_force; // aio to be forced
static bool as_aioOK; // aio is enabled
static bool as_nosf; // sendfile is disabled
static bool as_syncw; // writes to be synchronous
private:
// Note that Route[] structure (below) must have RD_Num elements!
//
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};
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 {return do_PgWIO(false);}
void Assign(const XrdXrootdProtocol &rhs);
static int CheckSum(XrdOucStream *, char **, int);
void Cleanup();
static int Config(const char *fn);
static bool ConfigMon(XrdProtocol_Config *pi, XrdOucEnv &xrootdEnv);
static int ConfigSecurity(XrdOucEnv &xEnv, const char *cfn);
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);
XrdXrootd::
netInfo* fsRedirIP(const char *trg, int port);
int fsRedirPI(const char *trg, int port, int trglen);
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);
static int mapMode(int mode);
void Reset();
static int rpCheck(char *fn, char **opaque);
int rpEmsg(const char *op, char *fn);
int vpEmsg(const char *op, char *fn);
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 bool ConfigRedirPI(const char*, XrdOucEnv&, const char*, const char*);
static int Squash(char *);
int StatGen(struct stat &buf, char *xxBuff, int xxLen, bool xa=false);
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 xrdl(XrdOucStream &Config);
static char* xrdlopt(XrdOucStream &Config, char* val);
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);
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 XrdObjectQ<XrdXrootdProtocol> ProtStack;
XrdObject<XrdXrootdProtocol> ProtLink;
protected:
static unsigned int getSID();
void MonAuth();
int SetSF(kXR_char *fhandle, bool seton=false);
static XrdXrootdXPath RPList; // Redirected paths
static XrdXrootdXPath RQList; // Redirected paths for ENOENT
static XrdXrootdXPath XPList; // Exported paths
static XrdSfsFileSystem *osFS; // The filesystem
static XrdSfsFileSystem *digFS; // The filesystem (digFS)
static XrdSecService *CIA; // Authentication Server
static XrdSecProtector *DHS; // Protection Server
static XrdTlsContext *tlsCtx; // Protection Server TLS available
static XrdXrootdFileLock *Locker; // File lock handler
static XrdScheduler *Sched; // System scheduler
static XrdBuffManager *BPool; // Buffer manager
static XrdSysError &eDest; // Error message handler
static XrdNetPMark *PMark; // Packet marking API
static XrdXrootdRedirPI *RedirPI; // Redirect plugin
static const char *myInst;
static const char *TraceID;
static int RQLxist; // Something is present in RQList
static int myPID;
static int myRole; // Role for kXR_protocol (>= 2.9.7)
static int myRolf; // Role for kXR_protocol (< 2.9.7)
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;
// Admin control area
//
static XrdNetSocket *AdminSock;
// Processing configuration values
//
static int hailWait;
static int readWait;
static int Port;
static int Window;
static int tlsPort;
static int redirIPHold;
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 redirection
//
static struct RD_Table {char *Host[2];
unsigned short Port[2];
short RDSz[2];} Route[RD_Num];
static struct RC_Table {char *Domain[4];
short DomCnt;
bool pvtIP;
bool lclDom;} RouteClient;
static int OD_Stall;
static bool OD_Bypass;
static bool OD_Redir;
static bool CL_Redir;
static bool isProxy;
// Extended attributes
//
static int usxMaxNsz;
static int usxMaxVsz;
static char *usxParms;
// TLS configuration
//
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; // TLS requirements for capable clients
static char tlsNot; // TLS requirements for incapable clients
// Buffer configuration
//
static int maxBuffsz; // Maximum buffer size we can have
static int maxTransz; // Maximum transfer size we can have
static int maxReadv_ior; // Maximum readv element length
// Statistical area
//
static XrdXrootdStats *SI;
int numReads; // Count for kXR_read
int numReadP; // Count for kXR_read pre-preads
int numReadV; // Count for kkR_readv
int numSegsV; // Count for kkR_readv segmens
int numWritV; // Count for kkR_write
int numSegsW; // Count for kkR_writev segmens
int numWrites; // Count
int numFiles; // Count
int cumReads; // Count less numReads
int cumReadP; // Count less numReadP
int cumReadV; // Count less numReadV
int cumSegsV; // Count less numSegsV
int cumWritV; // Count less numWritV
int cumSegsW; // Count less numSegsW
int cumWrites; // Count less numWrites
int myStalls; // Number of stalls
long long totReadP; // Bytes
// Data local to each protocol/link combination
//
XrdLink *Link;
XrdBuffer *argp;
XrdXrootdFileTable *FTab;
XrdXrootdMonitor::User Monitor;
XrdNetPMark::Handle *pmHandle;
int clientPV; // Protocol version + capabilities
int clientRN; // Release as maj.min.patch (1 byte each).
bool pmDone; // Packet marking has been enabled
char reserved[3];
short rdType;
char Status;
unsigned char CapVer;
// Authentication area
//
XrdSecEntity *Client;
XrdSecProtocol *AuthProt;
XrdSecEntity Entity;
XrdSecProtect *Protect;
char *AppName;
// Request signing area
//
ClientRequest sigReq2Ver; // Request to verify
SecurityRequest sigReq; // Signature request
char sigBuff[64]; // Signature payload SHA256 + blowfish
bool sigNeed; // Signature target present
bool sigHere; // Signature request present
bool sigRead; // Signature being read
bool sigWarn; // Once for unneeded signature
// Async I/O area, these need to be atomic
//
RAtomic_int linkAioReq; // Aio requests inflight for link
static RAtomic_int srvrAioOps; // Aio operations inflight for server
// Buffer information, used to drive getData(), and (*Resume)()
//
XrdXrootdPgwCtl *pgwCtl;
char *myBuff;
int myBlen;
int myBlast;
struct GetDataCtl
{
int iovNum;
int iovNow;
union {int iovAdj;
int BuffLen;
int DumpLen;
};
bool useCB;
char Status;
unsigned char stalls;
RAtomic_uchar linkWait;
union {struct iovec *iovVec;
char *Buffer;
};
const char *ioDType;
XrdXrootd::gdCallBack *CallBack;
static const int inNone = 0;
static const int inCallBk = 1;
static const int inData = 2;
static const int inDataIov = 3;
static const int inDump = 4;
static const int Active = 1; // linkWait: thread is waiting for link
static const int Terminate = 3; // linkWait: thread should immediately exit
} gdCtl;
XrdXrootdWVInfo *wvInfo;
int (XrdXrootdProtocol::*ResumePio)(); //Used by Offload
int (XrdXrootdProtocol::*Resume)();
XrdXrootd::IOParms IO;
// Buffer resize control area
//
static int hcMax;
int hcPrev;
int hcNext;
int hcNow;
int halfBSize;
// This area is used for parallel streams
//
XrdSysMutex unbindMutex; // If locked always before streamMutex
XrdSysMutex streamMutex;
XrdSysSemaphore *reTry;
XrdSysCondVar2 *endNote;
XrdXrootdProtocol *Stream[maxStreams];
unsigned int mySID;
bool isActive;
bool isLinkWT;
bool isNOP;
bool isDead;
static const int maxPio = 4;
XrdXrootdPio *pioFirst;
XrdXrootdPio *pioLast;
XrdXrootdPio *pioFree;
short PathID; // Path for this protocol object
bool newPio; // True when initially scheduled
unsigned char rvSeq;
unsigned char wvSeq;
char doTLS; // TLS requirements for client
bool ableTLS; // T->Client is able to use TLS
bool isTLS; // T->Client using TLS on control stream
// Track usage limts.
//
static bool PrepareAlt; // Use alternate prepare handling
static bool LimitError; // Indicates that hitting a limit should result in an error response.
// If false, when possible, silently ignore errors.
int PrepareCount;
static int PrepareLimit;
// Buffers to handle client requests
//
XrdXrootdReqID ReqID;
ClientRequest Request;
XrdXrootdResponse Response;
};
#endif
XProtocol.hh
XErrorCode
XErrorCode
Definition XProtocol.hh:989
kXR_noErrorYet
@ kXR_noErrorYet
Definition XProtocol.hh:1027
ClientRequest
Definition XProtocol.hh:845
SecurityRequest
Definition XProtocol.hh:880
kXR_char
unsigned char kXR_char
Definition XPtypes.hh:65
XrdNetPMark.hh
XrdObject.hh
stat
#define stat(a, b)
Definition XrdPosix.hh:101
XrdProtocol.hh
XrdSecInterface.hh
Path
XrdOucString Path
Definition XrdSecpwdSrvAdmin.cc:160
eMsg
#define eMsg(x)
Definition XrdSecsssAdmin.cc:53
emsg
int emsg(int rc, char *msg)
Definition XrdSectestServer.cc:309
XrdSfsDio.hh
XrdSfsXioImpl.hh
XrdSfsXioHandle
class XrdBuffer * XrdSfsXioHandle
Definition XrdSfsXio.hh:46
XrdSysError.hh
ec
ec
Definition XrdSysFAttrSun.icc:100
XrdSysPthread.hh
XrdSysRAtomic.hh
RAtomic_uchar
XrdSys::RAtomic< unsigned char > RAtomic_uchar
Definition XrdSysRAtomic.hh:322
RAtomic_int
XrdSys::RAtomic< int > RAtomic_int
Definition XrdSysRAtomic.hh:325
XrdXrootdMonitor.hh
XrdXrootdReqID.hh
XrdXrootdResponse.hh
XrdXrootdWVInfo
Definition XrdXrootdWVInfo.hh:35
XrdBuffManager
Definition XrdBuffer.hh:72
XrdBuffer
Definition XrdBuffer.hh:42
XrdJob::XrdScheduler
friend class XrdScheduler
Definition XrdJob.hh:44
XrdLink
Definition XrdLink.hh:52
XrdNetPMark::Handle
Definition XrdNetPMark.hh:45
XrdNetPMark
Definition XrdNetPMark.hh:41
XrdNetSocket
Definition XrdNetSocket.hh:48
XrdOucEnv
Definition XrdOucEnv.hh:42
XrdOucErrInfo
Definition XrdOucErrInfo.hh:101
XrdOucReqID
Definition XrdOucReqID.hh:42
XrdOucStream
Definition XrdOucStream.hh:47
XrdOucTList
Definition XrdOucTList.hh:42
XrdOucTokenizer
Definition XrdOucTokenizer.hh:33
XrdProtocol_Config
Definition XrdProtocol.hh:56
XrdProtocol
Definition XrdProtocol.hh:125
XrdProtocol::XrdProtocol
XrdProtocol(const char *jname)
Definition XrdProtocol.hh:156
XrdSecEntity
Definition XrdSecEntity.hh:65
XrdSecProtect
Definition XrdSecProtect.hh:56
XrdSecProtector
Definition XrdSecProtector.hh:73
XrdSecProtocol
Definition XrdSecInterface.hh:131
XrdSecService
Definition XrdSecInterface.hh:554
XrdSfsDio::XrdSfsDio
XrdSfsDio()
Constructor and destructor.
Definition XrdSfsDio.hh:103
XrdSfsDirectory
Definition XrdSfsInterface.hh:244
XrdSfsFileSystem
Definition XrdSfsInterface.hh:846
XrdSfsXio::XrdSfsXio
XrdSfsXio(XrdSfsXioImpl &xioimpl)
Definition XrdSfsXio.cc:52
XrdSysCondVar2
Definition XrdSysPthread.hh:300
XrdSysError
Definition XrdSysError.hh:90
XrdSysMutex
Definition XrdSysPthread.hh:165
XrdSysSemaphore
Definition XrdSysPthread.hh:494
XrdTlsContext
Definition XrdTlsContext.hh:37
XrdXrootdFileLock
Definition XrdXrootdFileLock.hh:33
XrdXrootdFileTable
Definition XrdXrootdFile.hh:162
XrdXrootdFile
Definition XrdXrootdFile.hh:101
XrdXrootdJob
Definition XrdXrootdJob.hh:52
XrdXrootdMonitor::User
Definition XrdXrootdMonitor.hh:174
XrdXrootdMonitor
Definition XrdXrootdMonitor.hh:80
XrdXrootdPgwCtl
Definition XrdXrootdPgwCtl.hh:42
XrdXrootdPio
Definition XrdXrootdPio.hh:40
XrdXrootdProtocol
Definition XrdXrootdProtocol.hh:160
XrdXrootdProtocol::SI
static XrdXrootdStats * SI
Definition XrdXrootdProtocol.hh:490
XrdXrootdProtocol::myInst
static const char * myInst
Definition XrdXrootdProtocol.hh:407
XrdXrootdProtocol::SendFile
int SendFile(int fildes) override
Definition XrdXrootdXeq.cc:3636
XrdXrootdProtocol::Entity
XrdSecEntity Entity
Definition XrdXrootdProtocol.hh:529
XrdXrootdProtocol::cumWrites
int cumWrites
Definition XrdXrootdProtocol.hh:506
XrdXrootdProtocol::OD_Redir
static bool OD_Redir
Definition XrdXrootdProtocol.hh:459
XrdXrootdProtocol::VerifyStream
XrdXrootdProtocol * VerifyStream(int &rc, int pID, bool lok=true)
Definition XrdXrootdProtocol.cc:975
XrdXrootdProtocol::digFS
static XrdSfsFileSystem * digFS
Definition XrdXrootdProtocol.hh:397
XrdXrootdProtocol::isActive
bool isActive
Definition XrdXrootdProtocol.hh:605
XrdXrootdProtocol::SetSF
int SetSF(kXR_char *fhandle, bool seton=false)
Definition XrdXrootdXeq.cc:4314
XrdXrootdProtocol::Protect
XrdSecProtect * Protect
Definition XrdXrootdProtocol.hh:530
XrdXrootdProtocol::getData
int getData(gdCallBack *gdcbP, const char *dtype, struct iovec *iov, int iovn)
XrdXrootdProtocol::isLinkWT
bool isLinkWT
Definition XrdXrootdProtocol.hh:606
XrdXrootdProtocol::pmHandle
XrdNetPMark::Handle * pmHandle
Definition XrdXrootdProtocol.hh:516
XrdXrootdProtocol::PMark
static XrdNetPMark * PMark
Definition XrdXrootdProtocol.hh:405
XrdXrootdProtocol::numFiles
int numFiles
Definition XrdXrootdProtocol.hh:498
XrdXrootdProtocol::unbindMutex
XrdSysMutex unbindMutex
Definition XrdXrootdProtocol.hh:599
XrdXrootdProtocol::Stream
XrdXrootdProtocol * Stream[maxStreams]
Definition XrdXrootdProtocol.hh:603
XrdXrootdProtocol::IO
XrdXrootd::IOParms IO
Definition XrdXrootdProtocol.hh:587
XrdXrootdProtocol::StreamNOP
void StreamNOP()
Definition XrdXrootdProtocol.cc:934
XrdXrootdProtocol::AppName
char * AppName
Definition XrdXrootdProtocol.hh:531
XrdXrootdProtocol::as_maxpersrv
static int as_maxpersrv
Definition XrdXrootdProtocol.hh:224
XrdXrootdProtocol::as_okstutter
static short as_okstutter
Definition XrdXrootdProtocol.hh:230
XrdXrootdProtocol::RPList
static XrdXrootdXPath RPList
Definition XrdXrootdProtocol.hh:393
XrdXrootdProtocol::usxMaxNsz
static int usxMaxNsz
Definition XrdXrootdProtocol.hh:467
XrdXrootdProtocol::numReadP
int numReadP
Definition XrdXrootdProtocol.hh:492
XrdXrootdProtocol::myBlast
int myBlast
Definition XrdXrootdProtocol.hh:553
XrdXrootdProtocol::AdminSock
static XrdNetSocket * AdminSock
Definition XrdXrootdProtocol.hh:424
XrdXrootdProtocol::rvSeq
unsigned char rvSeq
Definition XrdXrootdProtocol.hh:617
XrdXrootdProtocol::XrdXrootdAdmin
friend class XrdXrootdAdmin
Definition XrdXrootdProtocol.hh:161
XrdXrootdProtocol::Client
XrdSecEntity * Client
Definition XrdXrootdProtocol.hh:527
XrdXrootdProtocol::as_miniosz
static int as_miniosz
Definition XrdXrootdProtocol.hh:225
XrdXrootdProtocol::Req_TLSGPFile
static const char Req_TLSGPFile
Definition XrdXrootdProtocol.hh:474
XrdXrootdProtocol::Match
XrdProtocol * Match(XrdLink *lp) override
Definition XrdXrootdProtocol.cc:291
XrdXrootdProtocol::GetDataCtl.__unnamed1__::iovVec
struct iovec * iovVec
XrdXrootdProtocol::Port
static int Port
Definition XrdXrootdProtocol.hh:430
XrdXrootdProtocol::ableTLS
bool ableTLS
Definition XrdXrootdProtocol.hh:621
XrdXrootdProtocol::as_aioOK
static bool as_aioOK
Definition XrdXrootdProtocol.hh:233
XrdXrootdProtocol::XrdXrootdProtocol
XrdXrootdProtocol()
Definition XrdXrootdProtocol.cc:259
XrdXrootdProtocol::pmDone
bool pmDone
Definition XrdXrootdProtocol.hh:519
XrdXrootdProtocol::RQLxist
static int RQLxist
Definition XrdXrootdProtocol.hh:409
XrdXrootdProtocol::GetDataCtl.__unnamed0__::iovAdj
int iovAdj
XrdXrootdProtocol::Request
ClientRequest Request
Definition XrdXrootdProtocol.hh:635
XrdXrootdProtocol::gdCtl
struct XrdXrootdProtocol::GetDataCtl gdCtl
XrdXrootdProtocol::sigReq2Ver
ClientRequest sigReq2Ver
Definition XrdXrootdProtocol.hh:535
XrdXrootdProtocol::totReadP
long long totReadP
Definition XrdXrootdProtocol.hh:508
XrdXrootdProtocol::myUID
static uid_t myUID
Definition XrdXrootdProtocol.hh:415
XrdXrootdProtocol::aioUpdate
void aioUpdate(int val)
Definition XrdXrootdProtocol.hh:164
XrdXrootdProtocol::OD_Bypass
static bool OD_Bypass
Definition XrdXrootdProtocol.hh:458
XrdXrootdProtocol::myBuff
char * myBuff
Definition XrdXrootdProtocol.hh:551
XrdXrootdProtocol::hcMax
static int hcMax
Definition XrdXrootdProtocol.hh:591
XrdXrootdProtocol::SetFD
void SetFD(int fildes) override
Definition XrdXrootdXeq.cc:3675
XrdXrootdProtocol::GetDataCtl.__unnamed0__::BuffLen
int BuffLen
XrdXrootdProtocol::Req_TLSSess
static const char Req_TLSSess
Definition XrdXrootdProtocol.hh:476
XrdXrootdProtocol::wvInfo
XrdXrootdWVInfo * wvInfo
Definition XrdXrootdProtocol.hh:584
XrdXrootdProtocol::cumReads
int cumReads
Definition XrdXrootdProtocol.hh:500
XrdXrootdProtocol::pgwCtl
XrdXrootdPgwCtl * pgwCtl
Definition XrdXrootdProtocol.hh:550
XrdXrootdProtocol::Reclaim
static void Reclaim(XrdSfsXioHandle h)
Definition XrdXrootdProtocol.cc:924
XrdXrootdProtocol::CL_Redir
static bool CL_Redir
Definition XrdXrootdProtocol.hh:461
XrdXrootdProtocol::reTry
XrdSysSemaphore * reTry
Definition XrdXrootdProtocol.hh:601
XrdXrootdProtocol::FTab
XrdXrootdFileTable * FTab
Definition XrdXrootdProtocol.hh:514
XrdXrootdProtocol::readWait
static int readWait
Definition XrdXrootdProtocol.hh:429
XrdXrootdProtocol::numWritV
int numWritV
Definition XrdXrootdProtocol.hh:495
XrdXrootdProtocol::JobCKS
static XrdXrootdJob * JobCKS
Definition XrdXrootdProtocol.hh:440
XrdXrootdProtocol::eDest
static XrdSysError & eDest
Definition XrdXrootdProtocol.hh:404
XrdXrootdProtocol::aioUpdReq
void aioUpdReq(int val)
Definition XrdXrootdProtocol.hh:166
XrdXrootdProtocol::myGID
static gid_t myGID
Definition XrdXrootdProtocol.hh:414
XrdXrootdProtocol::getSID
static unsigned int getSID()
Definition XrdXrootdProtocol.cc:271
XrdXrootdProtocol::newPio
bool newPio
Definition XrdXrootdProtocol.hh:616
XrdXrootdProtocol::as_maxperreq
static int as_maxperreq
Definition XrdXrootdProtocol.hh:223
XrdXrootdProtocol::AuthProt
XrdSecProtocol * AuthProt
Definition XrdXrootdProtocol.hh:528
XrdXrootdProtocol::myRole
static int myRole
Definition XrdXrootdProtocol.hh:411
XrdXrootdProtocol::myGNLen
static int myGNLen
Definition XrdXrootdProtocol.hh:416
XrdXrootdProtocol::getData
int getData(gdCallBack *gdcbP, const char *dtype, char *buff, int blen)
XrdXrootdProtocol::Claim
XrdSfsXioHandle Claim(const char *buff, int datasz, int minasz=0) override
Definition XrdXrootdProtocol.cc:909
XrdXrootdProtocol::usxParms
static char * usxParms
Definition XrdXrootdProtocol.hh:469
XrdXrootdProtocol::Monitor
XrdXrootdMonitor::User Monitor
Definition XrdXrootdProtocol.hh:515
XrdXrootdProtocol::RedirPI
static XrdXrootdRedirPI * RedirPI
Definition XrdXrootdProtocol.hh:406
XrdXrootdProtocol::tlsNot
static char tlsNot
Definition XrdXrootdProtocol.hh:480
XrdXrootdProtocol::myStalls
int myStalls
Definition XrdXrootdProtocol.hh:507
XrdXrootdProtocol::clientPV
int clientPV
Definition XrdXrootdProtocol.hh:517
XrdXrootdProtocol::isProxy
static bool isProxy
Definition XrdXrootdProtocol.hh:463
XrdXrootdProtocol::myCName
static const char * myCName
Definition XrdXrootdProtocol.hh:435
XrdXrootdProtocol::isNOP
bool isNOP
Definition XrdXrootdProtocol.hh:607
XrdXrootdProtocol::as_segsize
static int as_segsize
Definition XrdXrootdProtocol.hh:228
XrdXrootdProtocol::pioFree
XrdXrootdPio * pioFree
Definition XrdXrootdProtocol.hh:613
XrdXrootdProtocol::PrepareCount
int PrepareCount
Definition XrdXrootdProtocol.hh:629
XrdXrootdProtocol::myCNlen
static int myCNlen
Definition XrdXrootdProtocol.hh:436
XrdXrootdProtocol::Req_TLSData
static const char Req_TLSData
Definition XrdXrootdProtocol.hh:473
XrdXrootdProtocol::as_syncw
static bool as_syncw
Definition XrdXrootdProtocol.hh:235
XrdXrootdProtocol::wvSeq
unsigned char wvSeq
Definition XrdXrootdProtocol.hh:618
XrdXrootdProtocol::mySID
unsigned int mySID
Definition XrdXrootdProtocol.hh:604
XrdXrootdProtocol::maxBuffsz
static int maxBuffsz
Definition XrdXrootdProtocol.hh:484
XrdXrootdProtocol::Swap
XrdSfsXioHandle Swap(const char *buff, XrdSfsXioHandle h=0) override
Definition XrdXrootdProtocol.cc:950
XrdXrootdProtocol::reserved
char reserved[3]
Definition XrdXrootdProtocol.hh:520
XrdXrootdProtocol::getPathID
int getPathID()
Definition XrdXrootdProtocol.hh:186
XrdXrootdProtocol::Link
XrdLink * Link
Definition XrdXrootdProtocol.hh:512
XrdXrootdProtocol::Locker
static XrdXrootdFileLock * Locker
Definition XrdXrootdProtocol.hh:401
XrdXrootdProtocol::numReadV
int numReadV
Definition XrdXrootdProtocol.hh:493
XrdXrootdProtocol::maxPio
static const int maxPio
Definition XrdXrootdProtocol.hh:610
XrdXrootdProtocol::numSegsW
int numSegsW
Definition XrdXrootdProtocol.hh:496
XrdXrootdProtocol::sigReq
SecurityRequest sigReq
Definition XrdXrootdProtocol.hh:536
XrdXrootdProtocol::Resume
int(XrdXrootdProtocol::* Resume)()
Definition XrdXrootdProtocol.hh:586
XrdXrootdProtocol::as_timeout
static short as_timeout
Definition XrdXrootdProtocol.hh:231
XrdXrootdProtocol::sigWarn
bool sigWarn
Definition XrdXrootdProtocol.hh:541
XrdXrootdProtocol::cumSegsW
int cumSegsW
Definition XrdXrootdProtocol.hh:505
XrdXrootdProtocol::GetDataCtl.__unnamed1__::Buffer
char * Buffer
XrdXrootdProtocol::RC_Table::Domain
char * Domain[4]
Definition XrdXrootdProtocol.hh:452
XrdXrootdProtocol::cumReadP
int cumReadP
Definition XrdXrootdProtocol.hh:501
XrdXrootdProtocol::myUNLen
static int myUNLen
Definition XrdXrootdProtocol.hh:417
XrdXrootdProtocol::myPID
static int myPID
Definition XrdXrootdProtocol.hh:410
XrdXrootdProtocol::Req_TLSTPC
static const char Req_TLSTPC
Definition XrdXrootdProtocol.hh:477
XrdXrootdProtocol::tlsCtx
static XrdTlsContext * tlsCtx
Definition XrdXrootdProtocol.hh:400
XrdXrootdProtocol::as_maxstalls
static int as_maxstalls
Definition XrdXrootdProtocol.hh:229
XrdXrootdProtocol::redirIPHold
static int redirIPHold
Definition XrdXrootdProtocol.hh:433
XrdXrootdProtocol::PathID
short PathID
Definition XrdXrootdProtocol.hh:615
XrdXrootdProtocol::streamMutex
XrdSysMutex streamMutex
Definition XrdXrootdProtocol.hh:600
XrdXrootdProtocol::MonAuth
void MonAuth()
Definition XrdXrootdXeq.cc:4246
XrdXrootdProtocol::pioLast
XrdXrootdPio * pioLast
Definition XrdXrootdProtocol.hh:612
XrdXrootdProtocol::tlsCap
static char tlsCap
Definition XrdXrootdProtocol.hh:479
XrdXrootdProtocol::PrepareAlt
static bool PrepareAlt
Definition XrdXrootdProtocol.hh:626
XrdXrootdProtocol::XPList
static XrdXrootdXPath XPList
Definition XrdXrootdProtocol.hh:395
XrdXrootdProtocol::RC_Table::pvtIP
bool pvtIP
Definition XrdXrootdProtocol.hh:454
XrdXrootdProtocol::as_maxperlnk
static int as_maxperlnk
Definition XrdXrootdProtocol.hh:222
XrdXrootdProtocol::isTLS
bool isTLS
Definition XrdXrootdProtocol.hh:622
XrdXrootdProtocol::Sched
static XrdScheduler * Sched
Definition XrdXrootdProtocol.hh:402
XrdXrootdProtocol::RouteClient
static struct XrdXrootdProtocol::RC_Table RouteClient
Definition XrdXrootdProtocol.cc:160
XrdXrootdProtocol::Process
int Process(XrdLink *lp) override
Definition XrdXrootdProtocol.cc:368
XrdXrootdProtocol::RD_Table::Port
unsigned short Port[2]
Definition XrdXrootdProtocol.hh:449
XrdXrootdProtocol::clientRN
int clientRN
Definition XrdXrootdProtocol.hh:518
XrdXrootdProtocol::Recycle
void Recycle(XrdLink *lp, int consec, const char *reason) override
Definition XrdXrootdProtocol.cc:660
XrdXrootdProtocol::Process2
int Process2()
Definition XrdXrootdProtocol.cc:439
XrdXrootdProtocol::cumWritV
int cumWritV
Definition XrdXrootdProtocol.hh:504
XrdXrootdProtocol::cumReadV
int cumReadV
Definition XrdXrootdProtocol.hh:502
XrdXrootdProtocol::CapVer
unsigned char CapVer
Definition XrdXrootdProtocol.hh:523
XrdXrootdProtocol::tlsPort
static int tlsPort
Definition XrdXrootdProtocol.hh:432
XrdXrootdProtocol::Buffer
static char * Buffer(XrdSfsXioHandle h, int *bsz)
Definition XrdXrootdProtocol.cc:893
XrdXrootdProtocol::isRedir
static char isRedir
Definition XrdXrootdProtocol.hh:437
XrdXrootdProtocol::cumSegsV
int cumSegsV
Definition XrdXrootdProtocol.hh:503
XrdXrootdProtocol::myUName
static const char * myUName
Definition XrdXrootdProtocol.hh:419
XrdXrootdProtocol::OD_Stall
static int OD_Stall
Definition XrdXrootdProtocol.hh:457
XrdXrootdProtocol::PrepareLimit
static int PrepareLimit
Definition XrdXrootdProtocol.hh:630
XrdXrootdProtocol::Req_TLSLogin
static const char Req_TLSLogin
Definition XrdXrootdProtocol.hh:475
XrdXrootdProtocol::Status
char Status
Definition XrdXrootdProtocol.hh:522
XrdXrootdProtocol::ProcSig
int ProcSig()
Definition XrdXrootdProtocol.cc:615
XrdXrootdProtocol::Response
XrdXrootdResponse Response
Definition XrdXrootdProtocol.hh:636
XrdXrootdProtocol::ResumePio
int(XrdXrootdProtocol::* ResumePio)()
Definition XrdXrootdProtocol.hh:585
XrdXrootdProtocol::GetDataCtl.__unnamed0__::DumpLen
int DumpLen
XrdXrootdProtocol::TraceID
static const char * TraceID
Definition XrdXrootdProtocol.hh:408
XrdXrootdProtocol::JobLCL
static char JobLCL
Definition XrdXrootdProtocol.hh:438
XrdXrootdProtocol::hcNow
int hcNow
Definition XrdXrootdProtocol.hh:594
XrdXrootdProtocol::JobCKT
static char * JobCKT
Definition XrdXrootdProtocol.hh:441
XrdXrootdProtocol::DoIt
void DoIt() override
Definition XrdXrootdProtocol.hh:174
XrdXrootdProtocol::JobCKCGI
static char JobCKCGI
Definition XrdXrootdProtocol.hh:439
XrdXrootdProtocol::RD_Table::RDSz
short RDSz[2]
Definition XrdXrootdProtocol.hh:450
XrdXrootdProtocol::keepT
static time_t keepT
Definition XrdXrootdProtocol.hh:420
XrdXrootdProtocol::numSegsV
int numSegsV
Definition XrdXrootdProtocol.hh:494
XrdXrootdProtocol::Configure
static int Configure(char *parms, XrdProtocol_Config *pi)
Definition XrdXrootdConfig.cc:175
XrdXrootdProtocol::Stats
int Stats(char *buff, int blen, int do_sync=0) override
Definition XrdXrootdProtocol.cc:855
XrdXrootdProtocol::argp
XrdBuffer * argp
Definition XrdXrootdProtocol.hh:513
XrdXrootdProtocol::RD_Table::Host
char * Host[2]
Definition XrdXrootdProtocol.hh:448
XrdXrootdProtocol::maxStreams
static const int maxStreams
Definition XrdXrootdProtocol.hh:218
XrdXrootdProtocol::~XrdXrootdProtocol
~XrdXrootdProtocol()
Definition XrdXrootdProtocol.hh:216
XrdXrootdProtocol::getDump
int getDump(const char *dtype, int dlen)
Definition XrdXrootdProtocol.cc:1393
XrdXrootdProtocol::as_seghalf
static int as_seghalf
Definition XrdXrootdProtocol.hh:227
XrdXrootdProtocol::hcNext
int hcNext
Definition XrdXrootdProtocol.hh:593
XrdXrootdProtocol::numWrites
int numWrites
Definition XrdXrootdProtocol.hh:497
XrdXrootdProtocol::JobCKTLST
static XrdOucTList * JobCKTLST
Definition XrdXrootdProtocol.hh:442
XrdXrootdProtocol::myRolf
static int myRolf
Definition XrdXrootdProtocol.hh:412
XrdXrootdProtocol::RQList
static XrdXrootdXPath RQList
Definition XrdXrootdProtocol.hh:394
XrdXrootdProtocol::Route
static struct XrdXrootdProtocol::RD_Table Route[RD_Num]
Definition XrdXrootdProtocol.cc:159
XrdXrootdProtocol::DHS
static XrdSecProtector * DHS
Definition XrdXrootdProtocol.hh:399
XrdXrootdProtocol::as_minsfsz
static int as_minsfsz
Definition XrdXrootdProtocol.hh:226
XrdXrootdProtocol::BPool
static XrdBuffManager * BPool
Definition XrdXrootdProtocol.hh:403
XrdXrootdProtocol::as_nosf
static bool as_nosf
Definition XrdXrootdProtocol.hh:234
XrdXrootdProtocol::CIA
static XrdSecService * CIA
Definition XrdXrootdProtocol.hh:398
XrdXrootdProtocol::srvrAioOps
static RAtomic_int srvrAioOps
Definition XrdXrootdProtocol.hh:176
XrdXrootdProtocol::sigRead
bool sigRead
Definition XrdXrootdProtocol.hh:540
XrdXrootdProtocol::myBlen
int myBlen
Definition XrdXrootdProtocol.hh:552
XrdXrootdProtocol::do_WriteSpan
int do_WriteSpan()
Definition XrdXrootdXeq.cc:3359
XrdXrootdProtocol::myGName
static const char * myGName
Definition XrdXrootdProtocol.hh:418
XrdXrootdProtocol::Notify
static char * Notify
Definition XrdXrootdProtocol.hh:434
XrdXrootdProtocol::fsFeatures
static uint64_t fsFeatures
Definition XrdXrootdProtocol.hh:444
XrdXrootdProtocol::sigBuff
char sigBuff[64]
Definition XrdXrootdProtocol.hh:537
XrdXrootdProtocol::usxMaxVsz
static int usxMaxVsz
Definition XrdXrootdProtocol.hh:468
XrdXrootdProtocol::numReads
int numReads
Definition XrdXrootdProtocol.hh:491
XrdXrootdProtocol::ReqID
XrdXrootdReqID ReqID
Definition XrdXrootdProtocol.hh:634
XrdXrootdProtocol::RC_Table::lclDom
bool lclDom
Definition XrdXrootdProtocol.hh:455
XrdXrootdProtocol::hcPrev
int hcPrev
Definition XrdXrootdProtocol.hh:592
XrdXrootdProtocol::sigNeed
bool sigNeed
Definition XrdXrootdProtocol.hh:538
XrdXrootdProtocol::rdType
short rdType
Definition XrdXrootdProtocol.hh:521
XrdXrootdProtocol::PrepID
static XrdOucReqID * PrepID
Definition XrdXrootdProtocol.hh:443
XrdXrootdProtocol::halfBSize
int halfBSize
Definition XrdXrootdProtocol.hh:595
XrdXrootdProtocol::doTLS
char doTLS
Definition XrdXrootdProtocol.hh:620
XrdXrootdProtocol::Window
static int Window
Definition XrdXrootdProtocol.hh:431
XrdXrootdProtocol::hailWait
static int hailWait
Definition XrdXrootdProtocol.hh:428
XrdXrootdProtocol::pioFirst
XrdXrootdPio * pioFirst
Definition XrdXrootdProtocol.hh:611
XrdXrootdProtocol::linkAioReq
RAtomic_int linkAioReq
Definition XrdXrootdProtocol.hh:545
XrdXrootdProtocol::sigHere
bool sigHere
Definition XrdXrootdProtocol.hh:539
XrdXrootdProtocol::as_force
static bool as_force
Definition XrdXrootdProtocol.hh:232
XrdXrootdProtocol::endNote
XrdSysCondVar2 * endNote
Definition XrdXrootdProtocol.hh:602
XrdXrootdProtocol::osFS
static XrdSfsFileSystem * osFS
Definition XrdXrootdProtocol.hh:396
XrdXrootdProtocol::isDead
bool isDead
Definition XrdXrootdProtocol.hh:608
XrdXrootdProtocol::LimitError
static bool LimitError
Definition XrdXrootdProtocol.hh:627
XrdXrootdProtocol::operator=
XrdXrootdProtocol operator=(const XrdXrootdProtocol &rhs)=delete
XrdXrootdProtocol::maxTransz
static int maxTransz
Definition XrdXrootdProtocol.hh:485
XrdXrootdProtocol::maxReadv_ior
static int maxReadv_ior
Definition XrdXrootdProtocol.hh:486
XrdXrootdProtocol::RC_Table::DomCnt
short DomCnt
Definition XrdXrootdProtocol.hh:453
XrdXrootdProtocol::RC_Table
Definition XrdXrootdProtocol.hh:452
XrdXrootdProtocol::RD_Table
Definition XrdXrootdProtocol.hh:448
XrdXrootdRedirPI
Definition XrdXrootdRedirPI.hh:40
XrdXrootdReqID
Definition XrdXrootdReqID.hh:36
XrdXrootdResponse
Definition XrdXrootdResponse.hh:49
XrdXrootdStats
Definition XrdXrootdStats.hh:40
XrdXrootdXPath
Definition XrdXrootdXPath.hh:43
XrdXrootd::gdCallBack
Definition XrdXrootdProtocol.hh:111
XrdXrootd::gdCallBack::gdFail
virtual void gdFail()
Definition XrdXrootdProtocol.hh:126
XrdXrootd::gdCallBack::~gdCallBack
virtual ~gdCallBack()
Definition XrdXrootdProtocol.hh:129
XrdXrootd::gdCallBack::gdDone
virtual int gdDone()=0
XrdXrootd::gdCallBack::gdCallBack
gdCallBack()
Definition XrdXrootdProtocol.hh:128
XrdXrootd
Definition XrdXrootdAioBuff.cc:49
XrdXrootd::IOParms.__unnamed0__::WVBytes
long long WVBytes
XrdXrootd::IOParms.__unnamed0__::EInfo
int EInfo[2]
XrdXrootd::IOParms.__unnamed0__::Offset
long long Offset
XrdOucSFVec
Definition XrdOucSFVec.hh:43
XrdSfsFACtl
Definition XrdSfsFAttr.hh:73
XrdXrootdProtocol::GetDataCtl
Definition XrdXrootdProtocol.hh:556
XrdXrootdProtocol::GetDataCtl::CallBack
XrdXrootd::gdCallBack * CallBack
Definition XrdXrootdProtocol.hh:571
XrdXrootdProtocol::GetDataCtl::Active
static const int Active
Definition XrdXrootdProtocol.hh:579
XrdXrootdProtocol::GetDataCtl::ioDType
const char * ioDType
Definition XrdXrootdProtocol.hh:570
XrdXrootdProtocol::GetDataCtl::Terminate
static const int Terminate
Definition XrdXrootdProtocol.hh:580
XrdXrootdProtocol::GetDataCtl::iovNow
int iovNow
Definition XrdXrootdProtocol.hh:558
XrdXrootdProtocol::GetDataCtl::stalls
unsigned char stalls
Definition XrdXrootdProtocol.hh:565
XrdXrootdProtocol::GetDataCtl::inDump
static const int inDump
Definition XrdXrootdProtocol.hh:577
XrdXrootdProtocol::GetDataCtl::linkWait
RAtomic_uchar linkWait
Definition XrdXrootdProtocol.hh:566
XrdXrootdProtocol::GetDataCtl::inData
static const int inData
Definition XrdXrootdProtocol.hh:575
XrdXrootdProtocol::GetDataCtl::Status
char Status
Definition XrdXrootdProtocol.hh:564
XrdXrootdProtocol::GetDataCtl::useCB
bool useCB
Definition XrdXrootdProtocol.hh:563
XrdXrootdProtocol::GetDataCtl::inCallBk
static const int inCallBk
Definition XrdXrootdProtocol.hh:574
XrdXrootdProtocol::GetDataCtl::inNone
static const int inNone
Definition XrdXrootdProtocol.hh:573
XrdXrootdProtocol::GetDataCtl::iovNum
int iovNum
Definition XrdXrootdProtocol.hh:557
XrdXrootdProtocol::GetDataCtl::inDataIov
static const int inDataIov
Definition XrdXrootdProtocol.hh:576
XrdXrootd::IOParms
Definition XrdXrootdProtocol.hh:137
XrdXrootd::IOParms::useSF
static const int useSF
Definition XrdXrootdProtocol.hh:150
XrdXrootd::IOParms::reserved
char reserved
Definition XrdXrootdProtocol.hh:146
XrdXrootd::IOParms::useBasic
static const int useBasic
Definition XrdXrootdProtocol.hh:148
XrdXrootd::IOParms::File
XrdXrootdFile * File
Definition XrdXrootdProtocol.hh:138
XrdXrootd::IOParms::Flags
unsigned short Flags
Definition XrdXrootdProtocol.hh:145
XrdXrootd::IOParms::Mode
char Mode
Definition XrdXrootdProtocol.hh:147
XrdXrootd::IOParms::IOLen
int IOLen
Definition XrdXrootdProtocol.hh:144
XrdXrootd::IOParms::useMMap
static const int useMMap
Definition XrdXrootdProtocol.hh:149
iov
Definition XrdOucIOVec.hh:65