48#define XRDLINK_RDLOCK 0x0001
49#define XRDLINK_NOCLOSE 0x0002
98void Bind(pthread_t tid) { (void)tid; }
108int FDnum() {
int fd =
FD;
return (fd < 0 ? -fd : fd);}
111 {
if (fd < 0) fd = -fd;
116 {
if (fd < 0) fd = -fd;
125 int &numstall,
int &numtardy)
203int Peek(
char *buff,
int blen,
int timeout=-1);
206int Recv(
char *buff,
int blen,
int timeout);
208int RecvAll(
char *buff,
int blen,
int timeout=-1);
210int Send(
const char *buff,
int blen);
211int Send(
const struct iovec *iov,
int iocnt,
int bytes=0);
223void setID(
const char *userid,
int procid);
235static int Setup(
int maxfd,
int idlewait);
239static int Stats(
char *buff,
int blen,
int do_sync=0);
305#if defined( __linux__ ) || defined( __solaris__ )
Definition: XrdInet.hh:49
Definition: XrdLinkMatch.hh:36
Definition: XrdLink.hh:64
static XrdOucTrace * XrdTrace
Definition: XrdLink.hh:261
XrdSysSemaphore IOSemaphore
Definition: XrdLink.hh:313
char * Etext
Definition: XrdLink.hh:320
bool isInstance(unsigned int inst)
Definition: XrdLink.hh:182
char isIdle
Definition: XrdLink.hh:329
static const char * TraceID
Definition: XrdLink.hh:270
XrdOucSFVec sfVec
Definition: XrdLink.hh:215
static const char KillMsk
Definition: XrdLink.hh:334
unsigned int Instance
Definition: XrdLink.hh:322
int stallCntTot
Definition: XrdLink.hh:292
time_t timeCon()
Definition: XrdLink.hh:245
int FDnum()
Definition: XrdLink.hh:108
char KillCnt
Definition: XrdLink.hh:332
static long long LinkConTime
Definition: XrdLink.hh:279
long long BytesOutTot
Definition: XrdLink.hh:290
void Hold(int lk)
Definition: XrdLink.hh:137
char KeepFD
Definition: XrdLink.hh:327
long long BytesIn
Definition: XrdLink.hh:287
bool isFlawed()
Definition: XrdLink.hh:170
static int Stats(char *buff, int blen, int do_sync=0)
XrdSendQ * sendQ
Definition: XrdLink.hh:315
static long long LinkCountTot
Definition: XrdLink.hh:280
int setEtext(const char *text)
static XrdLink * Alloc(XrdNetAddr &peer, int opts=0)
~XrdLink()
Definition: XrdLink.hh:253
char isBridged
Definition: XrdLink.hh:331
static XrdLink * fd2link(int fd)
Definition: XrdLink.hh:110
friend class XrdLinkScan
Definition: XrdLink.hh:66
static XrdSysError * XrdLog
Definition: XrdLink.hh:260
static XrdScheduler * XrdSched
Definition: XrdLink.hh:262
XrdProtocol * Protocol
Definition: XrdLink.hh:316
static XrdLink ** LinkTab
Definition: XrdLink.hh:266
static int maxFD
Definition: XrdLink.hh:286
int HNlen
Definition: XrdLink.hh:304
unsigned int Inst()
Definition: XrdLink.hh:161
static char * LinkBat
Definition: XrdLink.hh:267
int Peek(char *buff, int blen, int timeout=-1)
int Recv(char *buff, int blen)
XrdPoll * Poller
Definition: XrdLink.hh:318
static void Init(XrdSysError *eP, XrdOucTrace *tP, XrdScheduler *sP)
Definition: XrdLink.hh:150
void syncStats(int *ctime=0)
int Recv(char *buff, int blen, int timeout)
char Uname[24]
Definition: XrdLink.hh:301
int Send(const sfVec *sdP, int sdn)
static int getName(int &curr, char *bname, int blen, XrdLinkMatch *who=0)
static int LinkCount
Definition: XrdLink.hh:281
const XrdNetAddr * NetAddr()
Definition: XrdLink.hh:201
void Bind()
Definition: XrdLink.hh:97
long long BytesInTot
Definition: XrdLink.hh:288
int Send(const struct iovec *iov, int iocnt, int bytes=0)
static int LinkSfIntr
Definition: XrdLink.hh:285
void setID(const char *userid, int procid)
static int devNull
Definition: XrdLink.hh:271
XrdSysMutex rdMutex
Definition: XrdLink.hh:311
XrdNetAddr Addr
Definition: XrdLink.hh:300
int SfIntr
Definition: XrdLink.hh:295
XrdProtocol * ProtoAlt
Definition: XrdLink.hh:317
int RecvAll(char *buff, int blen, int timeout=-1)
int sendData(const char *Buff, int Blen)
static unsigned int LinkAlloc
Definition: XrdLink.hh:268
time_t conTime
Definition: XrdLink.hh:323
XrdLink * Next
Definition: XrdLink.hh:308
int UseCnt()
Definition: XrdLink.hh:247
char Lname[232]
Definition: XrdLink.hh:302
void Bind(pthread_t tid)
Definition: XrdLink.hh:98
int hasBridge()
Definition: XrdLink.hh:250
static void Init(XrdInet *iP)
Definition: XrdLink.hh:153
XrdSysMutex wrMutex
Definition: XrdLink.hh:312
static int LTLast
Definition: XrdLink.hh:269
XrdNetAddrInfo * AddrInfo()
Definition: XrdLink.hh:79
XrdSysCondVar * KillcvP
Definition: XrdLink.hh:314
static XrdSysMutex statsMutex
Definition: XrdLink.hh:296
int doPost
Definition: XrdLink.hh:325
static XrdInet * XrdNetTCP
Definition: XrdLink.hh:263
char * ID
Definition: XrdLink.hh:148
static short killWait
Definition: XrdLink.hh:272
int Send(const char *buff, int blen)
long long BytesOut
Definition: XrdLink.hh:289
XrdSysMutex opMutex
Definition: XrdLink.hh:310
const char * Host()
Definition: XrdLink.hh:146
static XrdLink * fd2link(int fd, unsigned int inst)
Definition: XrdLink.hh:115
void armBridge()
Definition: XrdLink.hh:249
int stallCnt
Definition: XrdLink.hh:291
static int LinkTimeOuts
Definition: XrdLink.hh:283
int tardyCntTot
Definition: XrdLink.hh:294
static XrdLink * Find(int &curr, XrdLinkMatch *who=0)
static const char KillXwt
Definition: XrdLink.hh:335
int Terminate(const XrdLink *owner, int fdnum, unsigned int inst)
void setLocation(XrdNetAddrInfo::LocInfo &loc)
Definition: XrdLink.hh:227
struct pollfd * PollEnt
Definition: XrdLink.hh:319
int getIOStats(long long &inbytes, long long &outbytes, int &numstall, int &numtardy)
Definition: XrdLink.hh:124
XrdProtocol * getProtocol()
Definition: XrdLink.hh:135
int Client(char *buff, int blen)
const char * Name()
Definition: XrdLink.hh:192
static short waitKill
Definition: XrdLink.hh:273
static int Setup(int maxfd, int idlewait)
static int LinkStalls
Definition: XrdLink.hh:284
int FD
Definition: XrdLink.hh:321
static long long LinkBytesIn
Definition: XrdLink.hh:277
char isEnabled
Definition: XrdLink.hh:328
char inQ
Definition: XrdLink.hh:330
char LockReads
Definition: XrdLink.hh:326
static int LinkCountMax
Definition: XrdLink.hh:282
static const char KillMax
Definition: XrdLink.hh:333
static int sfOK
Definition: XrdLink.hh:213
int tardyCnt
Definition: XrdLink.hh:293
static XrdSysMutex LTMutex
Definition: XrdLink.hh:265
char * HostName
Definition: XrdLink.hh:303
static long long LinkBytesOut
Definition: XrdLink.hh:278
void Shutdown(bool getLock)
int InUse
Definition: XrdLink.hh:324
XrdProtocol * setProtocol(XrdProtocol *pp)
static void setKWT(int wkSec, int kwSec)
Definition: XrdNetAddrInfo.hh:54
Definition: XrdNetAddr.hh:42
void SetLocation(XrdNetAddrInfo::LocInfo &loc)
Definition: XrdNetAddr.hh:221
Definition: XrdOucTrace.hh:36
Definition: XrdPollDev.hh:37
Definition: XrdPollE.hh:41
Definition: XrdPollPoll.hh:39
Definition: XrdPoll.hh:44
pthread_t TID
Definition: XrdPoll.hh:91
Definition: XrdProtocol.hh:117
Definition: XrdScheduler.hh:45
Definition: XrdSendQ.hh:43
Definition: XrdSysPthread.hh:79
Definition: XrdSysError.hh:90
Definition: XrdSysPthread.hh:166
void Lock()
Definition: XrdSysPthread.hh:220
void UnLock()
Definition: XrdSysPthread.hh:222
Definition: XrdSysPthread.hh:404
Definition: XrdNetAddrInfo.hh:176
Definition: XrdOucSFVec.hh:43