Claw 1.7.0
Public Member Functions | Static Public Member Functions
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

List of all members.

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.

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: