#include <socket_base.hpp>
Public Types | |
typedef asio::detail::socket_option::boolean < SOL_SOCKET, SO_BROADCAST > | broadcast |
Socket option to permit sending of broadcast messages. | |
typedef asio::detail::io_control::bytes_readable | bytes_readable |
typedef asio::detail::socket_option::boolean < SOL_SOCKET, SO_DEBUG > | debug |
Socket option to enable socket-level debugging. | |
typedef asio::detail::socket_option::boolean < SOL_SOCKET, SO_DONTROUTE > | do_not_route |
Socket option to prevent routing, use local interfaces only. | |
typedef asio::detail::socket_option::boolean < asio::detail::custom_socket_option_level, asio::detail::enable_connection_aborted_option > | enable_connection_aborted |
Socket option to report aborted connections on accept. | |
typedef asio::detail::socket_option::boolean < SOL_SOCKET, SO_KEEPALIVE > | keep_alive |
Socket option to send keep-alives. | |
typedef asio::detail::socket_option::linger < SOL_SOCKET, SO_LINGER > | linger |
typedef int | message_flags |
Bitmask type for flags that can be passed to send and receive operations. | |
typedef asio::detail::io_control::non_blocking_io | non_blocking_io |
IO control command to set the blocking mode of the socket. | |
typedef asio::detail::socket_option::integer < SOL_SOCKET, SO_RCVBUF > | receive_buffer_size |
Socket option for the receive buffer size of a socket. | |
typedef asio::detail::socket_option::integer < SOL_SOCKET, SO_RCVLOWAT > | receive_low_watermark |
Socket option for the receive low watermark. | |
typedef asio::detail::socket_option::boolean < SOL_SOCKET, SO_REUSEADDR > | reuse_address |
typedef asio::detail::socket_option::integer < SOL_SOCKET, SO_SNDBUF > | send_buffer_size |
Socket option for the send buffer size of a socket. | |
typedef asio::detail::socket_option::integer < SOL_SOCKET, SO_SNDLOWAT > | send_low_watermark |
Socket option for the send low watermark. | |
enum | shutdown_type { shutdown_receive = asio::detail::shutdown_receive, shutdown_send = asio::detail::shutdown_send, shutdown_both = asio::detail::shutdown_both } |
Different ways a socket may be shutdown. More... | |
Public Member Functions | |
BOOST_STATIC_CONSTANT (int, message_peek=asio::detail::message_peek) | |
BOOST_STATIC_CONSTANT (int, message_out_of_band=asio::detail::message_out_of_band) | |
BOOST_STATIC_CONSTANT (int, message_do_not_route=asio::detail::message_do_not_route) | |
BOOST_STATIC_CONSTANT (int, max_connections=SOMAXCONN) | |
The maximum length of the queue of pending incoming connections. | |
Protected Member Functions | |
~socket_base () | |
Protected destructor to prevent deletion through this type. |
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.
Definition at line 34 of file socket_base.hpp.
typedef asio::detail::socket_option::boolean< SOL_SOCKET, SO_BROADCAST> asio::socket_base::broadcast |
Socket option to permit sending of broadcast messages.
Implements the SOL_SOCKET/SO_BROADCAST socket option.
asio::ip::udp::socket socket(io_service); ... asio::socket_base::broadcast option(true); socket.set_option(option);
asio::ip::udp::socket socket(io_service); ... asio::socket_base::broadcast option; socket.get_option(option); bool is_set = option.value();
Definition at line 107 of file socket_base.hpp.
IO control command to get the amount of data that can be read without blocking. Implements the FIONREAD IO control command.
asio::ip::tcp::socket socket(io_service); ... asio::socket_base::bytes_readable command(true); socket.io_control(command); std::size_t bytes_readable = command.get();
Definition at line 488 of file socket_base.hpp.
typedef asio::detail::socket_option::boolean< SOL_SOCKET, SO_DEBUG> asio::socket_base::debug |
Socket option to enable socket-level debugging.
Implements the SOL_SOCKET/SO_DEBUG socket option.
asio::ip::tcp::socket socket(io_service); ... asio::socket_base::debug option(true); socket.set_option(option);
asio::ip::tcp::socket socket(io_service); ... asio::socket_base::debug option; socket.get_option(option); bool is_set = option.value();
Definition at line 140 of file socket_base.hpp.
typedef asio::detail::socket_option::boolean< SOL_SOCKET, SO_DONTROUTE> asio::socket_base::do_not_route |
Socket option to prevent routing, use local interfaces only.
Implements the SOL_SOCKET/SO_DONTROUTE socket option.
asio::ip::udp::socket socket(io_service); ... asio::socket_base::do_not_route option(true); socket.set_option(option);
asio::ip::udp::socket socket(io_service); ... asio::socket_base::do_not_route option; socket.get_option(option); bool is_set = option.value();
Definition at line 173 of file socket_base.hpp.
typedef asio::detail::socket_option::boolean< asio::detail::custom_socket_option_level, asio::detail::enable_connection_aborted_option> asio::socket_base::enable_connection_aborted |
Socket option to report aborted connections on accept.
Implements a custom socket option that determines whether or not an accept operation is permitted to fail with asio::error::connection_aborted. By default the option is false.
asio::ip::tcp::acceptor acceptor(io_service); ... asio::socket_base::enable_connection_aborted option(true); acceptor.set_option(option);
asio::ip::tcp::acceptor acceptor(io_service); ... asio::socket_base::enable_connection_aborted option; acceptor.get_option(option); bool is_set = option.value();
Definition at line 444 of file socket_base.hpp.
typedef asio::detail::socket_option::boolean< SOL_SOCKET, SO_KEEPALIVE> asio::socket_base::keep_alive |
Socket option to send keep-alives.
Implements the SOL_SOCKET/SO_KEEPALIVE socket option.
asio::ip::tcp::socket socket(io_service); ... asio::socket_base::keep_alive option(true); socket.set_option(option);
asio::ip::tcp::socket socket(io_service); ... asio::socket_base::keep_alive option; socket.get_option(option); bool is_set = option.value();
Definition at line 206 of file socket_base.hpp.
typedef asio::detail::socket_option::linger< SOL_SOCKET, SO_LINGER> asio::socket_base::linger |
Socket option to specify whether the socket lingers on close if unsent data is present. Implements the SOL_SOCKET/SO_LINGER socket option.
asio::ip::tcp::socket socket(io_service); ... asio::socket_base::linger option(true, 30); socket.set_option(option);
asio::ip::tcp::socket socket(io_service); ... asio::socket_base::linger option; socket.get_option(option); bool is_set = option.enabled(); unsigned short timeout = option.timeout();
Definition at line 407 of file socket_base.hpp.
typedef int asio::socket_base::message_flags |
Bitmask type for flags that can be passed to send and receive operations.
Definition at line 57 of file socket_base.hpp.
IO control command to set the blocking mode of the socket.
Implements the FIONBIO IO control command.
asio::ip::tcp::socket socket(io_service); ... asio::socket_base::non_blocking_io command(true); socket.io_control(command);
Definition at line 465 of file socket_base.hpp.
typedef asio::detail::socket_option::integer< SOL_SOCKET, SO_RCVBUF> asio::socket_base::receive_buffer_size |
Socket option for the receive buffer size of a socket.
Implements the SOL_SOCKET/SO_RCVBUF socket option.
asio::ip::tcp::socket socket(io_service); ... asio::socket_base::receive_buffer_size option(8192); socket.set_option(option);
asio::ip::tcp::socket socket(io_service); ... asio::socket_base::receive_buffer_size option; socket.get_option(option); int size = option.value();
Definition at line 305 of file socket_base.hpp.
typedef asio::detail::socket_option::integer< SOL_SOCKET, SO_RCVLOWAT> asio::socket_base::receive_low_watermark |
Socket option for the receive low watermark.
Implements the SOL_SOCKET/SO_RCVLOWAT socket option.
asio::ip::tcp::socket socket(io_service); ... asio::socket_base::receive_low_watermark option(1024); socket.set_option(option);
asio::ip::tcp::socket socket(io_service); ... asio::socket_base::receive_low_watermark option; socket.get_option(option); int size = option.value();
Definition at line 338 of file socket_base.hpp.
typedef asio::detail::socket_option::boolean< SOL_SOCKET, SO_REUSEADDR> asio::socket_base::reuse_address |
Socket option to allow the socket to be bound to an address that is already in use. Implements the SOL_SOCKET/SO_REUSEADDR socket option.
asio::ip::tcp::acceptor acceptor(io_service); ... asio::socket_base::reuse_address option(true); acceptor.set_option(option);
asio::ip::tcp::acceptor acceptor(io_service); ... asio::socket_base::reuse_address option; acceptor.get_option(option); bool is_set = option.value();
Definition at line 372 of file socket_base.hpp.
typedef asio::detail::socket_option::integer< SOL_SOCKET, SO_SNDBUF> asio::socket_base::send_buffer_size |
Socket option for the send buffer size of a socket.
Implements the SOL_SOCKET/SO_SNDBUF socket option.
asio::ip::tcp::socket socket(io_service); ... asio::socket_base::send_buffer_size option(8192); socket.set_option(option);
asio::ip::tcp::socket socket(io_service); ... asio::socket_base::send_buffer_size option; socket.get_option(option); int size = option.value();
Definition at line 239 of file socket_base.hpp.
typedef asio::detail::socket_option::integer< SOL_SOCKET, SO_SNDLOWAT> asio::socket_base::send_low_watermark |
Socket option for the send low watermark.
Implements the SOL_SOCKET/SO_SNDLOWAT socket option.
asio::ip::tcp::socket socket(io_service); ... asio::socket_base::send_low_watermark option(1024); socket.set_option(option);
asio::ip::tcp::socket socket(io_service); ... asio::socket_base::send_low_watermark option; socket.get_option(option); int size = option.value();
Definition at line 272 of file socket_base.hpp.
Different ways a socket may be shutdown.
Definition at line 38 of file socket_base.hpp.
asio::socket_base::~socket_base | ( | ) | [inline, protected] |
Protected destructor to prevent deletion through this type.
Definition at line 500 of file socket_base.hpp.
asio::socket_base::BOOST_STATIC_CONSTANT | ( | int | , |
message_peek | = asio::detail::message_peek |
||
) |
asio::socket_base::BOOST_STATIC_CONSTANT | ( | int | , |
message_out_of_band | = asio::detail::message_out_of_band |
||
) |
asio::socket_base::BOOST_STATIC_CONSTANT | ( | int | , |
message_do_not_route | = asio::detail::message_do_not_route |
||
) |
asio::socket_base::BOOST_STATIC_CONSTANT | ( | int | , |
max_connections | = SOMAXCONN |
||
) |
The maximum length of the queue of pending incoming connections.