XrdNetSocket Class Reference

#include <XrdNetSocket.hh>

List of all members.

Public Member Functions

 XrdNetSocket (XrdSysError *erobj=0, int SockFileDesc=-1)
 ~XrdNetSocket ()
int Open (const char *path, int port=-1, int flags=0, int sockbuffsz=0)
int Accept (int ms=-1)
void Close ()
int Detach ()
int LastError ()
const char * Peername (struct sockaddr **InetAddr=0)
int SockNum ()

Static Public Member Functions

static XrdNetSocketCreate (XrdSysError *Say, const char *path, const char *fn, mode_t mode, int isudp=0)
static int setOpts (int fd, int options, XrdSysError *eDest=0)
static int setWindow (int fd, int Windowsz, XrdSysError *eDest=0)
static int getWindow (int fd, int &Windowsz, XrdSysError *eDest=0)
static const char * socketAddr (XrdSysError *Say, const char *dest, struct sockaddr **sockAP, int &sockAL)
static char * socketPath (XrdSysError *Say, char *inbuff, const char *path, const char *fn, mode_t mode)

Private Attributes

int SockFD
int ErrCode
sockaddr PeerAddr
char * PeerName
XrdSysErroreroute


Detailed Description

Definition at line 27 of file XrdNetSocket.hh.


Constructor & Destructor Documentation

XrdNetSocket::XrdNetSocket ( XrdSysError erobj = 0,
int  SockFileDesc = -1 
)

Definition at line 61 of file XrdNetSocket.cc.

References eroute, ErrCode, PeerName, and SockFD.

Referenced by Create().

XrdNetSocket::~XrdNetSocket (  )  [inline]

Definition at line 39 of file XrdNetSocket.hh.

References Close().


Member Function Documentation

XrdNetSocket * XrdNetSocket::Create ( XrdSysError Say,
const char *  path,
const char *  fn,
mode_t  mode,
int  isudp = 0 
) [static]

Definition at line 122 of file XrdNetSocket.cc.

References eMsg, XrdSysError::Emsg(), LastError(), open, Open(), S_IFIFO, S_IFSOCK, S_IRWXG, S_IRWXU, XrdFrm::Say(), socketPath(), SockFD, XRDNET_FIFO, XRDNET_SERVER, XRDNET_UDPSOCKET, and XrdNetSocket().

Referenced by XrdCnsConfig::Configure(), XrdXrootdProtocol::Configure(), XrdCmsConfig::Configure2(), XrdOfsEvr::Init(), mainConfig(), XrdFrmXfrDaemon::Pong(), XrdCmsConfig::setupServer(), XrdOfsEvs::Start(), and XrdBwmLogger::Start().

int XrdNetSocket::Open ( const char *  path,
int  port = -1,
int  flags = 0,
int  sockbuffsz = 0 
)

Definition at line 192 of file XrdNetSocket.cc.

References Close(), XrdNetConnect::Connect(), EHOSTUNREACH, XrdSysError::Emsg(), eroute, Err, ErrCode, XrdNetDNS::getHostAddr(), XrdNetDNS::Host2Dest(), PeerAddr, PeerName, S_IRWXU, setOpts(), XrdNetDNS::setPort(), setWindow(), SockFD, SOCKLEN_t, Sokdata_t, sprintf(), strcpy(), sockaddr_un::sun_family, sockaddr_un::sun_path, unlink, XRDNET_BKLG, XRDNET_NOEMSG, XRDNET_SERVER, XRDNET_TOUT, XRDNET_UDPSOCKET, and XRDNETSOCKET_MAXBKLG.

Referenced by XrdNet::Bind(), XrdNet::Connect(), Create(), and main().

int XrdNetSocket::Accept ( int  ms = -1  ) 

Definition at line 73 of file XrdNetSocket.cc.

References XrdSysError::Emsg(), eroute, ErrCode, poll(), POLLHUP, POLLIN, POLLPRI, POLLRDBAND, POLLRDNORM, pollfd::revents, and SockFD.

Referenced by main(), XrdCmsAdmin::Start(), and XrdXrootdAdmin::Start().

void XrdNetSocket::Close (  ) 

Definition at line 103 of file XrdNetSocket.cc.

References close, ErrCode, free(), PeerName, and SockFD.

Referenced by Open(), and ~XrdNetSocket().

int XrdNetSocket::Detach (  ) 

Definition at line 166 of file XrdNetSocket.cc.

References free(), PeerName, and SockFD.

