#include <XrdLink.hh>
Public Types | |
typedef XrdOucSFVec | sfVec |
Public Member Functions | |
XrdNetAddrInfo * | AddrInfo () |
void | Bind () |
void | Bind (pthread_t tid) |
int | Client (char *buff, int blen) |
int | Close (int defer=0) |
void | DoIt () |
void | Enable () |
int | FDnum () |
int | getIOStats (long long &inbytes, long long &outbytes, int &numstall, int &numtardy) |
XrdProtocol * | getProtocol () |
void | Hold (int lk) |
const char * | Host () |
unsigned int | Inst () |
bool | isFlawed () |
bool | isInstance (unsigned int inst) |
const char * | Name () |
const XrdNetAddr * | NetAddr () |
int | Peek (char *buff, int blen, int timeout=-1) |
int | Recv (char *buff, int blen) |
int | Recv (char *buff, int blen, int timeout) |
int | RecvAll (char *buff, int blen, int timeout=-1) |
int | Send (const char *buff, int blen) |
int | Send (const struct iovec *iov, int iocnt, int bytes=0) |
int | Send (const sfVec *sdP, int sdn) |
void | Serialize () |
int | setEtext (const char *text) |
void | setID (const char *userid, int procid) |
void | setLocation (XrdNetAddrInfo::LocInfo &loc) |
XrdProtocol * | setProtocol (XrdProtocol *pp) |
void | setRef (int cnt) |
void | syncStats (int *ctime=0) |
int | Terminate (const XrdLink *owner, int fdnum, unsigned int inst) |
time_t | timeCon () |
int | UseCnt () |
void | armBridge () |
int | hasBridge () |
XrdLink () | |
~XrdLink () | |
Static Public Member Functions | |
static XrdLink * | Alloc (XrdNetAddr &peer, int opts=0) |
static XrdLink * | fd2link (int fd) |
static XrdLink * | fd2link (int fd, unsigned int inst) |
static XrdLink * | Find (int &curr, XrdLinkMatch *who=0) |
static int | getName (int &curr, char *bname, int blen, XrdLinkMatch *who=0) |
static void | Init (XrdSysError *eP, XrdOucTrace *tP, XrdScheduler *sP) |
static void | Init (XrdInet *iP) |
static void | setKWT (int wkSec, int kwSec) |
static int | Setup (int maxfd, int idlewait) |
static int | Stats (char *buff, int blen, int do_sync=0) |
Public Attributes | |
char * | ID |
Static Public Attributes | |
static int | sfOK |
Private Member Functions | |
void | Reset () |
int | sendData (const char *Buff, int Blen) |
Private Attributes | |
long long | BytesIn |
long long | BytesInTot |
long long | BytesOut |
long long | BytesOutTot |
int | stallCnt |
int | stallCntTot |
int | tardyCnt |
int | tardyCntTot |
int | SfIntr |
XrdNetAddr | Addr |
char | Uname [24] |
char | Lname [232] |
char * | HostName |
int | HNlen |
pthread_t | TID |
XrdSysMutex | opMutex |
XrdSysMutex | rdMutex |
XrdSysMutex | wrMutex |
XrdSysSemaphore | IOSemaphore |
XrdSysCondVar * | KillcvP |
XrdLink * | Next |
XrdProtocol * | Protocol |
XrdProtocol * | ProtoAlt |
XrdPoll * | Poller |
struct pollfd * | PollEnt |
char * | Etext |
int | FD |
unsigned int | Instance |
time_t | conTime |
int | InUse |
int | doPost |
char | LockReads |
char | KeepFD |
char | isEnabled |
char | isIdle |
char | inQ |
char | isBridged |
char | KillCnt |
Static Private Attributes | |
static XrdSysError * | XrdLog |
static XrdOucTrace * | XrdTrace |
static XrdScheduler * | XrdSched |
static XrdInet * | XrdNetTCP |
static XrdSysMutex | LTMutex |
static XrdLink ** | LinkTab |
static char * | LinkBat |
static unsigned int | LinkAlloc |
static int | LTLast |
static const char * | TraceID |
static int | devNull |
static short | killWait |
static short | waitKill |
static long long | LinkBytesIn |
static long long | LinkBytesOut |
static long long | LinkConTime |
static long long | LinkCountTot |
static int | LinkCount |
static int | LinkCountMax |
static int | LinkTimeOuts |
static int | LinkStalls |
static int | LinkSfIntr |
static XrdSysMutex | statsMutex |
static const char | KillMax = 60 |
static const char | KillMsk = 0x7f |
static const char | KillXwt = 0x80 |
Friends | |
class | XrdLinkScan |
class | XrdPoll |
class | XrdPollPoll |
class | XrdPollDev |
class | XrdPollE |
typedef XrdOucSFVec XrdLink::sfVec |
XrdLink::XrdLink | ( | ) |
XrdLink::~XrdLink | ( | ) | [inline] |
XrdNetAddrInfo* XrdLink::AddrInfo | ( | ) | [inline] |
Obtain the address information for this link.
References Addr.
static XrdLink* XrdLink::Alloc | ( | XrdNetAddr & | peer, | |
int | opts = 0 | |||
) | [static] |
Allocate a new link object.
peer | The connection information for the endpoint. opts Processing options: XRDLINK_NOCLOSE - do not close the FD upon recycling. XRDLINK_RDLOCK - obtain a lock prior to reading data. |
void XrdLink::armBridge | ( | ) | [inline] |
References isBridged.
void XrdLink::Bind | ( | pthread_t | tid | ) | [inline] |
void XrdLink::Bind | ( | ) | [inline] |
int XrdLink::Client | ( | char * | buff, | |
int | blen | |||
) |
int XrdLink::Close | ( | int | defer = 0 |
) |
void XrdLink::DoIt | ( | ) | [virtual] |
Implements XrdJob.
void XrdLink::Enable | ( | ) |
static XrdLink* XrdLink::fd2link | ( | int | fd, | |
unsigned int | inst | |||
) | [inline, static] |
static XrdLink* XrdLink::fd2link | ( | int | fd | ) | [inline, static] |
int XrdLink::FDnum | ( | ) | [inline] |
References FD.
static XrdLink* XrdLink::Find | ( | int & | curr, | |
XrdLinkMatch * | who = 0 | |||
) | [static] |
int XrdLink::getIOStats | ( | long long & | inbytes, | |
long long & | outbytes, | |||
int & | numstall, | |||
int & | numtardy | |||
) | [inline] |
References BytesIn, BytesInTot, BytesOut, BytesOutTot, InUse, stallCnt, stallCntTot, tardyCnt, and tardyCntTot.
static int XrdLink::getName | ( | int & | curr, | |
char * | bname, | |||
int | blen, | |||
XrdLinkMatch * | who = 0 | |||
) | [static] |
XrdProtocol* XrdLink::getProtocol | ( | ) | [inline] |
References Protocol.
int XrdLink::hasBridge | ( | ) | [inline] |
References isBridged.
void XrdLink::Hold | ( | int | lk | ) | [inline] |
References XrdSysMutex::Lock(), opMutex, and XrdSysMutex::UnLock().
const char* XrdLink::Host | ( | ) | [inline] |
Get the fully qualified name of the endpoint.
References HostName.
static void XrdLink::Init | ( | XrdInet * | iP | ) | [inline, static] |
References XrdNetTCP.
static void XrdLink::Init | ( | XrdSysError * | eP, | |
XrdOucTrace * | tP, | |||
XrdScheduler * | sP | |||
) | [inline, static] |
unsigned int XrdLink::Inst | ( | ) | [inline] |
bool XrdLink::isFlawed | ( | ) | [inline] |
Indicate whether or not the link has an outstanding error.
References Etext.
bool XrdLink::isInstance | ( | unsigned int | inst | ) | [inline] |
const char* XrdLink::Name | ( | ) | [inline] |
Obtain the domain trimmed name of the end-point. The returned value should only be used for display and not for security purposes.
References Lname.
const XrdNetAddr* XrdLink::NetAddr | ( | ) | [inline] |
Obtain the network address object for this link. The returned value is valid as long as the end-point is connected. Otherwise, it may change.
References Addr.
int XrdLink::Peek | ( | char * | buff, | |
int | blen, | |||
int | timeout = -1 | |||
) |
int XrdLink::Recv | ( | char * | buff, | |
int | blen, | |||
int | timeout | |||
) |
int XrdLink::Recv | ( | char * | buff, | |
int | blen | |||
) |
int XrdLink::RecvAll | ( | char * | buff, | |
int | blen, | |||
int | timeout = -1 | |||
) |
void XrdLink::Reset | ( | ) | [private] |
int XrdLink::Send | ( | const sfVec * | sdP, | |
int | sdn | |||
) |
int XrdLink::Send | ( | const struct iovec * | iov, | |
int | iocnt, | |||
int | bytes = 0 | |||
) |
int XrdLink::Send | ( | const char * | buff, | |
int | blen | |||
) |
int XrdLink::sendData | ( | const char * | Buff, | |
int | Blen | |||
) | [private] |
void XrdLink::Serialize | ( | ) |
int XrdLink::setEtext | ( | const char * | text | ) |
void XrdLink::setID | ( | const char * | userid, | |
int | procid | |||
) |
static void XrdLink::setKWT | ( | int | wkSec, | |
int | kwSec | |||
) | [static] |
void XrdLink::setLocation | ( | XrdNetAddrInfo::LocInfo & | loc | ) | [inline] |
References Addr.
XrdProtocol* XrdLink::setProtocol | ( | XrdProtocol * | pp | ) |
void XrdLink::setRef | ( | int | cnt | ) |
static int XrdLink::Setup | ( | int | maxfd, | |
int | idlewait | |||
) | [static] |
static int XrdLink::Stats | ( | char * | buff, | |
int | blen, | |||
int | do_sync = 0 | |||
) | [static] |
void XrdLink::syncStats | ( | int * | ctime = 0 |
) |
int XrdLink::Terminate | ( | const XrdLink * | owner, | |
int | fdnum, | |||
unsigned int | inst | |||
) |
time_t XrdLink::timeCon | ( | ) | [inline] |
References conTime.
int XrdLink::UseCnt | ( | ) | [inline] |
References InUse.
friend class XrdLinkScan [friend] |
friend class XrdPoll [friend] |
friend class XrdPollDev [friend] |
friend class XrdPollE [friend] |
friend class XrdPollPoll [friend] |
XrdNetAddr XrdLink::Addr [private] |
Referenced by AddrInfo(), NetAddr(), and setLocation().
long long XrdLink::BytesIn [private] |
Referenced by getIOStats().
long long XrdLink::BytesInTot [private] |
Referenced by getIOStats().
long long XrdLink::BytesOut [private] |
Referenced by getIOStats().
long long XrdLink::BytesOutTot [private] |
Referenced by getIOStats().
time_t XrdLink::conTime [private] |
Referenced by timeCon().
int XrdLink::devNull [static, private] |
int XrdLink::doPost [private] |
char* XrdLink::Etext [private] |
Referenced by isFlawed().
int XrdLink::FD [private] |
Referenced by FDnum(), and isInstance().
int XrdLink::HNlen [private] |
char* XrdLink::HostName [private] |
Referenced by Host().
char* XrdLink::ID |
char XrdLink::inQ [private] |
unsigned int XrdLink::Instance [private] |
Referenced by fd2link(), Inst(), and isInstance().
int XrdLink::InUse [private] |
Referenced by getIOStats(), and UseCnt().
XrdSysSemaphore XrdLink::IOSemaphore [private] |
char XrdLink::isBridged [private] |
Referenced by armBridge(), and hasBridge().
char XrdLink::isEnabled [private] |
char XrdLink::isIdle [private] |
char XrdLink::KeepFD [private] |
char XrdLink::KillCnt [private] |
XrdSysCondVar* XrdLink::KillcvP [private] |
const char XrdLink::KillMax = 60 [static, private] |
const char XrdLink::KillMsk = 0x7f [static, private] |
short XrdLink::killWait [static, private] |
const char XrdLink::KillXwt = 0x80 [static, private] |
unsigned int XrdLink::LinkAlloc [static, private] |
char* XrdLink::LinkBat [static, private] |
Referenced by fd2link().
long long XrdLink::LinkBytesIn [static, private] |
long long XrdLink::LinkBytesOut [static, private] |
long long XrdLink::LinkConTime [static, private] |
int XrdLink::LinkCount [static, private] |
int XrdLink::LinkCountMax [static, private] |
long long XrdLink::LinkCountTot [static, private] |
int XrdLink::LinkSfIntr [static, private] |
int XrdLink::LinkStalls [static, private] |
XrdLink** XrdLink::LinkTab [static, private] |
Referenced by fd2link().
int XrdLink::LinkTimeOuts [static, private] |
char XrdLink::Lname[232] [private] |
Referenced by Name().
char XrdLink::LockReads [private] |
int XrdLink::LTLast [static, private] |
Referenced by fd2link().
XrdSysMutex XrdLink::LTMutex [static, private] |
XrdLink* XrdLink::Next [private] |
XrdSysMutex XrdLink::opMutex [private] |
Referenced by Hold().
struct pollfd* XrdLink::PollEnt [read, private] |
XrdPoll* XrdLink::Poller [private] |
XrdProtocol* XrdLink::ProtoAlt [private] |
XrdProtocol* XrdLink::Protocol [private] |
Referenced by getProtocol().
XrdSysMutex XrdLink::rdMutex [private] |
int XrdLink::SfIntr [private] |
int XrdLink::sfOK [static] |
int XrdLink::stallCnt [private] |
Referenced by getIOStats().
int XrdLink::stallCntTot [private] |
Referenced by getIOStats().
XrdSysMutex XrdLink::statsMutex [static, private] |
int XrdLink::tardyCnt [private] |
Referenced by getIOStats().
int XrdLink::tardyCntTot [private] |
Referenced by getIOStats().
pthread_t XrdLink::TID [private] |
const char* XrdLink::TraceID [static, private] |
char XrdLink::Uname[24] [private] |
short XrdLink::waitKill [static, private] |
XrdSysMutex XrdLink::wrMutex [private] |
XrdSysError* XrdLink::XrdLog [static, private] |
Referenced by Init().
XrdInet* XrdLink::XrdNetTCP [static, private] |
Referenced by Init().
XrdScheduler* XrdLink::XrdSched [static, private] |
Referenced by Init().
XrdOucTrace* XrdLink::XrdTrace [static, private] |
Referenced by Init().