...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
The UNIX domain acceptor type.
typedef basic_socket_acceptor< stream_protocol > acceptor;
Name |
Description |
---|---|
Socket option to permit sending of broadcast messages. |
|
IO control command to get the amount of data that can be read without blocking. |
|
Socket option to enable socket-level debugging. |
|
Socket option to prevent routing, use local interfaces only. |
|
Socket option to report aborted connections on accept. |
|
The endpoint type. |
|
The type of the executor associated with the object. |
|
Socket option to send keep-alives. |
|
Socket option to specify whether the socket lingers on close if unsent data is present. |
|
Bitmask type for flags that can be passed to send and receive operations. |
|
The native representation of an acceptor. |
|
Socket option for putting received out-of-band data inline. |
|
The protocol type. |
|
Socket option for the receive buffer size of a socket. |
|
Socket option for the receive low watermark. |
|
Socket option to allow the socket to be bound to an address that is already in use. |
|
Socket option for the send buffer size of a socket. |
|
Socket option for the send low watermark. |
|
Different ways a socket may be shutdown. |
|
Wait types. |
Name |
Description |
---|---|
Accept a new connection. Accept a new connection and obtain the endpoint of the peer. |
|
Assigns an existing native acceptor to the acceptor. |
|
Start an asynchronous accept. |
|
Asynchronously wait for the acceptor to become ready to read, ready to write, or to have pending error conditions. |
|
Construct an acceptor without opening it. Construct an open acceptor. Construct an acceptor opened on the given endpoint. Construct a basic_socket_acceptor on an existing native acceptor. Move-construct a basic_socket_acceptor from another. Move-construct a basic_socket_acceptor from an acceptor of another protocol type. |
|
Bind the acceptor to the given local endpoint. |
|
Cancel all asynchronous operations associated with the acceptor. |
|
Close the acceptor. |
|
Get the executor associated with the object. |
|
(Deprecated: Use get_executor().) Get the io_context associated with the object. |
|
(Deprecated: Use get_executor().) Get the io_context associated with the object. |
|
Get an option from the acceptor. |
|
Perform an IO control command on the acceptor. |
|
Determine whether the acceptor is open. |
|
Place the acceptor into the state where it will listen for new connections. |
|
Get the local endpoint of the acceptor. |
|
Get the native acceptor representation. |
|
Gets the non-blocking mode of the native acceptor implementation. Sets the non-blocking mode of the native acceptor implementation. |
|
Gets the non-blocking mode of the acceptor. Sets the non-blocking mode of the acceptor. |
|
Open the acceptor using the specified protocol. |
|
Move-assign a basic_socket_acceptor from another. Move-assign a basic_socket_acceptor from an acceptor of another protocol type. |
|
Release ownership of the underlying native acceptor. |
|
Set an option on the acceptor. |
|
Wait for the acceptor to become ready to read, ready to write, or to have pending error conditions. |
|
Destroys the acceptor. |
Name |
Description |
---|---|
(Deprecated: Use max_listen_connections.) The maximum length of the queue of pending incoming connections. |
|
The maximum length of the queue of pending incoming connections. |
|
Specify that the data should not be subject to routing. |
|
Specifies that the data marks the end of a record. |
|
Process out-of-band data. |
|
Peek at incoming data without removing it from the input queue. |
The basic_socket_acceptor
class template is used for accepting new socket connections.
Distinct objects: Safe.
Shared objects: Unsafe.
Opening a socket acceptor with the SO_REUSEADDR option enabled:
boost::asio::ip::tcp::acceptor acceptor(io_context); boost::asio::ip::tcp::endpoint endpoint(boost::asio::ip::tcp::v4(), port); acceptor.open(endpoint.protocol()); acceptor.set_option(boost::asio::ip::tcp::acceptor::reuse_address(true)); acceptor.bind(endpoint); acceptor.listen();
Header: boost/asio/local/stream_protocol.hpp
Convenience header: boost/asio.hpp