|
xrootd
|
#include <XrdNetLink.hh>

Public Member Functions | |
| int | Close (int defer=0) |
| int | FDnum () |
| char * | GetLine () |
| char * | GetToken (char **rest) |
| char * | GetToken (void) |
| void | RetToken (void) |
| int | isConnected (void) |
| int | LastError () |
| unsigned int | Addr () |
| const char * | Moniker () |
| const char * | Name () |
| const char * | Nick () |
| int | OK2Recv (int mills) |
| void | Recycle () |
| int | Send (const char *buff, int blen=0, int tmo=-1) |
| int | Send (const char *dest, const char *buff, int blen=0, int tmo=-1) |
| int | Send (const struct iovec iov[], int iovcnt, int tmo=-1) |
| int | Send (const char *dest, const struct iovec iov[], int iovcnt, int tmo=-1) |
| int | Send (const void *buff, int blen=0, int tmo=-1) |
| int | Recv (char *buff, int blen) |
| void | Set (int maxl) |
| void | SetOpts (int opts) |
| XrdNetLink (XrdSysError *erp, XrdNetBufferQ *bq) | |
| ~XrdNetLink () | |
Static Public Member Functions | |
| static XrdNetLink * | Alloc (XrdSysError *erp, XrdNet *Net, XrdNetPeer &Peer, XrdNetBufferQ *bq, int opts=0) |
Public Attributes | |
| XrdOucQSItem< XrdNetLink > | LinkLink |
Private Member Functions | |
| int | OK2Send (int timeout=0, const char *dest=0) |
| int | retErr (int ecode, const char *dest=0) |
Private Attributes | |
| XrdSysMutex | rdMutex |
| XrdSysMutex | wrMutex |
| XrdNetBufferQ * | BuffQ |
| int | FD |
| int | noclose |
| int | isReset |
| struct sockaddr | InetAddr |
| char * | Lname |
| char * | Sname |
| XrdNetBuffer * | recvbuff |
| XrdNetBuffer * | sendbuff |
| XrdOucStream * | Stream |
| XrdOucTokenizer * | Bucket |
| XrdSysError * | eDest |
Static Private Attributes | |
| static XrdSysMutex | LinkList |
| static XrdOucStack< XrdNetLink > | LinkStack |
| static int | size |
| static int | maxlink = 16 |
| static int | numlink = 0 |
| static int | devNull = open("/dev/null", O_RDONLY) |
| XrdNetLink::XrdNetLink | ( | XrdSysError * | erp, |
| XrdNetBufferQ * | bq | ||
| ) | [inline] |
| XrdNetLink::~XrdNetLink | ( | ) | [inline] |
References Close().
| unsigned int XrdNetLink::Addr | ( | ) | [inline] |
References XrdSysDNS::IPAddr(), and InetAddr.
| XrdNetLink * XrdNetLink::Alloc | ( | XrdSysError * | erp, |
| XrdNet * | Net, | ||
| XrdNetPeer & | Peer, | ||
| XrdNetBufferQ * | bq, | ||
| int | opts = 0 |
||
| ) | [static] |
References LinkList, XrdSysMutex::Lock(), LinkStack, XrdOucStack::Pop(), numlink, XrdSysMutex::UnLock(), XrdNetLink(), BuffQ, recvbuff, XrdNetBuffer::Recycle(), sendbuff, noclose, XRDNETLINK_NOCLOSE, isReset, XrdNetPeer::InetBuff, Bucket, XrdNetBuffer::data, Recycle(), XRDNETLINK_NOSTREAM, Stream, XrdOucStream::Attach(), XrdNetPeer::fd, InetAddr, XrdNetPeer::InetAddr, XrdNetPeer::InetName, Lname, XrdSysDNS::getHostName(), Sname, XrdNet::Trim(), and FD.
Referenced by XrdNetWork::Accept(), XrdNetWork::Connect(), and XrdNetWork::Relay().
| int XrdNetLink::Close | ( | int | defer = 0 | ) |
References rdMutex, XrdSysMutex::Lock(), wrMutex, Stream, XrdOucStream::Detach(), Bucket, recvbuff, XrdNetBuffer::Recycle(), sendbuff, Lname, FD, noclose, close, isReset, devNull, and XrdSysMutex::UnLock().
Referenced by Recycle(), and ~XrdNetLink().
| int XrdNetLink::FDnum | ( | ) | [inline] |
References FD.
| char * XrdNetLink::GetLine | ( | ) |
References Stream, XrdOucStream::GetLine(), Bucket, XrdOucTokenizer::GetLine(), recvbuff, XrdNetBuffer::dlen, and XrdNetBuffer::data.
| char * XrdNetLink::GetToken | ( | char ** | rest | ) |
References Stream, XrdOucStream::GetToken(), Bucket, and XrdOucTokenizer::GetToken().
| char * XrdNetLink::GetToken | ( | void | ) |
References Stream, XrdOucStream::GetToken(), Bucket, and XrdOucTokenizer::GetToken().
| int XrdNetLink::LastError | ( | ) |
References Stream, and XrdOucStream::LastError().
| const char* XrdNetLink::Moniker | ( | ) | [inline] |
References Sname.
| const char* XrdNetLink::Name | ( | ) | [inline] |
References Lname.
| const char* XrdNetLink::Nick | ( | ) | [inline] |
References Sname.
| int XrdNetLink::OK2Recv | ( | int | mills | ) |
References FD, POLLIN, POLLRDNORM, poll(), and pollfd::revents.
| int XrdNetLink::OK2Send | ( | int | timeout = 0, |
| const char * | dest = 0 |
||
| ) | [private] |
References FD, POLLOUT, POLLWRNORM, poll(), pollfd::revents, eDest, XrdSysError::Emsg(), and Lname.
Referenced by Send().
| int XrdNetLink::Recv | ( | char * | buff, |
| int | blen | ||
| ) |
References ssize_t, rdMutex, XrdSysMutex::Lock(), read(), FD, XrdSysMutex::UnLock(), eDest, XrdSysError::Emsg(), and Lname.
| void XrdNetLink::Recycle | ( | void | ) |
References numlink, maxlink, Close(), LinkList, XrdSysMutex::Lock(), LinkStack, XrdOucStack::Push(), LinkLink, and XrdSysMutex::UnLock().
Referenced by Alloc().
| int XrdNetLink::retErr | ( | int | ecode, |
| const char * | dest = 0 |
||
| ) | [private] |
References wrMutex, XrdSysMutex::UnLock(), eDest, XrdSysError::Emsg(), Lname, and EWOULDBLOCK.
Referenced by Send().
| void XrdNetLink::RetToken | ( | void | ) |
References Stream, XrdOucStream::RetToken(), Bucket, and XrdOucTokenizer::RetToken().
| int XrdNetLink::Send | ( | const char * | buff, |
| int | blen = 0, |
||
| int | tmo = -1 |
||
| ) |
| int XrdNetLink::Send | ( | const char * | dest, |
| const char * | buff, | ||
| int | blen = 0, |
||
| int | tmo = -1 |
||
| ) |
References IOV_INIT, Send(), XrdSysDNS::Host2Dest(), eDest, XrdSysError::Emsg(), Stream, wrMutex, XrdSysMutex::Lock(), OK2Send(), XrdSysMutex::UnLock(), FD, Sokdata_t, and retErr().
| int XrdNetLink::Send | ( | const struct iovec | iov[], |
| int | iovcnt, | ||
| int | tmo = -1 |
||
| ) |
| int XrdNetLink::Send | ( | const char * | dest, |
| const struct iovec | iov[], | ||
| int | iovcnt, | ||
| int | tmo = -1 |
||
| ) |
| int XrdNetLink::Send | ( | const void * | buff, |
| int | blen = 0, |
||
| int | tmo = -1 |
||
| ) |
References wrMutex, XrdSysMutex::Lock(), OK2Send(), XrdSysMutex::UnLock(), Stream, write(), FD, Sokdata_t, InetAddr, and retErr().
| void XrdNetLink::Set | ( | int | maxl | ) |
References LinkList, XrdSysMutex::Lock(), maxlink, and XrdSysMutex::UnLock().
| void XrdNetLink::SetOpts | ( | int | opts | ) |
References XRDNETLINK_NOBLOCK, fcntl(), FD, F_SETFL, and O_NONBLOCK.
XrdOucTokenizer* XrdNetLink::Bucket [private] |
Referenced by Alloc(), Close(), GetLine(), GetToken(), RetToken(), and XrdNetLink().
XrdNetBufferQ* XrdNetLink::BuffQ [private] |
Referenced by Alloc(), Send(), and XrdNetLink().
int XrdNetLink::devNull = open("/dev/null", O_RDONLY) [static, private] |
Referenced by Close().
XrdSysError* XrdNetLink::eDest [private] |
Referenced by Recv(), Send(), OK2Send(), retErr(), and XrdNetLink().
int XrdNetLink::FD [private] |
Referenced by Alloc(), Close(), OK2Recv(), Recv(), Send(), SetOpts(), OK2Send(), FDnum(), isConnected(), and XrdNetLink().
struct sockaddr XrdNetLink::InetAddr [private] |
int XrdNetLink::isReset [private] |
Referenced by Recycle().
XrdSysMutex XrdNetLink::LinkList [static, private] |
XrdOucStack< XrdNetLink > XrdNetLink::LinkStack [static, private] |
char* XrdNetLink::Lname [private] |
int XrdNetLink::maxlink = 16 [static, private] |
int XrdNetLink::noclose [private] |
int XrdNetLink::numlink = 0 [static, private] |
XrdSysMutex XrdNetLink::rdMutex [private] |
XrdNetBuffer* XrdNetLink::recvbuff [private] |
Referenced by Alloc(), Close(), GetLine(), and XrdNetLink().
XrdNetBuffer* XrdNetLink::sendbuff [private] |
Referenced by Alloc(), Close(), Send(), and XrdNetLink().
int XrdNetLink::size [static, private] |
char* XrdNetLink::Sname [private] |
Referenced by Alloc(), Moniker(), Nick(), and XrdNetLink().
XrdOucStream* XrdNetLink::Stream [private] |
Referenced by Alloc(), Close(), GetLine(), GetToken(), LastError(), RetToken(), Send(), isConnected(), and XrdNetLink().
XrdSysMutex XrdNetLink::wrMutex [private] |
1.7.5