1 #ifndef __XRD_LINKXEQ_H__
2 #define __XRD_LINKXEQ_H__
32 #include <sys/types.h>
69 int &numstall,
int &numtardy)
85 const char *
Name()
const {
return (
const char *)
Lname;}
90 int Peek(
char *buff,
int blen,
int timeout=-1);
92 int Recv(
char *buff,
int blen);
93 int Recv(
char *buff,
int blen,
int timeout);
95 int RecvAll(
char *buff,
int blen,
int timeout=-1);
99 int Send(
const char *buff,
int blen);
100 int Send(
const struct iovec *
iov,
int iocnt,
int bytes=0);
104 void setID(
const char *userid,
int procid);
118 static int Stats(
char *buff,
int blen,
bool do_sync=
false);
Definition: XrdLinkInfo.hh:39
int InUse
Definition: XrdLinkInfo.hh:47
Definition: XrdLinkMatch.hh:36
Definition: XrdLinkXeq.hh:53
XrdTlsPeerCerts * getPeerCerts()
int TLS_Send(const char *Buff, int Blen)
long long BytesOut
Definition: XrdLinkXeq.hh:168
int TLS_Error(const char *act, XrdTls::RC rc)
int TLS_Peek(char *Buff, int Blen, int timeout)
int stallCntTot
Definition: XrdLinkXeq.hh:171
int Client(char *buff, int blen)
char Uname[24]
Definition: XrdLinkXeq.hh:196
static int LinkCountMax
Definition: XrdLinkXeq.hh:162
XrdLinkInfo LinkInfo
Definition: XrdLinkXeq.hh:141
const char * Name() const
Definition: XrdLinkXeq.hh:85
XrdProtocol * ProtoAlt
Definition: XrdLinkXeq.hh:180
int Close(bool defer=false)
int TLS_Send(const sfVec *sfP, int sfN)
XrdNetAddr Addr
Definition: XrdLinkXeq.hh:188
int TLS_Recv(char *Buff, int Blen)
int sendData(const char *Buff, int Blen)
long long BytesInTot
Definition: XrdLinkXeq.hh:167
bool TLS_Write(const char *Buff, int Blen)
int SendIOV(const struct iovec *iov, int iocnt, int bytes)
static long long LinkCountTot
Definition: XrdLinkXeq.hh:160
int TLS_Send(const struct iovec *iov, int iocnt, int bytes)
long long BytesOutTot
Definition: XrdLinkXeq.hh:169
void Shutdown(bool getLock)
int Peek(char *buff, int blen, int timeout=-1)
static int LinkCount
Definition: XrdLinkXeq.hh:161
static int getName(int &curr, char *bname, int blen, XrdLinkMatch *who=0)
XrdSysMutex wrMutex
Definition: XrdLinkXeq.hh:190
XrdSendQ * sendQ
Definition: XrdLinkXeq.hh:191
XrdPollInfo PollInfo
Definition: XrdLinkXeq.hh:142
void setID(const char *userid, int procid)
static const char * TraceID
Definition: XrdLinkXeq.hh:153
bool LockReads
Definition: XrdLinkXeq.hh:193
XrdNetAddrInfo * AddrInfo()
Definition: XrdLinkXeq.hh:57
int stallCnt
Definition: XrdLinkXeq.hh:170
int Recv(char *buff, int blen)
static long long LinkBytesIn
Definition: XrdLinkXeq.hh:157
int SfIntr
Definition: XrdLinkXeq.hh:174
int TLS_RecvAll(char *Buff, int Blen, int timeout)
long long BytesIn
Definition: XrdLinkXeq.hh:166
static int Stats(char *buff, int blen, bool do_sync=false)
int tardyCntTot
Definition: XrdLinkXeq.hh:173
const XrdNetAddr * NetAddr() const
Definition: XrdLinkXeq.hh:88
int Send(const char *buff, int blen)
XrdSysMutex rdMutex
Definition: XrdLinkXeq.hh:189
bool KeepFD
Definition: XrdLinkXeq.hh:194
int tardyCnt
Definition: XrdLinkXeq.hh:172
int Send(const sfVec *sdP, int sdn)
char Lname[256]
Definition: XrdLinkXeq.hh:197
int Send(const struct iovec *iov, int iocnt, int bytes=0)
static long long LinkConTime
Definition: XrdLinkXeq.hh:159
XrdProtocol * setProtocol(XrdProtocol *pp, bool push)
static int LinkSfIntr
Definition: XrdLinkXeq.hh:165
XrdTlsSocket tlsIO
Definition: XrdLinkXeq.hh:184
void setLocation(XrdNetAddrInfo::LocInfo &loc)
Definition: XrdLinkXeq.hh:106
int HNlen
Definition: XrdLinkXeq.hh:192
int RecvAll(char *buff, int blen, int timeout=-1)
XrdProtocol * Protocol
Definition: XrdLinkXeq.hh:179
bool Register(const char *hName)
static XrdSysMutex statsMutex
Definition: XrdLinkXeq.hh:175
~XrdLinkXeq()
Definition: XrdLinkXeq.hh:139
void setProtName(const char *name)
int TLS_Recv(char *Buff, int Blen, int timeout)
static int LinkStalls
Definition: XrdLinkXeq.hh:164
static long long LinkBytesOut
Definition: XrdLinkXeq.hh:158
void syncStats(int *ctime=0)
XrdProtocol * getProtocol()
Definition: XrdLinkXeq.hh:82
char isIdle
Definition: XrdLinkXeq.hh:195
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:163
Definition: XrdLink.hh:52
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:166
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