| Home | Libraries | People | FAQ | More

### socket_base

The `socket_base` class is used as a base for the `basic_stream_socket` and `basic_datagram_socket` class templates so that we have a common place to define the shutdown_type and enum.

    class socket_base

##### Types

Name | Description
--- | ---
broadcast | Socket option to permit sending of broadcast messages.
bytes_readable | IO control command to get the amount of data that can be read without blocking.
debug | Socket option to enable socket-level debugging.
do_not_route | Socket option to prevent routing, use local interfaces only.
enable_connection_aborted | Socket option to report aborted connections on accept.
keep_alive | Socket option to send keep-alives.
linger | Socket option to specify whether the socket lingers on close if unsent data is present.
message_flags | Bitmask type for flags that can be passed to send and receive operations.
non_blocking_io | IO control command to set the blocking mode of the socket.
receive_buffer_size | Socket option for the receive buffer size of a socket.
receive_low_watermark | Socket option for the receive low watermark.
reuse_address | Socket option to allow the socket to be bound to an address that is already in use.
send_buffer_size | Socket option for the send buffer size of a socket.
send_low_watermark | Socket option for the send low watermark.
shutdown_type | Different ways a socket may be shutdown.

##### Protected Member Functions

Name | Description
--- | ---
~socket_base | Protected destructor to prevent deletion through this type.

##### Data Members

Name | Description
--- | ---
max_connections | The maximum length of the queue of pending incoming connections.
message_do_not_route | Specify that the data should not be subject to routing.
message_out_of_band | Process out-of-band data.
message_peek | Peek at incoming data without removing it from the input queue.

##### Requirements

Header: `boost/asio/socket_base.hpp`

Convenience header: `boost/asio.hpp`