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. More...
| socket_server (int port, unsigned int queue_size=s_default_queue_size)
| Constructor, open the socket. More...
socket_server * | open (int port, unsigned int queue_size=s_default_queue_size)
| Open the socket. More...
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. More...
static bool | release ()
| Close the socket library. More...

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

## 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 claw::net::basic_socket::open().

## Member Function Documentation

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

## 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, and claw::net::basic_socket::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