1 #ifndef __XRD_LINKXEQ_H__ 2 #define __XRD_LINKXEQ_H__ 32 #include <sys/types.h> 61 int Client(
char *buff,
int blen);
63 int Close(
bool defer=
false);
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);
122 int TLS_Peek(
char *Buff,
int Blen,
int timeout);
126 int TLS_Recv(
char *Buff,
int Blen,
int timeout);
128 int TLS_RecvAll(
char *Buff,
int Blen,
int timeout);
130 int TLS_Send(
const char *Buff,
int Blen);
132 int TLS_Send(
const struct iovec *iov,
int iocnt,
int bytes);
147 int sendData(
const char *Buff,
int Blen);
148 int SendIOV(
const struct iovec *iov,
int iocnt,
int bytes);
151 bool TLS_Write(
const char *Buff,
int Blen);
bool KeepFD
Definition: XrdLinkXeq.hh:194
static int LinkCountMax
Definition: XrdLinkXeq.hh:162
int TLS_Error(const char *act, XrdTls::RC rc)
bool setTLS(bool enable, XrdTlsContext *ctx=0)
int TLS_RecvAll(char *Buff, int Blen, int timeout)
static int LinkTimeOuts
Definition: XrdLinkXeq.hh:163
const XrdNetAddr * NetAddr() const
Definition: XrdLinkXeq.hh:88
XrdOucSFVec sfVec
Definition: XrdLink.hh:372
XrdTlsSocket tlsIO
Definition: XrdLinkXeq.hh:184
int Peek(char *buff, int blen, int timeout=-1)
int stallCnt
Definition: XrdLinkXeq.hh:170
static int Stats(char *buff, int blen, bool do_sync=false)
char isIdle
Definition: XrdLinkXeq.hh:195
static const char * TraceID
Definition: XrdLinkXeq.hh:153
XrdSysMutex wrMutex
Definition: XrdLinkXeq.hh:190
Definition: XrdProtocol.hh:124
XrdNetAddr Addr
Definition: XrdLinkXeq.hh:188
int tardyCnt
Definition: XrdLinkXeq.hh:172
void syncStats(int *ctime=0)
Socket wrapper for TLS I/O.
Definition: XrdTlsSocket.hh:39
XrdSendQ * sendQ
Definition: XrdLinkXeq.hh:191
Definition: XrdPollInfo.hh:36
Definition: XrdNetAddr.hh:41
static long long LinkBytesIn
Definition: XrdLinkXeq.hh:157
int tardyCntTot
Definition: XrdLinkXeq.hh:173
int Recv(char *buff, int blen)
static XrdSysMutex statsMutex
Definition: XrdLinkXeq.hh:175
long long BytesOut
Definition: XrdLinkXeq.hh:168
static long long LinkBytesOut
Definition: XrdLinkXeq.hh:158
~XrdLinkXeq()
Definition: XrdLinkXeq.hh:139
Definition: XrdSysPthread.hh:165
int getIOStats(long long &inbytes, long long &outbytes, int &numstall, int &numtardy)
Definition: XrdLinkXeq.hh:68
int sendData(const char *Buff, int Blen)
int HNlen
Definition: XrdLinkXeq.hh:192
static int LinkStalls
Definition: XrdLinkXeq.hh:164
RC
Definition: XrdTls.hh:40
long long BytesInTot
Definition: XrdLinkXeq.hh:167
static int getName(int &curr, char *bname, int blen, XrdLinkMatch *who=0)
Definition: XrdLink.hh:51
XrdNetAddrInfo * AddrInfo()
Definition: XrdLinkXeq.hh:57
char Lname[256]
Definition: XrdLinkXeq.hh:197
XrdPollInfo PollInfo
Definition: XrdLinkXeq.hh:142
Definition: XrdNetAddrInfo.hh:194
Definition: XrdSendQ.hh:42
XrdProtocol * setProtocol(XrdProtocol *pp, bool push)
int TLS_Send(const char *Buff, int Blen)
Definition: XrdLinkXeq.hh:52
bool TLS_Write(const char *Buff, int Blen)
Definition: XrdNetAddrInfo.hh:53
void Shutdown(bool getLock)
int Send(const char *buff, int blen)
XrdLinkInfo LinkInfo
Definition: XrdLinkXeq.hh:141
const char * Name() const
Definition: XrdLinkXeq.hh:85
XrdProtocol * ProtoAlt
Definition: XrdLinkXeq.hh:180
long long BytesIn
Definition: XrdLinkXeq.hh:166
Definition: XrdTlsContext.hh:36
XrdProtocol * Protocol
Definition: XrdLinkXeq.hh:179
static int LinkCount
Definition: XrdLinkXeq.hh:161
char Uname[24]
Definition: XrdLinkXeq.hh:196
int TLS_Recv(char *Buff, int Blen)
void SetLocation(XrdNetAddrInfo::LocInfo &loc)
static long long LinkConTime
Definition: XrdLinkXeq.hh:159
int TLS_Peek(char *Buff, int Blen, int timeout)
XrdTlsPeerCerts * getPeerCerts()
bool LockReads
Definition: XrdLinkXeq.hh:193
int SfIntr
Definition: XrdLinkXeq.hh:174
int Client(char *buff, int blen)
XrdSysMutex rdMutex
Definition: XrdLinkXeq.hh:189
Definition: XrdLinkMatch.hh:35
static int LinkSfIntr
Definition: XrdLinkXeq.hh:165
int stallCntTot
Definition: XrdLinkXeq.hh:171
XrdProtocol * getProtocol()
Definition: XrdLinkXeq.hh:82
int InUse
Definition: XrdLinkInfo.hh:47
void setID(const char *userid, int procid)
int RecvAll(char *buff, int blen, int timeout=-1)
bool Register(const char *hName)
int SendIOV(const struct iovec *iov, int iocnt, int bytes)
static long long LinkCountTot
Definition: XrdLinkXeq.hh:160
void setProtName(const char *name)
Definition: XrdLinkInfo.hh:38
Definition: XrdTlsPeerCerts.hh:34
void setLocation(XrdNetAddrInfo::LocInfo &loc)
Definition: XrdLinkXeq.hh:106
int Close(bool defer=false)
long long BytesOutTot
Definition: XrdLinkXeq.hh:169