1#ifndef __XRD_LINKXEQ_H__
2#define __XRD_LINKXEQ_H__
69 int &numstall,
int &numtardy)
85const char *
Name()
const {
return (
const char *)
Lname;}
90int Peek(
char *buff,
int blen,
int timeout=-1);
92int Recv(
char *buff,
int blen);
93int Recv(
char *buff,
int blen,
int timeout);
94int Recv(
const struct iovec *
iov,
int iocnt,
int timeout);
96int RecvAll(
char *buff,
int blen,
int timeout=-1);
100int Send(
const char *buff,
int blen);
101int Send(
const struct iovec *
iov,
int iocnt,
int bytes=0);
105void setID(
const char *userid,
int procid);
119static int Stats(
char *buff,
int blen,
bool do_sync=
false);
127int TLS_Recv(
char *Buff,
int Blen,
int timeout,
bool havelock=
false);
Definition XrdLinkInfo.hh:39
int InUse
Definition XrdLinkInfo.hh:47
Definition XrdLinkMatch.hh:35
Definition XrdLinkXeq.hh:53
int TLS_Send(const char *Buff, int Blen)
long long BytesOut
Definition XrdLinkXeq.hh:172
int TLS_Error(const char *act, XrdTls::RC rc)
int TLS_Peek(char *Buff, int Blen, int timeout)
int stallCntTot
Definition XrdLinkXeq.hh:175
int Client(char *buff, int blen)
char Uname[24]
Definition XrdLinkXeq.hh:200
XrdTlsPeerCerts * getPeerCerts()
XrdNetAddrInfo * AddrInfo()
Definition XrdLinkXeq.hh:57
static int LinkCountMax
Definition XrdLinkXeq.hh:166
XrdLinkInfo LinkInfo
Definition XrdLinkXeq.hh:144
const char * Name() const
Definition XrdLinkXeq.hh:85
XrdProtocol * ProtoAlt
Definition XrdLinkXeq.hh:184
int Close(bool defer=false)
int TLS_Send(const sfVec *sfP, int sfN)
XrdNetAddr Addr
Definition XrdLinkXeq.hh:192
int TLS_Recv(char *Buff, int Blen)
int sendData(const char *Buff, int Blen)
long long BytesInTot
Definition XrdLinkXeq.hh:171
bool TLS_Write(const char *Buff, int Blen)
int SendIOV(const struct iovec *iov, int iocnt, int bytes)
XrdProtocol * setProtocol(XrdProtocol *pp, bool push)
static long long LinkCountTot
Definition XrdLinkXeq.hh:164
int TLS_Send(const struct iovec *iov, int iocnt, int bytes)
long long BytesOutTot
Definition XrdLinkXeq.hh:173
void Shutdown(bool getLock)
int Peek(char *buff, int blen, int timeout=-1)
static int LinkCount
Definition XrdLinkXeq.hh:165
static int getName(int &curr, char *bname, int blen, XrdLinkMatch *who=0)
XrdSysMutex wrMutex
Definition XrdLinkXeq.hh:194
XrdSendQ * sendQ
Definition XrdLinkXeq.hh:195
XrdPollInfo PollInfo
Definition XrdLinkXeq.hh:145
void setID(const char *userid, int procid)
static const char * TraceID
Definition XrdLinkXeq.hh:157
bool LockReads
Definition XrdLinkXeq.hh:197
int stallCnt
Definition XrdLinkXeq.hh:174
int TLS_Recv(char *Buff, int Blen, int timeout, bool havelock=false)
int Recv(char *buff, int blen)
static long long LinkBytesIn
Definition XrdLinkXeq.hh:161
int SfIntr
Definition XrdLinkXeq.hh:178
int TLS_RecvAll(char *Buff, int Blen, int timeout)
int Recv(const struct iovec *iov, int iocnt, int timeout)
long long BytesIn
Definition XrdLinkXeq.hh:170
static int Stats(char *buff, int blen, bool do_sync=false)
int tardyCntTot
Definition XrdLinkXeq.hh:177
int Send(const char *buff, int blen)
XrdSysMutex rdMutex
Definition XrdLinkXeq.hh:193
bool KeepFD
Definition XrdLinkXeq.hh:198
int RecvIOV(const struct iovec *iov, int iocnt)
int tardyCnt
Definition XrdLinkXeq.hh:176
int TLS_Recv(const struct iovec *iov, int iocnt, int timeout)
int Send(const sfVec *sdP, int sdn)
char Lname[256]
Definition XrdLinkXeq.hh:201
int Send(const struct iovec *iov, int iocnt, int bytes=0)
static long long LinkConTime
Definition XrdLinkXeq.hh:163
static int LinkSfIntr
Definition XrdLinkXeq.hh:169
XrdTlsSocket tlsIO
Definition XrdLinkXeq.hh:188
void setLocation(XrdNetAddrInfo::LocInfo &loc)
Definition XrdLinkXeq.hh:107
XrdProtocol * getProtocol()
Definition XrdLinkXeq.hh:82
int HNlen
Definition XrdLinkXeq.hh:196
int RecvAll(char *buff, int blen, int timeout=-1)
XrdProtocol * Protocol
Definition XrdLinkXeq.hh:183
bool Register(const char *hName)
static XrdSysMutex statsMutex
Definition XrdLinkXeq.hh:179
~XrdLinkXeq()
Definition XrdLinkXeq.hh:142
void setProtName(const char *name)
static int LinkStalls
Definition XrdLinkXeq.hh:168
const XrdNetAddr * NetAddr() const
Definition XrdLinkXeq.hh:88
static long long LinkBytesOut
Definition XrdLinkXeq.hh:162
void syncStats(int *ctime=0)
char isIdle
Definition XrdLinkXeq.hh:199
bool setTLS(bool enable, XrdTlsContext *ctx=0)
int Recv(char *buff, int blen, int timeout)
int getIOStats(long long &inbytes, long long &outbytes, int &numstall, int &numtardy)
Definition XrdLinkXeq.hh:68
static int LinkTimeOuts
Definition XrdLinkXeq.hh:167
Definition XrdNetAddrInfo.hh:54
Definition XrdNetAddr.hh:42
void SetLocation(XrdNetAddrInfo::LocInfo &loc)
Definition XrdPollInfo.hh:37
Definition XrdProtocol.hh:125
Definition XrdSendQ.hh:43
Definition XrdSysPthread.hh:165
Definition XrdTlsContext.hh:37
Definition XrdTlsPeerCerts.hh:35
Socket wrapper for TLS I/O.
Definition XrdTlsSocket.hh:40
RC
Definition XrdTls.hh:40
Definition XrdNetAddrInfo.hh:195
Definition XrdOucSFVec.hh:43
Definition XrdOucIOVec.hh:65