claw::net::socket_server Class Reference

Class used to receive incoming connections. More...

`#include <socket_server.hpp>`

Inheritance diagram for claw::net::socket_server:

## Public Member Functions

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

## 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

## socket_server() [1/2]

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

Constructor.

Postcondition
  is_open() == false

Definition at line 38 of file socket_server.cpp.

Referenced by open().

## socket_server() [2/2]

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

Constructor, open the socket.

Parameters

  port | The port to bind.
  queue_size | The size of the waiting queue for incoming connections.

Definition at line 49 of file socket_server.cpp.

References open().

## Member Function Documentation

## close()

claw::net::socket_server * claw::net::socket_server::close | ( |  | ) |

Close the socket.

Definition at line 81 of file socket_server.cpp.

References claw::net::basic_socket::close().

## init()

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().

## is_open()

bool claw::net::socket_server::is_open | ( |  | ) | const

Tell if the server is open.

Definition at line 93 of file socket_server.cpp.

References claw::net::basic_socket::is_open().

Referenced by operator bool().

## open()

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

Open the socket.

Parameters

  port | The port to bind.
  queue_size | The 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(), claw::net::basic_socket::m_descriptor, claw::net::basic_socket::open(), and socket_server().

Referenced by socket_server().

## operator bool()

claw::net::socket_server::operator bool | ( |  | ) | const

Tell if the server is working.

Definition at line 102 of file socket_server.cpp.

References is_open().

## release()

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:

- socket_server.hpp
- code/socket_server.cpp