![]() |
XRootD
|
#include <XrdLink.hh>
Public Types | |
typedef XrdOucSFVec | sfVec |
Public Member Functions | |
XrdLink (XrdLinkXeq &lxq) | |
bool | Activate () |
XrdNetAddrInfo * | AddrInfo () |
void | armBridge () |
Mark this link as an in-memory communications bridge (internal use only). More... | |
int | Backlog () |
int | Client (char *buff, int blen) |
int | Close (bool defer=false) |
void | Enable () |
Enable the link to field interrupts. More... | |
int | FDnum () |
int | getIOStats (long long &inbytes, long long &outbytes, int &numstall, int &numtardy) |
XrdTlsPeerCerts * | getPeerCerts () |
XrdProtocol * | getProtocol () |
Obtain current protocol object pointer. More... | |
bool | hasBridge () const |
bool | hasTLS () const |
void | Hold (bool lk) |
const char * | Host () const |
unsigned int | Inst () const |
bool | isFlawed () const |
bool | isInstance (unsigned int inst) const |
const char * | Name () const |
const XrdNetAddr * | NetAddr () const |
int | Peek (char *buff, int blen, int timeout=-1) |
int | Recv (char *buff, int blen) |
int | Recv (char *buff, int blen, int timeout) |
int | Recv (const struct iovec *iov, int iocnt, int timeout) |
int | RecvAll (char *buff, int blen, int timeout=-1) |
bool | Register (const char *hName) |
int | Send (const char *buff, int blen) |
int | Send (const sfVec *sdP, int sdn) |
int | Send (const struct iovec *iov, int iocnt, int bytes=0) |
void | Serialize () |
Wait for all outstanding requests to be completed on the link. More... | |
int | setEtext (const char *text) |
void | setID (const char *userid, int procid) |
void | setLocation (XrdNetAddrInfo::LocInfo &loc) |
bool | setNB () |
void | setProtName (const char *name) |
XrdProtocol * | setProtocol (XrdProtocol *pp, bool runit=false, bool push=false) |
void | setRef (int cnt) |
bool | setTLS (bool enable, XrdTlsContext *ctx=0) |
Enable or disable TLS on the link. More... | |
void | Shutdown (bool getLock) |
void | syncStats (int *ctime=0) |
int | Terminate (const char *owner, int fdnum, unsigned int inst) |
time_t | timeCon () const |
Return the time the link was made active (i.e. time of connection). More... | |
int | UseCnt () const |
Return link's reference count. More... | |
const char * | verTLS () |
![]() | |
XrdJob (const char *desc="") | |
virtual | ~XrdJob () |
Static Public Member Functions | |
static XrdLink * | Find (int &curr, XrdLinkMatch *who=0) |
static int | getName (int &curr, char *bname, int blen, XrdLinkMatch *who=0) |
static int | Stats (char *buff, int blen, bool do_sync=0) |
Public Attributes | |
char * | ID |
Pointer to the client's link identity. More... | |
![]() | |
const char * | Comment |
XrdJob * | NextJob |
Static Public Attributes | |
static bool | sfOK = false |
Protected Member Functions | |
~XrdLink () | |
void | DoIt () |
void | ResetLink () |
int | Wait4Data (int timeout) |
Protected Attributes | |
char * | HostName |
unsigned int | Instance |
bool | isBridged |
bool | isTLS |
XrdLinkXeq & | linkXQ |
void * | rsvd1 [3] |
char | rsvd2 [2] |
Definition at line 51 of file XrdLink.hh.
typedef XrdOucSFVec XrdLink::sfVec |
Definition at line 390 of file XrdLink.hh.
XrdLink::XrdLink | ( | XrdLinkXeq & | lxq | ) |
Constructor
lxq | Reference to the implementation. |
Definition at line 111 of file XrdLink.cc.
References ResetLink(), rsvd1, and rsvd2.
|
inlineprotected |
Definition at line 583 of file XrdLink.hh.
bool XrdLink::Activate | ( | ) |
Activate a link by attaching it to a poller object.
Definition at line 131 of file XrdLink.cc.
References XrdPoll::Attach(), linkXQ, and XrdLinkXeq::PollInfo.
Referenced by XrdProtLoad::Process(), and XrdPoll__Attach().
XrdNetAddrInfo * XrdLink::AddrInfo | ( | ) |
Obtain the address information for this link.
Definition at line 143 of file XrdLink.cc.
References XrdLinkXeq::AddrInfo(), and linkXQ.
Referenced by XrdCmsLogin::Admit(), XrdCmsSecurity::Authenticate(), XrdCmsSecurity::Identify(), XrdHttpProtocol::Match(), XrdXrootdProtocol::Match(), XrdHttpProtocol::Process(), and XrdXrootdProtocol::Process2().
void XrdLink::armBridge | ( | ) |
Mark this link as an in-memory communications bridge (internal use only).
Definition at line 149 of file XrdLink.cc.
References isBridged.
int XrdLink::Backlog | ( | ) |
Obtain the number of queued async requests.
Definition at line 155 of file XrdLink.cc.
References XrdLinkXeq::Backlog(), and linkXQ.
int XrdLink::Client | ( | char * | buff, |
int | blen | ||
) |
Get a copy of the client's name as known by the link.
buff | Pointer to buffer to hold the name. |
blen | Length of the buffer. |
Definition at line 161 of file XrdLink.cc.
References XrdLinkXeq::Client(), and linkXQ.
Referenced by XrdHttpExtReq::GetClientID().
int XrdLink::Close | ( | bool | defer = false | ) |
Close the link.
defer | If true, the link is made unaccessible but the link object not the file descriptor is released. |
Definition at line 167 of file XrdLink.cc.
References XrdLinkXeq::Close(), and linkXQ.
Referenced by XrdCmsClientMan::~XrdCmsClientMan(), XrdXrootdTransit::Proceed(), XrdXrootdTransit::Redrive(), XrdCmsClientMan::Send(), XrdCmsClientMan::Start(), XrdCmsSupervisor::Start(), and XrdCmsClientMan::whatsUp().
|
protectedvirtual |
Implements XrdJob.
Reimplemented in XrdLinkXeq.
Definition at line 173 of file XrdLink.cc.
Referenced by setProtocol().
void XrdLink::Enable | ( | ) |
Enable the link to field interrupts.
Definition at line 179 of file XrdLink.cc.
References XrdPoll::Enable(), linkXQ, XrdPollInfo::Poller, and XrdLinkXeq::PollInfo.
Referenced by XrdXrootdTransit::Proceed(), and XrdXrootdTransit::Redrive().
int XrdLink::FDnum | ( | ) |
Get the associated file descriptor.
Definition at line 188 of file XrdLink.cc.
References XrdPollInfo::FD, linkXQ, and XrdLinkXeq::PollInfo.
Referenced by XrdHttpProtocol::Process().
|
static |
Find the next link matching certain attributes.
curr | Is an internal tracking value that allows repeated calls. It must be set to a value of 0 or less on the initial call and not touched therafter unless a null pointer is returned. |
who | If the object use to check if the link matches the wanted criterea (typically, client name and host name). If the pointer is nil, the next link is always returned. |
Definition at line 197 of file XrdLink.cc.
References XrdLinkCtl::Find().
int XrdLink::getIOStats | ( | long long & | inbytes, |
long long & | outbytes, | ||
int & | numstall, | ||
int & | numtardy | ||
) |
Get I/O statistics.
inbytes | The number of bytes read. |
outbytes | The number of bytes written. |
numstall | The number of times the link was rescheduled due to unavailability. |
numtardy | The number of times the link was delayed due to unavailability. |
Definition at line 204 of file XrdLink.cc.
References XrdLinkXeq::getIOStats(), and linkXQ.
|
static |
Find the next client name matching certain attributes.
curr | Is an internal tracking value that allows repeated calls. It must be set to a value of 0 or less on the initial call and not touched therafter unless zero is returned. |
bname | Pointer to a buffer where the name is to be returned. |
blen | The length of the buffer. |
who | If the object use to check if the link matches the wanted criterea (typically, client name and host name). If the pointer is nil, a match always occurs. |
Definition at line 218 of file XrdLink.cc.
References XrdLinkCtl::getName().
XrdTlsPeerCerts * XrdLink::getPeerCerts | ( | ) |
Get the x509 certificate information for this TLS enabled link.
Definition at line 225 of file XrdLink.cc.
References XrdLinkXeq::getPeerCerts(), and linkXQ.
XrdProtocol * XrdLink::getProtocol | ( | ) |
Obtain current protocol object pointer.
Definition at line 234 of file XrdLink.cc.
References XrdLinkXeq::getProtocol(), and linkXQ.
Referenced by XrdPoll::Finish().
|
inline |
Determine if this link is a bridge.
Definition at line 554 of file XrdLink.hh.
References isBridged.
Referenced by XrdXrootdProtocol::Process2(), and XrdXrootdResponse::Send().
|
inline |
Determine if this link is using TLS.
Definition at line 563 of file XrdLink.hh.
References isTLS.
void XrdLink::Hold | ( | bool | lk | ) |
Lock or unlock the mutex used for control operations.
lk | When true, a lock is obtained. Otherwise it is released. The caller is responsible for consistency. |
Definition at line 240 of file XrdLink.cc.
References XrdLinkXeq::LinkInfo, linkXQ, XrdSysMutex::Lock(), XrdLinkInfo::opMutex, and XrdSysMutex::UnLock().
Referenced by Terminate().
|
inline |
Get the fully qualified name of the endpoint.
Definition at line 204 of file XrdLink.hh.
References HostName.
Referenced by XrdCmsLogin::Admit(), XrdCmsSecurity::Authenticate(), XrdCmsSecurity::Identify(), XrdXrootdProtocol::Match(), XrdXrootdProtocol::Process2(), XrdCmsNode::setName(), Terminate(), and XrdCmsManager::Verify().
|
inline |
Obtain the link's instance number.
Definition at line 218 of file XrdLink.hh.
References Instance.
bool XrdLink::isFlawed | ( | ) | const |
Indicate whether or not the link has an outstanding error.
Definition at line 249 of file XrdLink.cc.
References XrdLinkInfo::Etext, XrdLinkXeq::LinkInfo, and linkXQ.
Referenced by XrdProtLoad::Process().
bool XrdLink::isInstance | ( | unsigned int | inst | ) | const |
Indicate whether or not this link is of a particular instance. only be used for display and not for security purposes.
inst | the expected instance number. |
Definition at line 255 of file XrdLink.cc.
References XrdPollInfo::FD, Instance, linkXQ, and XrdLinkXeq::PollInfo.
Referenced by XrdXrootdResponse::Send().
const char * XrdLink::Name | ( | ) | const |
Obtain the domain trimmed name of the end-point. The returned value should only be used for display and not for security purposes.
Definition at line 262 of file XrdLink.cc.
References linkXQ, and XrdLinkXeq::Name().
Referenced by XrdCmsManager::Add(), and XrdCmsJob::Alloc().
const XrdNetAddr * XrdLink::NetAddr | ( | ) | const |
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.
Definition at line 268 of file XrdLink.cc.
References linkXQ, and XrdLinkXeq::NetAddr().
Referenced by XrdCmsNode::isNode(), XrdHttpProtocol::Match(), and XrdCmsNode::setName().
int XrdLink::Peek | ( | char * | buff, |
int | blen, | ||
int | timeout = -1 |
||
) |
Issue a socket peek() and return result (do not use for TLS connections).
buff | pointer to buffer to hold data. |
blen | length of buffer. |
timeout | milliseconds to wait for data. A negative value waits forever. |
Definition at line 274 of file XrdLink.cc.
References isTLS, linkXQ, XrdLinkXeq::Peek(), and XrdLinkXeq::TLS_Peek().
Referenced by XrdCmsProtocol::Match(), XrdHttpProtocol::Match(), and XrdXrootdProtocol::Match().
int XrdLink::Recv | ( | char * | buff, |
int | blen | ||
) |
Read data from a link. Note that this call blocks until some data is available. Use Recv() with a timeout to avoid blocking.
buff | pointer to buffer to hold data. |
blen | length of buffer (implies the maximum bytes wanted). |
Definition at line 284 of file XrdLink.cc.
References isTLS, linkXQ, XrdLinkXeq::Recv(), and XrdLinkXeq::TLS_Recv().
Referenced by XrdCmsTalk::Attend(), BIO_XrdLink_read(), and XrdXrootdProtocol::Match().
int XrdLink::Recv | ( | char * | buff, |
int | blen, | ||
int | timeout | ||
) |
Read data from a link. Note that this call either reads all the data wanted or no data if the passed timeout occurs before any data is present.
buff | pointer to buffer to hold data. |
blen | length of buffer (implies the actual bytes wanted). |
timeout | milliseconds to wait for data. A negative value waits forever. |
Definition at line 292 of file XrdLink.cc.
References isTLS, linkXQ, XrdLinkXeq::Recv(), and XrdLinkXeq::TLS_Recv().
int XrdLink::Recv | ( | const struct iovec * | iov, |
int | iocnt, | ||
int | timeout | ||
) |
Read data on a link. Note that this call either reads all the data wanted or no data if the passed timeout occurs before any data is present.
iov | pointer to the message vector. |
iocnt | number of iov elements in the vector. |
timeout | milliseconds to wait for data. A negative value waits forever. |
Definition at line 300 of file XrdLink.cc.
References isTLS, linkXQ, XrdLinkXeq::Recv(), and XrdLinkXeq::TLS_Recv().
int XrdLink::RecvAll | ( | char * | buff, |
int | blen, | ||
int | timeout = -1 |
||
) |
Read data from a link. Note that this call reads as much data as it can or until the passed timeout has occurred.
buff | pointer to buffer to hold data. |
blen | length of buffer (implies the maximum bytes wanted). |
timeout | milliseconds to wait for data. A negative value waits forever. |
Definition at line 312 of file XrdLink.cc.
References isTLS, linkXQ, XrdLinkXeq::RecvAll(), and XrdLinkXeq::TLS_RecvAll().
Referenced by XrdCmsLogin::Login().
bool XrdLink::Register | ( | const char * | hName | ) |
Register a host name with this IP address. This is not MT-safe!
hName | pointer to a true host name which should be fully qualified. One of the IP addresses registered to this name must match the IP address associated with this object. |
Definition at line 322 of file XrdLink.cc.
References linkXQ, and XrdLinkXeq::Register().
|
protected |
Definition at line 119 of file XrdLink.cc.
References HostName, Instance, isBridged, and isTLS.
Referenced by XrdLink(), and XrdLinkXeq::Reset().
int XrdLink::Send | ( | const char * | buff, |
int | blen | ||
) |
Send data on a link. This calls may block unless the socket was marked nonblocking. If a block would occur, the data is copied for later sending.
buff | pointer to buffer to send. |
blen | length of buffer. |
Definition at line 331 of file XrdLink.cc.
References isTLS, linkXQ, XrdLinkXeq::Send(), and XrdLinkXeq::TLS_Send().
Referenced by BIO_XrdLink_write(), XrdCmsTalk::Complain(), XrdXrootdProtocol::Match(), XrdCmsNode::Report_Usage(), XrdCmsTalk::Request(), XrdCmsTalk::Respond(), XrdCmsNode::Send(), XrdXrootdTransSend::Send(), XrdCmsClientMan::Send(), XrdXrootdResponse::Send(), and XrdCmsState::sendState().
int XrdLink::Send | ( | const sfVec * | sdP, |
int | sdn | ||
) |
Definition at line 353 of file XrdLink.cc.
References XrdSysError::Emsg(), ID, isTLS, linkXQ, XrdGlobal::Log, XrdLinkXeq::Send(), XrdOucSFVec::sfMax, and XrdLinkXeq::TLS_Send().
int XrdLink::Send | ( | const struct iovec * | iov, |
int | iocnt, | ||
int | bytes = 0 |
||
) |
Send data on a link. This calls may block unless the socket was marked nonblocking. If a block would occur, the data is copied for later sending.
iov | pointer to the message vector. |
iocnt | number of iov elements in the vector. |
bytes | the sum of the sizes in the vector. |
Definition at line 339 of file XrdLink.cc.
References isTLS, linkXQ, XrdLinkXeq::Send(), and XrdLinkXeq::TLS_Send().
void XrdLink::Serialize | ( | ) |
Wait for all outstanding requests to be completed on the link.
Definition at line 372 of file XrdLink.cc.
References DEBUG, XrdLinkInfo::doPost, XrdLinkInfo::InUse, XrdLinkInfo::IOSemaphore, XrdLinkXeq::LinkInfo, linkXQ, XrdSysMutex::Lock(), XrdLinkInfo::opMutex, TRACEI, XrdSysMutex::UnLock(), and XrdSysSemaphore::Wait().
Referenced by XrdLinkXeq::Close(), and XrdCmsProtocol::Process().
int XrdLink::setEtext | ( | const char * | text | ) |
Set an error indication on he link.
text | a message describing the error. |
Definition at line 393 of file XrdLink.cc.
References XrdLinkInfo::Etext, XrdLinkXeq::LinkInfo, linkXQ, XrdSysMutex::Lock(), XrdLinkInfo::opMutex, and XrdSysMutex::UnLock().
Referenced by XrdPoll::Finish(), XrdCmsProtocol::Match(), XrdHttpProtocol::Match(), XrdXrootdProtocol::Match(), XrdProtLoad::Process(), XrdCmsProtocol::Process(), XrdXrootdProtocol::Process(), XrdXrootdProtocol::Process2(), XrdXrootdProtocol::ProcSig(), and XrdXrootdResponse::Send().
void XrdLink::setID | ( | const char * | userid, |
int | procid | ||
) |
Set the client's link identity.
userid | pointer to the client's username. |
procid | the client's process id (i.e. pid). |
Definition at line 406 of file XrdLink.cc.
References linkXQ, and XrdLinkXeq::setID().
Referenced by XrdCmsManager::Add(), and XrdCmsSecurity::Authenticate().
void XrdLink::setLocation | ( | XrdNetAddrInfo::LocInfo & | loc | ) |
Set the client's location.
loc | reference to the location information. |
Definition at line 419 of file XrdLink.cc.
References linkXQ, and XrdLinkXeq::setLocation().
bool XrdLink::setNB | ( | ) |
Set the link to be non-blocking.
Definition at line 413 of file XrdLink.cc.
References linkXQ, and XrdLinkXeq::setNB().
void XrdLink::setProtName | ( | const char * | name | ) |
Set the link's protocol name.
name | name of he protocol being used. The storage must be valid for the duration of the program. |
Definition at line 443 of file XrdLink.cc.
References linkXQ, and XrdLinkXeq::setProtName().
Referenced by mainAdmin(), and XrdProtLoad::Process().
XrdProtocol * XrdLink::setProtocol | ( | XrdProtocol * | pp, |
bool | runit = false , |
||
bool | push = false |
||
) |
Set the link's protocol.
pp | pointer to the protocol object. |
runit | if true, starts running the protocol. |
push | if true, pushes current protocol to be the alternate one. |
Definition at line 426 of file XrdLink.cc.
References DoIt(), linkXQ, and XrdLinkXeq::setProtocol().
Referenced by XrdXrootdTransit::Disc(), XrdMain::DoIt(), XrdPoll::Finish(), mainAdmin(), XrdProtLoad::Process(), and XrdCmsSupervisor::Start().
void XrdLink::setRef | ( | int | cnt | ) |
Set the link's parallel usage count.
cnt | should be 1 to increased the count and -1 to decrease it. |
Definition at line 455 of file XrdLink.cc.
References DEBUG, XrdLinkInfo::doPost, XrdSysError::Emsg(), XrdLinkInfo::FD, ID, XrdLinkInfo::InUse, XrdLinkInfo::IOSemaphore, XrdLinkXeq::LinkInfo, linkXQ, XrdSysMutex::Lock(), XrdGlobal::Log, XrdLinkInfo::opMutex, XrdSysSemaphore::Post(), TRACEI, and XrdSysMutex::UnLock().
Referenced by XrdCmsJob::Alloc(), LinkShutdown::DoIt(), XrdLinkCtl::Find(), and XrdXrootdResponse::Send().
bool XrdLink::setTLS | ( | bool | enable, |
XrdTlsContext * | ctx = 0 |
||
) |
Enable or disable TLS on the link.
enable | if true, TLS is enabled if not already enabled. Otherwise, TLS is disabled and the TLS logical connection torn down. statistics may be contradictory as they are collected async. |
ctx | The context to use when enabling TLS. When nil, the default context is used. |
Definition at line 487 of file XrdLink.cc.
References isTLS, linkXQ, and XrdLinkXeq::setTLS().
Referenced by XrdProtLoad::Process().
void XrdLink::Shutdown | ( | bool | getLock | ) |
Shutdown the link but otherwise keep it intact.
getLock | if true, the operation is performed under a lock. |
Definition at line 500 of file XrdLink.cc.
References linkXQ, and XrdLinkXeq::Shutdown().
Referenced by LinkShutdown::DoIt().
|
static |
Obtain link statistics.
buff | pointer to the buffer for the xml statistics. |
blen | length of the buffer. |
do_sync | if true, the statistics self-consistent. Otherwise, the statistics may be contradictory as they are collected async. |
Definition at line 506 of file XrdLink.cc.
References XrdLinkXeq::Stats().
void XrdLink::syncStats | ( | int * | ctime = 0 | ) |
Add all local statistics to the global counters.
ctime | if not nil, return the total connect time in seconds. |
Definition at line 513 of file XrdLink.cc.
References linkXQ, and XrdLinkXeq::syncStats().
int XrdLink::Terminate | ( | const char * | owner, |
int | fdnum, | ||
unsigned int | inst | ||
) |
Terminate a connection.
owner | pointer to the link ID representing a client who made the connection to be terminated. If nil then this is a request for the link to terminate another link, if possible. |
fdnum | the file descriptor number of the link to be terminated. |
inst | the link's instance number. |
Definition at line 519 of file XrdLink.cc.
References DEBUG, XrdPoll::Disable(), ETIME, XrdPollInfo::FD, XrdLinkCtl::fd2link(), XrdLinkXeq::getProtocol(), Hold(), Host(), HostName, ID, Instance, XrdLinkInfo::InUse, XrdPollInfo::isEnabled, XrdLinkInfo::KillCnt, XrdLinkInfo::KillcvP, XrdLinkCtl::killWait, XrdLinkXeq::LinkInfo, linkXQ, XrdSysCondVar::Lock(), XrdSysMutex::Lock(), XrdLinkInfo::opMutex, XrdPollInfo::Poller, XrdLinkXeq::PollInfo, Terminate(), TRACEI, XrdSysCondVar::UnLock(), XrdSysMutex::UnLock(), XrdSysCondVar::Wait(), and XrdLinkCtl::waitKill.
Referenced by Terminate().
time_t XrdLink::timeCon | ( | ) | const |
Return the time the link was made active (i.e. time of connection).
Definition at line 607 of file XrdLink.cc.
References XrdLinkInfo::conTime, XrdLinkXeq::LinkInfo, and linkXQ.
int XrdLink::UseCnt | ( | ) | const |
Return link's reference count.
Definition at line 613 of file XrdLink.cc.
References XrdLinkInfo::InUse, XrdLinkXeq::LinkInfo, and linkXQ.
const char * XrdLink::verTLS | ( | ) |
Return TLS protocol version being used.
Definition at line 619 of file XrdLink.cc.
References isTLS, linkXQ, and XrdLinkXeq::verTLS().
|
protected |
Definition at line 628 of file XrdLink.cc.
References XrdSysError::Emsg(), XrdPollInfo::FD, ID, linkXQ, XrdGlobal::Log, XrdPoll::Poll2Text(), and XrdLinkXeq::PollInfo.
Referenced by XrdLinkXeq::TLS_Peek(), XrdLinkXeq::TLS_Recv(), and XrdLinkXeq::TLS_RecvAll().
|
protected |
Definition at line 591 of file XrdLink.hh.
Referenced by XrdLinkCtl::Alloc(), XrdLinkXeq::Client(), XrdLinkCtl::Find(), XrdLinkCtl::getName(), Host(), XrdLinkXeq::Register(), ResetLink(), and Terminate().
char* XrdLink::ID |
Pointer to the client's link identity.
Definition at line 210 of file XrdLink.hh.
Referenced by XrdCmsCluster::Add(), XrdLinkCtl::Alloc(), XrdXrootdTransit::Attn(), XrdLinkXeq::Client(), XrdLinkXeq::Close(), XrdPoll::Detach(), XrdPollPoll::Disable(), XrdLinkXeq::DoIt(), XrdPollE::Enable(), XrdPollPoll::Enable(), XrdPollE::Exclude(), XrdPollPoll::Exclude(), XrdLinkCtl::Find(), XrdLinkCtl::getName(), XrdLinkCtl::idleScan(), XrdPollE::Include(), XrdPollPoll::Include(), XrdLinkXeq::Peek(), XrdLinkXeq::Recv(), XrdLinkXeq::RecvAll(), XrdLinkXeq::RecvIOV(), XrdCmsProtocol::Recycle(), XrdXrootdProtocol::Recycle(), XrdProtLoad::Recycle(), XrdLinkXeq::Reset(), XrdLinkXeq::Send(), Send(), XrdLinkXeq::SendIOV(), XrdLinkXeq::setID(), XrdCmsNode::setName(), setRef(), XrdLinkXeq::setTLS(), XrdLinkXeq::SFError(), XrdLinkXeq::Shutdown(), XrdPollE::Start(), XrdPollPoll::Start(), Terminate(), XrdLinkXeq::TLS_Error(), and Wait4Data().
|
protected |
Definition at line 592 of file XrdLink.hh.
Referenced by XrdLinkCtl::Alloc(), XrdLinkXeq::Close(), XrdLinkCtl::fd2link(), XrdLinkCtl::Find(), Inst(), isInstance(), ResetLink(), XrdLinkXeq::Shutdown(), and Terminate().
|
protected |
Definition at line 593 of file XrdLink.hh.
Referenced by armBridge(), hasBridge(), and ResetLink().
|
protected |
Definition at line 594 of file XrdLink.hh.
Referenced by XrdLinkXeq::Close(), XrdLinkXeq::getPeerCerts(), hasTLS(), Peek(), Recv(), RecvAll(), ResetLink(), Send(), XrdLinkXeq::setID(), setTLS(), XrdLinkXeq::setTLS(), and verTLS().
|
protected |
Definition at line 590 of file XrdLink.hh.
Referenced by Activate(), AddrInfo(), Backlog(), Client(), Close(), Enable(), FDnum(), getIOStats(), getPeerCerts(), getProtocol(), Hold(), isFlawed(), isInstance(), Name(), NetAddr(), Peek(), Recv(), RecvAll(), Register(), Send(), Serialize(), setEtext(), setID(), setLocation(), setNB(), setProtName(), setProtocol(), setRef(), setTLS(), Shutdown(), syncStats(), Terminate(), timeCon(), UseCnt(), verTLS(), and Wait4Data().
|
protected |
Definition at line 589 of file XrdLink.hh.
Referenced by XrdLink().
|
protected |
Definition at line 595 of file XrdLink.hh.
Referenced by XrdLink().
|
static |
Send data on a link using sendfile(). This call always blocks until all data is sent. It should only be called if sfOK is true (see below).
sdP | pointer to the sendfile vector. |
sdn | number of elements in the vector. |
Definition at line 388 of file XrdLink.hh.
Referenced by XrdXrootdProtocol::Configure(), and XrdLinkXeq::Send().