update boost on linux
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
// socket_base.hpp
|
||||
// ~~~~~~~~~~~~~~~
|
||||
//
|
||||
// Copyright (c) 2003-2017 Christopher M. Kohlhoff (chris at kohlhoff dot com)
|
||||
// Copyright (c) 2003-2019 Christopher M. Kohlhoff (chris at kohlhoff dot com)
|
||||
//
|
||||
// Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
@@ -76,6 +76,22 @@ public:
|
||||
message_end_of_record = BOOST_ASIO_OS_DEF(MSG_EOR));
|
||||
#endif
|
||||
|
||||
/// Wait types.
|
||||
/**
|
||||
* For use with basic_socket::wait() and basic_socket::async_wait().
|
||||
*/
|
||||
enum wait_type
|
||||
{
|
||||
/// Wait for a socket to become ready to read.
|
||||
wait_read,
|
||||
|
||||
/// Wait for a socket to become ready to write.
|
||||
wait_write,
|
||||
|
||||
/// Wait for a socket to have error conditions pending.
|
||||
wait_error
|
||||
};
|
||||
|
||||
/// Socket option to permit sending of broadcast messages.
|
||||
/**
|
||||
* Implements the SOL_SOCKET/SO_BROADCAST socket option.
|
||||
@@ -83,7 +99,7 @@ public:
|
||||
* @par Examples
|
||||
* Setting the option:
|
||||
* @code
|
||||
* boost::asio::ip::udp::socket socket(io_service);
|
||||
* boost::asio::ip::udp::socket socket(my_context);
|
||||
* ...
|
||||
* boost::asio::socket_base::broadcast option(true);
|
||||
* socket.set_option(option);
|
||||
@@ -92,7 +108,7 @@ public:
|
||||
* @par
|
||||
* Getting the current option value:
|
||||
* @code
|
||||
* boost::asio::ip::udp::socket socket(io_service);
|
||||
* boost::asio::ip::udp::socket socket(my_context);
|
||||
* ...
|
||||
* boost::asio::socket_base::broadcast option;
|
||||
* socket.get_option(option);
|
||||
@@ -117,7 +133,7 @@ public:
|
||||
* @par Examples
|
||||
* Setting the option:
|
||||
* @code
|
||||
* boost::asio::ip::tcp::socket socket(io_service);
|
||||
* boost::asio::ip::tcp::socket socket(my_context);
|
||||
* ...
|
||||
* boost::asio::socket_base::debug option(true);
|
||||
* socket.set_option(option);
|
||||
@@ -126,7 +142,7 @@ public:
|
||||
* @par
|
||||
* Getting the current option value:
|
||||
* @code
|
||||
* boost::asio::ip::tcp::socket socket(io_service);
|
||||
* boost::asio::ip::tcp::socket socket(my_context);
|
||||
* ...
|
||||
* boost::asio::socket_base::debug option;
|
||||
* socket.get_option(option);
|
||||
@@ -150,7 +166,7 @@ public:
|
||||
* @par Examples
|
||||
* Setting the option:
|
||||
* @code
|
||||
* boost::asio::ip::udp::socket socket(io_service);
|
||||
* boost::asio::ip::udp::socket socket(my_context);
|
||||
* ...
|
||||
* boost::asio::socket_base::do_not_route option(true);
|
||||
* socket.set_option(option);
|
||||
@@ -159,7 +175,7 @@ public:
|
||||
* @par
|
||||
* Getting the current option value:
|
||||
* @code
|
||||
* boost::asio::ip::udp::socket socket(io_service);
|
||||
* boost::asio::ip::udp::socket socket(my_context);
|
||||
* ...
|
||||
* boost::asio::socket_base::do_not_route option;
|
||||
* socket.get_option(option);
|
||||
@@ -184,7 +200,7 @@ public:
|
||||
* @par Examples
|
||||
* Setting the option:
|
||||
* @code
|
||||
* boost::asio::ip::tcp::socket socket(io_service);
|
||||
* boost::asio::ip::tcp::socket socket(my_context);
|
||||
* ...
|
||||
* boost::asio::socket_base::keep_alive option(true);
|
||||
* socket.set_option(option);
|
||||
@@ -193,7 +209,7 @@ public:
|
||||
* @par
|
||||
* Getting the current option value:
|
||||
* @code
|
||||
* boost::asio::ip::tcp::socket socket(io_service);
|
||||
* boost::asio::ip::tcp::socket socket(my_context);
|
||||
* ...
|
||||
* boost::asio::socket_base::keep_alive option;
|
||||
* socket.get_option(option);
|
||||
@@ -217,7 +233,7 @@ public:
|
||||
* @par Examples
|
||||
* Setting the option:
|
||||
* @code
|
||||
* boost::asio::ip::tcp::socket socket(io_service);
|
||||
* boost::asio::ip::tcp::socket socket(my_context);
|
||||
* ...
|
||||
* boost::asio::socket_base::send_buffer_size option(8192);
|
||||
* socket.set_option(option);
|
||||
@@ -226,7 +242,7 @@ public:
|
||||
* @par
|
||||
* Getting the current option value:
|
||||
* @code
|
||||
* boost::asio::ip::tcp::socket socket(io_service);
|
||||
* boost::asio::ip::tcp::socket socket(my_context);
|
||||
* ...
|
||||
* boost::asio::socket_base::send_buffer_size option;
|
||||
* socket.get_option(option);
|
||||
@@ -251,7 +267,7 @@ public:
|
||||
* @par Examples
|
||||
* Setting the option:
|
||||
* @code
|
||||
* boost::asio::ip::tcp::socket socket(io_service);
|
||||
* boost::asio::ip::tcp::socket socket(my_context);
|
||||
* ...
|
||||
* boost::asio::socket_base::send_low_watermark option(1024);
|
||||
* socket.set_option(option);
|
||||
@@ -260,7 +276,7 @@ public:
|
||||
* @par
|
||||
* Getting the current option value:
|
||||
* @code
|
||||
* boost::asio::ip::tcp::socket socket(io_service);
|
||||
* boost::asio::ip::tcp::socket socket(my_context);
|
||||
* ...
|
||||
* boost::asio::socket_base::send_low_watermark option;
|
||||
* socket.get_option(option);
|
||||
@@ -285,7 +301,7 @@ public:
|
||||
* @par Examples
|
||||
* Setting the option:
|
||||
* @code
|
||||
* boost::asio::ip::tcp::socket socket(io_service);
|
||||
* boost::asio::ip::tcp::socket socket(my_context);
|
||||
* ...
|
||||
* boost::asio::socket_base::receive_buffer_size option(8192);
|
||||
* socket.set_option(option);
|
||||
@@ -294,7 +310,7 @@ public:
|
||||
* @par
|
||||
* Getting the current option value:
|
||||
* @code
|
||||
* boost::asio::ip::tcp::socket socket(io_service);
|
||||
* boost::asio::ip::tcp::socket socket(my_context);
|
||||
* ...
|
||||
* boost::asio::socket_base::receive_buffer_size option;
|
||||
* socket.get_option(option);
|
||||
@@ -319,7 +335,7 @@ public:
|
||||
* @par Examples
|
||||
* Setting the option:
|
||||
* @code
|
||||
* boost::asio::ip::tcp::socket socket(io_service);
|
||||
* boost::asio::ip::tcp::socket socket(my_context);
|
||||
* ...
|
||||
* boost::asio::socket_base::receive_low_watermark option(1024);
|
||||
* socket.set_option(option);
|
||||
@@ -328,7 +344,7 @@ public:
|
||||
* @par
|
||||
* Getting the current option value:
|
||||
* @code
|
||||
* boost::asio::ip::tcp::socket socket(io_service);
|
||||
* boost::asio::ip::tcp::socket socket(my_context);
|
||||
* ...
|
||||
* boost::asio::socket_base::receive_low_watermark option;
|
||||
* socket.get_option(option);
|
||||
@@ -354,7 +370,7 @@ public:
|
||||
* @par Examples
|
||||
* Setting the option:
|
||||
* @code
|
||||
* boost::asio::ip::tcp::acceptor acceptor(io_service);
|
||||
* boost::asio::ip::tcp::acceptor acceptor(my_context);
|
||||
* ...
|
||||
* boost::asio::socket_base::reuse_address option(true);
|
||||
* acceptor.set_option(option);
|
||||
@@ -363,7 +379,7 @@ public:
|
||||
* @par
|
||||
* Getting the current option value:
|
||||
* @code
|
||||
* boost::asio::ip::tcp::acceptor acceptor(io_service);
|
||||
* boost::asio::ip::tcp::acceptor acceptor(my_context);
|
||||
* ...
|
||||
* boost::asio::socket_base::reuse_address option;
|
||||
* acceptor.get_option(option);
|
||||
@@ -389,7 +405,7 @@ public:
|
||||
* @par Examples
|
||||
* Setting the option:
|
||||
* @code
|
||||
* boost::asio::ip::tcp::socket socket(io_service);
|
||||
* boost::asio::ip::tcp::socket socket(my_context);
|
||||
* ...
|
||||
* boost::asio::socket_base::linger option(true, 30);
|
||||
* socket.set_option(option);
|
||||
@@ -398,7 +414,7 @@ public:
|
||||
* @par
|
||||
* Getting the current option value:
|
||||
* @code
|
||||
* boost::asio::ip::tcp::socket socket(io_service);
|
||||
* boost::asio::ip::tcp::socket socket(my_context);
|
||||
* ...
|
||||
* boost::asio::socket_base::linger option;
|
||||
* socket.get_option(option);
|
||||
@@ -417,6 +433,40 @@ public:
|
||||
linger;
|
||||
#endif
|
||||
|
||||
/// Socket option for putting received out-of-band data inline.
|
||||
/**
|
||||
* Implements the SOL_SOCKET/SO_OOBINLINE socket option.
|
||||
*
|
||||
* @par Examples
|
||||
* Setting the option:
|
||||
* @code
|
||||
* boost::asio::ip::tcp::socket socket(my_context);
|
||||
* ...
|
||||
* boost::asio::socket_base::out_of_band_inline option(true);
|
||||
* socket.set_option(option);
|
||||
* @endcode
|
||||
*
|
||||
* @par
|
||||
* Getting the current option value:
|
||||
* @code
|
||||
* boost::asio::ip::tcp::socket socket(my_context);
|
||||
* ...
|
||||
* boost::asio::socket_base::out_of_band_inline option;
|
||||
* socket.get_option(option);
|
||||
* bool value = option.value();
|
||||
* @endcode
|
||||
*
|
||||
* @par Concepts:
|
||||
* Socket_Option, Boolean_Socket_Option.
|
||||
*/
|
||||
#if defined(GENERATING_DOCUMENTATION)
|
||||
typedef implementation_defined out_of_band_inline;
|
||||
#else
|
||||
typedef boost::asio::detail::socket_option::boolean<
|
||||
BOOST_ASIO_OS_DEF(SOL_SOCKET), BOOST_ASIO_OS_DEF(SO_OOBINLINE)>
|
||||
out_of_band_inline;
|
||||
#endif
|
||||
|
||||
/// Socket option to report aborted connections on accept.
|
||||
/**
|
||||
* Implements a custom socket option that determines whether or not an accept
|
||||
@@ -426,7 +476,7 @@ public:
|
||||
* @par Examples
|
||||
* Setting the option:
|
||||
* @code
|
||||
* boost::asio::ip::tcp::acceptor acceptor(io_service);
|
||||
* boost::asio::ip::tcp::acceptor acceptor(my_context);
|
||||
* ...
|
||||
* boost::asio::socket_base::enable_connection_aborted option(true);
|
||||
* acceptor.set_option(option);
|
||||
@@ -435,7 +485,7 @@ public:
|
||||
* @par
|
||||
* Getting the current option value:
|
||||
* @code
|
||||
* boost::asio::ip::tcp::acceptor acceptor(io_service);
|
||||
* boost::asio::ip::tcp::acceptor acceptor(my_context);
|
||||
* ...
|
||||
* boost::asio::socket_base::enable_connection_aborted option;
|
||||
* acceptor.get_option(option);
|
||||
@@ -454,28 +504,6 @@ public:
|
||||
enable_connection_aborted;
|
||||
#endif
|
||||
|
||||
/// (Deprecated: Use non_blocking().) IO control command to
|
||||
/// set the blocking mode of the socket.
|
||||
/**
|
||||
* Implements the FIONBIO IO control command.
|
||||
*
|
||||
* @par Example
|
||||
* @code
|
||||
* boost::asio::ip::tcp::socket socket(io_service);
|
||||
* ...
|
||||
* boost::asio::socket_base::non_blocking_io command(true);
|
||||
* socket.io_control(command);
|
||||
* @endcode
|
||||
*
|
||||
* @par Concepts:
|
||||
* IO_Control_Command, Boolean_IO_Control_Command.
|
||||
*/
|
||||
#if defined(GENERATING_DOCUMENTATION)
|
||||
typedef implementation_defined non_blocking_io;
|
||||
#else
|
||||
typedef boost::asio::detail::io_control::non_blocking_io non_blocking_io;
|
||||
#endif
|
||||
|
||||
/// IO control command to get the amount of data that can be read without
|
||||
/// blocking.
|
||||
/**
|
||||
@@ -483,7 +511,7 @@ public:
|
||||
*
|
||||
* @par Example
|
||||
* @code
|
||||
* boost::asio::ip::tcp::socket socket(io_service);
|
||||
* boost::asio::ip::tcp::socket socket(my_context);
|
||||
* ...
|
||||
* boost::asio::socket_base::bytes_readable command(true);
|
||||
* socket.io_control(command);
|
||||
@@ -500,12 +528,23 @@ public:
|
||||
#endif
|
||||
|
||||
/// The maximum length of the queue of pending incoming connections.
|
||||
#if defined(GENERATING_DOCUMENTATION)
|
||||
static const int max_listen_connections = implementation_defined;
|
||||
#else
|
||||
BOOST_ASIO_STATIC_CONSTANT(int, max_listen_connections
|
||||
= BOOST_ASIO_OS_DEF(SOMAXCONN));
|
||||
#endif
|
||||
|
||||
#if !defined(BOOST_ASIO_NO_DEPRECATED)
|
||||
/// (Deprecated: Use max_listen_connections.) The maximum length of the queue
|
||||
/// of pending incoming connections.
|
||||
#if defined(GENERATING_DOCUMENTATION)
|
||||
static const int max_connections = implementation_defined;
|
||||
#else
|
||||
BOOST_ASIO_STATIC_CONSTANT(int, max_connections
|
||||
= BOOST_ASIO_OS_DEF(SOMAXCONN));
|
||||
#endif
|
||||
#endif // !defined(BOOST_ASIO_NO_DEPRECATED)
|
||||
|
||||
protected:
|
||||
/// Protected destructor to prevent deletion through this type.
|
||||
|
||||
Reference in New Issue
Block a user