Claw  1.7.3
Public Member Functions | Static Public Member Functions | List of all members
claw::net::socket_server Class Reference

Class used to receive incoming connections. More...

#include <socket_server.hpp>

Inheritance diagram for claw::net::socket_server:
claw::net::basic_socket

Public Member Functions

 socket_server ()
 Constructor.
 socket_server (int port, unsigned int queue_size=s_default_queue_size)
 Constructor, open the socket.
socket_serveropen (int port, unsigned int queue_size=s_default_queue_size)
 Open the socket.
socket_serverclose ()
 Close the socket.
bool is_open () const
 Tell if the server is open.
 operator bool () const
 Tell if the server is working.
template<typename SocketStream >
void accept (SocketStream &sock, int time_limit)
 Accept an incoming connection.

Static Public Member Functions

static bool init ()
 Initialize the use of the socket library.
static bool release ()
 Close the socket library.

Additional Inherited Members

- Private Member Functions inherited from claw::net::basic_socket
 basic_socket ()
 Constructor.
basic_socketopen ()
 Open the socket.
basic_socketclose ()
 Close the socket.
bool is_open () const
 Tell if the socket is open.

Detailed Description

Class used to receive incoming connections.

Author
Julien Jorge

Definition at line 47 of file socket_server.hpp.

Constructor & Destructor Documentation

claw::net::socket_server::socket_server ( )

Constructor.

Postcondition
is_open() == false

Definition at line 38 of file socket_server.cpp.

claw::net::socket_server::socket_server ( int  port,
unsigned int  queue_size = s_default_queue_size 
)

Constructor, open the socket.

Parameters
portThe port to bind.
queue_sizeThe size of the waiting queue for incoming connections.

Definition at line 49 of file socket_server.cpp.

Member Function Documentation

template<typename SocketStream >
void claw::net::socket_server::accept ( SocketStream &  sock,
int  time_limit 
)

Accept an incoming connection.

Parameters
sock(out) The socket created for this connection.
time_limitMaximum of seconds to wait before considering there won't be any connection. if time_limit is negative, the server wait until there is a connection.

Definition at line 41 of file socket_server.tpp.

References claw::socket_traits_unix::accept(), claw::net::basic_socket::m_descriptor, and claw::socket_traits_unix::select_read().

bool claw::net::socket_server::init ( )
static

Initialize the use of the socket library.

Returns
true if the initialization is successful.

Definition at line 112 of file socket_server.cpp.

References claw::socket_traits_unix::init().

claw::net::socket_server * claw::net::socket_server::open ( int  port,
unsigned int  queue_size = s_default_queue_size 
)

Open the socket.

Parameters
portThe port to bind.
queue_sizeThe size of the waiting queue for incoming connections.
Returns
this if everything works fine, NULL otherwise.

Definition at line 62 of file socket_server.cpp.

References claw::net::basic_socket::close(), claw::socket_traits_unix::listen(), and claw::net::basic_socket::open().

bool claw::net::socket_server::release ( )
static

Close the socket library.

Returns
true if the operation is successful.

Definition at line 122 of file socket_server.cpp.

References claw::socket_traits_unix::release().


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