xrootd
Public Member Functions | Static Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
XrdNetLink Class Reference

#include <XrdNetLink.hh>

Collaboration diagram for XrdNetLink:
Collaboration graph
[legend]

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 XrdSysDNS::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.

int XrdNetLink::OK2Send ( int  timeout = 0,
const char *  dest = 0 
)
private

References eDest, XrdSysError::Emsg(), FD, and Lname.

Referenced by Send().

int XrdNetLink::Recv ( char *  buff,
int  blen 
)
void XrdNetLink::Recycle ( void  )
int XrdNetLink::retErr ( int  ecode,
const char *  dest = 0 
)
private

References eDest, XrdSysError::Emsg(), Lname, XrdSysMutex::UnLock(), and wrMutex.

Referenced by Send().

void XrdNetLink::RetToken ( void  )
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 
)
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 
)
void XrdNetLink::Set ( int  maxl)
void XrdNetLink::SetOpts ( int  opts)

References fcntl(), FD, and XRDNETLINK_NOBLOCK.

Member Data Documentation

XrdOucTokenizer* XrdNetLink::Bucket
private
XrdNetBufferQ* XrdNetLink::BuffQ
private

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

int XrdNetLink::devNull = open("/dev/null", O_RDONLY)
staticprivate

Referenced by Close().

XrdSysError* XrdNetLink::eDest
private

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().

XrdOucQSItem<XrdNetLink> XrdNetLink::LinkLink

Referenced by Recycle().

XrdSysMutex XrdNetLink::LinkList
staticprivate

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

XrdOucStack< XrdNetLink > XrdNetLink::LinkStack
staticprivate

Referenced by Alloc(), and Recycle().

char* XrdNetLink::Lname
private
int XrdNetLink::maxlink = 16
staticprivate

Referenced by Recycle(), and Set().

int XrdNetLink::noclose
private

Referenced by Alloc(), and Close().

int XrdNetLink::numlink = 0
staticprivate

Referenced by Alloc(), and Recycle().

XrdSysMutex XrdNetLink::rdMutex
private

Referenced by Close(), and Recv().

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
staticprivate
char* XrdNetLink::Sname
private

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

XrdOucStream* XrdNetLink::Stream
private
XrdSysMutex XrdNetLink::wrMutex
private

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


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