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. More...
 
 socket_server (int port, unsigned int queue_size=s_default_queue_size)
 Constructor, open the socket. More...
 
socket_serveropen (int port, unsigned int queue_size=s_default_queue_size)
 Open the socket. More...
 
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. More...
 

Static Public Member Functions

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

Additional Inherited Members

- Private Member Functions inherited from claw::net::basic_socket
 basic_socket ()
 Constructor. More...
 
basic_socketopen ()
 Open the socket. More...
 
basic_socketclose ()
 Close the socket. More...
 
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: