IBR-DTNSuite  0.10
ibrcommon::serversocket Class Referenceabstract

#include <socket.h>

Inheritance diagram for ibrcommon::serversocket:
Inheritance graph
Collaboration diagram for ibrcommon::serversocket:
Collaboration graph

Public Types

enum  SERVER_OPTION { BLOCKING = 0 }
 

Public Member Functions

virtual ~serversocket ()=0
 
virtual void up ()=0 throw (socket_exception)
 
virtual void down ()=0 throw (socket_exception)
 
void listen (int connections) throw (socket_exception)
 
virtual clientsocketaccept (ibrcommon::vaddress &addr)=0 throw (socket_exception)
 
void set (SERVER_OPTION opt, bool val)
 
- Public Member Functions inherited from ibrcommon::basesocket
virtual ~basesocket ()=0
 
virtual int fd () const throw (socket_exception)
 
virtual int release () throw (socket_exception)
 
void close () throw (socket_exception)
 
void shutdown (int how) throw (socket_exception)
 
bool ready () const
 
sa_family_t get_family () const throw (socket_exception)
 

Protected Member Functions

 serversocket ()
 
 serversocket (int fd)
 
int _accept_fd (ibrcommon::vaddress &addr) throw (socket_exception)
 
- Protected Member Functions inherited from ibrcommon::basesocket
 basesocket ()
 
 basesocket (int fd)
 
void check_socket_error (const int err) const throw (socket_exception)
 
void check_bind_error (const int err, const std::string &msg="") const throw (socket_exception)
 
void set_blocking_mode (bool val, int fd=-1) const throw (socket_exception)
 
void set_keepalive (bool val, int fd=-1) const throw (socket_exception)
 
void set_linger (bool val, int l=1, int fd=-1) const throw (socket_exception)
 
void set_reuseaddr (bool val, int fd=-1) const throw (socket_exception)
 
void set_nodelay (bool val, int fd=-1) const throw (socket_exception)
 
void init_socket (const vaddress &addr, int type, int protocol) throw (socket_exception)
 
void init_socket (int domain, int type, int protocol) throw (socket_exception)
 
void bind (int fd, struct sockaddr *addr, socklen_t len) throw (socket_exception)
 

Additional Inherited Members

- Static Public Member Functions inherited from ibrcommon::basesocket
static sa_family_t get_family (int fd) throw (socket_exception)
 
static bool hasSupport (const sa_family_t family, const int type=SOCK_DGRAM, const int protocol=0) throw ()
 
- Static Public Attributes inherited from ibrcommon::basesocket
static int DEFAULT_SOCKET_FAMILY = AF_INET6
 
static int DEFAULT_SOCKET_FAMILY_ALTERNATIVE = AF_INET
 
- Protected Types inherited from ibrcommon::basesocket
enum  socketstate { SOCKET_DOWN, SOCKET_UP, SOCKET_UNMANAGED, SOCKET_DESTROYED }
 
- Protected Attributes inherited from ibrcommon::basesocket
socketstate _state
 
int _fd
 
sa_family_t _family
 

Detailed Description

Definition at line 233 of file socket.h.

Member Enumeration Documentation

Enumerator
BLOCKING 

Definition at line 235 of file socket.h.

Constructor & Destructor Documentation

ibrcommon::serversocket::~serversocket ( )
pure virtual

Definition at line 357 of file socket.cpp.

ibrcommon::serversocket::serversocket ( )
protected

Definition at line 348 of file socket.cpp.

ibrcommon::serversocket::serversocket ( int  fd)
protected

Definition at line 352 of file socket.cpp.

Member Function Documentation

int ibrcommon::serversocket::_accept_fd ( ibrcommon::vaddress addr) throw (socket_exception)
protected

Definition at line 368 of file socket.cpp.

virtual clientsocket* ibrcommon::serversocket::accept ( ibrcommon::vaddress addr) throw (socket_exception)
pure virtual
virtual void ibrcommon::serversocket::down ( ) throw (socket_exception)
pure virtual

Close and destroy the file descriptor of this socket assignment.

Exceptions
socket_exceptionif the action has failed

Implements ibrcommon::basesocket.

Implemented in ibrcommon::tcpserversocket, and ibrcommon::fileserversocket.

void ibrcommon::serversocket::listen ( int  connections) throw (socket_exception)

Definition at line 361 of file socket.cpp.

Referenced by ibrcommon::fileserversocket::up(), and ibrcommon::tcpserversocket::up().

void ibrcommon::serversocket::set ( SERVER_OPTION  opt,
bool  val 
)

Definition at line 390 of file socket.cpp.

References BLOCKING, and ibrcommon::basesocket::set_blocking_mode().

Here is the call graph for this function:

virtual void ibrcommon::serversocket::up ( ) throw (socket_exception)
pure virtual

Create the file descriptor for this socket and bind to the interface if necessary.

Exceptions
socket_exceptionif the action has failed

Implements ibrcommon::basesocket.

Implemented in ibrcommon::tcpserversocket, and ibrcommon::fileserversocket.


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