wibble  0.1.28
Public Member Functions | Public Attributes | Protected Member Functions | Static Protected Member Functions | Static Protected Attributes
wibble::net::TCPServer Struct Reference

#include <server.h>

Inheritance diagram for wibble::net::TCPServer:
Inheritance graph
[legend]
Collaboration diagram for wibble::net::TCPServer:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 TCPServer ()
virtual ~TCPServer ()
int accept_loop ()
 Loop accepting connections on the socket, until interrupted by a signal in stop_signals.
virtual void handle_client (int sock, const std::string &peer_hostname, const std::string &peer_hostaddr, const std::string &peer_port)=0
- Public Member Functions inherited from wibble::net::Server
 Server ()
 ~Server ()
void bind (const char *port, const char *host=NULL)
void listen (int backlog=16)
void set_sock_cloexec ()

Public Attributes

std::vector< int > stop_signals
- Public Attributes inherited from wibble::net::Server
std::string host
std::string port
int socktype
int sock
struct sigaction * old_signal_actions
struct sigaction * signal_actions

Protected Member Functions

void signal_setup ()
void signal_install ()
void signal_uninstall ()

Static Protected Member Functions

static void signal_handler (int sig)

Static Protected Attributes

static int last_signal = -1

Constructor & Destructor Documentation

wibble::net::TCPServer::TCPServer ( )

References stop_signals.

wibble::net::TCPServer::~TCPServer ( )
virtual

Member Function Documentation

int wibble::net::TCPServer::accept_loop ( )

Loop accepting connections on the socket, until interrupted by a signal in stop_signals.

Returns:
the signal number that stopped the loop

References handle_client(), wibble::net::Server::host, last_signal, wibble::net::Server::port, signal_install(), signal_setup(), signal_uninstall(), and wibble::net::Server::sock.

virtual void wibble::net::TCPServer::handle_client ( int  sock,
const std::string &  peer_hostname,
const std::string &  peer_hostaddr,
const std::string &  peer_port 
)
pure virtual

Referenced by accept_loop().

void wibble::net::TCPServer::signal_handler ( int  sig)
staticprotected

References last_signal.

Referenced by signal_setup().

void wibble::net::TCPServer::signal_install ( )
protected
void wibble::net::TCPServer::signal_setup ( )
protected
void wibble::net::TCPServer::signal_uninstall ( )
protected

Member Data Documentation

int wibble::net::TCPServer::last_signal = -1
staticprotected
std::vector<int> wibble::net::TCPServer::stop_signals

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