xrootd
Public Member Functions | Static Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | Static Private Attributes

XrdNetLink Class Reference

#include <XrdNetLink.hh>

Collaboration diagram for XrdNetLink:
Collaboration graph
[legend]

List of all members.

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 XrdNetLinkAlloc (XrdSysError *erp, XrdNet *Net, XrdNetPeer &Peer, XrdNetBufferQ *bq, int opts=0)

Public Attributes

XrdOucQSItem< XrdNetLinkLinkLink

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
XrdNetBufferQBuffQ
int FD
int noclose
int isReset
struct sockaddr InetAddr
char * Lname
char * Sname
XrdNetBufferrecvbuff
XrdNetBuffersendbuff
XrdOucStreamStream
XrdOucTokenizerBucket
XrdSysErroreDest

Static Private Attributes

static XrdSysMutex LinkList
static XrdOucStack< XrdNetLinkLinkStack
static int size
static int maxlink = 16
static int numlink = 0
static int devNull = open("/dev/null", O_RDONLY)

Constructor & Destructor Documentation

XrdNetLink::XrdNetLink ( XrdSysError erp,
XrdNetBufferQ bq 
) [inline]

References Bucket, BuffQ, eDest, FD, Lname, recvbuff, sendbuff, Sname, and Stream.

Referenced by Alloc().

XrdNetLink::~XrdNetLink ( ) [inline]

References Close().


Member Function Documentation

unsigned int XrdNetLink::Addr ( ) [inline]

References InetAddr, and XrdNetDNS::IPAddr().

XrdNetLink * XrdNetLink::Alloc ( XrdSysError erp,
XrdNet Net,
XrdNetPeer Peer,
XrdNetBufferQ bq,
int  opts = 0 
) [static]
int XrdNetLink::Close ( int  defer = 0)
int XrdNetLink::FDnum ( ) [inline]

References FD.

char * XrdNetLink::GetLine ( )
char * XrdNetLink::GetToken ( char **  rest)
char * XrdNetLink::GetToken ( void  )
int XrdNetLink::isConnected ( void  ) [inline]

References FD, and Stream.

int XrdNetLink::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, poll(), POLLIN, POLLRDNORM, and pollfd::revents.

int XrdNetLink::OK2Send ( int  timeout = 0,
const char *  dest = 0 
) [private]
int XrdNetLink::Recv ( char *  buff,
int  blen 
)
void XrdNetLink::Recycle ( void  )
int XrdNetLink::retErr ( int  ecode,
const char *  dest = 0 
) [private]
void XrdNetLink::RetToken ( void  )
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 char *  buff,
int  blen = 0,
int  tmo = -1 
)
int XrdNetLink::Send ( const void *  buff,
int  blen = 0,
int  tmo = -1 
)
int XrdNetLink::Send ( const char *  dest,
const char *  buff,
int  blen = 0,
int  tmo = -1 
)
void XrdNetLink::Set ( int  maxl)
void XrdNetLink::SetOpts ( int  opts)

Member Data Documentation

Referenced by Alloc(), Send(), and XrdNetLink().

int XrdNetLink::devNull = open("/dev/null", O_RDONLY) [static, private]

Referenced by Close().

Referenced by OK2Send(), Recv(), retErr(), Send(), and XrdNetLink().

int XrdNetLink::FD [private]
struct sockaddr XrdNetLink::InetAddr [private]

Referenced by Addr(), Alloc(), and Send().

int XrdNetLink::isReset [private]

Referenced by Alloc(), and Close().

Referenced by Recycle().

XrdSysMutex XrdNetLink::LinkList [static, private]

Referenced by Alloc(), Recycle(), and Set().

Referenced by Alloc(), and Recycle().

char* XrdNetLink::Lname [private]
int XrdNetLink::maxlink = 16 [static, private]

Referenced by Recycle(), and Set().

int XrdNetLink::noclose [private]

Referenced by Alloc(), and Close().

int XrdNetLink::numlink = 0 [static, private]

Referenced by Alloc(), and Recycle().

Referenced by Close(), and Recv().

Referenced by Alloc(), Close(), GetLine(), and XrdNetLink().

Referenced by Alloc(), Close(), Send(), and XrdNetLink().

int XrdNetLink::size [static, private]
char* XrdNetLink::Sname [private]

Referenced by Alloc(), Moniker(), Nick(), and XrdNetLink().

Referenced by Close(), retErr(), and Send().


The documentation for this class was generated from the following files: