IBR-DTNSuite
0.12
|
#include <socket.h>
Public Types | |
enum | CLIENT_OPTION { NO_DELAY = 0, BLOCKING = 1 } |
Public Member Functions | |
virtual | ~clientsocket ()=0 |
virtual void | up () throw (socket_exception) |
virtual void | down () throw (socket_exception) |
ssize_t | send (const char *data, size_t len, int flags=0) throw (socket_exception) |
ssize_t | recv (char *data, size_t len, int flags=0) throw (socket_exception) |
void | set (CLIENT_OPTION opt, bool val) throw (socket_exception) |
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 | |
clientsocket () | |
clientsocket (int fd) | |
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 |
A clientsocket is used if a incoming connection has been accepted by the serversocket.
|
pure virtual |
Definition at line 324 of file socket.cpp.
References down().
|
protected |
Definition at line 315 of file socket.cpp.
|
protected |
Definition at line 319 of file socket.cpp.
|
virtual |
Close and destroy the file descriptor of this socket assignment.
socket_exception | if the action has failed |
Implements ibrcommon::basesocket.
Reimplemented in ibrcommon::tcpsocket, and ibrcommon::filesocket.
Definition at line 339 of file socket.cpp.
References ibrcommon::basesocket::_state, ibrcommon::basesocket::close(), ibrcommon::basesocket::SOCKET_DESTROYED, and ibrcommon::basesocket::SOCKET_DOWN.
Referenced by ~clientsocket().
ssize_t ibrcommon::clientsocket::recv | ( | char * | data, |
size_t | len, | ||
int | flags = 0 |
||
) | |||
throw | ( | socket_exception | |
) |
Definition at line 372 of file socket.cpp.
References __errno, ibrcommon::ERROR_EPIPE, and ibrcommon::ERROR_READ.
Referenced by ibrcommon::socketstream::underflow().
ssize_t ibrcommon::clientsocket::send | ( | const char * | data, |
size_t | len, | ||
int | flags = 0 |
||
) | |||
throw | ( | socket_exception | |
) |
Definition at line 347 of file socket.cpp.
References __errno, ibrcommon::ERROR_AGAIN, ibrcommon::ERROR_EPIPE, ibrcommon::ERROR_RESET, and ibrcommon::ERROR_WRITE.
Referenced by ibrcommon::socketstream::overflow().
void ibrcommon::clientsocket::set | ( | CLIENT_OPTION | opt, |
bool | val | ||
) | |||
throw | ( | socket_exception | |
) |
Definition at line 390 of file socket.cpp.
Referenced by dtn::api::ApiServer::componentRun().
|
virtual |
Create the file descriptor for this socket and bind to the interface if necessary.
socket_exception | if the action has failed |
Implements ibrcommon::basesocket.
Reimplemented in ibrcommon::tcpsocket, and ibrcommon::filesocket.
Definition at line 331 of file socket.cpp.
References ibrcommon::basesocket::_state, ibrcommon::basesocket::SOCKET_DOWN, and ibrcommon::basesocket::SOCKET_UP.