Referenced by XrdNet::Bind(), XrdCnsConfig::Configure(), XrdNet::Connect(), XrdOfsEvr::Init(), main(), mainConfig(), XrdCmsAdmin::Notes(), XrdFrmXfrDaemon::Pong(), XrdOfsEvs::Start(), and XrdBwmLogger::Start().

int XrdNetSocket::LastError (  )  [inline]

Definition at line 87 of file XrdNetSocket.hh.

References ErrCode.

Referenced by XrdNet::Bind(), Create(), and main().

const char * XrdNetSocket::Peername ( struct sockaddr **  InetAddr = 0  ) 

Definition at line 306 of file XrdNetSocket.cc.

References XrdSysError::Emsg(), eroute, ErrCode, PeerAddr, XrdNetDNS::Peername(), PeerName, and SockFD.

Referenced by XrdNet::Connect().

int XrdNetSocket::setOpts ( int  fd,
int  options,
XrdSysError eDest = 0 
) [static]

Definition at line 337 of file XrdNetSocket.cc.

References eDest, XrdSysError::Emsg(), F_SETFD, fcntl(), FD_CLOEXEC, XrdNetDNS::getProtoID(), SOCKLEN_t, Sokdata_t, XRDNET_DELAY, XRDNET_KEEPALIVE, XRDNET_NOCLOSEX, XRDNET_NOLINGER, XRDNET_UDPSOCKET, and XRDNETSOCKET_LINGER.

Referenced by XrdNet::do_Accept_TCP(), Open(), XrdCmsAdmin::Relay(), and XrdCmsAdmin::Start().

int XrdNetSocket::setWindow ( int  fd,
int  Windowsz,
XrdSysError eDest = 0 
) [static]

Definition at line 378 of file XrdNetSocket.cc.

References eDest, XrdSysError::Emsg(), SOCKLEN_t, and Sokdata_t.

Referenced by Open().

int XrdNetSocket::getWindow ( int  fd,
int &  Windowsz,
XrdSysError eDest = 0 
) [static]

Definition at line 177 of file XrdNetSocket.cc.

References eDest, socklen_t, and Sokdata_t.

Referenced by XrdNet::WSize().

int XrdNetSocket::SockNum (  )  [inline]

Definition at line 114 of file XrdNetSocket.hh.

References SockFD.

const char * XrdNetSocket::socketAddr ( XrdSysError Say,
const char *  dest,
struct sockaddr **  sockAP,
int &  sockAL 
) [static]

Definition at line 401 of file XrdNetSocket.cc.

References XrdNetDNS::getHostAddr(), XrdNetDNS::Host2Dest(), malloc(), XrdMonCtrCollector::port, XrdFrm::Say(), XrdNetDNS::setPort(), strcpy(), sockaddr_un::sun_family, and sockaddr_un::sun_path.

Referenced by XrdNetMsg::Send(), and XrdNetMsg::XrdNetMsg().

char * XrdNetSocket::socketPath ( XrdSysError Say,
char *  inbuff,
const char *  path,
const char *  fn,
mode_t  mode 
) [static]

Definition at line 444 of file XrdNetSocket.cc.

References access, XrdSysError::Emsg(), i, XrdOucUtils::makePath(), rindex, S_IFIFO, S_IFSOCK, S_IRWXG, S_IRWXU, S_IXGRP, S_IXUSR, XrdFrm::Say(), stat, strcpy(), strlcpy(), and W_OK.

Referenced by Create(), and XrdCmsSupervisor::Init().


Member Data Documentation

int XrdNetSocket::SockFD [private]

Definition at line 137 of file XrdNetSocket.hh.

Referenced by Accept(), Close(), Create(), Detach(), Open(), Peername(), SockNum(), and XrdNetSocket().

int XrdNetSocket::ErrCode [private]

Definition at line 138 of file XrdNetSocket.hh.

Referenced by Accept(), Close(), LastError(), Open(), Peername(), and XrdNetSocket().

struct sockaddr XrdNetSocket::PeerAddr [private]

Definition at line 139 of file XrdNetSocket.hh.

Referenced by Open(), and Peername().

char* XrdNetSocket::PeerName [private]

Definition at line 140 of file XrdNetSocket.hh.

Referenced by Close(), Detach(), Open(), Peername(), and XrdNetSocket().

XrdSysError* XrdNetSocket::eroute [private]

Definition at line 141 of file XrdNetSocket.hh.

Referenced by Accept(), Open(), Peername(), and XrdNetSocket().


The documentation for this class was generated from the following files:
Generated on Tue Jul 5 16:50:36 2011 for ROOT_528-00b_version by  doxygen 1.5.1