Rename io_service to io_context.
diff --git a/asio/include/Makefile.am b/asio/include/Makefile.am index 15aa7e8..e334c7c 100644 --- a/asio/include/Makefile.am +++ b/asio/include/Makefile.am
@@ -112,8 +112,8 @@ asio/detail/impl/timer_queue_set.ipp \ asio/detail/impl/win_event.ipp \ asio/detail/impl/win_iocp_handle_service.ipp \ - asio/detail/impl/win_iocp_io_service.hpp \ - asio/detail/impl/win_iocp_io_service.ipp \ + asio/detail/impl/win_iocp_io_context.hpp \ + asio/detail/impl/win_iocp_io_context.ipp \ asio/detail/impl/win_iocp_serial_port_service.ipp \ asio/detail/impl/win_iocp_socket_service_base.ipp \ asio/detail/impl/win_mutex.ipp \ @@ -235,7 +235,7 @@ asio/detail/win_iocp_handle_read_op.hpp \ asio/detail/win_iocp_handle_service.hpp \ asio/detail/win_iocp_handle_write_op.hpp \ - asio/detail/win_iocp_io_service.hpp \ + asio/detail/win_iocp_io_context.hpp \ asio/detail/win_iocp_null_buffers_op.hpp \ asio/detail/win_iocp_operation.hpp \ asio/detail/win_iocp_overlapped_op.hpp \ @@ -301,8 +301,8 @@ asio/impl/executor.hpp \ asio/impl/executor.ipp \ asio/impl/handler_alloc_hook.ipp \ - asio/impl/io_service.hpp \ - asio/impl/io_service.ipp \ + asio/impl/io_context.hpp \ + asio/impl/io_context.ipp \ asio/impl/post.hpp \ asio/impl/read_at.hpp \ asio/impl/read.hpp \ @@ -319,6 +319,8 @@ asio/impl/use_future.hpp \ asio/impl/write_at.hpp \ asio/impl/write.hpp \ + asio/io_context_strand.hpp \ + asio/io_context.hpp \ asio/io_service_strand.hpp \ asio/io_service.hpp \ asio/ip/address.hpp \ @@ -432,7 +434,7 @@ asio/ts/buffer.hpp \ asio/ts/executor.hpp \ asio/ts/internet.hpp \ - asio/ts/io_service.hpp \ + asio/ts/io_context.hpp \ asio/ts/networking.hpp \ asio/ts/socket.hpp \ asio/ts/thread_pool.hpp \
diff --git a/asio/include/asio.hpp b/asio/include/asio.hpp index 576fdc7..8dcf273 100644 --- a/asio/include/asio.hpp +++ b/asio/include/asio.hpp
@@ -62,6 +62,8 @@ #include "asio/handler_continuation_hook.hpp" #include "asio/handler_invoke_hook.hpp" #include "asio/handler_type.hpp" +#include "asio/io_context.hpp" +#include "asio/io_context_strand.hpp" #include "asio/io_service.hpp" #include "asio/io_service_strand.hpp" #include "asio/ip/address.hpp"
diff --git a/asio/include/asio/basic_datagram_socket.hpp b/asio/include/asio/basic_datagram_socket.hpp index 350e826..d9748ee 100644 --- a/asio/include/asio/basic_datagram_socket.hpp +++ b/asio/include/asio/basic_datagram_socket.hpp
@@ -57,12 +57,12 @@ * This constructor creates a datagram socket without opening it. The open() * function must be called before data can be sent or received on the socket. * - * @param io_service The io_service object that the datagram socket will use + * @param io_context The io_context object that the datagram socket will use * to dispatch handlers for any asynchronous operations performed on the * socket. */ - explicit basic_datagram_socket(asio::io_service& io_service) - : basic_socket<Protocol, DatagramSocketService>(io_service) + explicit basic_datagram_socket(asio::io_context& io_context) + : basic_socket<Protocol, DatagramSocketService>(io_context) { } @@ -70,7 +70,7 @@ /** * This constructor creates and opens a datagram socket. * - * @param io_service The io_service object that the datagram socket will use + * @param io_context The io_context object that the datagram socket will use * to dispatch handlers for any asynchronous operations performed on the * socket. * @@ -78,9 +78,9 @@ * * @throws asio::system_error Thrown on failure. */ - basic_datagram_socket(asio::io_service& io_service, + basic_datagram_socket(asio::io_context& io_context, const protocol_type& protocol) - : basic_socket<Protocol, DatagramSocketService>(io_service, protocol) + : basic_socket<Protocol, DatagramSocketService>(io_context, protocol) { } @@ -91,7 +91,7 @@ * to the specified endpoint on the local machine. The protocol used is the * protocol associated with the given endpoint. * - * @param io_service The io_service object that the datagram socket will use + * @param io_context The io_context object that the datagram socket will use * to dispatch handlers for any asynchronous operations performed on the * socket. * @@ -100,9 +100,9 @@ * * @throws asio::system_error Thrown on failure. */ - basic_datagram_socket(asio::io_service& io_service, + basic_datagram_socket(asio::io_context& io_context, const endpoint_type& endpoint) - : basic_socket<Protocol, DatagramSocketService>(io_service, endpoint) + : basic_socket<Protocol, DatagramSocketService>(io_context, endpoint) { } @@ -111,7 +111,7 @@ * This constructor creates a datagram socket object to hold an existing * native socket. * - * @param io_service The io_service object that the datagram socket will use + * @param io_context The io_context object that the datagram socket will use * to dispatch handlers for any asynchronous operations performed on the * socket. * @@ -121,10 +121,10 @@ * * @throws asio::system_error Thrown on failure. */ - basic_datagram_socket(asio::io_service& io_service, + basic_datagram_socket(asio::io_context& io_context, const protocol_type& protocol, const native_handle_type& native_socket) : basic_socket<Protocol, DatagramSocketService>( - io_service, protocol, native_socket) + io_context, protocol, native_socket) { } @@ -137,7 +137,7 @@ * will occur. * * @note Following the move, the moved-from object is in the same state as if - * constructed using the @c basic_datagram_socket(io_service&) constructor. + * constructed using the @c basic_datagram_socket(io_context&) constructor. */ basic_datagram_socket(basic_datagram_socket&& other) : basic_socket<Protocol, DatagramSocketService>( @@ -154,7 +154,7 @@ * will occur. * * @note Following the move, the moved-from object is in the same state as if - * constructed using the @c basic_datagram_socket(io_service&) constructor. + * constructed using the @c basic_datagram_socket(io_context&) constructor. */ basic_datagram_socket& operator=(basic_datagram_socket&& other) { @@ -172,7 +172,7 @@ * will occur. * * @note Following the move, the moved-from object is in the same state as if - * constructed using the @c basic_datagram_socket(io_service&) constructor. + * constructed using the @c basic_datagram_socket(io_context&) constructor. */ template <typename Protocol1, typename DatagramSocketService1> basic_datagram_socket( @@ -194,7 +194,7 @@ * will occur. * * @note Following the move, the moved-from object is in the same state as if - * constructed using the @c basic_datagram_socket(io_service&) constructor. + * constructed using the @c basic_datagram_socket(io_context&) constructor. */ template <typename Protocol1, typename DatagramSocketService1> typename enable_if<is_convertible<Protocol1, Protocol>::value, @@ -313,7 +313,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation * of the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). * * @note The async_send operation can only be used with a connected socket. * Use the async_send_to function to send data on an unconnected datagram @@ -364,7 +364,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation * of the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). * * @note The async_send operation can only be used with a connected socket. * Use the async_send_to function to send data on an unconnected datagram @@ -496,7 +496,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation * of the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). * * @par Example * To send a single data buffer use the @ref buffer function as follows: @@ -551,7 +551,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation * of the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). */ template <typename ConstBufferSequence, typename WriteHandler> ASIO_INITFN_RESULT_TYPE(WriteHandler, @@ -678,7 +678,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation * of the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). * * @note The async_receive operation can only be used with a connected socket. * Use the async_receive_from function to receive data on an unconnected @@ -730,7 +730,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation * of the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). * * @note The async_receive operation can only be used with a connected socket. * Use the async_receive_from function to receive data on an unconnected @@ -865,7 +865,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation * of the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). * * @par Example * To receive into a single data buffer use the @ref buffer function as @@ -919,7 +919,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation * of the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). */ template <typename MutableBufferSequence, typename ReadHandler> ASIO_INITFN_RESULT_TYPE(ReadHandler,
diff --git a/asio/include/asio/basic_deadline_timer.hpp b/asio/include/asio/basic_deadline_timer.hpp index 7cc1374..030053e 100644 --- a/asio/include/asio/basic_deadline_timer.hpp +++ b/asio/include/asio/basic_deadline_timer.hpp
@@ -50,7 +50,7 @@ * Performing a blocking wait: * @code * // Construct a timer without setting an expiry time. - * asio::deadline_timer timer(io_service); + * asio::deadline_timer timer(io_context); * * // Set an expiry time relative to now. * timer.expires_from_now(boost::posix_time::seconds(5)); @@ -73,7 +73,7 @@ * ... * * // Construct a timer with an absolute expiry time. - * asio::deadline_timer timer(io_service, + * asio::deadline_timer timer(io_context, * boost::posix_time::time_from_string("2005-12-07 23:59:59.000")); * * // Start an asynchronous wait. @@ -141,11 +141,11 @@ * expires_at() or expires_from_now() functions must be called to set an * expiry time before the timer can be waited on. * - * @param io_service The io_service object that the timer will use to dispatch + * @param io_context The io_context object that the timer will use to dispatch * handlers for any asynchronous operations performed on the timer. */ - explicit basic_deadline_timer(asio::io_service& io_service) - : basic_io_object<TimerService>(io_service) + explicit basic_deadline_timer(asio::io_context& io_context) + : basic_io_object<TimerService>(io_context) { } @@ -153,15 +153,15 @@ /** * This constructor creates a timer and sets the expiry time. * - * @param io_service The io_service object that the timer will use to dispatch + * @param io_context The io_context object that the timer will use to dispatch * handlers for any asynchronous operations performed on the timer. * * @param expiry_time The expiry time to be used for the timer, expressed * as an absolute time. */ - basic_deadline_timer(asio::io_service& io_service, + basic_deadline_timer(asio::io_context& io_context, const time_type& expiry_time) - : basic_io_object<TimerService>(io_service) + : basic_io_object<TimerService>(io_context) { asio::error_code ec; this->get_service().expires_at(this->get_implementation(), expiry_time, ec); @@ -172,15 +172,15 @@ /** * This constructor creates a timer and sets the expiry time. * - * @param io_service The io_service object that the timer will use to dispatch + * @param io_context The io_context object that the timer will use to dispatch * handlers for any asynchronous operations performed on the timer. * * @param expiry_time The expiry time to be used for the timer, relative to * now. */ - basic_deadline_timer(asio::io_service& io_service, + basic_deadline_timer(asio::io_context& io_context, const duration_type& expiry_time) - : basic_io_object<TimerService>(io_service) + : basic_io_object<TimerService>(io_context) { asio::error_code ec; this->get_service().expires_from_now( @@ -495,7 +495,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation * of the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). */ template <typename WaitHandler> ASIO_INITFN_RESULT_TYPE(WaitHandler,
diff --git a/asio/include/asio/basic_io_object.hpp b/asio/include/asio/basic_io_object.hpp index 934f581..40cf896 100644 --- a/asio/include/asio/basic_io_object.hpp +++ b/asio/include/asio/basic_io_object.hpp
@@ -16,7 +16,7 @@ #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) #include "asio/detail/config.hpp" -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #include "asio/detail/push_options.hpp" @@ -67,28 +67,42 @@ typedef typename service_type::implementation_type implementation_type; #if !defined(ASIO_NO_DEPRECATED) - /// (Deprecated: Use get_executor().) Get the io_service associated with the + /// (Deprecated: Use get_executor().) Get the io_context associated with the /// object. /** - * This function may be used to obtain the io_service object that the I/O + * This function may be used to obtain the io_context object that the I/O * object uses to dispatch handlers for asynchronous operations. * - * @return A reference to the io_service object that the I/O object will use + * @return A reference to the io_context object that the I/O object will use * to dispatch handlers. Ownership is not transferred to the caller. */ - asio::io_service& get_io_service() + asio::io_context& get_io_context() { - return service_.get_io_service(); + return service_.get_io_context(); + } + + /// (Deprecated: Use get_executor().) Get the io_context associated with the + /// object. + /** + * This function may be used to obtain the io_context object that the I/O + * object uses to dispatch handlers for asynchronous operations. + * + * @return A reference to the io_context object that the I/O object will use + * to dispatch handlers. Ownership is not transferred to the caller. + */ + asio::io_context& get_io_service() + { + return service_.get_io_context(); } #endif // !defined(ASIO_NO_DEPRECATED) /// The type of the executor associated with the object. - typedef asio::io_service::executor_type executor_type; + typedef asio::io_context::executor_type executor_type; /// Get the executor associated with the object. executor_type get_executor() ASIO_NOEXCEPT { - return service_.get_io_service().get_executor(); + return service_.get_io_context().get_executor(); } protected: @@ -97,8 +111,8 @@ * Performs: * @code get_service().construct(get_implementation()); @endcode */ - explicit basic_io_object(asio::io_service& io_service) - : service_(asio::use_service<IoObjectService>(io_service)) + explicit basic_io_object(asio::io_context& io_context) + : service_(asio::use_service<IoObjectService>(io_context)) { service_.construct(implementation_); } @@ -180,22 +194,27 @@ typedef typename service_type::implementation_type implementation_type; #if !defined(ASIO_NO_DEPRECATED) - asio::io_service& get_io_service() + asio::io_context& get_io_context() { - return service_->get_io_service(); + return service_->get_io_context(); + } + + asio::io_context& get_io_service() + { + return service_->get_io_context(); } #endif // !defined(ASIO_NO_DEPRECATED) - typedef asio::io_service::executor_type executor_type; + typedef asio::io_context::executor_type executor_type; executor_type get_executor() ASIO_NOEXCEPT { - return service_->get_io_service().get_executor(); + return service_->get_io_context().get_executor(); } protected: - explicit basic_io_object(asio::io_service& io_service) - : service_(&asio::use_service<IoObjectService>(io_service)) + explicit basic_io_object(asio::io_context& io_context) + : service_(&asio::use_service<IoObjectService>(io_context)) { service_->construct(implementation_); }
diff --git a/asio/include/asio/basic_raw_socket.hpp b/asio/include/asio/basic_raw_socket.hpp index 33031c0..3ca392b 100644 --- a/asio/include/asio/basic_raw_socket.hpp +++ b/asio/include/asio/basic_raw_socket.hpp
@@ -57,12 +57,12 @@ * This constructor creates a raw socket without opening it. The open() * function must be called before data can be sent or received on the socket. * - * @param io_service The io_service object that the raw socket will use + * @param io_context The io_context object that the raw socket will use * to dispatch handlers for any asynchronous operations performed on the * socket. */ - explicit basic_raw_socket(asio::io_service& io_service) - : basic_socket<Protocol, RawSocketService>(io_service) + explicit basic_raw_socket(asio::io_context& io_context) + : basic_socket<Protocol, RawSocketService>(io_context) { } @@ -70,7 +70,7 @@ /** * This constructor creates and opens a raw socket. * - * @param io_service The io_service object that the raw socket will use + * @param io_context The io_context object that the raw socket will use * to dispatch handlers for any asynchronous operations performed on the * socket. * @@ -78,9 +78,9 @@ * * @throws asio::system_error Thrown on failure. */ - basic_raw_socket(asio::io_service& io_service, + basic_raw_socket(asio::io_context& io_context, const protocol_type& protocol) - : basic_socket<Protocol, RawSocketService>(io_service, protocol) + : basic_socket<Protocol, RawSocketService>(io_context, protocol) { } @@ -91,7 +91,7 @@ * to the specified endpoint on the local machine. The protocol used is the * protocol associated with the given endpoint. * - * @param io_service The io_service object that the raw socket will use + * @param io_context The io_context object that the raw socket will use * to dispatch handlers for any asynchronous operations performed on the * socket. * @@ -100,9 +100,9 @@ * * @throws asio::system_error Thrown on failure. */ - basic_raw_socket(asio::io_service& io_service, + basic_raw_socket(asio::io_context& io_context, const endpoint_type& endpoint) - : basic_socket<Protocol, RawSocketService>(io_service, endpoint) + : basic_socket<Protocol, RawSocketService>(io_context, endpoint) { } @@ -111,7 +111,7 @@ * This constructor creates a raw socket object to hold an existing * native socket. * - * @param io_service The io_service object that the raw socket will use + * @param io_context The io_context object that the raw socket will use * to dispatch handlers for any asynchronous operations performed on the * socket. * @@ -121,10 +121,10 @@ * * @throws asio::system_error Thrown on failure. */ - basic_raw_socket(asio::io_service& io_service, + basic_raw_socket(asio::io_context& io_context, const protocol_type& protocol, const native_handle_type& native_socket) : basic_socket<Protocol, RawSocketService>( - io_service, protocol, native_socket) + io_context, protocol, native_socket) { } @@ -137,7 +137,7 @@ * will occur. * * @note Following the move, the moved-from object is in the same state as if - * constructed using the @c basic_raw_socket(io_service&) constructor. + * constructed using the @c basic_raw_socket(io_context&) constructor. */ basic_raw_socket(basic_raw_socket&& other) : basic_socket<Protocol, RawSocketService>( @@ -153,7 +153,7 @@ * will occur. * * @note Following the move, the moved-from object is in the same state as if - * constructed using the @c basic_raw_socket(io_service&) constructor. + * constructed using the @c basic_raw_socket(io_context&) constructor. */ basic_raw_socket& operator=(basic_raw_socket&& other) { @@ -170,7 +170,7 @@ * occur. * * @note Following the move, the moved-from object is in the same state as if - * constructed using the @c basic_raw_socket(io_service&) constructor. + * constructed using the @c basic_raw_socket(io_context&) constructor. */ template <typename Protocol1, typename RawSocketService1> basic_raw_socket(basic_raw_socket<Protocol1, RawSocketService1>&& other, @@ -189,7 +189,7 @@ * will occur. * * @note Following the move, the moved-from object is in the same state as if - * constructed using the @c basic_raw_socket(io_service&) constructor. + * constructed using the @c basic_raw_socket(io_context&) constructor. */ template <typename Protocol1, typename RawSocketService1> typename enable_if<is_convertible<Protocol1, Protocol>::value, @@ -305,7 +305,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation * of the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). * * @note The async_send operation can only be used with a connected socket. * Use the async_send_to function to send data on an unconnected raw @@ -356,7 +356,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation * of the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). * * @note The async_send operation can only be used with a connected socket. * Use the async_send_to function to send data on an unconnected raw @@ -488,7 +488,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation * of the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). * * @par Example * To send a single data buffer use the @ref buffer function as follows: @@ -542,7 +542,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation * of the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). */ template <typename ConstBufferSequence, typename WriteHandler> ASIO_INITFN_RESULT_TYPE(WriteHandler, @@ -669,7 +669,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation * of the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). * * @note The async_receive operation can only be used with a connected socket. * Use the async_receive_from function to receive data on an unconnected @@ -721,7 +721,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation * of the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). * * @note The async_receive operation can only be used with a connected socket. * Use the async_receive_from function to receive data on an unconnected @@ -856,7 +856,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation * of the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). * * @par Example * To receive into a single data buffer use the @ref buffer function as @@ -910,7 +910,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation * of the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). */ template <typename MutableBufferSequence, typename ReadHandler> ASIO_INITFN_RESULT_TYPE(ReadHandler,
diff --git a/asio/include/asio/basic_seq_packet_socket.hpp b/asio/include/asio/basic_seq_packet_socket.hpp index a05716f..2271cea 100644 --- a/asio/include/asio/basic_seq_packet_socket.hpp +++ b/asio/include/asio/basic_seq_packet_socket.hpp
@@ -58,12 +58,12 @@ * socket needs to be opened and then connected or accepted before data can * be sent or received on it. * - * @param io_service The io_service object that the sequenced packet socket + * @param io_context The io_context object that the sequenced packet socket * will use to dispatch handlers for any asynchronous operations performed on * the socket. */ - explicit basic_seq_packet_socket(asio::io_service& io_service) - : basic_socket<Protocol, SeqPacketSocketService>(io_service) + explicit basic_seq_packet_socket(asio::io_context& io_context) + : basic_socket<Protocol, SeqPacketSocketService>(io_context) { } @@ -73,7 +73,7 @@ * needs to be connected or accepted before data can be sent or received on * it. * - * @param io_service The io_service object that the sequenced packet socket + * @param io_context The io_context object that the sequenced packet socket * will use to dispatch handlers for any asynchronous operations performed on * the socket. * @@ -81,9 +81,9 @@ * * @throws asio::system_error Thrown on failure. */ - basic_seq_packet_socket(asio::io_service& io_service, + basic_seq_packet_socket(asio::io_context& io_context, const protocol_type& protocol) - : basic_socket<Protocol, SeqPacketSocketService>(io_service, protocol) + : basic_socket<Protocol, SeqPacketSocketService>(io_context, protocol) { } @@ -94,7 +94,7 @@ * it bound to the specified endpoint on the local machine. The protocol used * is the protocol associated with the given endpoint. * - * @param io_service The io_service object that the sequenced packet socket + * @param io_context The io_context object that the sequenced packet socket * will use to dispatch handlers for any asynchronous operations performed on * the socket. * @@ -103,9 +103,9 @@ * * @throws asio::system_error Thrown on failure. */ - basic_seq_packet_socket(asio::io_service& io_service, + basic_seq_packet_socket(asio::io_context& io_context, const endpoint_type& endpoint) - : basic_socket<Protocol, SeqPacketSocketService>(io_service, endpoint) + : basic_socket<Protocol, SeqPacketSocketService>(io_context, endpoint) { } @@ -114,7 +114,7 @@ * This constructor creates a sequenced packet socket object to hold an * existing native socket. * - * @param io_service The io_service object that the sequenced packet socket + * @param io_context The io_context object that the sequenced packet socket * will use to dispatch handlers for any asynchronous operations performed on * the socket. * @@ -124,10 +124,10 @@ * * @throws asio::system_error Thrown on failure. */ - basic_seq_packet_socket(asio::io_service& io_service, + basic_seq_packet_socket(asio::io_context& io_context, const protocol_type& protocol, const native_handle_type& native_socket) : basic_socket<Protocol, SeqPacketSocketService>( - io_service, protocol, native_socket) + io_context, protocol, native_socket) { } @@ -141,7 +141,7 @@ * will occur. * * @note Following the move, the moved-from object is in the same state as if - * constructed using the @c basic_seq_packet_socket(io_service&) constructor. + * constructed using the @c basic_seq_packet_socket(io_context&) constructor. */ basic_seq_packet_socket(basic_seq_packet_socket&& other) : basic_socket<Protocol, SeqPacketSocketService>( @@ -158,7 +158,7 @@ * will occur. * * @note Following the move, the moved-from object is in the same state as if - * constructed using the @c basic_seq_packet_socket(io_service&) constructor. + * constructed using the @c basic_seq_packet_socket(io_context&) constructor. */ basic_seq_packet_socket& operator=(basic_seq_packet_socket&& other) { @@ -177,7 +177,7 @@ * will occur. * * @note Following the move, the moved-from object is in the same state as if - * constructed using the @c basic_seq_packet_socket(io_service&) constructor. + * constructed using the @c basic_seq_packet_socket(io_context&) constructor. */ template <typename Protocol1, typename SeqPacketSocketService1> basic_seq_packet_socket( @@ -199,7 +199,7 @@ * will occur. * * @note Following the move, the moved-from object is in the same state as if - * constructed using the @c basic_seq_packet_socket(io_service&) constructor. + * constructed using the @c basic_seq_packet_socket(io_context&) constructor. */ template <typename Protocol1, typename SeqPacketSocketService1> typename enable_if<is_convertible<Protocol1, Protocol>::value, @@ -295,7 +295,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation * of the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). * * @par Example * To send a single data buffer use the @ref buffer function as follows: @@ -466,7 +466,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation * of the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). * * @par Example * To receive into a single data buffer use the @ref buffer function as @@ -522,7 +522,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation * of the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). * * @par Example * To receive into a single data buffer use the @ref buffer function as
diff --git a/asio/include/asio/basic_serial_port.hpp b/asio/include/asio/basic_serial_port.hpp index 0f14325..e472117 100644 --- a/asio/include/asio/basic_serial_port.hpp +++ b/asio/include/asio/basic_serial_port.hpp
@@ -58,11 +58,11 @@ /** * This constructor creates a serial port without opening it. * - * @param io_service The io_service object that the serial port will use to + * @param io_context The io_context object that the serial port will use to * dispatch handlers for any asynchronous operations performed on the port. */ - explicit basic_serial_port(asio::io_service& io_service) - : basic_io_object<SerialPortService>(io_service) + explicit basic_serial_port(asio::io_context& io_context) + : basic_io_object<SerialPortService>(io_context) { } @@ -71,15 +71,15 @@ * This constructor creates and opens a serial port for the specified device * name. * - * @param io_service The io_service object that the serial port will use to + * @param io_context The io_context object that the serial port will use to * dispatch handlers for any asynchronous operations performed on the port. * * @param device The platform-specific device name for this serial * port. */ - explicit basic_serial_port(asio::io_service& io_service, + explicit basic_serial_port(asio::io_context& io_context, const char* device) - : basic_io_object<SerialPortService>(io_service) + : basic_io_object<SerialPortService>(io_context) { asio::error_code ec; this->get_service().open(this->get_implementation(), device, ec); @@ -91,15 +91,15 @@ * This constructor creates and opens a serial port for the specified device * name. * - * @param io_service The io_service object that the serial port will use to + * @param io_context The io_context object that the serial port will use to * dispatch handlers for any asynchronous operations performed on the port. * * @param device The platform-specific device name for this serial * port. */ - explicit basic_serial_port(asio::io_service& io_service, + explicit basic_serial_port(asio::io_context& io_context, const std::string& device) - : basic_io_object<SerialPortService>(io_service) + : basic_io_object<SerialPortService>(io_context) { asio::error_code ec; this->get_service().open(this->get_implementation(), device, ec); @@ -111,16 +111,16 @@ * This constructor creates a serial port object to hold an existing native * serial port. * - * @param io_service The io_service object that the serial port will use to + * @param io_context The io_context object that the serial port will use to * dispatch handlers for any asynchronous operations performed on the port. * * @param native_serial_port A native serial port. * * @throws asio::system_error Thrown on failure. */ - basic_serial_port(asio::io_service& io_service, + basic_serial_port(asio::io_context& io_context, const native_handle_type& native_serial_port) - : basic_io_object<SerialPortService>(io_service) + : basic_io_object<SerialPortService>(io_context) { asio::error_code ec; this->get_service().assign(this->get_implementation(), @@ -137,7 +137,7 @@ * occur. * * @note Following the move, the moved-from object is in the same state as if - * constructed using the @c basic_serial_port(io_service&) constructor. + * constructed using the @c basic_serial_port(io_context&) constructor. */ basic_serial_port(basic_serial_port&& other) : basic_io_object<SerialPortService>( @@ -153,7 +153,7 @@ * occur. * * @note Following the move, the moved-from object is in the same state as if - * constructed using the @c basic_serial_port(io_service&) constructor. + * constructed using the @c basic_serial_port(io_context&) constructor. */ basic_serial_port& operator=(basic_serial_port&& other) { @@ -526,7 +526,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation * of the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). * * @note The write operation may not transmit all of the data to the peer. * Consider using the @ref async_write function if you need to ensure that all @@ -638,7 +638,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation * of the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). * * @note The read operation may not read all of the requested number of bytes. * Consider using the @ref async_read function if you need to ensure that the
diff --git a/asio/include/asio/basic_signal_set.hpp b/asio/include/asio/basic_signal_set.hpp index 117b25f..642d10a 100644 --- a/asio/include/asio/basic_signal_set.hpp +++ b/asio/include/asio/basic_signal_set.hpp
@@ -54,7 +54,7 @@ * ... * * // Construct a signal set registered for process termination. - * asio::signal_set signals(io_service, SIGINT, SIGTERM); + * asio::signal_set signals(io_context, SIGINT, SIGTERM); * * // Start an asynchronous wait for one of the signals to occur. * signals.async_wait(handler); @@ -98,11 +98,11 @@ /** * This constructor creates a signal set without registering for any signals. * - * @param io_service The io_service object that the signal set will use to + * @param io_context The io_context object that the signal set will use to * dispatch handlers for any asynchronous operations performed on the set. */ - explicit basic_signal_set(asio::io_service& io_service) - : basic_io_object<SignalSetService>(io_service) + explicit basic_signal_set(asio::io_context& io_context) + : basic_io_object<SignalSetService>(io_context) { } @@ -110,17 +110,17 @@ /** * This constructor creates a signal set and registers for one signal. * - * @param io_service The io_service object that the signal set will use to + * @param io_context The io_context object that the signal set will use to * dispatch handlers for any asynchronous operations performed on the set. * * @param signal_number_1 The signal number to be added. * * @note This constructor is equivalent to performing: - * @code asio::signal_set signals(io_service); + * @code asio::signal_set signals(io_context); * signals.add(signal_number_1); @endcode */ - basic_signal_set(asio::io_service& io_service, int signal_number_1) - : basic_io_object<SignalSetService>(io_service) + basic_signal_set(asio::io_context& io_context, int signal_number_1) + : basic_io_object<SignalSetService>(io_context) { asio::error_code ec; this->get_service().add(this->get_implementation(), signal_number_1, ec); @@ -131,7 +131,7 @@ /** * This constructor creates a signal set and registers for two signals. * - * @param io_service The io_service object that the signal set will use to + * @param io_context The io_context object that the signal set will use to * dispatch handlers for any asynchronous operations performed on the set. * * @param signal_number_1 The first signal number to be added. @@ -139,13 +139,13 @@ * @param signal_number_2 The second signal number to be added. * * @note This constructor is equivalent to performing: - * @code asio::signal_set signals(io_service); + * @code asio::signal_set signals(io_context); * signals.add(signal_number_1); * signals.add(signal_number_2); @endcode */ - basic_signal_set(asio::io_service& io_service, int signal_number_1, + basic_signal_set(asio::io_context& io_context, int signal_number_1, int signal_number_2) - : basic_io_object<SignalSetService>(io_service) + : basic_io_object<SignalSetService>(io_context) { asio::error_code ec; this->get_service().add(this->get_implementation(), signal_number_1, ec); @@ -158,7 +158,7 @@ /** * This constructor creates a signal set and registers for three signals. * - * @param io_service The io_service object that the signal set will use to + * @param io_context The io_context object that the signal set will use to * dispatch handlers for any asynchronous operations performed on the set. * * @param signal_number_1 The first signal number to be added. @@ -168,14 +168,14 @@ * @param signal_number_3 The third signal number to be added. * * @note This constructor is equivalent to performing: - * @code asio::signal_set signals(io_service); + * @code asio::signal_set signals(io_context); * signals.add(signal_number_1); * signals.add(signal_number_2); * signals.add(signal_number_3); @endcode */ - basic_signal_set(asio::io_service& io_service, int signal_number_1, + basic_signal_set(asio::io_context& io_context, int signal_number_1, int signal_number_2, int signal_number_3) - : basic_io_object<SignalSetService>(io_service) + : basic_io_object<SignalSetService>(io_context) { asio::error_code ec; this->get_service().add(this->get_implementation(), signal_number_1, ec); @@ -363,7 +363,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation * of the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). */ template <typename SignalHandler> ASIO_INITFN_RESULT_TYPE(SignalHandler,
diff --git a/asio/include/asio/basic_socket.hpp b/asio/include/asio/basic_socket.hpp index 8ff13de..582982a 100644 --- a/asio/include/asio/basic_socket.hpp +++ b/asio/include/asio/basic_socket.hpp
@@ -60,11 +60,11 @@ /** * This constructor creates a socket without opening it. * - * @param io_service The io_service object that the socket will use to + * @param io_context The io_context object that the socket will use to * dispatch handlers for any asynchronous operations performed on the socket. */ - explicit basic_socket(asio::io_service& io_service) - : basic_io_object<SocketService>(io_service) + explicit basic_socket(asio::io_context& io_context) + : basic_io_object<SocketService>(io_context) { } @@ -72,16 +72,16 @@ /** * This constructor creates and opens a socket. * - * @param io_service The io_service object that the socket will use to + * @param io_context The io_context object that the socket will use to * dispatch handlers for any asynchronous operations performed on the socket. * * @param protocol An object specifying protocol parameters to be used. * * @throws asio::system_error Thrown on failure. */ - basic_socket(asio::io_service& io_service, + basic_socket(asio::io_context& io_context, const protocol_type& protocol) - : basic_io_object<SocketService>(io_service) + : basic_io_object<SocketService>(io_context) { asio::error_code ec; this->get_service().open(this->get_implementation(), protocol, ec); @@ -95,7 +95,7 @@ * specified endpoint on the local machine. The protocol used is the protocol * associated with the given endpoint. * - * @param io_service The io_service object that the socket will use to + * @param io_context The io_context object that the socket will use to * dispatch handlers for any asynchronous operations performed on the socket. * * @param endpoint An endpoint on the local machine to which the socket will @@ -103,9 +103,9 @@ * * @throws asio::system_error Thrown on failure. */ - basic_socket(asio::io_service& io_service, + basic_socket(asio::io_context& io_context, const endpoint_type& endpoint) - : basic_io_object<SocketService>(io_service) + : basic_io_object<SocketService>(io_context) { asio::error_code ec; const protocol_type protocol = endpoint.protocol(); @@ -119,7 +119,7 @@ /** * This constructor creates a socket object to hold an existing native socket. * - * @param io_service The io_service object that the socket will use to + * @param io_context The io_context object that the socket will use to * dispatch handlers for any asynchronous operations performed on the socket. * * @param protocol An object specifying protocol parameters to be used. @@ -128,9 +128,9 @@ * * @throws asio::system_error Thrown on failure. */ - basic_socket(asio::io_service& io_service, + basic_socket(asio::io_context& io_context, const protocol_type& protocol, const native_handle_type& native_socket) - : basic_io_object<SocketService>(io_service) + : basic_io_object<SocketService>(io_context) { asio::error_code ec; this->get_service().assign(this->get_implementation(), @@ -147,7 +147,7 @@ * occur. * * @note Following the move, the moved-from object is in the same state as if - * constructed using the @c basic_socket(io_service&) constructor. + * constructed using the @c basic_socket(io_context&) constructor. */ basic_socket(basic_socket&& other) : basic_io_object<SocketService>( @@ -163,7 +163,7 @@ * occur. * * @note Following the move, the moved-from object is in the same state as if - * constructed using the @c basic_socket(io_service&) constructor. + * constructed using the @c basic_socket(io_context&) constructor. */ basic_socket& operator=(basic_socket&& other) { @@ -184,12 +184,12 @@ * occur. * * @note Following the move, the moved-from object is in the same state as if - * constructed using the @c basic_socket(io_service&) constructor. + * constructed using the @c basic_socket(io_context&) constructor. */ template <typename Protocol1, typename SocketService1> basic_socket(basic_socket<Protocol1, SocketService1>&& other, typename enable_if<is_convertible<Protocol1, Protocol>::value>::type* = 0) - : basic_io_object<SocketService>(other.get_service().get_io_service()) + : basic_io_object<SocketService>(other.get_service().get_io_context()) { this->get_service().template converting_move_construct<Protocol1>( this->get_implementation(), other.get_implementation()); @@ -203,7 +203,7 @@ * occur. * * @note Following the move, the moved-from object is in the same state as if - * constructed using the @c basic_socket(io_service&) constructor. + * constructed using the @c basic_socket(io_context&) constructor. */ template <typename Protocol1, typename SocketService1> typename enable_if<is_convertible<Protocol1, Protocol>::value, @@ -256,7 +256,7 @@ * * @par Example * @code - * asio::ip::tcp::socket socket(io_service); + * asio::ip::tcp::socket socket(io_context); * socket.open(asio::ip::tcp::v4()); * @endcode */ @@ -277,7 +277,7 @@ * * @par Example * @code - * asio::ip::tcp::socket socket(io_service); + * asio::ip::tcp::socket socket(io_context); * asio::error_code ec; * socket.open(asio::ip::tcp::v4(), ec); * if (ec) @@ -364,7 +364,7 @@ * * @par Example * @code - * asio::ip::tcp::socket socket(io_service); + * asio::ip::tcp::socket socket(io_context); * ... * asio::error_code ec; * socket.close(ec); @@ -566,7 +566,7 @@ * * @par Example * @code - * asio::ip::tcp::socket socket(io_service); + * asio::ip::tcp::socket socket(io_context); * socket.open(asio::ip::tcp::v4()); * socket.bind(asio::ip::tcp::endpoint( * asio::ip::tcp::v4(), 12345)); @@ -591,7 +591,7 @@ * * @par Example * @code - * asio::ip::tcp::socket socket(io_service); + * asio::ip::tcp::socket socket(io_context); * socket.open(asio::ip::tcp::v4()); * asio::error_code ec; * socket.bind(asio::ip::tcp::endpoint( @@ -625,7 +625,7 @@ * * @par Example * @code - * asio::ip::tcp::socket socket(io_service); + * asio::ip::tcp::socket socket(io_context); * asio::ip::tcp::endpoint endpoint( * asio::ip::address::from_string("1.2.3.4"), 12345); * socket.connect(endpoint); @@ -661,7 +661,7 @@ * * @par Example * @code - * asio::ip::tcp::socket socket(io_service); + * asio::ip::tcp::socket socket(io_context); * asio::ip::tcp::endpoint endpoint( * asio::ip::address::from_string("1.2.3.4"), 12345); * asio::error_code ec; @@ -709,7 +709,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation * of the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). * * @par Example * @code @@ -723,7 +723,7 @@ * * ... * - * asio::ip::tcp::socket socket(io_service); + * asio::ip::tcp::socket socket(io_context); * asio::ip::tcp::endpoint endpoint( * asio::ip::address::from_string("1.2.3.4"), 12345); * socket.async_connect(endpoint, connect_handler); @@ -790,7 +790,7 @@ * @par Example * Setting the IPPROTO_TCP/TCP_NODELAY option: * @code - * asio::ip::tcp::socket socket(io_service); + * asio::ip::tcp::socket socket(io_context); * ... * asio::ip::tcp::no_delay option(true); * socket.set_option(option); @@ -832,7 +832,7 @@ * @par Example * Setting the IPPROTO_TCP/TCP_NODELAY option: * @code - * asio::ip::tcp::socket socket(io_service); + * asio::ip::tcp::socket socket(io_context); * ... * asio::ip::tcp::no_delay option(true); * asio::error_code ec; @@ -879,7 +879,7 @@ * @par Example * Getting the value of the SOL_SOCKET/SO_KEEPALIVE option: * @code - * asio::ip::tcp::socket socket(io_service); + * asio::ip::tcp::socket socket(io_context); * ... * asio::ip::tcp::socket::keep_alive option; * socket.get_option(option); @@ -922,7 +922,7 @@ * @par Example * Getting the value of the SOL_SOCKET/SO_KEEPALIVE option: * @code - * asio::ip::tcp::socket socket(io_service); + * asio::ip::tcp::socket socket(io_context); * ... * asio::ip::tcp::socket::keep_alive option; * asio::error_code ec; @@ -957,7 +957,7 @@ * @par Example * Getting the number of bytes ready to read: * @code - * asio::ip::tcp::socket socket(io_service); + * asio::ip::tcp::socket socket(io_context); * ... * asio::ip::tcp::socket::bytes_readable command; * socket.io_control(command); @@ -987,7 +987,7 @@ * @par Example * Getting the number of bytes ready to read: * @code - * asio::ip::tcp::socket socket(io_service); + * asio::ip::tcp::socket socket(io_context); * ... * asio::ip::tcp::socket::bytes_readable command; * asio::error_code ec; @@ -1347,7 +1347,7 @@ * * @par Example * @code - * asio::ip::tcp::socket socket(io_service); + * asio::ip::tcp::socket socket(io_context); * ... * asio::ip::tcp::endpoint endpoint = socket.local_endpoint(); * @endcode @@ -1372,7 +1372,7 @@ * * @par Example * @code - * asio::ip::tcp::socket socket(io_service); + * asio::ip::tcp::socket socket(io_context); * ... * asio::error_code ec; * asio::ip::tcp::endpoint endpoint = socket.local_endpoint(ec); @@ -1397,7 +1397,7 @@ * * @par Example * @code - * asio::ip::tcp::socket socket(io_service); + * asio::ip::tcp::socket socket(io_context); * ... * asio::ip::tcp::endpoint endpoint = socket.remote_endpoint(); * @endcode @@ -1422,7 +1422,7 @@ * * @par Example * @code - * asio::ip::tcp::socket socket(io_service); + * asio::ip::tcp::socket socket(io_context); * ... * asio::error_code ec; * asio::ip::tcp::endpoint endpoint = socket.remote_endpoint(ec); @@ -1449,7 +1449,7 @@ * @par Example * Shutting down the send side of the socket: * @code - * asio::ip::tcp::socket socket(io_service); + * asio::ip::tcp::socket socket(io_context); * ... * socket.shutdown(asio::ip::tcp::socket::shutdown_send); * @endcode @@ -1473,7 +1473,7 @@ * @par Example * Shutting down the send side of the socket: * @code - * asio::ip::tcp::socket socket(io_service); + * asio::ip::tcp::socket socket(io_context); * ... * asio::error_code ec; * socket.shutdown(asio::ip::tcp::socket::shutdown_send, ec); @@ -1500,7 +1500,7 @@ * @par Example * Waiting for a socket to become readable. * @code - * asio::ip::tcp::socket socket(io_service); + * asio::ip::tcp::socket socket(io_context); * ... * socket.wait(asio::ip::tcp::socket::wait_read); * @endcode @@ -1525,7 +1525,7 @@ * @par Example * Waiting for a socket to become readable. * @code - * asio::ip::tcp::socket socket(io_service); + * asio::ip::tcp::socket socket(io_context); * ... * asio::error_code ec; * socket.wait(asio::ip::tcp::socket::wait_read, ec); @@ -1553,7 +1553,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation * of the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). * * @par Example * @code @@ -1567,7 +1567,7 @@ * * ... * - * asio::ip::tcp::socket socket(io_service); + * asio::ip::tcp::socket socket(io_context); * ... * socket.async_wait(asio::ip::tcp::socket::wait_read, wait_handler); * @endcode
diff --git a/asio/include/asio/basic_socket_acceptor.hpp b/asio/include/asio/basic_socket_acceptor.hpp index 17e6c34..92d2c4b 100644 --- a/asio/include/asio/basic_socket_acceptor.hpp +++ b/asio/include/asio/basic_socket_acceptor.hpp
@@ -41,7 +41,7 @@ * @par Example * Opening a socket acceptor with the SO_REUSEADDR option enabled: * @code - * asio::ip::tcp::acceptor acceptor(io_service); + * asio::ip::tcp::acceptor acceptor(io_context); * asio::ip::tcp::endpoint endpoint(asio::ip::tcp::v4(), port); * acceptor.open(endpoint.protocol()); * acceptor.set_option(asio::ip::tcp::acceptor::reuse_address(true)); @@ -71,12 +71,12 @@ * connections. The open() function must be called before the acceptor can * accept new socket connections. * - * @param io_service The io_service object that the acceptor will use to + * @param io_context The io_context object that the acceptor will use to * dispatch handlers for any asynchronous operations performed on the * acceptor. */ - explicit basic_socket_acceptor(asio::io_service& io_service) - : basic_io_object<SocketAcceptorService>(io_service) + explicit basic_socket_acceptor(asio::io_context& io_context) + : basic_io_object<SocketAcceptorService>(io_context) { } @@ -84,7 +84,7 @@ /** * This constructor creates an acceptor and automatically opens it. * - * @param io_service The io_service object that the acceptor will use to + * @param io_context The io_context object that the acceptor will use to * dispatch handlers for any asynchronous operations performed on the * acceptor. * @@ -92,9 +92,9 @@ * * @throws asio::system_error Thrown on failure. */ - basic_socket_acceptor(asio::io_service& io_service, + basic_socket_acceptor(asio::io_context& io_context, const protocol_type& protocol) - : basic_io_object<SocketAcceptorService>(io_service) + : basic_io_object<SocketAcceptorService>(io_context) { asio::error_code ec; this->get_service().open(this->get_implementation(), protocol, ec); @@ -106,7 +106,7 @@ * This constructor creates an acceptor and automatically opens it to listen * for new connections on the specified endpoint. * - * @param io_service The io_service object that the acceptor will use to + * @param io_context The io_context object that the acceptor will use to * dispatch handlers for any asynchronous operations performed on the * acceptor. * @@ -120,7 +120,7 @@ * * @note This constructor is equivalent to the following code: * @code - * basic_socket_acceptor<Protocol> acceptor(io_service); + * basic_socket_acceptor<Protocol> acceptor(io_context); * acceptor.open(endpoint.protocol()); * if (reuse_addr) * acceptor.set_option(socket_base::reuse_address(true)); @@ -128,9 +128,9 @@ * acceptor.listen(listen_backlog); * @endcode */ - basic_socket_acceptor(asio::io_service& io_service, + basic_socket_acceptor(asio::io_context& io_context, const endpoint_type& endpoint, bool reuse_addr = true) - : basic_io_object<SocketAcceptorService>(io_service) + : basic_io_object<SocketAcceptorService>(io_context) { asio::error_code ec; const protocol_type protocol = endpoint.protocol(); @@ -154,7 +154,7 @@ * This constructor creates an acceptor object to hold an existing native * acceptor. * - * @param io_service The io_service object that the acceptor will use to + * @param io_context The io_context object that the acceptor will use to * dispatch handlers for any asynchronous operations performed on the * acceptor. * @@ -164,9 +164,9 @@ * * @throws asio::system_error Thrown on failure. */ - basic_socket_acceptor(asio::io_service& io_service, + basic_socket_acceptor(asio::io_context& io_context, const protocol_type& protocol, const native_handle_type& native_acceptor) - : basic_io_object<SocketAcceptorService>(io_service) + : basic_io_object<SocketAcceptorService>(io_context) { asio::error_code ec; this->get_service().assign(this->get_implementation(), @@ -183,7 +183,7 @@ * will occur. * * @note Following the move, the moved-from object is in the same state as if - * constructed using the @c basic_socket_acceptor(io_service&) constructor. + * constructed using the @c basic_socket_acceptor(io_context&) constructor. */ basic_socket_acceptor(basic_socket_acceptor&& other) : basic_io_object<SocketAcceptorService>( @@ -199,7 +199,7 @@ * will occur. * * @note Following the move, the moved-from object is in the same state as if - * constructed using the @c basic_socket_acceptor(io_service&) constructor. + * constructed using the @c basic_socket_acceptor(io_context&) constructor. */ basic_socket_acceptor& operator=(basic_socket_acceptor&& other) { @@ -221,14 +221,14 @@ * will occur. * * @note Following the move, the moved-from object is in the same state as if - * constructed using the @c basic_socket(io_service&) constructor. + * constructed using the @c basic_socket(io_context&) constructor. */ template <typename Protocol1, typename SocketAcceptorService1> basic_socket_acceptor( basic_socket_acceptor<Protocol1, SocketAcceptorService1>&& other, typename enable_if<is_convertible<Protocol1, Protocol>::value>::type* = 0) : basic_io_object<SocketAcceptorService>( - other.get_service().get_io_service()) + other.get_service().get_io_context()) { this->get_service().template converting_move_construct<Protocol1>( this->get_implementation(), other.get_implementation()); @@ -243,7 +243,7 @@ * will occur. * * @note Following the move, the moved-from object is in the same state as if - * constructed using the @c basic_socket(io_service&) constructor. + * constructed using the @c basic_socket(io_context&) constructor. */ template <typename Protocol1, typename SocketAcceptorService1> typename enable_if<is_convertible<Protocol1, Protocol>::value, @@ -269,7 +269,7 @@ * * @par Example * @code - * asio::ip::tcp::acceptor acceptor(io_service); + * asio::ip::tcp::acceptor acceptor(io_context); * acceptor.open(asio::ip::tcp::v4()); * @endcode */ @@ -291,7 +291,7 @@ * * @par Example * @code - * asio::ip::tcp::acceptor acceptor(io_service); + * asio::ip::tcp::acceptor acceptor(io_context); * asio::error_code ec; * acceptor.open(asio::ip::tcp::v4(), ec); * if (ec) @@ -360,7 +360,7 @@ * * @par Example * @code - * asio::ip::tcp::acceptor acceptor(io_service); + * asio::ip::tcp::acceptor acceptor(io_context); * asio::ip::tcp::endpoint endpoint(asio::ip::tcp::v4(), 12345); * acceptor.open(endpoint.protocol()); * acceptor.bind(endpoint); @@ -385,7 +385,7 @@ * * @par Example * @code - * asio::ip::tcp::acceptor acceptor(io_service); + * asio::ip::tcp::acceptor acceptor(io_context); * asio::ip::tcp::endpoint endpoint(asio::ip::tcp::v4(), 12345); * acceptor.open(endpoint.protocol()); * asio::error_code ec; @@ -431,7 +431,7 @@ * * @par Example * @code - * asio::ip::tcp::acceptor acceptor(io_service); + * asio::ip::tcp::acceptor acceptor(io_context); * ... * asio::error_code ec; * acceptor.listen(asio::socket_base::max_connections, ec); @@ -475,7 +475,7 @@ * * @par Example * @code - * asio::ip::tcp::acceptor acceptor(io_service); + * asio::ip::tcp::acceptor acceptor(io_context); * ... * asio::error_code ec; * acceptor.close(ec); @@ -544,7 +544,7 @@ * @par Example * Setting the SOL_SOCKET/SO_REUSEADDR option: * @code - * asio::ip::tcp::acceptor acceptor(io_service); + * asio::ip::tcp::acceptor acceptor(io_context); * ... * asio::ip::tcp::acceptor::reuse_address option(true); * acceptor.set_option(option); @@ -573,7 +573,7 @@ * @par Example * Setting the SOL_SOCKET/SO_REUSEADDR option: * @code - * asio::ip::tcp::acceptor acceptor(io_service); + * asio::ip::tcp::acceptor acceptor(io_context); * ... * asio::ip::tcp::acceptor::reuse_address option(true); * asio::error_code ec; @@ -607,7 +607,7 @@ * @par Example * Getting the value of the SOL_SOCKET/SO_REUSEADDR option: * @code - * asio::ip::tcp::acceptor acceptor(io_service); + * asio::ip::tcp::acceptor acceptor(io_context); * ... * asio::ip::tcp::acceptor::reuse_address option; * acceptor.get_option(option); @@ -637,7 +637,7 @@ * @par Example * Getting the value of the SOL_SOCKET/SO_REUSEADDR option: * @code - * asio::ip::tcp::acceptor acceptor(io_service); + * asio::ip::tcp::acceptor acceptor(io_context); * ... * asio::ip::tcp::acceptor::reuse_address option; * asio::error_code ec; @@ -671,7 +671,7 @@ * @par Example * Getting the number of bytes ready to read: * @code - * asio::ip::tcp::acceptor acceptor(io_service); + * asio::ip::tcp::acceptor acceptor(io_context); * ... * asio::ip::tcp::acceptor::non_blocking_io command(true); * socket.io_control(command); @@ -699,7 +699,7 @@ * @par Example * Getting the number of bytes ready to read: * @code - * asio::ip::tcp::acceptor acceptor(io_service); + * asio::ip::tcp::acceptor acceptor(io_context); * ... * asio::ip::tcp::acceptor::non_blocking_io command(true); * asio::error_code ec; @@ -848,7 +848,7 @@ * * @par Example * @code - * asio::ip::tcp::acceptor acceptor(io_service); + * asio::ip::tcp::acceptor acceptor(io_context); * ... * asio::ip::tcp::endpoint endpoint = acceptor.local_endpoint(); * @endcode @@ -874,7 +874,7 @@ * * @par Example * @code - * asio::ip::tcp::acceptor acceptor(io_service); + * asio::ip::tcp::acceptor acceptor(io_context); * ... * asio::error_code ec; * asio::ip::tcp::endpoint endpoint = acceptor.local_endpoint(ec); @@ -900,7 +900,7 @@ * @par Example * Waiting for an acceptor to become readable. * @code - * asio::ip::tcp::acceptor acceptor(io_service); + * asio::ip::tcp::acceptor acceptor(io_context); * ... * acceptor.wait(asio::ip::tcp::acceptor::wait_read); * @endcode @@ -925,7 +925,7 @@ * @par Example * Waiting for an acceptor to become readable. * @code - * asio::ip::tcp::acceptor acceptor(io_service); + * asio::ip::tcp::acceptor acceptor(io_context); * ... * asio::error_code ec; * acceptor.wait(asio::ip::tcp::acceptor::wait_read, ec); @@ -953,7 +953,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation * of the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). * * @par Example * @code @@ -967,7 +967,7 @@ * * ... * - * asio::ip::tcp::acceptor acceptor(io_service); + * asio::ip::tcp::acceptor acceptor(io_context); * ... * acceptor.async_wait( * asio::ip::tcp::acceptor::wait_read, @@ -999,9 +999,9 @@ * * @par Example * @code - * asio::ip::tcp::acceptor acceptor(io_service); + * asio::ip::tcp::acceptor acceptor(io_context); * ... - * asio::ip::tcp::socket socket(io_service); + * asio::ip::tcp::socket socket(io_context); * acceptor.accept(socket); * @endcode */ @@ -1027,9 +1027,9 @@ * * @par Example * @code - * asio::ip::tcp::acceptor acceptor(io_service); + * asio::ip::tcp::acceptor acceptor(io_context); * ... - * asio::ip::tcp::socket socket(io_service); + * asio::ip::tcp::socket socket(io_context); * asio::error_code ec; * acceptor.accept(socket, ec); * if (ec) @@ -1066,7 +1066,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation * of the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). * * @par Example * @code @@ -1080,9 +1080,9 @@ * * ... * - * asio::ip::tcp::acceptor acceptor(io_service); + * asio::ip::tcp::acceptor acceptor(io_context); * ... - * asio::ip::tcp::socket socket(io_service); + * asio::ip::tcp::socket socket(io_context); * acceptor.async_accept(socket, accept_handler); * @endcode */ @@ -1118,9 +1118,9 @@ * * @par Example * @code - * asio::ip::tcp::acceptor acceptor(io_service); + * asio::ip::tcp::acceptor acceptor(io_context); * ... - * asio::ip::tcp::socket socket(io_service); + * asio::ip::tcp::socket socket(io_context); * asio::ip::tcp::endpoint endpoint; * acceptor.accept(socket, endpoint); * @endcode @@ -1151,9 +1151,9 @@ * * @par Example * @code - * asio::ip::tcp::acceptor acceptor(io_service); + * asio::ip::tcp::acceptor acceptor(io_context); * ... - * asio::ip::tcp::socket socket(io_service); + * asio::ip::tcp::socket socket(io_context); * asio::ip::tcp::endpoint endpoint; * asio::error_code ec; * acceptor.accept(socket, endpoint, ec); @@ -1196,7 +1196,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation * of the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). */ template <typename SocketService, typename AcceptHandler> ASIO_INITFN_RESULT_TYPE(AcceptHandler, @@ -1228,7 +1228,7 @@ * * @par Example * @code - * asio::ip::tcp::acceptor acceptor(io_service); + * asio::ip::tcp::acceptor acceptor(io_context); * ... * asio::ip::tcp::socket socket(acceptor.accept()); * @endcode @@ -1259,7 +1259,7 @@ * * @par Example * @code - * asio::ip::tcp::acceptor acceptor(io_service); + * asio::ip::tcp::acceptor acceptor(io_context); * ... * asio::ip::tcp::socket socket(acceptor.accept(ec)); * if (ec) @@ -1291,7 +1291,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation * of the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). * * @par Example * @code @@ -1306,7 +1306,7 @@ * * ... * - * asio::ip::tcp::acceptor acceptor(io_service); + * asio::ip::tcp::acceptor acceptor(io_context); * ... * acceptor.async_accept(accept_handler); * @endcode @@ -1322,7 +1322,7 @@ handler, typename Protocol::socket) type_check; return this->get_service().async_accept( - this->get_implementation(), static_cast<asio::io_service*>(0), + this->get_implementation(), static_cast<asio::io_context*>(0), static_cast<endpoint_type*>(0), ASIO_MOVE_CAST(MoveAcceptHandler)(handler)); } @@ -1336,7 +1336,7 @@ * This overload requires that the Protocol template parameter satisfy the * AcceptableProtocol type requirements. * - * @param io_service The io_service object to be used for the newly accepted + * @param io_context The io_context object to be used for the newly accepted * socket. * * @returns A socket object representing the newly accepted connection. @@ -1345,17 +1345,17 @@ * * @par Example * @code - * asio::ip::tcp::acceptor acceptor(io_service); + * asio::ip::tcp::acceptor acceptor(io_context); * ... * asio::ip::tcp::socket socket(acceptor.accept()); * @endcode */ - typename Protocol::socket accept(asio::io_service& io_service) + typename Protocol::socket accept(asio::io_context& io_context) { asio::error_code ec; typename Protocol::socket peer( this->get_service().accept(this->get_implementation(), - &io_service, static_cast<endpoint_type*>(0), ec)); + &io_context, static_cast<endpoint_type*>(0), ec)); asio::detail::throw_error(ec, "accept"); return peer; } @@ -1369,7 +1369,7 @@ * This overload requires that the Protocol template parameter satisfy the * AcceptableProtocol type requirements. * - * @param io_service The io_service object to be used for the newly accepted + * @param io_context The io_context object to be used for the newly accepted * socket. * * @param ec Set to indicate what error occurred, if any. @@ -1379,9 +1379,9 @@ * * @par Example * @code - * asio::ip::tcp::acceptor acceptor(io_service); + * asio::ip::tcp::acceptor acceptor(io_context); * ... - * asio::ip::tcp::socket socket(acceptor.accept(io_service2, ec)); + * asio::ip::tcp::socket socket(acceptor.accept(io_context2, ec)); * if (ec) * { * // An error occurred. @@ -1389,10 +1389,10 @@ * @endcode */ typename Protocol::socket accept( - asio::io_service& io_service, asio::error_code& ec) + asio::io_context& io_context, asio::error_code& ec) { return this->get_service().accept(this->get_implementation(), - &io_service, static_cast<endpoint_type*>(0), ec); + &io_context, static_cast<endpoint_type*>(0), ec); } /// Start an asynchronous accept. @@ -1403,7 +1403,7 @@ * This overload requires that the Protocol template parameter satisfy the * AcceptableProtocol type requirements. * - * @param io_service The io_service object to be used for the newly accepted + * @param io_context The io_context object to be used for the newly accepted * socket. * * @param handler The handler to be called when the accept operation @@ -1416,7 +1416,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation * of the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). * * @par Example * @code @@ -1431,15 +1431,15 @@ * * ... * - * asio::ip::tcp::acceptor acceptor(io_service); + * asio::ip::tcp::acceptor acceptor(io_context); * ... - * acceptor.async_accept(io_service2, accept_handler); + * acceptor.async_accept(io_context2, accept_handler); * @endcode */ template <typename MoveAcceptHandler> ASIO_INITFN_RESULT_TYPE(MoveAcceptHandler, void (asio::error_code, typename Protocol::socket)) - async_accept(asio::io_service& io_service, + async_accept(asio::io_context& io_context, ASIO_MOVE_ARG(MoveAcceptHandler) handler) { // If you get an error on the following line it means that your handler does @@ -1448,7 +1448,7 @@ handler, typename Protocol::socket) type_check; return this->get_service().async_accept(this->get_implementation(), - &io_service, static_cast<endpoint_type*>(0), + &io_context, static_cast<endpoint_type*>(0), ASIO_MOVE_CAST(MoveAcceptHandler)(handler)); } @@ -1470,7 +1470,7 @@ * * @par Example * @code - * asio::ip::tcp::acceptor acceptor(io_service); + * asio::ip::tcp::acceptor acceptor(io_context); * ... * asio::ip::tcp::endpoint endpoint; * asio::ip::tcp::socket socket(acceptor.accept(endpoint)); @@ -1481,7 +1481,7 @@ asio::error_code ec; typename Protocol::socket peer( this->get_service().accept(this->get_implementation(), - static_cast<asio::io_service*>(0), &peer_endpoint, ec)); + static_cast<asio::io_context*>(0), &peer_endpoint, ec)); asio::detail::throw_error(ec, "accept"); return peer; } @@ -1505,7 +1505,7 @@ * * @par Example * @code - * asio::ip::tcp::acceptor acceptor(io_service); + * asio::ip::tcp::acceptor acceptor(io_context); * ... * asio::ip::tcp::endpoint endpoint; * asio::ip::tcp::socket socket(acceptor.accept(endpoint, ec)); @@ -1519,7 +1519,7 @@ endpoint_type& peer_endpoint, asio::error_code& ec) { return this->get_service().accept(this->get_implementation(), - static_cast<asio::io_service*>(0), &peer_endpoint, ec); + static_cast<asio::io_context*>(0), &peer_endpoint, ec); } /// Start an asynchronous accept. @@ -1545,7 +1545,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation * of the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). * * @par Example * @code @@ -1560,7 +1560,7 @@ * * ... * - * asio::ip::tcp::acceptor acceptor(io_service); + * asio::ip::tcp::acceptor acceptor(io_context); * ... * asio::ip::tcp::endpoint endpoint; * acceptor.async_accept(endpoint, accept_handler); @@ -1578,7 +1578,7 @@ handler, typename Protocol::socket) type_check; return this->get_service().async_accept(this->get_implementation(), - static_cast<asio::io_service*>(0), &peer_endpoint, + static_cast<asio::io_context*>(0), &peer_endpoint, ASIO_MOVE_CAST(MoveAcceptHandler)(handler)); } @@ -1591,7 +1591,7 @@ * This overload requires that the Protocol template parameter satisfy the * AcceptableProtocol type requirements. * - * @param io_service The io_service object to be used for the newly accepted + * @param io_context The io_context object to be used for the newly accepted * socket. * * @param peer_endpoint An endpoint object into which the endpoint of the @@ -1603,20 +1603,20 @@ * * @par Example * @code - * asio::ip::tcp::acceptor acceptor(io_service); + * asio::ip::tcp::acceptor acceptor(io_context); * ... * asio::ip::tcp::endpoint endpoint; * asio::ip::tcp::socket socket( - * acceptor.accept(io_service2, endpoint)); + * acceptor.accept(io_context2, endpoint)); * @endcode */ typename Protocol::socket accept( - asio::io_service& io_service, endpoint_type& peer_endpoint) + asio::io_context& io_context, endpoint_type& peer_endpoint) { asio::error_code ec; typename Protocol::socket peer( this->get_service().accept(this->get_implementation(), - &io_service, &peer_endpoint, ec)); + &io_context, &peer_endpoint, ec)); asio::detail::throw_error(ec, "accept"); return peer; } @@ -1630,7 +1630,7 @@ * This overload requires that the Protocol template parameter satisfy the * AcceptableProtocol type requirements. * - * @param io_service The io_service object to be used for the newly accepted + * @param io_context The io_context object to be used for the newly accepted * socket. * * @param peer_endpoint An endpoint object into which the endpoint of the @@ -1643,22 +1643,22 @@ * * @par Example * @code - * asio::ip::tcp::acceptor acceptor(io_service); + * asio::ip::tcp::acceptor acceptor(io_context); * ... * asio::ip::tcp::endpoint endpoint; * asio::ip::tcp::socket socket( - * acceptor.accept(io_service2, endpoint, ec)); + * acceptor.accept(io_context2, endpoint, ec)); * if (ec) * { * // An error occurred. * } * @endcode */ - typename Protocol::socket accept(asio::io_service& io_service, + typename Protocol::socket accept(asio::io_context& io_context, endpoint_type& peer_endpoint, asio::error_code& ec) { return this->get_service().accept(this->get_implementation(), - &io_service, &peer_endpoint, ec); + &io_context, &peer_endpoint, ec); } /// Start an asynchronous accept. @@ -1669,7 +1669,7 @@ * This overload requires that the Protocol template parameter satisfy the * AcceptableProtocol type requirements. * - * @param io_service The io_service object to be used for the newly accepted + * @param io_context The io_context object to be used for the newly accepted * socket. * * @param peer_endpoint An endpoint object into which the endpoint of the @@ -1687,7 +1687,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation * of the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). * * @par Example * @code @@ -1702,16 +1702,16 @@ * * ... * - * asio::ip::tcp::acceptor acceptor(io_service); + * asio::ip::tcp::acceptor acceptor(io_context); * ... * asio::ip::tcp::endpoint endpoint; - * acceptor.async_accept(io_service2, endpoint, accept_handler); + * acceptor.async_accept(io_context2, endpoint, accept_handler); * @endcode */ template <typename MoveAcceptHandler> ASIO_INITFN_RESULT_TYPE(MoveAcceptHandler, void (asio::error_code, typename Protocol::socket)) - async_accept(asio::io_service& io_service, + async_accept(asio::io_context& io_context, endpoint_type& peer_endpoint, ASIO_MOVE_ARG(MoveAcceptHandler) handler) { @@ -1721,7 +1721,7 @@ handler, typename Protocol::socket) type_check; return this->get_service().async_accept( - this->get_implementation(), &io_service, &peer_endpoint, + this->get_implementation(), &io_context, &peer_endpoint, ASIO_MOVE_CAST(MoveAcceptHandler)(handler)); } #endif // defined(ASIO_HAS_MOVE) || defined(GENERATING_DOCUMENTATION)
diff --git a/asio/include/asio/basic_socket_streambuf.hpp b/asio/include/asio/basic_socket_streambuf.hpp index b413c19..f908d50 100644 --- a/asio/include/asio/basic_socket_streambuf.hpp +++ b/asio/include/asio/basic_socket_streambuf.hpp
@@ -24,7 +24,7 @@ #include "asio/deadline_timer_service.hpp" #include "asio/detail/array.hpp" #include "asio/detail/throw_error.hpp" -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #include "asio/stream_socket_service.hpp" #if defined(ASIO_HAS_BOOST_DATE_TIME) @@ -46,7 +46,7 @@ // init_buffers(); // this->basic_socket<Protocol, StreamSocketService>::close(ec_); // typedef typename Protocol::resolver resolver_type; -// resolver_type resolver(detail::socket_streambuf_base::io_service_); +// resolver_type resolver(detail::socket_streambuf_base::io_context_); // connect_to_endpoints( // resolver.resolve(x1, ..., xn, ec_)); // return !ec_ ? this : 0; @@ -62,7 +62,7 @@ init_buffers(); \ this->basic_socket<Protocol, StreamSocketService>::close(ec_); \ typedef typename Protocol::resolver resolver_type; \ - resolver_type resolver(detail::socket_streambuf_base::io_service_); \ + resolver_type resolver(detail::socket_streambuf_base::io_context_); \ connect_to_endpoints( \ resolver.resolve(ASIO_VARIADIC_BYVAL_ARGS(n), ec_)); \ return !ec_ ? this : 0; \ @@ -76,12 +76,12 @@ namespace asio { namespace detail { -// A separate base class is used to ensure that the io_service is initialised +// A separate base class is used to ensure that the io_context is initialised // prior to the basic_socket_streambuf's basic_socket base class. class socket_streambuf_base { protected: - io_service io_service_; + io_context io_context_; }; } // namespace detail @@ -141,7 +141,7 @@ /// Construct a basic_socket_streambuf without establishing a connection. basic_socket_streambuf() : basic_socket<Protocol, StreamSocketService>( - this->detail::socket_streambuf_base::io_service_), + this->detail::socket_streambuf_base::io_context_), unbuffered_(false), timer_service_(0), timer_state_(no_timer) @@ -184,8 +184,8 @@ endpoint, handler); ec_ = asio::error::would_block; - this->get_service().get_io_service().restart(); - do this->get_service().get_io_service().run_one(); + this->get_service().get_io_context().restart(); + do this->get_service().get_io_context().run_one(); while (ec_ == asio::error::would_block); return !ec_ ? this : 0; @@ -212,7 +212,7 @@ init_buffers(); this->basic_socket<Protocol, StreamSocketService>::close(ec_); typedef typename Protocol::resolver resolver_type; - resolver_type resolver(detail::socket_streambuf_base::io_service_); + resolver_type resolver(detail::socket_streambuf_base::io_context_); connect_to_endpoints(resolver.resolve(x..., ec_)); return !ec_ ? this : 0; } @@ -390,8 +390,8 @@ 0, handler); ec_ = asio::error::would_block; - this->get_service().get_io_service().restart(); - do this->get_service().get_io_service().run_one(); + this->get_service().get_io_context().restart(); + do this->get_service().get_io_context().run_one(); while (ec_ == asio::error::would_block); if (ec_) return traits_type::eof(); @@ -430,8 +430,8 @@ asio::buffer(&ch, sizeof(char_type)), 0, handler); ec_ = asio::error::would_block; - this->get_service().get_io_service().restart(); - do this->get_service().get_io_service().run_one(); + this->get_service().get_io_context().restart(); + do this->get_service().get_io_context().run_one(); while (ec_ == asio::error::would_block); if (ec_) return traits_type::eof(); @@ -457,8 +457,8 @@ asio::buffer(buffer), 0, handler); ec_ = asio::error::would_block; - this->get_service().get_io_service().restart(); - do this->get_service().get_io_service().run_one(); + this->get_service().get_io_context().restart(); + do this->get_service().get_io_context().run_one(); while (ec_ == asio::error::would_block); if (ec_) return traits_type::eof(); @@ -540,8 +540,8 @@ *i, handler); ec_ = asio::error::would_block; - this->get_service().get_io_service().restart(); - do this->get_service().get_io_service().run_one(); + this->get_service().get_io_context().restart(); + do this->get_service().get_io_context().run_one(); while (ec_ == asio::error::would_block); ++i; @@ -600,7 +600,7 @@ if (timer_service_ == 0) { TimerService& timer_service = use_service<TimerService>( - detail::socket_streambuf_base::io_service_); + detail::socket_streambuf_base::io_context_); timer_service.construct(timer_implementation_); timer_service_ = &timer_service; }
diff --git a/asio/include/asio/basic_stream_socket.hpp b/asio/include/asio/basic_stream_socket.hpp index c29827b..4708786 100644 --- a/asio/include/asio/basic_stream_socket.hpp +++ b/asio/include/asio/basic_stream_socket.hpp
@@ -61,11 +61,11 @@ * needs to be opened and then connected or accepted before data can be sent * or received on it. * - * @param io_service The io_service object that the stream socket will use to + * @param io_context The io_context object that the stream socket will use to * dispatch handlers for any asynchronous operations performed on the socket. */ - explicit basic_stream_socket(asio::io_service& io_service) - : basic_socket<Protocol, StreamSocketService>(io_service) + explicit basic_stream_socket(asio::io_context& io_context) + : basic_socket<Protocol, StreamSocketService>(io_context) { } @@ -74,16 +74,16 @@ * This constructor creates and opens a stream socket. The socket needs to be * connected or accepted before data can be sent or received on it. * - * @param io_service The io_service object that the stream socket will use to + * @param io_context The io_context object that the stream socket will use to * dispatch handlers for any asynchronous operations performed on the socket. * * @param protocol An object specifying protocol parameters to be used. * * @throws asio::system_error Thrown on failure. */ - basic_stream_socket(asio::io_service& io_service, + basic_stream_socket(asio::io_context& io_context, const protocol_type& protocol) - : basic_socket<Protocol, StreamSocketService>(io_service, protocol) + : basic_socket<Protocol, StreamSocketService>(io_context, protocol) { } @@ -94,7 +94,7 @@ * to the specified endpoint on the local machine. The protocol used is the * protocol associated with the given endpoint. * - * @param io_service The io_service object that the stream socket will use to + * @param io_context The io_context object that the stream socket will use to * dispatch handlers for any asynchronous operations performed on the socket. * * @param endpoint An endpoint on the local machine to which the stream @@ -102,9 +102,9 @@ * * @throws asio::system_error Thrown on failure. */ - basic_stream_socket(asio::io_service& io_service, + basic_stream_socket(asio::io_context& io_context, const endpoint_type& endpoint) - : basic_socket<Protocol, StreamSocketService>(io_service, endpoint) + : basic_socket<Protocol, StreamSocketService>(io_context, endpoint) { } @@ -113,7 +113,7 @@ * This constructor creates a stream socket object to hold an existing native * socket. * - * @param io_service The io_service object that the stream socket will use to + * @param io_context The io_context object that the stream socket will use to * dispatch handlers for any asynchronous operations performed on the socket. * * @param protocol An object specifying protocol parameters to be used. @@ -122,10 +122,10 @@ * * @throws asio::system_error Thrown on failure. */ - basic_stream_socket(asio::io_service& io_service, + basic_stream_socket(asio::io_context& io_context, const protocol_type& protocol, const native_handle_type& native_socket) : basic_socket<Protocol, StreamSocketService>( - io_service, protocol, native_socket) + io_context, protocol, native_socket) { } @@ -138,7 +138,7 @@ * will occur. * * @note Following the move, the moved-from object is in the same state as if - * constructed using the @c basic_stream_socket(io_service&) constructor. + * constructed using the @c basic_stream_socket(io_context&) constructor. */ basic_stream_socket(basic_stream_socket&& other) : basic_socket<Protocol, StreamSocketService>( @@ -154,7 +154,7 @@ * will occur. * * @note Following the move, the moved-from object is in the same state as if - * constructed using the @c basic_stream_socket(io_service&) constructor. + * constructed using the @c basic_stream_socket(io_context&) constructor. */ basic_stream_socket& operator=(basic_stream_socket&& other) { @@ -172,7 +172,7 @@ * will occur. * * @note Following the move, the moved-from object is in the same state as if - * constructed using the @c basic_stream_socket(io_service&) constructor. + * constructed using the @c basic_stream_socket(io_context&) constructor. */ template <typename Protocol1, typename StreamSocketService1> basic_stream_socket( @@ -192,7 +192,7 @@ * will occur. * * @note Following the move, the moved-from object is in the same state as if - * constructed using the @c basic_stream_socket(io_service&) constructor. + * constructed using the @c basic_stream_socket(io_context&) constructor. */ template <typename Protocol1, typename StreamSocketService1> typename enable_if<is_convertible<Protocol1, Protocol>::value, @@ -325,7 +325,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation * of the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). * * @note The send operation may not transmit all of the data to the peer. * Consider using the @ref async_write function if you need to ensure that all @@ -377,7 +377,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation * of the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). * * @note The send operation may not transmit all of the data to the peer. * Consider using the @ref async_write function if you need to ensure that all @@ -533,7 +533,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation * of the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). * * @note The receive operation may not receive all of the requested number of * bytes. Consider using the @ref async_read function if you need to ensure @@ -586,7 +586,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation * of the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). * * @note The receive operation may not receive all of the requested number of * bytes. Consider using the @ref async_read function if you need to ensure @@ -698,7 +698,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation * of the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). * * @note The write operation may not transmit all of the data to the peer. * Consider using the @ref async_write function if you need to ensure that all @@ -810,7 +810,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation * of the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). * * @note The read operation may not read all of the requested number of bytes. * Consider using the @ref async_read function if you need to ensure that the
diff --git a/asio/include/asio/basic_waitable_timer.hpp b/asio/include/asio/basic_waitable_timer.hpp index d83bb51..1a35370 100644 --- a/asio/include/asio/basic_waitable_timer.hpp +++ b/asio/include/asio/basic_waitable_timer.hpp
@@ -51,7 +51,7 @@ * Performing a blocking wait (C++11): * @code * // Construct a timer without setting an expiry time. - * asio::steady_timer timer(io_service); + * asio::steady_timer timer(io_context); * * // Set an expiry time relative to now. * timer.expires_after(std::chrono::seconds(5)); @@ -74,7 +74,7 @@ * ... * * // Construct a timer with an absolute expiry time. - * asio::steady_timer timer(io_service, + * asio::steady_timer timer(io_context, * std::chrono::steady_clock::now() + std::chrono::seconds(60)); * * // Start an asynchronous wait. @@ -145,11 +145,11 @@ * expires_at() or expires_after() functions must be called to set an expiry * time before the timer can be waited on. * - * @param io_service The io_service object that the timer will use to dispatch + * @param io_context The io_context object that the timer will use to dispatch * handlers for any asynchronous operations performed on the timer. */ - explicit basic_waitable_timer(asio::io_service& io_service) - : basic_io_object<WaitableTimerService>(io_service) + explicit basic_waitable_timer(asio::io_context& io_context) + : basic_io_object<WaitableTimerService>(io_context) { } @@ -157,15 +157,15 @@ /** * This constructor creates a timer and sets the expiry time. * - * @param io_service The io_service object that the timer will use to dispatch + * @param io_context The io_context object that the timer will use to dispatch * handlers for any asynchronous operations performed on the timer. * * @param expiry_time The expiry time to be used for the timer, expressed * as an absolute time. */ - basic_waitable_timer(asio::io_service& io_service, + basic_waitable_timer(asio::io_context& io_context, const time_point& expiry_time) - : basic_io_object<WaitableTimerService>(io_service) + : basic_io_object<WaitableTimerService>(io_context) { asio::error_code ec; this->get_service().expires_at(this->get_implementation(), expiry_time, ec); @@ -176,15 +176,15 @@ /** * This constructor creates a timer and sets the expiry time. * - * @param io_service The io_service object that the timer will use to dispatch + * @param io_context The io_context object that the timer will use to dispatch * handlers for any asynchronous operations performed on the timer. * * @param expiry_time The expiry time to be used for the timer, relative to * now. */ - basic_waitable_timer(asio::io_service& io_service, + basic_waitable_timer(asio::io_context& io_context, const duration& expiry_time) - : basic_io_object<WaitableTimerService>(io_service) + : basic_io_object<WaitableTimerService>(io_context) { asio::error_code ec; this->get_service().expires_after( @@ -201,7 +201,7 @@ * occur. * * @note Following the move, the moved-from object is in the same state as if - * constructed using the @c basic_waitable_timer(io_service&) constructor. + * constructed using the @c basic_waitable_timer(io_context&) constructor. */ basic_waitable_timer(basic_waitable_timer&& other) : basic_io_object<WaitableTimerService>( @@ -217,7 +217,7 @@ * occur. * * @note Following the move, the moved-from object is in the same state as if - * constructed using the @c basic_waitable_timer(io_service&) constructor. + * constructed using the @c basic_waitable_timer(io_context&) constructor. */ basic_waitable_timer& operator=(basic_waitable_timer&& other) { @@ -611,7 +611,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation * of the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). */ template <typename WaitHandler> ASIO_INITFN_RESULT_TYPE(WaitHandler,
diff --git a/asio/include/asio/buffered_read_stream.hpp b/asio/include/asio/buffered_read_stream.hpp index 1a87b81..f58e4eb 100644 --- a/asio/include/asio/buffered_read_stream.hpp +++ b/asio/include/asio/buffered_read_stream.hpp
@@ -26,7 +26,7 @@ #include "asio/detail/noncopyable.hpp" #include "asio/detail/type_traits.hpp" #include "asio/error.hpp" -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #include "asio/detail/push_options.hpp" @@ -96,11 +96,20 @@ return next_layer_.lowest_layer(); } - /// Get the io_service associated with the object. - asio::io_service& get_io_service() + /// Get the io_context associated with the object. + asio::io_context& get_io_context() + { + return next_layer_.get_io_context(); + } + +#if !defined(ASIO_NO_DEPRECATED) + /// (Deprecated: Use get_io_context().) Get the io_context associated with the + /// object. + asio::io_context& get_io_service() { return next_layer_.get_io_service(); } +#endif // !defined(ASIO_NO_DEPRECATED) /// Close the stream. void close()
diff --git a/asio/include/asio/buffered_stream.hpp b/asio/include/asio/buffered_stream.hpp index 6a35da9..0e84013 100644 --- a/asio/include/asio/buffered_stream.hpp +++ b/asio/include/asio/buffered_stream.hpp
@@ -23,7 +23,7 @@ #include "asio/buffered_stream_fwd.hpp" #include "asio/detail/noncopyable.hpp" #include "asio/error.hpp" -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #include "asio/detail/push_options.hpp" @@ -87,11 +87,20 @@ return stream_impl_.lowest_layer(); } - /// Get the io_service associated with the object. - asio::io_service& get_io_service() + /// Get the io_context associated with the object. + asio::io_context& get_io_context() + { + return stream_impl_.get_io_context(); + } + +#if !defined(ASIO_NO_DEPRECATED) + /// (Deprecated: Use get_io_context().) Get the io_context associated with the + /// object. + asio::io_context& get_io_service() { return stream_impl_.get_io_service(); } +#endif // !defined(ASIO_NO_DEPRECATED) /// Close the stream. void close()
diff --git a/asio/include/asio/buffered_write_stream.hpp b/asio/include/asio/buffered_write_stream.hpp index 7572fc5..0b5ef89 100644 --- a/asio/include/asio/buffered_write_stream.hpp +++ b/asio/include/asio/buffered_write_stream.hpp
@@ -25,7 +25,7 @@ #include "asio/detail/noncopyable.hpp" #include "asio/detail/type_traits.hpp" #include "asio/error.hpp" -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #include "asio/write.hpp" #include "asio/detail/push_options.hpp" @@ -96,11 +96,20 @@ return next_layer_.lowest_layer(); } - /// Get the io_service associated with the object. - asio::io_service& get_io_service() + /// Get the io_context associated with the object. + asio::io_context& get_io_context() + { + return next_layer_.get_io_context(); + } + +#if !defined(ASIO_NO_DEPRECATED) + /// (Deprecated: Use get_io_context().) Get the io_context associated with the + /// object. + asio::io_context& get_io_service() { return next_layer_.get_io_service(); } +#endif // !defined(ASIO_NO_DEPRECATED) /// Close the stream. void close()
diff --git a/asio/include/asio/connect.hpp b/asio/include/asio/connect.hpp index 7d0bab3..f63f335 100644 --- a/asio/include/asio/connect.hpp +++ b/asio/include/asio/connect.hpp
@@ -81,9 +81,9 @@ * Otherwise, contains the error from the last connection attempt. * * @par Example - * @code tcp::resolver r(io_service); + * @code tcp::resolver r(io_context); * tcp::resolver::query q("host", "service"); - * tcp::socket s(io_service); + * tcp::socket s(io_context); * asio::connect(s, r.resolve(q)); @endcode */ template <typename Protocol, typename SocketService, typename EndpointSequence> @@ -112,9 +112,9 @@ * default-constructed endpoint. * * @par Example - * @code tcp::resolver r(io_service); + * @code tcp::resolver r(io_context); * tcp::resolver::query q("host", "service"); - * tcp::socket s(io_service); + * tcp::socket s(io_context); * asio::error_code ec; * asio::connect(s, r.resolve(q), ec); * if (ec) @@ -208,10 +208,10 @@ * Otherwise, contains the error from the last connection attempt. * * @par Example - * @code tcp::resolver r(io_service); + * @code tcp::resolver r(io_context); * tcp::resolver::query q("host", "service"); * tcp::resolver::results_type e = r.resolve(q); - * tcp::socket s(io_service); + * tcp::socket s(io_context); * asio::connect(s, e.begin(), e.end()); @endcode */ template <typename Protocol, typename SocketService, typename Iterator> @@ -240,10 +240,10 @@ * endpoint. Otherwise, the end iterator. * * @par Example - * @code tcp::resolver r(io_service); + * @code tcp::resolver r(io_context); * tcp::resolver::query q("host", "service"); * tcp::resolver::results_type e = r.resolve(q); - * tcp::socket s(io_service); + * tcp::socket s(io_context); * asio::error_code ec; * asio::connect(s, e.begin(), e.end(), ec); * if (ec) @@ -299,9 +299,9 @@ * } * }; @endcode * It would be used with the asio::connect function as follows: - * @code tcp::resolver r(io_service); + * @code tcp::resolver r(io_context); * tcp::resolver::query q("host", "service"); - * tcp::socket s(io_service); + * tcp::socket s(io_context); * tcp::endpoint e = asio::connect(s, * r.resolve(q), my_connect_condition()); * std::cout << "Connected to: " << e << std::endl; @endcode @@ -358,9 +358,9 @@ * } * }; @endcode * It would be used with the asio::connect function as follows: - * @code tcp::resolver r(io_service); + * @code tcp::resolver r(io_context); * tcp::resolver::query q("host", "service"); - * tcp::socket s(io_service); + * tcp::socket s(io_context); * asio::error_code ec; * tcp::endpoint e = asio::connect(s, * r.resolve(q), my_connect_condition(), ec); @@ -511,10 +511,10 @@ * } * }; @endcode * It would be used with the asio::connect function as follows: - * @code tcp::resolver r(io_service); + * @code tcp::resolver r(io_context); * tcp::resolver::query q("host", "service"); * tcp::resolver::results_type e = r.resolve(q); - * tcp::socket s(io_service); + * tcp::socket s(io_context); * tcp::resolver::results_type::iterator i = asio::connect( * s, e.begin(), e.end(), my_connect_condition()); * std::cout << "Connected to: " << i->endpoint() << std::endl; @endcode @@ -571,10 +571,10 @@ * } * }; @endcode * It would be used with the asio::connect function as follows: - * @code tcp::resolver r(io_service); + * @code tcp::resolver r(io_context); * tcp::resolver::query q("host", "service"); * tcp::resolver::results_type e = r.resolve(q); - * tcp::socket s(io_service); + * tcp::socket s(io_context); * asio::error_code ec; * tcp::resolver::results_type::iterator i = asio::connect( * s, e.begin(), e.end(), my_connect_condition()); @@ -632,12 +632,12 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation * of the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). * * @par Example - * @code tcp::resolver r(io_service); + * @code tcp::resolver r(io_context); * tcp::resolver::query q("host", "service"); - * tcp::socket s(io_service); + * tcp::socket s(io_context); * * // ... * @@ -704,7 +704,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation * of the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). * * @note This overload assumes that a default constructed object of type @c * Iterator represents the end of the sequence. This is a valid assumption for @@ -750,11 +750,11 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation * of the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). * * @par Example * @code std::vector<tcp::endpoint> endpoints = ...; - * tcp::socket s(io_service); + * tcp::socket s(io_context); * asio::async_connect(s, * endpoints.begin(), endpoints.end(), * connect_handler); @@ -816,7 +816,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation * of the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). * * @par Example * The following connect condition function object can be used to output @@ -833,9 +833,9 @@ * } * }; @endcode * It would be used with the asio::connect function as follows: - * @code tcp::resolver r(io_service); + * @code tcp::resolver r(io_context); * tcp::resolver::query q("host", "service"); - * tcp::socket s(io_service); + * tcp::socket s(io_context); * * // ... * @@ -922,7 +922,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation * of the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). * * @note This overload assumes that a default constructed object of type @c * Iterator represents the end of the sequence. This is a valid assumption for @@ -980,7 +980,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation * of the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). * * @par Example * The following connect condition function object can be used to output @@ -997,9 +997,9 @@ * } * }; @endcode * It would be used with the asio::connect function as follows: - * @code tcp::resolver r(io_service); + * @code tcp::resolver r(io_context); * tcp::resolver::query q("host", "service"); - * tcp::socket s(io_service); + * tcp::socket s(io_context); * * // ... *
diff --git a/asio/include/asio/coroutine.hpp b/asio/include/asio/coroutine.hpp index d9dfaaa..ca456b2 100644 --- a/asio/include/asio/coroutine.hpp +++ b/asio/include/asio/coroutine.hpp
@@ -205,7 +205,7 @@ * { * do * { - * socket_.reset(new tcp::socket(io_service_)); + * socket_.reset(new tcp::socket(io_context_)); * yield acceptor->async_accept(*socket_, *this); * fork server(*this)(); * } while (is_parent()); @@ -227,7 +227,7 @@ * Note that @c fork doesn't do the actual forking by itself. It is the * application's responsibility to create a clone of the coroutine and call it. * The clone can be called immediately, as above, or scheduled for delayed - * execution using something like io_service::post(). + * execution using something like io_context::post(). * * @par Alternate macro names *
diff --git a/asio/include/asio/datagram_socket_service.hpp b/asio/include/asio/datagram_socket_service.hpp index e1972ab..d8f8088 100644 --- a/asio/include/asio/datagram_socket_service.hpp +++ b/asio/include/asio/datagram_socket_service.hpp
@@ -20,7 +20,7 @@ #include "asio/async_result.hpp" #include "asio/detail/type_traits.hpp" #include "asio/error.hpp" -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #if defined(ASIO_WINDOWS_RUNTIME) # include "asio/detail/null_socket_service.hpp" @@ -38,7 +38,7 @@ template <typename Protocol> class datagram_socket_service #if defined(GENERATING_DOCUMENTATION) - : public asio::io_service::service + : public asio::io_context::service #else : public asio::detail::service_base<datagram_socket_service<Protocol> > #endif @@ -46,7 +46,7 @@ public: #if defined(GENERATING_DOCUMENTATION) /// The unique service identifier. - static asio::io_service::id id; + static asio::io_context::id id; #endif /// The protocol type. @@ -80,11 +80,11 @@ typedef typename service_impl_type::native_handle_type native_handle_type; #endif - /// Construct a new datagram socket service for the specified io_service. - explicit datagram_socket_service(asio::io_service& io_service) + /// Construct a new datagram socket service for the specified io_context. + explicit datagram_socket_service(asio::io_context& io_context) : asio::detail::service_base< - datagram_socket_service<Protocol> >(io_service), - service_impl_(io_service) + datagram_socket_service<Protocol> >(io_context), + service_impl_(io_context) { }
diff --git a/asio/include/asio/deadline_timer_service.hpp b/asio/include/asio/deadline_timer_service.hpp index 57cd599..cbc0618 100644 --- a/asio/include/asio/deadline_timer_service.hpp +++ b/asio/include/asio/deadline_timer_service.hpp
@@ -23,7 +23,7 @@ #include <cstddef> #include "asio/async_result.hpp" #include "asio/detail/deadline_timer_service.hpp" -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #include "asio/time_traits.hpp" #include "asio/detail/timer_queue_ptime.hpp" @@ -36,7 +36,7 @@ typename TimeTraits = asio::time_traits<TimeType> > class deadline_timer_service #if defined(GENERATING_DOCUMENTATION) - : public asio::io_service::service + : public asio::io_context::service #else : public asio::detail::service_base< deadline_timer_service<TimeType, TimeTraits> > @@ -45,7 +45,7 @@ public: #if defined(GENERATING_DOCUMENTATION) /// The unique service identifier. - static asio::io_service::id id; + static asio::io_context::id id; #endif /// The time traits type. @@ -69,11 +69,11 @@ typedef typename service_impl_type::implementation_type implementation_type; #endif - /// Construct a new timer service for the specified io_service. - explicit deadline_timer_service(asio::io_service& io_service) + /// Construct a new timer service for the specified io_context. + explicit deadline_timer_service(asio::io_context& io_context) : asio::detail::service_base< - deadline_timer_service<TimeType, TimeTraits> >(io_service), - service_impl_(io_service) + deadline_timer_service<TimeType, TimeTraits> >(io_context), + service_impl_(io_context) { }
diff --git a/asio/include/asio/detail/call_stack.hpp b/asio/include/asio/detail/call_stack.hpp index fa763e6..b700a00 100644 --- a/asio/include/asio/detail/call_stack.hpp +++ b/asio/include/asio/detail/call_stack.hpp
@@ -25,7 +25,7 @@ namespace detail { // Helper class to determine whether or not the current thread is inside an -// invocation of io_service::run() for a specified io_service object. +// invocation of io_context::run() for a specified io_context object. template <typename Key, typename Value = unsigned char> class call_stack {
diff --git a/asio/include/asio/detail/deadline_timer_service.hpp b/asio/include/asio/detail/deadline_timer_service.hpp index f6f17d5..2a203b4 100644 --- a/asio/include/asio/detail/deadline_timer_service.hpp +++ b/asio/include/asio/detail/deadline_timer_service.hpp
@@ -18,7 +18,7 @@ #include "asio/detail/config.hpp" #include <cstddef> #include "asio/error.hpp" -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #include "asio/detail/bind_handler.hpp" #include "asio/detail/fenced_block.hpp" #include "asio/detail/memory.hpp" @@ -61,8 +61,8 @@ }; // Constructor. - deadline_timer_service(asio::io_service& io_service) - : scheduler_(asio::use_service<timer_scheduler>(io_service)) + deadline_timer_service(asio::io_context& io_context) + : scheduler_(asio::use_service<timer_scheduler>(io_context)) { scheduler_.init_task(); scheduler_.add_timer_queue(timer_queue_);
diff --git a/asio/include/asio/detail/impl/dev_poll_reactor.ipp b/asio/include/asio/detail/impl/dev_poll_reactor.ipp index f0f408d..a1148e3 100644 --- a/asio/include/asio/detail/impl/dev_poll_reactor.ipp +++ b/asio/include/asio/detail/impl/dev_poll_reactor.ipp
@@ -67,7 +67,7 @@ scheduler_.abandon_operations(ops); } -void dev_poll_reactor::fork_service(asio::io_service::fork_event fork_ev) +void dev_poll_reactor::fork_service(asio::io_context::fork_event fork_ev) { if (fork_ev == asio::execution_context::fork_child) {
diff --git a/asio/include/asio/detail/impl/reactive_descriptor_service.ipp b/asio/include/asio/detail/impl/reactive_descriptor_service.ipp index 666f1d8..37ddaf2 100644 --- a/asio/include/asio/detail/impl/reactive_descriptor_service.ipp +++ b/asio/include/asio/detail/impl/reactive_descriptor_service.ipp
@@ -30,8 +30,8 @@ namespace detail { reactive_descriptor_service::reactive_descriptor_service( - asio::io_service& io_service) - : reactor_(asio::use_service<reactor>(io_service)) + asio::io_context& io_context) + : reactor_(asio::use_service<reactor>(io_context)) { reactor_.init_task(); }
diff --git a/asio/include/asio/detail/impl/reactive_serial_port_service.ipp b/asio/include/asio/detail/impl/reactive_serial_port_service.ipp index b3ce7b9..49a94a4 100644 --- a/asio/include/asio/detail/impl/reactive_serial_port_service.ipp +++ b/asio/include/asio/detail/impl/reactive_serial_port_service.ipp
@@ -30,8 +30,8 @@ namespace detail { reactive_serial_port_service::reactive_serial_port_service( - asio::io_service& io_service) - : descriptor_service_(io_service) + asio::io_context& io_context) + : descriptor_service_(io_context) { }
diff --git a/asio/include/asio/detail/impl/reactive_socket_service_base.ipp b/asio/include/asio/detail/impl/reactive_socket_service_base.ipp index 6e7d240..76d6da2 100644 --- a/asio/include/asio/detail/impl/reactive_socket_service_base.ipp +++ b/asio/include/asio/detail/impl/reactive_socket_service_base.ipp
@@ -28,9 +28,9 @@ namespace detail { reactive_socket_service_base::reactive_socket_service_base( - asio::io_service& io_service) - : io_service_(io_service), - reactor_(use_service<reactor>(io_service)) + asio::io_context& io_context) + : io_context_(io_context), + reactor_(use_service<reactor>(io_context)) { reactor_.init_task(); }
diff --git a/asio/include/asio/detail/impl/resolver_service_base.ipp b/asio/include/asio/detail/impl/resolver_service_base.ipp index 92798d2..0f14374 100644 --- a/asio/include/asio/detail/impl/resolver_service_base.ipp +++ b/asio/include/asio/detail/impl/resolver_service_base.ipp
@@ -23,23 +23,23 @@ namespace asio { namespace detail { -class resolver_service_base::work_io_service_runner +class resolver_service_base::work_io_context_runner { public: - work_io_service_runner(asio::io_service& io_service) - : io_service_(io_service) {} - void operator()() { io_service_.run(); } + work_io_context_runner(asio::io_context& io_context) + : io_context_(io_context) {} + void operator()() { io_context_.run(); } private: - asio::io_service& io_service_; + asio::io_context& io_context_; }; resolver_service_base::resolver_service_base( - asio::io_service& io_service) - : io_service_impl_(asio::use_service<io_service_impl>(io_service)), - work_io_service_(new asio::io_service), - work_io_service_impl_(asio::use_service< - io_service_impl>(*work_io_service_)), - work_(new asio::io_service::work(*work_io_service_)), + asio::io_context& io_context) + : io_context_impl_(asio::use_service<io_context_impl>(io_context)), + work_io_context_(new asio::io_context), + work_io_context_impl_(asio::use_service< + io_context_impl>(*work_io_context_)), + work_(new asio::io_context::work(*work_io_context_)), work_thread_(0) { } @@ -52,33 +52,33 @@ void resolver_service_base::shutdown_service() { work_.reset(); - if (work_io_service_.get()) + if (work_io_context_.get()) { - work_io_service_->stop(); + work_io_context_->stop(); if (work_thread_.get()) { work_thread_->join(); work_thread_.reset(); } - work_io_service_.reset(); + work_io_context_.reset(); } } void resolver_service_base::fork_service( - asio::io_service::fork_event fork_ev) + asio::io_context::fork_event fork_ev) { if (work_thread_.get()) { - if (fork_ev == asio::io_service::fork_prepare) + if (fork_ev == asio::io_context::fork_prepare) { - work_io_service_->stop(); + work_io_context_->stop(); work_thread_->join(); } else { - work_io_service_->restart(); + work_io_context_->restart(); work_thread_.reset(new asio::detail::thread( - work_io_service_runner(*work_io_service_))); + work_io_context_runner(*work_io_context_))); } } } @@ -92,7 +92,7 @@ void resolver_service_base::destroy( resolver_service_base::implementation_type& impl) { - ASIO_HANDLER_OPERATION((io_service_impl_.context(), + ASIO_HANDLER_OPERATION((io_context_impl_.context(), "resolver", &impl, 0, "cancel")); impl.reset(); @@ -101,7 +101,7 @@ void resolver_service_base::cancel( resolver_service_base::implementation_type& impl) { - ASIO_HANDLER_OPERATION((io_service_impl_.context(), + ASIO_HANDLER_OPERATION((io_context_impl_.context(), "resolver", &impl, 0, "cancel")); impl.reset(static_cast<void*>(0), socket_ops::noop_deleter()); @@ -110,8 +110,8 @@ void resolver_service_base::start_resolve_op(operation* op) { start_work_thread(); - io_service_impl_.work_started(); - work_io_service_impl_.post_immediate_completion(op, false); + io_context_impl_.work_started(); + work_io_context_impl_.post_immediate_completion(op, false); } void resolver_service_base::start_work_thread() @@ -120,7 +120,7 @@ if (!work_thread_.get()) { work_thread_.reset(new asio::detail::thread( - work_io_service_runner(*work_io_service_))); + work_io_context_runner(*work_io_context_))); } }
diff --git a/asio/include/asio/detail/impl/service_registry.hpp b/asio/include/asio/detail/impl/service_registry.hpp index a6c1d9c..efa4733 100644 --- a/asio/include/asio/detail/impl/service_registry.hpp +++ b/asio/include/asio/detail/impl/service_registry.hpp
@@ -30,11 +30,11 @@ } template <typename Service> -Service& service_registry::use_service(io_service& owner) +Service& service_registry::use_service(io_context& owner) { execution_context::service::key key; init_key(key, Service::id); - factory_type factory = &service_registry::create<Service, io_service>; + factory_type factory = &service_registry::create<Service, io_context>; return *static_cast<Service*>(do_use_service(key, factory, &owner)); }
diff --git a/asio/include/asio/detail/impl/signal_set_service.ipp b/asio/include/asio/detail/impl/signal_set_service.ipp index f219e74..252caf2 100644 --- a/asio/include/asio/detail/impl/signal_set_service.ipp +++ b/asio/include/asio/detail/impl/signal_set_service.ipp
@@ -117,12 +117,12 @@ // && !defined(__CYGWIN__) signal_set_service::signal_set_service( - asio::io_service& io_service) - : io_service_(asio::use_service<io_service_impl>(io_service)), + asio::io_context& io_context) + : io_context_(asio::use_service<io_context_impl>(io_context)), #if !defined(ASIO_WINDOWS) \ && !defined(ASIO_WINDOWS_RUNTIME) \ && !defined(__CYGWIN__) - reactor_(asio::use_service<reactor>(io_service)), + reactor_(asio::use_service<reactor>(io_context)), #endif // !defined(ASIO_WINDOWS) // && !defined(ASIO_WINDOWS_RUNTIME) // && !defined(__CYGWIN__) @@ -166,11 +166,11 @@ } } - io_service_.abandon_operations(ops); + io_context_.abandon_operations(ops); } void signal_set_service::fork_service( - asio::io_service::fork_event fork_ev) + asio::io_context::fork_event fork_ev) { #if !defined(ASIO_WINDOWS) \ && !defined(ASIO_WINDOWS_RUNTIME) \ @@ -180,7 +180,7 @@ switch (fork_ev) { - case asio::io_service::fork_prepare: + case asio::io_context::fork_prepare: { int read_descriptor = state->read_descriptor_; state->fork_prepared_ = true; @@ -188,7 +188,7 @@ reactor_.deregister_internal_descriptor(read_descriptor, reactor_data_); } break; - case asio::io_service::fork_parent: + case asio::io_context::fork_parent: if (state->fork_prepared_) { int read_descriptor = state->read_descriptor_; @@ -198,7 +198,7 @@ read_descriptor, reactor_data_, new pipe_read_op); } break; - case asio::io_service::fork_child: + case asio::io_context::fork_child: if (state->fork_prepared_) { asio::detail::signal_blocker blocker; @@ -437,7 +437,7 @@ signal_set_service::implementation_type& impl, asio::error_code& ec) { - ASIO_HANDLER_OPERATION((io_service_.context(), + ASIO_HANDLER_OPERATION((io_context_.context(), "signal_set", &impl, 0, "cancel")); op_queue<operation> ops; @@ -453,7 +453,7 @@ } } - io_service_.post_deferred_completions(ops); + io_context_.post_deferred_completions(ops); ec = asio::error_code(); return ec; @@ -489,7 +489,7 @@ reg = reg->next_in_table_; } - service->io_service_.post_deferred_completions(ops); + service->io_context_.post_deferred_completions(ops); service = service->next_; } @@ -618,7 +618,7 @@ void signal_set_service::start_wait_op( signal_set_service::implementation_type& impl, signal_op* op) { - io_service_.work_started(); + io_context_.work_started(); signal_state* state = get_signal_state(); static_mutex::scoped_lock lock(state->mutex_); @@ -630,7 +630,7 @@ { --reg->undelivered_; op->signal_number_ = reg->signal_number_; - io_service_.post_deferred_completion(op); + io_context_.post_deferred_completion(op); return; }
diff --git a/asio/include/asio/detail/impl/strand_service.hpp b/asio/include/asio/detail/impl/strand_service.hpp index 09f96da..2e07fac 100644 --- a/asio/include/asio/detail/impl/strand_service.hpp +++ b/asio/include/asio/detail/impl/strand_service.hpp
@@ -35,7 +35,7 @@ struct strand_service::on_dispatch_exit { - io_service_impl* io_service_; + io_context_impl* io_context_; strand_impl* impl_; ~on_dispatch_exit() @@ -46,7 +46,7 @@ impl_->mutex_.unlock(); if (more_handlers) - io_service_->post_immediate_completion(impl_, false); + io_context_->post_immediate_completion(impl_, false); } }; @@ -81,15 +81,15 @@ call_stack<strand_impl>::context ctx(impl); // Ensure the next handler, if any, is scheduled on block exit. - on_dispatch_exit on_exit = { &io_service_, impl }; + on_dispatch_exit on_exit = { &io_context_, impl }; (void)on_exit; completion_handler<Handler>::do_complete( - &io_service_, o, asio::error_code(), 0); + &io_context_, o, asio::error_code(), 0); } } -// Request the io_service to invoke the given handler and return immediately. +// Request the io_context to invoke the given handler and return immediately. template <typename Handler> void strand_service::post(strand_service::implementation_type& impl, Handler& handler)
diff --git a/asio/include/asio/detail/impl/strand_service.ipp b/asio/include/asio/detail/impl/strand_service.ipp index 0aedaa9..c7539b5 100644 --- a/asio/include/asio/detail/impl/strand_service.ipp +++ b/asio/include/asio/detail/impl/strand_service.ipp
@@ -26,7 +26,7 @@ struct strand_service::on_do_complete_exit { - io_service_impl* owner_; + io_context_impl* owner_; strand_impl* impl_; ~on_do_complete_exit() @@ -41,9 +41,9 @@ } }; -strand_service::strand_service(asio::io_service& io_service) - : asio::detail::service_base<strand_service>(io_service), - io_service_(asio::use_service<io_service_impl>(io_service)), +strand_service::strand_service(asio::io_context& io_context) + : asio::detail::service_base<strand_service>(io_context), + io_context_(asio::use_service<io_context_impl>(io_context)), mutex_(), salt_(0) { @@ -92,9 +92,9 @@ bool strand_service::do_dispatch(implementation_type& impl, operation* op) { - // If we are running inside the io_service, and no other handler already + // If we are running inside the io_context, and no other handler already // holds the strand lock, then the handler can run immediately. - bool can_dispatch = io_service_.can_dispatch(); + bool can_dispatch = io_context_.can_dispatch(); impl->mutex_.lock(); if (can_dispatch && !impl->locked_) { @@ -117,7 +117,7 @@ impl->locked_ = true; impl->mutex_.unlock(); impl->ready_queue_.push(op); - io_service_.post_immediate_completion(impl, false); + io_context_.post_immediate_completion(impl, false); } return false; @@ -140,7 +140,7 @@ impl->locked_ = true; impl->mutex_.unlock(); impl->ready_queue_.push(op); - io_service_.post_immediate_completion(impl, is_continuation); + io_context_.post_immediate_completion(impl, is_continuation); } } @@ -156,7 +156,7 @@ // Ensure the next handler, if any, is scheduled on block exit. on_do_complete_exit on_exit; - on_exit.owner_ = static_cast<io_service_impl*>(owner); + on_exit.owner_ = static_cast<io_context_impl*>(owner); on_exit.impl_ = impl; // Run all ready handlers. No lock is required since the ready queue is
diff --git a/asio/include/asio/detail/impl/win_iocp_handle_service.ipp b/asio/include/asio/detail/impl/win_iocp_handle_service.ipp index 6b122a9..27d757f 100644 --- a/asio/include/asio/detail/impl/win_iocp_handle_service.ipp +++ b/asio/include/asio/detail/impl/win_iocp_handle_service.ipp
@@ -66,8 +66,8 @@ }; win_iocp_handle_service::win_iocp_handle_service( - asio::io_service& io_service) - : iocp_service_(asio::use_service<win_iocp_io_service>(io_service)), + asio::io_context& io_context) + : iocp_service_(asio::use_service<win_iocp_io_context>(io_context)), mutex_(), impl_list_(0) {
diff --git a/asio/include/asio/detail/impl/win_iocp_io_service.hpp b/asio/include/asio/detail/impl/win_iocp_io_context.hpp similarity index 83% rename from asio/include/asio/detail/impl/win_iocp_io_service.hpp rename to asio/include/asio/detail/impl/win_iocp_io_context.hpp index 9f4a7a6..f783c30 100644 --- a/asio/include/asio/detail/impl/win_iocp_io_service.hpp +++ b/asio/include/asio/detail/impl/win_iocp_io_context.hpp
@@ -1,5 +1,5 @@ // -// detail/impl/win_iocp_io_service.hpp +// detail/impl/win_iocp_io_context.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // // Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) @@ -8,8 +8,8 @@ // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // -#ifndef ASIO_DETAIL_IMPL_WIN_IOCP_IO_SERVICE_HPP -#define ASIO_DETAIL_IMPL_WIN_IOCP_IO_SERVICE_HPP +#ifndef ASIO_DETAIL_IMPL_WIN_IOCP_IO_CONTEXT_HPP +#define ASIO_DETAIL_IMPL_WIN_IOCP_IO_CONTEXT_HPP #if defined(_MSC_VER) && (_MSC_VER >= 1200) # pragma once @@ -31,21 +31,21 @@ namespace detail { template <typename Time_Traits> -void win_iocp_io_service::add_timer_queue( +void win_iocp_io_context::add_timer_queue( timer_queue<Time_Traits>& queue) { do_add_timer_queue(queue); } template <typename Time_Traits> -void win_iocp_io_service::remove_timer_queue( +void win_iocp_io_context::remove_timer_queue( timer_queue<Time_Traits>& queue) { do_remove_timer_queue(queue); } template <typename Time_Traits> -void win_iocp_io_service::schedule_timer(timer_queue<Time_Traits>& queue, +void win_iocp_io_context::schedule_timer(timer_queue<Time_Traits>& queue, const typename Time_Traits::time_type& time, typename timer_queue<Time_Traits>::per_timer_data& timer, wait_op* op) { @@ -65,7 +65,7 @@ } template <typename Time_Traits> -std::size_t win_iocp_io_service::cancel_timer(timer_queue<Time_Traits>& queue, +std::size_t win_iocp_io_context::cancel_timer(timer_queue<Time_Traits>& queue, typename timer_queue<Time_Traits>::per_timer_data& timer, std::size_t max_cancelled) { @@ -81,7 +81,7 @@ } template <typename Time_Traits> -void win_iocp_io_service::move_timer(timer_queue<Time_Traits>& queue, +void win_iocp_io_context::move_timer(timer_queue<Time_Traits>& queue, typename timer_queue<Time_Traits>::per_timer_data& to, typename timer_queue<Time_Traits>::per_timer_data& from) { @@ -100,4 +100,4 @@ #endif // defined(ASIO_HAS_IOCP) -#endif // ASIO_DETAIL_IMPL_WIN_IOCP_IO_SERVICE_HPP +#endif // ASIO_DETAIL_IMPL_WIN_IOCP_IO_CONTEXT_HPP
diff --git a/asio/include/asio/detail/impl/win_iocp_io_service.ipp b/asio/include/asio/detail/impl/win_iocp_io_context.ipp similarity index 87% rename from asio/include/asio/detail/impl/win_iocp_io_service.ipp rename to asio/include/asio/detail/impl/win_iocp_io_context.ipp index 92c6722..6d4ef2f 100644 --- a/asio/include/asio/detail/impl/win_iocp_io_service.ipp +++ b/asio/include/asio/detail/impl/win_iocp_io_context.ipp
@@ -1,5 +1,5 @@ // -// detail/impl/win_iocp_io_service.ipp +// detail/impl/win_iocp_io_context.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // // Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) @@ -8,8 +8,8 @@ // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // -#ifndef ASIO_DETAIL_IMPL_WIN_IOCP_IO_SERVICE_IPP -#define ASIO_DETAIL_IMPL_WIN_IOCP_IO_SERVICE_IPP +#ifndef ASIO_DETAIL_IMPL_WIN_IOCP_IO_CONTEXT_IPP +#define ASIO_DETAIL_IMPL_WIN_IOCP_IO_CONTEXT_IPP #if defined(_MSC_VER) && (_MSC_VER >= 1200) # pragma once @@ -25,45 +25,45 @@ #include "asio/detail/handler_invoke_helpers.hpp" #include "asio/detail/limits.hpp" #include "asio/detail/throw_error.hpp" -#include "asio/detail/win_iocp_io_service.hpp" +#include "asio/detail/win_iocp_io_context.hpp" #include "asio/detail/push_options.hpp" namespace asio { namespace detail { -struct win_iocp_io_service::work_finished_on_block_exit +struct win_iocp_io_context::work_finished_on_block_exit { ~work_finished_on_block_exit() { - io_service_->work_finished(); + io_context_->work_finished(); } - win_iocp_io_service* io_service_; + win_iocp_io_context* io_context_; }; -struct win_iocp_io_service::timer_thread_function +struct win_iocp_io_context::timer_thread_function { void operator()() { - while (::InterlockedExchangeAdd(&io_service_->shutdown_, 0) == 0) + while (::InterlockedExchangeAdd(&io_context_->shutdown_, 0) == 0) { - if (::WaitForSingleObject(io_service_->waitable_timer_.handle, + if (::WaitForSingleObject(io_context_->waitable_timer_.handle, INFINITE) == WAIT_OBJECT_0) { - ::InterlockedExchange(&io_service_->dispatch_required_, 1); - ::PostQueuedCompletionStatus(io_service_->iocp_.handle, + ::InterlockedExchange(&io_context_->dispatch_required_, 1); + ::PostQueuedCompletionStatus(io_context_->iocp_.handle, 0, wake_for_dispatch, 0); } } } - win_iocp_io_service* io_service_; + win_iocp_io_context* io_context_; }; -win_iocp_io_service::win_iocp_io_service( +win_iocp_io_context::win_iocp_io_context( asio::execution_context& ctx, size_t concurrency_hint) - : execution_context_service_base<win_iocp_io_service>(ctx), + : execution_context_service_base<win_iocp_io_context>(ctx), iocp_(), outstanding_work_(0), stopped_(0), @@ -86,7 +86,7 @@ } } -void win_iocp_io_service::shutdown_service() +void win_iocp_io_context::shutdown_service() { ::InterlockedExchange(&shutdown_, 1); @@ -130,7 +130,7 @@ timer_thread_->join(); } -asio::error_code win_iocp_io_service::register_handle( +asio::error_code win_iocp_io_context::register_handle( HANDLE handle, asio::error_code& ec) { if (::CreateIoCompletionPort(handle, iocp_.handle, 0, 0) == 0) @@ -146,7 +146,7 @@ return ec; } -size_t win_iocp_io_service::run(asio::error_code& ec) +size_t win_iocp_io_context::run(asio::error_code& ec) { if (::InterlockedExchangeAdd(&outstanding_work_, 0) == 0) { @@ -165,7 +165,7 @@ return n; } -size_t win_iocp_io_service::run_one(asio::error_code& ec) +size_t win_iocp_io_context::run_one(asio::error_code& ec) { if (::InterlockedExchangeAdd(&outstanding_work_, 0) == 0) { @@ -180,7 +180,7 @@ return do_one(true, ec); } -size_t win_iocp_io_service::poll(asio::error_code& ec) +size_t win_iocp_io_context::poll(asio::error_code& ec) { if (::InterlockedExchangeAdd(&outstanding_work_, 0) == 0) { @@ -199,7 +199,7 @@ return n; } -size_t win_iocp_io_service::poll_one(asio::error_code& ec) +size_t win_iocp_io_context::poll_one(asio::error_code& ec) { if (::InterlockedExchangeAdd(&outstanding_work_, 0) == 0) { @@ -214,7 +214,7 @@ return do_one(false, ec); } -void win_iocp_io_service::stop() +void win_iocp_io_context::stop() { if (::InterlockedExchange(&stopped_, 1) == 0) { @@ -231,7 +231,7 @@ } } -void win_iocp_io_service::post_deferred_completion(win_iocp_operation* op) +void win_iocp_io_context::post_deferred_completion(win_iocp_operation* op) { // Flag the operation as ready. op->ready_ = 1; @@ -246,7 +246,7 @@ } } -void win_iocp_io_service::post_deferred_completions( +void win_iocp_io_context::post_deferred_completions( op_queue<win_iocp_operation>& ops) { while (win_iocp_operation* op = ops.front()) @@ -268,7 +268,7 @@ } } -void win_iocp_io_service::abandon_operations( +void win_iocp_io_context::abandon_operations( op_queue<win_iocp_operation>& ops) { while (win_iocp_operation* op = ops.front()) @@ -279,7 +279,7 @@ } } -void win_iocp_io_service::on_pending(win_iocp_operation* op) +void win_iocp_io_context::on_pending(win_iocp_operation* op) { if (::InterlockedCompareExchange(&op->ready_, 1, 0) == 1) { @@ -295,7 +295,7 @@ } } -void win_iocp_io_service::on_completion(win_iocp_operation* op, +void win_iocp_io_context::on_completion(win_iocp_operation* op, DWORD last_error, DWORD bytes_transferred) { // Flag that the operation is ready for invocation. @@ -318,7 +318,7 @@ } } -void win_iocp_io_service::on_completion(win_iocp_operation* op, +void win_iocp_io_context::on_completion(win_iocp_operation* op, const asio::error_code& ec, DWORD bytes_transferred) { // Flag that the operation is ready for invocation. @@ -340,7 +340,7 @@ } } -size_t win_iocp_io_service::do_one(bool block, asio::error_code& ec) +size_t win_iocp_io_context::do_one(bool block, asio::error_code& ec) { for (;;) { @@ -454,7 +454,7 @@ } } -DWORD win_iocp_io_service::get_gqcs_timeout() +DWORD win_iocp_io_context::get_gqcs_timeout() { OSVERSIONINFOEX osvi; ZeroMemory(&osvi, sizeof(osvi)); @@ -470,7 +470,7 @@ return default_gqcs_timeout; } -void win_iocp_io_service::do_add_timer_queue(timer_queue_base& queue) +void win_iocp_io_context::do_add_timer_queue(timer_queue_base& queue) { mutex::scoped_lock lock(dispatch_mutex_); @@ -501,14 +501,14 @@ } } -void win_iocp_io_service::do_remove_timer_queue(timer_queue_base& queue) +void win_iocp_io_context::do_remove_timer_queue(timer_queue_base& queue) { mutex::scoped_lock lock(dispatch_mutex_); timer_queues_.erase(&queue); } -void win_iocp_io_service::update_timeout() +void win_iocp_io_context::update_timeout() { if (timer_thread_.get()) { @@ -534,4 +534,4 @@ #endif // defined(ASIO_HAS_IOCP) -#endif // ASIO_DETAIL_IMPL_WIN_IOCP_IO_SERVICE_IPP +#endif // ASIO_DETAIL_IMPL_WIN_IOCP_IO_CONTEXT_IPP
diff --git a/asio/include/asio/detail/impl/win_iocp_serial_port_service.ipp b/asio/include/asio/detail/impl/win_iocp_serial_port_service.ipp index 43e46f7..03129f4 100644 --- a/asio/include/asio/detail/impl/win_iocp_serial_port_service.ipp +++ b/asio/include/asio/detail/impl/win_iocp_serial_port_service.ipp
@@ -29,8 +29,8 @@ namespace detail { win_iocp_serial_port_service::win_iocp_serial_port_service( - asio::io_service& io_service) - : handle_service_(io_service) + asio::io_context& io_context) + : handle_service_(io_context) { }
diff --git a/asio/include/asio/detail/impl/win_iocp_socket_service_base.ipp b/asio/include/asio/detail/impl/win_iocp_socket_service_base.ipp index df3975a..00b554b 100644 --- a/asio/include/asio/detail/impl/win_iocp_socket_service_base.ipp +++ b/asio/include/asio/detail/impl/win_iocp_socket_service_base.ipp
@@ -27,9 +27,9 @@ namespace detail { win_iocp_socket_service_base::win_iocp_socket_service_base( - asio::io_service& io_service) - : io_service_(io_service), - iocp_service_(use_service<win_iocp_io_service>(io_service)), + asio::io_context& io_context) + : io_context_(io_context), + iocp_service_(use_service<win_iocp_io_context>(io_context)), reactor_(0), connect_ex_(0), mutex_(), @@ -663,7 +663,7 @@ reinterpret_cast<void**>(&reactor_), 0, 0)); if (!r) { - r = &(use_service<select_reactor>(io_service_)); + r = &(use_service<select_reactor>(io_context_)); interlocked_exchange_pointer(reinterpret_cast<void**>(&reactor_), r); } return *r;
diff --git a/asio/include/asio/detail/impl/win_object_handle_service.ipp b/asio/include/asio/detail/impl/win_object_handle_service.ipp index ccf8f75..0caaad4 100644 --- a/asio/include/asio/detail/impl/win_object_handle_service.ipp +++ b/asio/include/asio/detail/impl/win_object_handle_service.ipp
@@ -28,8 +28,8 @@ namespace detail { win_object_handle_service::win_object_handle_service( - asio::io_service& io_service) - : io_service_(asio::use_service<io_service_impl>(io_service)), + asio::io_context& io_context) + : io_context_(asio::use_service<io_context_impl>(io_context)), mutex_(), impl_list_(0), shutdown_(false) @@ -51,7 +51,7 @@ lock.unlock(); - io_service_.abandon_operations(ops); + io_context_.abandon_operations(ops); } void win_object_handle_service::construct( @@ -177,7 +177,7 @@ if (is_open(impl)) { - ASIO_HANDLER_OPERATION((io_service_.context(), "object_handle", + ASIO_HANDLER_OPERATION((io_context_.context(), "object_handle", &impl, reinterpret_cast<uintmax_t>(impl.wait_handle_), "close")); HANDLE wait_handle = impl.wait_handle_; @@ -202,7 +202,7 @@ ::CloseHandle(impl.handle_); impl.handle_ = INVALID_HANDLE_VALUE; - io_service_.post_deferred_completions(ops); + io_context_.post_deferred_completions(ops); } } @@ -227,7 +227,7 @@ { if (is_open(impl)) { - ASIO_HANDLER_OPERATION((io_service_.context(), "object_handle", + ASIO_HANDLER_OPERATION((io_context_.context(), "object_handle", &impl, reinterpret_cast<uintmax_t>(impl.wait_handle_), "close")); mutex::scoped_lock lock(mutex_); @@ -263,7 +263,7 @@ asio::error::get_system_category()); } - io_service_.post_deferred_completions(completed_ops); + io_context_.post_deferred_completions(completed_ops); } else { @@ -279,7 +279,7 @@ { if (is_open(impl)) { - ASIO_HANDLER_OPERATION((io_service_.context(), "object_handle", + ASIO_HANDLER_OPERATION((io_context_.context(), "object_handle", &impl, reinterpret_cast<uintmax_t>(impl.wait_handle_), "cancel")); mutex::scoped_lock lock(mutex_); @@ -305,7 +305,7 @@ ec = asio::error_code(); - io_service_.post_deferred_completions(completed_ops); + io_context_.post_deferred_completions(completed_ops); } else { @@ -339,7 +339,7 @@ void win_object_handle_service::start_wait_op( win_object_handle_service::implementation_type& impl, wait_op* op) { - io_service_.work_started(); + io_context_.work_started(); if (is_open(impl)) { @@ -357,13 +357,13 @@ else { lock.unlock(); - io_service_.post_deferred_completion(op); + io_context_.post_deferred_completion(op); } } else { op->ec_ = asio::error::bad_descriptor; - io_service_.post_deferred_completion(op); + io_context_.post_deferred_completion(op); } } @@ -390,7 +390,7 @@ } lock.unlock(); - io_service_.post_deferred_completions(completed_ops); + io_context_.post_deferred_completions(completed_ops); } } @@ -432,9 +432,9 @@ } } - io_service_impl& ios = impl->owner_->io_service_; + io_context_impl& ioc = impl->owner_->io_context_; lock.unlock(); - ios.post_deferred_completions(completed_ops); + ioc.post_deferred_completions(completed_ops); } }
diff --git a/asio/include/asio/detail/impl/winrt_ssocket_service_base.ipp b/asio/include/asio/detail/impl/winrt_ssocket_service_base.ipp index 0650700..c6cedea 100644 --- a/asio/include/asio/detail/impl/winrt_ssocket_service_base.ipp +++ b/asio/include/asio/detail/impl/winrt_ssocket_service_base.ipp
@@ -30,9 +30,9 @@ namespace detail { winrt_ssocket_service_base::winrt_ssocket_service_base( - asio::io_service& io_service) - : io_service_(use_service<io_service_impl>(io_service)), - async_manager_(use_service<winrt_async_manager>(io_service)), + asio::io_context& io_context) + : io_context_(use_service<io_context_impl>(io_context)), + async_manager_(use_service<winrt_async_manager>(io_context)), mutex_(), impl_list_(0) { @@ -381,7 +381,7 @@ if (!is_open(impl)) { op->ec_ = asio::error::bad_descriptor; - io_service_.post_immediate_completion(op, is_continuation); + io_context_.post_immediate_completion(op, is_continuation); return; } @@ -410,7 +410,7 @@ if (op->ec_) { - io_service_.post_immediate_completion(op, is_continuation); + io_context_.post_immediate_completion(op, is_continuation); return; } @@ -425,7 +425,7 @@ { op->ec_ = asio::error_code( e->HResult, asio::system_category()); - io_service_.post_immediate_completion(op, is_continuation); + io_context_.post_immediate_completion(op, is_continuation); } } @@ -476,14 +476,14 @@ if (flags) { op->ec_ = asio::error::operation_not_supported; - io_service_.post_immediate_completion(op, is_continuation); + io_context_.post_immediate_completion(op, is_continuation); return; } if (!is_open(impl)) { op->ec_ = asio::error::bad_descriptor; - io_service_.post_immediate_completion(op, is_continuation); + io_context_.post_immediate_completion(op, is_continuation); return; } @@ -494,7 +494,7 @@ if (bufs.all_empty()) { - io_service_.post_immediate_completion(op, is_continuation); + io_context_.post_immediate_completion(op, is_continuation); return; } @@ -505,7 +505,7 @@ { op->ec_ = asio::error_code(e->HResult, asio::system_category()); - io_service_.post_immediate_completion(op, is_continuation); + io_context_.post_immediate_completion(op, is_continuation); } } @@ -567,14 +567,14 @@ if (flags) { op->ec_ = asio::error::operation_not_supported; - io_service_.post_immediate_completion(op, is_continuation); + io_context_.post_immediate_completion(op, is_continuation); return; } if (!is_open(impl)) { op->ec_ = asio::error::bad_descriptor; - io_service_.post_immediate_completion(op, is_continuation); + io_context_.post_immediate_completion(op, is_continuation); return; } @@ -585,7 +585,7 @@ if (bufs.all_empty()) { - io_service_.post_immediate_completion(op, is_continuation); + io_context_.post_immediate_completion(op, is_continuation); return; } @@ -598,7 +598,7 @@ { op->ec_ = asio::error_code(e->HResult, asio::system_category()); - io_service_.post_immediate_completion(op, is_continuation); + io_context_.post_immediate_completion(op, is_continuation); } }
diff --git a/asio/include/asio/detail/impl/winrt_timer_scheduler.hpp b/asio/include/asio/detail/impl/winrt_timer_scheduler.hpp index 1ed26d6..1ec1ccb 100644 --- a/asio/include/asio/detail/impl/winrt_timer_scheduler.hpp +++ b/asio/include/asio/detail/impl/winrt_timer_scheduler.hpp
@@ -46,12 +46,12 @@ if (shutdown_) { - io_service_.post_immediate_completion(op, false); + io_context_.post_immediate_completion(op, false); return; } bool earliest = queue.enqueue_timer(time, timer, op); - io_service_.work_started(); + io_context_.work_started(); if (earliest) event_.signal(lock); } @@ -65,7 +65,7 @@ op_queue<operation> ops; std::size_t n = queue.cancel_timer(timer, ops, max_cancelled); lock.unlock(); - io_service_.post_deferred_completions(ops); + io_context_.post_deferred_completions(ops); return n; }
diff --git a/asio/include/asio/detail/impl/winrt_timer_scheduler.ipp b/asio/include/asio/detail/impl/winrt_timer_scheduler.ipp index 7738917..97eaa7d 100644 --- a/asio/include/asio/detail/impl/winrt_timer_scheduler.ipp +++ b/asio/include/asio/detail/impl/winrt_timer_scheduler.ipp
@@ -28,9 +28,9 @@ namespace detail { winrt_timer_scheduler::winrt_timer_scheduler( - asio::io_service& io_service) - : asio::detail::service_base<winrt_timer_scheduler>(io_service), - io_service_(use_service<io_service_impl>(io_service)), + asio::io_context& io_context) + : asio::detail::service_base<winrt_timer_scheduler>(io_context), + io_context_(use_service<io_context_impl>(io_context)), mutex_(), event_(), timer_queues_(), @@ -64,10 +64,10 @@ op_queue<operation> ops; timer_queues_.get_all_timers(ops); - io_service_.abandon_operations(ops); + io_context_.abandon_operations(ops); } -void winrt_timer_scheduler::fork_service(asio::io_service::fork_event) +void winrt_timer_scheduler::fork_service(asio::io_context::fork_event) { } @@ -89,7 +89,7 @@ if (!ops.empty()) { lock.unlock(); - io_service_.post_deferred_completions(ops); + io_context_.post_deferred_completions(ops); lock.lock(); } }
diff --git a/asio/include/asio/detail/null_socket_service.hpp b/asio/include/asio/detail/null_socket_service.hpp index c991720..706f0a3 100644 --- a/asio/include/asio/detail/null_socket_service.hpp +++ b/asio/include/asio/detail/null_socket_service.hpp
@@ -21,7 +21,7 @@ #include "asio/buffer.hpp" #include "asio/error.hpp" -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #include "asio/socket_base.hpp" #include "asio/detail/bind_handler.hpp" @@ -49,8 +49,8 @@ }; // Constructor. - null_socket_service(asio::io_service& io_service) - : io_service_(io_service) + null_socket_service(asio::io_context& io_context) + : io_context_(io_context) { } @@ -267,7 +267,7 @@ { asio::error_code ec = asio::error::operation_not_supported; const std::size_t bytes_transferred = 0; - io_service_.post(detail::bind_handler(handler, ec, bytes_transferred)); + io_context_.post(detail::bind_handler(handler, ec, bytes_transferred)); } // Start an asynchronous wait until data can be sent without blocking. @@ -277,7 +277,7 @@ { asio::error_code ec = asio::error::operation_not_supported; const std::size_t bytes_transferred = 0; - io_service_.post(detail::bind_handler(handler, ec, bytes_transferred)); + io_context_.post(detail::bind_handler(handler, ec, bytes_transferred)); } // Receive some data from the peer. Returns the number of bytes received. @@ -305,7 +305,7 @@ { asio::error_code ec = asio::error::operation_not_supported; const std::size_t bytes_transferred = 0; - io_service_.post(detail::bind_handler(handler, ec, bytes_transferred)); + io_context_.post(detail::bind_handler(handler, ec, bytes_transferred)); } // Wait until data can be received without blocking. @@ -315,7 +315,7 @@ { asio::error_code ec = asio::error::operation_not_supported; const std::size_t bytes_transferred = 0; - io_service_.post(detail::bind_handler(handler, ec, bytes_transferred)); + io_context_.post(detail::bind_handler(handler, ec, bytes_transferred)); } // Receive some data with associated flags. Returns the number of bytes @@ -347,7 +347,7 @@ { asio::error_code ec = asio::error::operation_not_supported; const std::size_t bytes_transferred = 0; - io_service_.post(detail::bind_handler(handler, ec, bytes_transferred)); + io_context_.post(detail::bind_handler(handler, ec, bytes_transferred)); } // Wait until data can be received without blocking. @@ -358,7 +358,7 @@ { asio::error_code ec = asio::error::operation_not_supported; const std::size_t bytes_transferred = 0; - io_service_.post(detail::bind_handler(handler, ec, bytes_transferred)); + io_context_.post(detail::bind_handler(handler, ec, bytes_transferred)); } // Send a datagram to the specified endpoint. Returns the number of bytes @@ -390,7 +390,7 @@ { asio::error_code ec = asio::error::operation_not_supported; const std::size_t bytes_transferred = 0; - io_service_.post(detail::bind_handler(handler, ec, bytes_transferred)); + io_context_.post(detail::bind_handler(handler, ec, bytes_transferred)); } // Start an asynchronous wait until data can be sent without blocking. @@ -400,7 +400,7 @@ { asio::error_code ec = asio::error::operation_not_supported; const std::size_t bytes_transferred = 0; - io_service_.post(detail::bind_handler(handler, ec, bytes_transferred)); + io_context_.post(detail::bind_handler(handler, ec, bytes_transferred)); } // Receive a datagram with the endpoint of the sender. Returns the number of @@ -433,7 +433,7 @@ { asio::error_code ec = asio::error::operation_not_supported; const std::size_t bytes_transferred = 0; - io_service_.post(detail::bind_handler(handler, ec, bytes_transferred)); + io_context_.post(detail::bind_handler(handler, ec, bytes_transferred)); } // Wait until data can be received without blocking. @@ -444,7 +444,7 @@ { asio::error_code ec = asio::error::operation_not_supported; const std::size_t bytes_transferred = 0; - io_service_.post(detail::bind_handler(handler, ec, bytes_transferred)); + io_context_.post(detail::bind_handler(handler, ec, bytes_transferred)); } // Accept a new connection. @@ -463,7 +463,7 @@ endpoint_type*, Handler& handler) { asio::error_code ec = asio::error::operation_not_supported; - io_service_.post(detail::bind_handler(handler, ec)); + io_context_.post(detail::bind_handler(handler, ec)); } // Connect the socket to the specified endpoint. @@ -480,11 +480,11 @@ const endpoint_type&, Handler& handler) { asio::error_code ec = asio::error::operation_not_supported; - io_service_.post(detail::bind_handler(handler, ec)); + io_context_.post(detail::bind_handler(handler, ec)); } private: - asio::io_service& io_service_; + asio::io_context& io_context_; }; } // namespace detail
diff --git a/asio/include/asio/detail/reactive_descriptor_service.hpp b/asio/include/asio/detail/reactive_descriptor_service.hpp index 6f5c71d..671a1b5 100644 --- a/asio/include/asio/detail/reactive_descriptor_service.hpp +++ b/asio/include/asio/detail/reactive_descriptor_service.hpp
@@ -22,7 +22,7 @@ && !defined(__CYGWIN__) #include "asio/buffer.hpp" -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #include "asio/detail/bind_handler.hpp" #include "asio/detail/buffer_sequence_adapter.hpp" #include "asio/detail/descriptor_ops.hpp" @@ -75,7 +75,7 @@ // Constructor. ASIO_DECL reactive_descriptor_service( - asio::io_service& io_service); + asio::io_context& io_context); // Destroy all user-defined handler objects owned by the service. ASIO_DECL void shutdown_service();
diff --git a/asio/include/asio/detail/reactive_serial_port_service.hpp b/asio/include/asio/detail/reactive_serial_port_service.hpp index efac78e..01a5832 100644 --- a/asio/include/asio/detail/reactive_serial_port_service.hpp +++ b/asio/include/asio/detail/reactive_serial_port_service.hpp
@@ -23,7 +23,7 @@ #include <string> #include "asio/error.hpp" -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #include "asio/serial_port_base.hpp" #include "asio/detail/descriptor_ops.hpp" #include "asio/detail/reactive_descriptor_service.hpp" @@ -44,7 +44,7 @@ typedef reactive_descriptor_service::implementation_type implementation_type; ASIO_DECL reactive_serial_port_service( - asio::io_service& io_service); + asio::io_context& io_context); // Destroy all user-defined handler objects owned by the service. ASIO_DECL void shutdown_service();
diff --git a/asio/include/asio/detail/reactive_socket_accept_op.hpp b/asio/include/asio/detail/reactive_socket_accept_op.hpp index f71954e..fa4e8db 100644 --- a/asio/include/asio/detail/reactive_socket_accept_op.hpp +++ b/asio/include/asio/detail/reactive_socket_accept_op.hpp
@@ -142,10 +142,10 @@ public: ASIO_DEFINE_HANDLER_PTR(reactive_socket_move_accept_op); - reactive_socket_move_accept_op(io_service& ios, socket_type socket, + reactive_socket_move_accept_op(io_context& ioc, socket_type socket, socket_ops::state_type state, const Protocol& protocol, typename Protocol::endpoint* peer_endpoint, Handler& handler) - : Protocol::socket(ios), + : Protocol::socket(ioc), reactive_socket_accept_op_base<typename Protocol::socket, Protocol>( socket, state, *this, protocol, peer_endpoint, &reactive_socket_move_accept_op::do_complete),
diff --git a/asio/include/asio/detail/reactive_socket_service.hpp b/asio/include/asio/detail/reactive_socket_service.hpp index 650a999..7994952 100644 --- a/asio/include/asio/detail/reactive_socket_service.hpp +++ b/asio/include/asio/detail/reactive_socket_service.hpp
@@ -21,7 +21,7 @@ #include "asio/buffer.hpp" #include "asio/error.hpp" -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #include "asio/socket_base.hpp" #include "asio/detail/buffer_sequence_adapter.hpp" #include "asio/detail/memory.hpp" @@ -72,8 +72,8 @@ }; // Constructor. - reactive_socket_service(asio::io_service& io_service) - : reactive_socket_service_base(io_service) + reactive_socket_service(asio::io_context& io_context) + : reactive_socket_service_base(io_context) { } @@ -392,11 +392,11 @@ #if defined(ASIO_HAS_MOVE) // Accept a new connection. typename Protocol::socket accept(implementation_type& impl, - io_service* peer_io_service, endpoint_type* peer_endpoint, + io_context* peer_io_context, endpoint_type* peer_endpoint, asio::error_code& ec) { typename Protocol::socket peer( - peer_io_service ? *peer_io_service : io_service_); + peer_io_context ? *peer_io_context : io_context_); std::size_t addr_len = peer_endpoint ? peer_endpoint->capacity() : 0; socket_holder new_socket(socket_ops::sync_accept(impl.socket_, @@ -444,7 +444,7 @@ // the accept's handler is invoked. template <typename Handler> void async_accept(implementation_type& impl, - asio::io_service* peer_io_service, + asio::io_context* peer_io_context, endpoint_type* peer_endpoint, Handler& handler) { bool is_continuation = @@ -454,7 +454,7 @@ typedef reactive_socket_move_accept_op<Protocol, Handler> op; typename op::ptr p = { asio::detail::addressof(handler), op::ptr::allocate(handler), 0 }; - p.p = new (p.v) op(peer_io_service ? *peer_io_service : io_service_, + p.p = new (p.v) op(peer_io_context ? *peer_io_context : io_context_, impl.socket_, impl.state_, impl.protocol_, peer_endpoint, handler); ASIO_HANDLER_CREATION((reactor_.context(), *p.p, "socket",
diff --git a/asio/include/asio/detail/reactive_socket_service_base.hpp b/asio/include/asio/detail/reactive_socket_service_base.hpp index 92c5525..04d95a2 100644 --- a/asio/include/asio/detail/reactive_socket_service_base.hpp +++ b/asio/include/asio/detail/reactive_socket_service_base.hpp
@@ -22,7 +22,7 @@ #include "asio/buffer.hpp" #include "asio/error.hpp" -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #include "asio/socket_base.hpp" #include "asio/detail/buffer_sequence_adapter.hpp" #include "asio/detail/memory.hpp" @@ -63,7 +63,7 @@ // Constructor. ASIO_DECL reactive_socket_service_base( - asio::io_service& io_service); + asio::io_context& io_context); // Destroy all user-defined handler objects owned by the service. ASIO_DECL void shutdown_service(); @@ -493,8 +493,8 @@ reactor_op* op, bool is_continuation, const socket_addr_type* addr, size_t addrlen); - // The io_service that owns this socket service. - io_service& io_service_; + // The io_context that owns this socket service. + io_context& io_context_; // The selector that performs event demultiplexing for the service. reactor& reactor_;
diff --git a/asio/include/asio/detail/resolve_endpoint_op.hpp b/asio/include/asio/detail/resolve_endpoint_op.hpp index b09c65a..cee29e0 100644 --- a/asio/include/asio/detail/resolve_endpoint_op.hpp +++ b/asio/include/asio/detail/resolve_endpoint_op.hpp
@@ -17,7 +17,7 @@ #include "asio/detail/config.hpp" #include "asio/error.hpp" -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #include "asio/ip/basic_resolver_results.hpp" #include "asio/detail/bind_handler.hpp" #include "asio/detail/fenced_block.hpp" @@ -42,11 +42,11 @@ typedef asio::ip::basic_resolver_results<Protocol> results_type; resolve_endpoint_op(socket_ops::weak_cancel_token_type cancel_token, - const endpoint_type& endpoint, io_service_impl& ios, Handler& handler) + const endpoint_type& endpoint, io_context_impl& ioc, Handler& handler) : operation(&resolve_endpoint_op::do_complete), cancel_token_(cancel_token), endpoint_(endpoint), - io_service_impl_(ios), + io_context_impl_(ioc), handler_(ASIO_MOVE_CAST(Handler)(handler)) { handler_work<Handler>::start(handler_); @@ -61,9 +61,9 @@ ptr p = { asio::detail::addressof(o->handler_), o, o }; handler_work<Handler> w(o->handler_); - if (owner && owner != &o->io_service_impl_) + if (owner && owner != &o->io_context_impl_) { - // The operation is being run on the worker io_service. Time to perform + // The operation is being run on the worker io_context. Time to perform // the resolver operation. // Perform the blocking endpoint resolution operation. @@ -74,13 +74,13 @@ o->endpoint_.protocol().type(), o->ec_); o->results_ = results_type::create(o->endpoint_, host_name, service_name); - // Pass operation back to main io_service for completion. - o->io_service_impl_.post_deferred_completion(o); + // Pass operation back to main io_context for completion. + o->io_context_impl_.post_deferred_completion(o); p.v = p.p = 0; } else { - // The operation has been returned to the main io_service. The completion + // The operation has been returned to the main io_context. The completion // handler is ready to be delivered. ASIO_HANDLER_COMPLETION((*o)); @@ -109,7 +109,7 @@ private: socket_ops::weak_cancel_token_type cancel_token_; endpoint_type endpoint_; - io_service_impl& io_service_impl_; + io_context_impl& io_context_impl_; Handler handler_; asio::error_code ec_; results_type results_;
diff --git a/asio/include/asio/detail/resolve_op.hpp b/asio/include/asio/detail/resolve_op.hpp index 3776499..6751368 100644 --- a/asio/include/asio/detail/resolve_op.hpp +++ b/asio/include/asio/detail/resolve_op.hpp
@@ -17,7 +17,7 @@ #include "asio/detail/config.hpp" #include "asio/error.hpp" -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #include "asio/ip/basic_resolver_query.hpp" #include "asio/ip/basic_resolver_results.hpp" #include "asio/detail/bind_handler.hpp" @@ -43,11 +43,11 @@ typedef asio::ip::basic_resolver_results<Protocol> results_type; resolve_op(socket_ops::weak_cancel_token_type cancel_token, - const query_type& query, io_service_impl& ios, Handler& handler) + const query_type& query, io_context_impl& ioc, Handler& handler) : operation(&resolve_op::do_complete), cancel_token_(cancel_token), query_(query), - io_service_impl_(ios), + io_context_impl_(ioc), handler_(ASIO_MOVE_CAST(Handler)(handler)), addrinfo_(0) { @@ -69,9 +69,9 @@ ptr p = { asio::detail::addressof(o->handler_), o, o }; handler_work<Handler> w(o->handler_); - if (owner && owner != &o->io_service_impl_) + if (owner && owner != &o->io_context_impl_) { - // The operation is being run on the worker io_service. Time to perform + // The operation is being run on the worker io_context. Time to perform // the resolver operation. // Perform the blocking host resolution operation. @@ -79,13 +79,13 @@ o->query_.host_name().c_str(), o->query_.service_name().c_str(), o->query_.hints(), &o->addrinfo_, o->ec_); - // Pass operation back to main io_service for completion. - o->io_service_impl_.post_deferred_completion(o); + // Pass operation back to main io_context for completion. + o->io_context_impl_.post_deferred_completion(o); p.v = p.p = 0; } else { - // The operation has been returned to the main io_service. The completion + // The operation has been returned to the main io_context. The completion // handler is ready to be delivered. ASIO_HANDLER_COMPLETION((*o)); @@ -119,7 +119,7 @@ private: socket_ops::weak_cancel_token_type cancel_token_; query_type query_; - io_service_impl& io_service_impl_; + io_context_impl& io_context_impl_; Handler handler_; asio::error_code ec_; asio::detail::addrinfo_type* addrinfo_;
diff --git a/asio/include/asio/detail/resolver_service.hpp b/asio/include/asio/detail/resolver_service.hpp index d27c1c0..f1fc2b0 100644 --- a/asio/include/asio/detail/resolver_service.hpp +++ b/asio/include/asio/detail/resolver_service.hpp
@@ -49,8 +49,8 @@ typedef asio::ip::basic_resolver_results<Protocol> results_type; // Constructor. - resolver_service(asio::io_service& io_service) - : resolver_service_base(io_service) + resolver_service(asio::io_context& io_context) + : resolver_service_base(io_context) { } @@ -77,9 +77,9 @@ typedef resolve_op<Protocol, Handler> op; typename op::ptr p = { asio::detail::addressof(handler), op::ptr::allocate(handler), 0 }; - p.p = new (p.v) op(impl, query, io_service_impl_, handler); + p.p = new (p.v) op(impl, query, io_context_impl_, handler); - ASIO_HANDLER_CREATION((io_service_impl_.context(), + ASIO_HANDLER_CREATION((io_context_impl_.context(), *p.p, "resolver", &impl, 0, "async_resolve")); start_resolve_op(p.p); @@ -109,9 +109,9 @@ typedef resolve_endpoint_op<Protocol, Handler> op; typename op::ptr p = { asio::detail::addressof(handler), op::ptr::allocate(handler), 0 }; - p.p = new (p.v) op(impl, endpoint, io_service_impl_, handler); + p.p = new (p.v) op(impl, endpoint, io_context_impl_, handler); - ASIO_HANDLER_CREATION((io_service_impl_.context(), + ASIO_HANDLER_CREATION((io_context_impl_.context(), *p.p, "resolver", &impl, 0, "async_resolve")); start_resolve_op(p.p);
diff --git a/asio/include/asio/detail/resolver_service_base.hpp b/asio/include/asio/detail/resolver_service_base.hpp index 221ae91..80ae121 100644 --- a/asio/include/asio/detail/resolver_service_base.hpp +++ b/asio/include/asio/detail/resolver_service_base.hpp
@@ -17,7 +17,7 @@ #include "asio/detail/config.hpp" #include "asio/error.hpp" -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #include "asio/detail/mutex.hpp" #include "asio/detail/noncopyable.hpp" #include "asio/detail/operation.hpp" @@ -39,7 +39,7 @@ typedef socket_ops::shared_cancel_token_type implementation_type; // Constructor. - ASIO_DECL resolver_service_base(asio::io_service& io_service); + ASIO_DECL resolver_service_base(asio::io_context& io_context); // Destructor. ASIO_DECL ~resolver_service_base(); @@ -49,7 +49,7 @@ // Perform any fork-related housekeeping. ASIO_DECL void fork_service( - asio::io_service::fork_event fork_ev); + asio::io_context::fork_event fork_ev); // Construct a new resolver implementation. ASIO_DECL void construct(implementation_type& impl); @@ -91,29 +91,29 @@ }; #endif // !defined(ASIO_WINDOWS_RUNTIME) - // Helper class to run the work io_service in a thread. - class work_io_service_runner; + // Helper class to run the work io_context in a thread. + class work_io_context_runner; // Start the work thread if it's not already running. ASIO_DECL void start_work_thread(); - // The io_service implementation used to post completions. - io_service_impl& io_service_impl_; + // The io_context implementation used to post completions. + io_context_impl& io_context_impl_; private: // Mutex to protect access to internal data. asio::detail::mutex mutex_; - // Private io_service used for performing asynchronous host resolution. - asio::detail::scoped_ptr<asio::io_service> work_io_service_; + // Private io_context used for performing asynchronous host resolution. + asio::detail::scoped_ptr<asio::io_context> work_io_context_; - // The work io_service implementation used to post completions. - io_service_impl& work_io_service_impl_; + // The work io_context implementation used to post completions. + io_context_impl& work_io_context_impl_; - // Work for the private io_service to perform. - asio::detail::scoped_ptr<asio::io_service::work> work_; + // Work for the private io_context to perform. + asio::detail::scoped_ptr<asio::io_context::work> work_; - // Thread used for running the work io_service's run loop. + // Thread used for running the work io_context's run loop. asio::detail::scoped_ptr<asio::detail::thread> work_thread_; };
diff --git a/asio/include/asio/detail/select_reactor.hpp b/asio/include/asio/detail/select_reactor.hpp index 183db2b..3021775 100644 --- a/asio/include/asio/detail/select_reactor.hpp +++ b/asio/include/asio/detail/select_reactor.hpp
@@ -175,7 +175,7 @@ // The scheduler implementation used to post completions. # if defined(ASIO_HAS_IOCP) - typedef class win_iocp_io_service scheduler_type; + typedef class win_iocp_io_context scheduler_type; # else // defined(ASIO_HAS_IOCP) typedef class scheduler scheduler_type; # endif // defined(ASIO_HAS_IOCP)
diff --git a/asio/include/asio/detail/service_registry.hpp b/asio/include/asio/detail/service_registry.hpp index 1bf7233..77af51b 100644 --- a/asio/include/asio/detail/service_registry.hpp +++ b/asio/include/asio/detail/service_registry.hpp
@@ -25,7 +25,7 @@ namespace asio { -class io_service; +class io_context; namespace detail { @@ -61,9 +61,9 @@ // create a new service object automatically if no such object already // exists. Ownership of the service object is not transferred to the caller. // This overload is used for backwards compatibility with services that - // inherit from io_service::service. + // inherit from io_context::service. template <typename Service> - Service& use_service(io_service& owner); + Service& use_service(io_context& owner); // Add a service object. Throws on error, in which case ownership of the // object is retained by the caller.
diff --git a/asio/include/asio/detail/signal_set_service.hpp b/asio/include/asio/detail/signal_set_service.hpp index b726dba..d25d474 100644 --- a/asio/include/asio/detail/signal_set_service.hpp +++ b/asio/include/asio/detail/signal_set_service.hpp
@@ -20,7 +20,7 @@ #include <cstddef> #include <signal.h> #include "asio/error.hpp" -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #include "asio/detail/handler_alloc_helpers.hpp" #include "asio/detail/memory.hpp" #include "asio/detail/op_queue.hpp" @@ -108,7 +108,7 @@ }; // Constructor. - ASIO_DECL signal_set_service(asio::io_service& io_service); + ASIO_DECL signal_set_service(asio::io_context& io_context); // Destructor. ASIO_DECL ~signal_set_service(); @@ -118,7 +118,7 @@ // Perform fork-related housekeeping. ASIO_DECL void fork_service( - asio::io_service::fork_event fork_ev); + asio::io_context::fork_event fork_ev); // Construct a new signal_set implementation. ASIO_DECL void construct(implementation_type& impl); @@ -152,7 +152,7 @@ op::ptr::allocate(handler), 0 }; p.p = new (p.v) op(handler); - ASIO_HANDLER_CREATION((io_service_.context(), + ASIO_HANDLER_CREATION((io_context_.context(), *p.p, "signal_set", &impl, 0, "async_wait")); start_wait_op(impl, p.p); @@ -178,8 +178,8 @@ // Helper function to start a wait operation. ASIO_DECL void start_wait_op(implementation_type& impl, signal_op* op); - // The io_service instance used for dispatching handlers. - io_service_impl& io_service_; + // The io_context instance used for dispatching handlers. + io_context_impl& io_context_; #if !defined(ASIO_WINDOWS) \ && !defined(ASIO_WINDOWS_RUNTIME) \
diff --git a/asio/include/asio/detail/strand_service.hpp b/asio/include/asio/detail/strand_service.hpp index 7b4bc8a..84ec68a 100644 --- a/asio/include/asio/detail/strand_service.hpp +++ b/asio/include/asio/detail/strand_service.hpp
@@ -16,7 +16,7 @@ #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) #include "asio/detail/config.hpp" -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #include "asio/detail/mutex.hpp" #include "asio/detail/op_queue.hpp" #include "asio/detail/operation.hpp" @@ -74,8 +74,8 @@ typedef strand_impl* implementation_type; - // Construct a new strand service for the specified io_service. - ASIO_DECL explicit strand_service(asio::io_service& io_service); + // Construct a new strand service for the specified io_context. + ASIO_DECL explicit strand_service(asio::io_context& io_context); // Destroy all user-defined handler objects owned by the service. ASIO_DECL void shutdown_service(); @@ -83,11 +83,11 @@ // Construct a new strand implementation. ASIO_DECL void construct(implementation_type& impl); - // Request the io_service to invoke the given handler. + // Request the io_context to invoke the given handler. template <typename Handler> void dispatch(implementation_type& impl, Handler& handler); - // Request the io_service to invoke the given handler and return immediately. + // Request the io_context to invoke the given handler and return immediately. template <typename Handler> void post(implementation_type& impl, Handler& handler); @@ -108,8 +108,8 @@ operation* base, const asio::error_code& ec, std::size_t bytes_transferred); - // The io_service implementation used to post completions. - io_service_impl& io_service_; + // The io_context implementation used to post completions. + io_context_impl& io_context_; // Mutex to protect access to the array of implementations. asio::detail::mutex mutex_;
diff --git a/asio/include/asio/detail/thread_context.hpp b/asio/include/asio/detail/thread_context.hpp index 0cbf343..9ad6034 100644 --- a/asio/include/asio/detail/thread_context.hpp +++ b/asio/include/asio/detail/thread_context.hpp
@@ -26,7 +26,7 @@ class thread_info_base; -// Base class for things that manage threads (scheduler, win_iocp_io_service). +// Base class for things that manage threads (scheduler, win_iocp_io_context). class thread_context { public:
diff --git a/asio/include/asio/detail/timer_scheduler.hpp b/asio/include/asio/detail/timer_scheduler.hpp index 34f8259..3e6a65e 100644 --- a/asio/include/asio/detail/timer_scheduler.hpp +++ b/asio/include/asio/detail/timer_scheduler.hpp
@@ -21,7 +21,7 @@ #if defined(ASIO_WINDOWS_RUNTIME) # include "asio/detail/winrt_timer_scheduler.hpp" #elif defined(ASIO_HAS_IOCP) -# include "asio/detail/win_iocp_io_service.hpp" +# include "asio/detail/win_iocp_io_context.hpp" #elif defined(ASIO_HAS_EPOLL) # include "asio/detail/epoll_reactor.hpp" #elif defined(ASIO_HAS_KQUEUE)
diff --git a/asio/include/asio/detail/timer_scheduler_fwd.hpp b/asio/include/asio/detail/timer_scheduler_fwd.hpp index 69b0586..897c3cf 100644 --- a/asio/include/asio/detail/timer_scheduler_fwd.hpp +++ b/asio/include/asio/detail/timer_scheduler_fwd.hpp
@@ -23,7 +23,7 @@ #if defined(ASIO_WINDOWS_RUNTIME) typedef class winrt_timer_scheduler timer_scheduler; #elif defined(ASIO_HAS_IOCP) -typedef class win_iocp_io_service timer_scheduler; +typedef class win_iocp_io_context timer_scheduler; #elif defined(ASIO_HAS_EPOLL) typedef class epoll_reactor timer_scheduler; #elif defined(ASIO_HAS_KQUEUE)
diff --git a/asio/include/asio/detail/wait_handler.hpp b/asio/include/asio/detail/wait_handler.hpp index 0eb4eb7..7cda774 100644 --- a/asio/include/asio/detail/wait_handler.hpp +++ b/asio/include/asio/detail/wait_handler.hpp
@@ -21,7 +21,7 @@ #include "asio/detail/handler_invoke_helpers.hpp" #include "asio/detail/memory.hpp" #include "asio/detail/wait_op.hpp" -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #include "asio/detail/push_options.hpp"
diff --git a/asio/include/asio/detail/win_iocp_handle_service.hpp b/asio/include/asio/detail/win_iocp_handle_service.hpp index d052e18..4b8257c 100644 --- a/asio/include/asio/detail/win_iocp_handle_service.hpp +++ b/asio/include/asio/detail/win_iocp_handle_service.hpp
@@ -21,7 +21,7 @@ #if defined(ASIO_HAS_IOCP) #include "asio/error.hpp" -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #include "asio/detail/buffer_sequence_adapter.hpp" #include "asio/detail/cstdint.hpp" #include "asio/detail/handler_alloc_helpers.hpp" @@ -30,7 +30,7 @@ #include "asio/detail/operation.hpp" #include "asio/detail/win_iocp_handle_read_op.hpp" #include "asio/detail/win_iocp_handle_write_op.hpp" -#include "asio/detail/win_iocp_io_service.hpp" +#include "asio/detail/win_iocp_io_context.hpp" #include "asio/detail/push_options.hpp" @@ -74,7 +74,7 @@ implementation_type* prev_; }; - ASIO_DECL win_iocp_handle_service(asio::io_service& io_service); + ASIO_DECL win_iocp_handle_service(asio::io_context& io_context); // Destroy all user-defined handler objects owned by the service. ASIO_DECL void shutdown_service(); @@ -299,7 +299,7 @@ // The IOCP service used for running asynchronous operations and dispatching // handlers. - win_iocp_io_service& iocp_service_; + win_iocp_io_context& iocp_service_; // Mutex to protect access to the linked list of implementations. mutex mutex_;
diff --git a/asio/include/asio/detail/win_iocp_io_service.hpp b/asio/include/asio/detail/win_iocp_io_context.hpp similarity index 95% rename from asio/include/asio/detail/win_iocp_io_service.hpp rename to asio/include/asio/detail/win_iocp_io_context.hpp index cb69623..6f151cb 100644 --- a/asio/include/asio/detail/win_iocp_io_service.hpp +++ b/asio/include/asio/detail/win_iocp_io_context.hpp
@@ -1,5 +1,5 @@ // -// detail/win_iocp_io_service.hpp +// detail/win_iocp_io_context.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // // Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) @@ -8,8 +8,8 @@ // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // -#ifndef ASIO_DETAIL_WIN_IOCP_IO_SERVICE_HPP -#define ASIO_DETAIL_WIN_IOCP_IO_SERVICE_HPP +#ifndef ASIO_DETAIL_WIN_IOCP_IO_CONTEXT_HPP +#define ASIO_DETAIL_WIN_IOCP_IO_CONTEXT_HPP #if defined(_MSC_VER) && (_MSC_VER >= 1200) # pragma once @@ -40,14 +40,14 @@ class wait_op; -class win_iocp_io_service - : public execution_context_service_base<win_iocp_io_service>, +class win_iocp_io_context + : public execution_context_service_base<win_iocp_io_context>, public thread_context { public: // Constructor. Specifies a concurrency hint that is passed through to the // underlying I/O completion port. - ASIO_DECL win_iocp_io_service(asio::execution_context& ctx, + ASIO_DECL win_iocp_io_context(asio::execution_context& ctx, size_t concurrency_hint = 0); // Destroy all user-defined handler objects owned by the service. @@ -77,7 +77,7 @@ // Stop the event processing loop. ASIO_DECL void stop(); - // Determine whether the io_service is stopped. + // Determine whether the io_context is stopped. bool stopped() const { return ::InterlockedExchangeAdd(&stopped_, 0) != 0; @@ -306,11 +306,11 @@ #include "asio/detail/pop_options.hpp" -#include "asio/detail/impl/win_iocp_io_service.hpp" +#include "asio/detail/impl/win_iocp_io_context.hpp" #if defined(ASIO_HEADER_ONLY) -# include "asio/detail/impl/win_iocp_io_service.ipp" +# include "asio/detail/impl/win_iocp_io_context.ipp" #endif // defined(ASIO_HEADER_ONLY) #endif // defined(ASIO_HAS_IOCP) -#endif // ASIO_DETAIL_WIN_IOCP_IO_SERVICE_HPP +#endif // ASIO_DETAIL_WIN_IOCP_IO_CONTEXT_HPP
diff --git a/asio/include/asio/detail/win_iocp_operation.hpp b/asio/include/asio/detail/win_iocp_operation.hpp index 95a6877..8d9ffd3 100644 --- a/asio/include/asio/detail/win_iocp_operation.hpp +++ b/asio/include/asio/detail/win_iocp_operation.hpp
@@ -29,7 +29,7 @@ namespace asio { namespace detail { -class win_iocp_io_service; +class win_iocp_io_context; // Base class for all operations. A function pointer is used instead of virtual // functions to avoid the associated overhead. @@ -80,7 +80,7 @@ private: friend class op_queue_access; - friend class win_iocp_io_service; + friend class win_iocp_io_context; win_iocp_operation* next_; func_type func_; long ready_;
diff --git a/asio/include/asio/detail/win_iocp_overlapped_ptr.hpp b/asio/include/asio/detail/win_iocp_overlapped_ptr.hpp index 9bd4799..62c3a72 100644 --- a/asio/include/asio/detail/win_iocp_overlapped_ptr.hpp +++ b/asio/include/asio/detail/win_iocp_overlapped_ptr.hpp
@@ -19,12 +19,12 @@ #if defined(ASIO_HAS_IOCP) -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #include "asio/detail/handler_alloc_helpers.hpp" #include "asio/detail/memory.hpp" #include "asio/detail/noncopyable.hpp" #include "asio/detail/win_iocp_overlapped_op.hpp" -#include "asio/detail/win_iocp_io_service.hpp" +#include "asio/detail/win_iocp_io_context.hpp" #include "asio/detail/push_options.hpp" @@ -46,11 +46,11 @@ // Construct an win_iocp_overlapped_ptr to contain the specified handler. template <typename Handler> explicit win_iocp_overlapped_ptr( - asio::io_service& io_service, ASIO_MOVE_ARG(Handler) handler) + asio::io_context& io_context, ASIO_MOVE_ARG(Handler) handler) : ptr_(0), iocp_service_(0) { - this->reset(io_service, ASIO_MOVE_CAST(Handler)(handler)); + this->reset(io_context, ASIO_MOVE_CAST(Handler)(handler)); } // Destructor automatically frees the OVERLAPPED object unless released. @@ -74,21 +74,21 @@ // Reset to contain the specified handler, freeing any current OVERLAPPED // object. template <typename Handler> - void reset(asio::io_service& io_service, Handler handler) + void reset(asio::io_context& io_context, Handler handler) { typedef win_iocp_overlapped_op<Handler> op; typename op::ptr p = { asio::detail::addressof(handler), op::ptr::allocate(handler), 0 }; p.p = new (p.v) op(handler); - ASIO_HANDLER_CREATION((io_service, *p.p, - "io_service", &io_service.impl_, 0, "overlapped")); + ASIO_HANDLER_CREATION((io_context, *p.p, + "io_context", &io_context.impl_, 0, "overlapped")); - io_service.impl_.work_started(); + io_context.impl_.work_started(); reset(); ptr_ = p.p; p.v = p.p = 0; - iocp_service_ = &io_service.impl_; + iocp_service_ = &io_context.impl_; } // Get the contained OVERLAPPED object. @@ -130,7 +130,7 @@ private: win_iocp_operation* ptr_; - win_iocp_io_service* iocp_service_; + win_iocp_io_context* iocp_service_; }; } // namespace detail
diff --git a/asio/include/asio/detail/win_iocp_serial_port_service.hpp b/asio/include/asio/detail/win_iocp_serial_port_service.hpp index 2bfdcc5..b3969ad 100644 --- a/asio/include/asio/detail/win_iocp_serial_port_service.hpp +++ b/asio/include/asio/detail/win_iocp_serial_port_service.hpp
@@ -22,7 +22,7 @@ #include <string> #include "asio/error.hpp" -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #include "asio/detail/win_iocp_handle_service.hpp" #include "asio/detail/push_options.hpp" @@ -42,7 +42,7 @@ // Constructor. ASIO_DECL win_iocp_serial_port_service( - asio::io_service& io_service); + asio::io_context& io_context); // Destroy all user-defined handler objects owned by the service. ASIO_DECL void shutdown_service();
diff --git a/asio/include/asio/detail/win_iocp_socket_accept_op.hpp b/asio/include/asio/detail/win_iocp_socket_accept_op.hpp index 1820a0f..d8e2929 100644 --- a/asio/include/asio/detail/win_iocp_socket_accept_op.hpp +++ b/asio/include/asio/detail/win_iocp_socket_accept_op.hpp
@@ -167,13 +167,13 @@ win_iocp_socket_move_accept_op( win_iocp_socket_service_base& socket_service, socket_type socket, - const Protocol& protocol, asio::io_service& peer_io_service, + const Protocol& protocol, asio::io_context& peer_io_context, typename Protocol::endpoint* peer_endpoint, bool enable_connection_aborted, Handler& handler) : operation(&win_iocp_socket_move_accept_op::do_complete), socket_service_(socket_service), socket_(socket), - peer_(peer_io_service), + peer_(peer_io_context), protocol_(protocol), peer_endpoint_(peer_endpoint), enable_connection_aborted_(enable_connection_aborted),
diff --git a/asio/include/asio/detail/win_iocp_socket_service.hpp b/asio/include/asio/detail/win_iocp_socket_service.hpp index bd485b3..1fdd98c 100644 --- a/asio/include/asio/detail/win_iocp_socket_service.hpp +++ b/asio/include/asio/detail/win_iocp_socket_service.hpp
@@ -21,7 +21,7 @@ #include <cstring> #include "asio/error.hpp" -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #include "asio/socket_base.hpp" #include "asio/detail/bind_handler.hpp" #include "asio/detail/buffer_sequence_adapter.hpp" @@ -36,7 +36,7 @@ #include "asio/detail/socket_holder.hpp" #include "asio/detail/socket_ops.hpp" #include "asio/detail/socket_types.hpp" -#include "asio/detail/win_iocp_io_service.hpp" +#include "asio/detail/win_iocp_io_context.hpp" #include "asio/detail/win_iocp_null_buffers_op.hpp" #include "asio/detail/win_iocp_socket_accept_op.hpp" #include "asio/detail/win_iocp_socket_connect_op.hpp" @@ -127,8 +127,8 @@ }; // Constructor. - win_iocp_socket_service(asio::io_service& io_service) - : win_iocp_socket_service_base(io_service) + win_iocp_socket_service(asio::io_context& io_context) + : win_iocp_socket_service_base(io_context) { } @@ -316,7 +316,7 @@ op::ptr::allocate(handler), 0 }; p.p = new (p.v) op(impl.cancel_token_, buffers, handler); - ASIO_HANDLER_CREATION((io_service_, *p.p, "socket", + ASIO_HANDLER_CREATION((io_context_, *p.p, "socket", &impl, impl.socket_, "async_send_to")); buffer_sequence_adapter<asio::const_buffer, @@ -339,7 +339,7 @@ op::ptr::allocate(handler), 0 }; p.p = new (p.v) op(impl.cancel_token_, handler); - ASIO_HANDLER_CREATION((io_service_, *p.p, "socket", + ASIO_HANDLER_CREATION((io_context_, *p.p, "socket", &impl, impl.socket_, "async_send_to(null_buffers)")); start_reactor_op(impl, select_reactor::write_op, p.p); @@ -397,7 +397,7 @@ op::ptr::allocate(handler), 0 }; p.p = new (p.v) op(sender_endp, impl.cancel_token_, buffers, handler); - ASIO_HANDLER_CREATION((io_service_, *p.p, "socket", + ASIO_HANDLER_CREATION((io_context_, *p.p, "socket", &impl, impl.socket_, "async_receive_from")); buffer_sequence_adapter<asio::mutable_buffer, @@ -420,7 +420,7 @@ op::ptr::allocate(handler), 0 }; p.p = new (p.v) op(impl.cancel_token_, handler); - ASIO_HANDLER_CREATION((io_service_, *p.p, "socket", + ASIO_HANDLER_CREATION((io_context_, *p.p, "socket", &impl, impl.socket_, "async_receive_from(null_buffers)")); // Reset endpoint since it can be given no sensible value at this time. @@ -462,11 +462,11 @@ #if defined(ASIO_HAS_MOVE) // Accept a new connection. typename Protocol::socket accept(implementation_type& impl, - io_service* peer_io_service, endpoint_type* peer_endpoint, + io_context* peer_io_context, endpoint_type* peer_endpoint, asio::error_code& ec) { typename Protocol::socket peer( - peer_io_service ? *peer_io_service : io_service_); + peer_io_context ? *peer_io_context : io_context_); std::size_t addr_len = peer_endpoint ? peer_endpoint->capacity() : 0; socket_holder new_socket(socket_ops::sync_accept(impl.socket_, @@ -501,7 +501,7 @@ p.p = new (p.v) op(*this, impl.socket_, peer, impl.protocol_, peer_endpoint, enable_connection_aborted, handler); - ASIO_HANDLER_CREATION((io_service_, *p.p, "socket", + ASIO_HANDLER_CREATION((io_context_, *p.p, "socket", &impl, impl.socket_, "async_accept")); start_accept_op(impl, peer.is_open(), p.p->new_socket(), @@ -516,7 +516,7 @@ // must be valid until the accept's handler is invoked. template <typename Handler> void async_accept(implementation_type& impl, - asio::io_service* peer_io_service, + asio::io_context* peer_io_context, endpoint_type* peer_endpoint, Handler& handler) { // Allocate and construct an operation to wrap the handler. @@ -526,10 +526,10 @@ bool enable_connection_aborted = (impl.state_ & socket_ops::enable_connection_aborted) != 0; p.p = new (p.v) op(*this, impl.socket_, impl.protocol_, - peer_io_service ? *peer_io_service : io_service_, + peer_io_context ? *peer_io_context : io_context_, peer_endpoint, enable_connection_aborted, handler); - ASIO_HANDLER_CREATION((io_service_, *p.p, "socket", + ASIO_HANDLER_CREATION((io_context_, *p.p, "socket", &impl, impl.socket_, "async_accept")); start_accept_op(impl, false, p.p->new_socket(), @@ -560,7 +560,7 @@ op::ptr::allocate(handler), 0 }; p.p = new (p.v) op(impl.socket_, handler); - ASIO_HANDLER_CREATION((io_service_, *p.p, "socket", + ASIO_HANDLER_CREATION((io_context_, *p.p, "socket", &impl, impl.socket_, "async_connect")); start_connect_op(impl, impl.protocol_.family(), impl.protocol_.type(),
diff --git a/asio/include/asio/detail/win_iocp_socket_service_base.hpp b/asio/include/asio/detail/win_iocp_socket_service_base.hpp index 8e12a47..471f097 100644 --- a/asio/include/asio/detail/win_iocp_socket_service_base.hpp +++ b/asio/include/asio/detail/win_iocp_socket_service_base.hpp
@@ -20,7 +20,7 @@ #if defined(ASIO_HAS_IOCP) #include "asio/error.hpp" -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #include "asio/socket_base.hpp" #include "asio/detail/bind_handler.hpp" #include "asio/detail/buffer_sequence_adapter.hpp" @@ -35,7 +35,7 @@ #include "asio/detail/socket_holder.hpp" #include "asio/detail/socket_ops.hpp" #include "asio/detail/socket_types.hpp" -#include "asio/detail/win_iocp_io_service.hpp" +#include "asio/detail/win_iocp_io_context.hpp" #include "asio/detail/win_iocp_null_buffers_op.hpp" #include "asio/detail/win_iocp_socket_connect_op.hpp" #include "asio/detail/win_iocp_socket_send_op.hpp" @@ -86,7 +86,7 @@ // Constructor. ASIO_DECL win_iocp_socket_service_base( - asio::io_service& io_service); + asio::io_context& io_context); // Destroy all user-defined handler objects owned by the service. ASIO_DECL void shutdown_service(); @@ -227,7 +227,7 @@ op::ptr::allocate(handler), 0 }; p.p = new (p.v) op(impl.cancel_token_, handler); - ASIO_HANDLER_CREATION((io_service_, *p.p, "socket", + ASIO_HANDLER_CREATION((io_context_, *p.p, "socket", &impl, impl.socket_, "async_wait")); switch (w) @@ -286,7 +286,7 @@ op::ptr::allocate(handler), 0 }; p.p = new (p.v) op(impl.cancel_token_, buffers, handler); - ASIO_HANDLER_CREATION((io_service_, *p.p, "socket", + ASIO_HANDLER_CREATION((io_context_, *p.p, "socket", &impl, impl.socket_, "async_send")); buffer_sequence_adapter<asio::const_buffer, @@ -309,7 +309,7 @@ op::ptr::allocate(handler), 0 }; p.p = new (p.v) op(impl.cancel_token_, handler); - ASIO_HANDLER_CREATION((io_service_, *p.p, "socket", + ASIO_HANDLER_CREATION((io_context_, *p.p, "socket", &impl, impl.socket_, "async_send(null_buffers)")); start_reactor_op(impl, select_reactor::write_op, p.p); @@ -352,7 +352,7 @@ op::ptr::allocate(handler), 0 }; p.p = new (p.v) op(impl.state_, impl.cancel_token_, buffers, handler); - ASIO_HANDLER_CREATION((io_service_, *p.p, "socket", + ASIO_HANDLER_CREATION((io_context_, *p.p, "socket", &impl, impl.socket_, "async_receive")); buffer_sequence_adapter<asio::mutable_buffer, @@ -375,7 +375,7 @@ op::ptr::allocate(handler), 0 }; p.p = new (p.v) op(impl.cancel_token_, handler); - ASIO_HANDLER_CREATION((io_service_, *p.p, "socket", + ASIO_HANDLER_CREATION((io_context_, *p.p, "socket", &impl, impl.socket_, "async_receive(null_buffers)")); start_null_buffers_receive_op(impl, flags, p.p); @@ -425,7 +425,7 @@ op::ptr::allocate(handler), 0 }; p.p = new (p.v) op(impl.cancel_token_, buffers, out_flags, handler); - ASIO_HANDLER_CREATION((io_service_, *p.p, "socket", + ASIO_HANDLER_CREATION((io_context_, *p.p, "socket", &impl, impl.socket_, "async_receive_with_flags")); buffer_sequence_adapter<asio::mutable_buffer, @@ -447,7 +447,7 @@ op::ptr::allocate(handler), 0 }; p.p = new (p.v) op(impl.cancel_token_, handler); - ASIO_HANDLER_CREATION((io_service_, *p.p, "socket", + ASIO_HANDLER_CREATION((io_context_, *p.p, "socket", &impl, impl.socket_, "async_receive_with_flags(null_buffers)")); // Reset out_flags since it can be given no sensible value at this time. @@ -522,7 +522,7 @@ base_implementation_type& impl); // Helper function to get the reactor. If no reactor has been created yet, a - // new one is obtained from the io_service and a pointer to it is cached in + // new one is obtained from the io_context and a pointer to it is cached in // this service. ASIO_DECL select_reactor& get_reactor(); @@ -548,12 +548,12 @@ // - platform SDKs where MSVC's /Wp64 option causes spurious warnings. ASIO_DECL void* interlocked_exchange_pointer(void** dest, void* val); - // The io_service used to obtain the reactor, if required. - asio::io_service& io_service_; + // The io_context used to obtain the reactor, if required. + asio::io_context& io_context_; // The IOCP service used for running asynchronous operations and dispatching // handlers. - win_iocp_io_service& iocp_service_; + win_iocp_io_context& iocp_service_; // The reactor used for performing connect operations. This object is created // only if needed.
diff --git a/asio/include/asio/detail/win_object_handle_service.hpp b/asio/include/asio/detail/win_object_handle_service.hpp index 0caf527..4236d9c 100644 --- a/asio/include/asio/detail/win_object_handle_service.hpp +++ b/asio/include/asio/detail/win_object_handle_service.hpp
@@ -24,7 +24,7 @@ #include "asio/detail/memory.hpp" #include "asio/detail/wait_handler.hpp" #include "asio/error.hpp" -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #include "asio/detail/push_options.hpp" @@ -79,7 +79,7 @@ // Constructor. ASIO_DECL win_object_handle_service( - asio::io_service& io_service); + asio::io_context& io_context); // Destroy all user-defined handler objects owned by the service. ASIO_DECL void shutdown_service(); @@ -137,7 +137,7 @@ op::ptr::allocate(handler), 0 }; p.p = new (p.v) op(handler); - ASIO_HANDLER_CREATION((io_service_.context(), *p.p, "object_handle", + ASIO_HANDLER_CREATION((io_context_.context(), *p.p, "object_handle", &impl, reinterpret_cast<uintmax_t>(impl.wait_handle_), "async_wait")); start_wait_op(impl, p.p); @@ -156,8 +156,8 @@ static ASIO_DECL VOID CALLBACK wait_callback( PVOID param, BOOLEAN timeout); - // The io_service implementation used to post completions. - io_service_impl& io_service_; + // The io_context implementation used to post completions. + io_context_impl& io_context_; // Mutex to protect access to internal state. mutex mutex_;
diff --git a/asio/include/asio/detail/winrt_async_manager.hpp b/asio/include/asio/detail/winrt_async_manager.hpp index 9799669..89bd27b 100644 --- a/asio/include/asio/detail/winrt_async_manager.hpp +++ b/asio/include/asio/detail/winrt_async_manager.hpp
@@ -23,7 +23,7 @@ #include "asio/detail/atomic_count.hpp" #include "asio/detail/winrt_async_op.hpp" #include "asio/error.hpp" -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #include "asio/detail/push_options.hpp" @@ -35,9 +35,9 @@ { public: // Constructor. - winrt_async_manager(asio::io_service& io_service) - : asio::detail::service_base<winrt_async_manager>(io_service), - io_service_(use_service<io_service_impl>(io_service)), + winrt_async_manager(asio::io_context& io_context) + : asio::detail::service_base<winrt_async_manager>(io_context), + io_context_(use_service<io_context_impl>(io_context)), outstanding_ops_(1) { } @@ -185,12 +185,12 @@ asio::system_category()); break; } - io_service_.post_deferred_completion(handler); + io_context_.post_deferred_completion(handler); if (--outstanding_ops_ == 0) promise_.set_value(); }); - io_service_.work_started(); + io_context_.work_started(); ++outstanding_ops_; action->Completed = on_completed; } @@ -222,12 +222,12 @@ asio::system_category()); break; } - io_service_.post_deferred_completion(handler); + io_context_.post_deferred_completion(handler); if (--outstanding_ops_ == 0) promise_.set_value(); }); - io_service_.work_started(); + io_context_.work_started(); ++outstanding_ops_; operation->Completed = on_completed; } @@ -263,19 +263,19 @@ asio::system_category()); break; } - io_service_.post_deferred_completion(handler); + io_context_.post_deferred_completion(handler); if (--outstanding_ops_ == 0) promise_.set_value(); }); - io_service_.work_started(); + io_context_.work_started(); ++outstanding_ops_; operation->Completed = on_completed; } private: - // The io_service implementation used to post completed handlers. - io_service_impl& io_service_; + // The io_context implementation used to post completed handlers. + io_context_impl& io_context_; // Count of outstanding operations. atomic_count outstanding_ops_;
diff --git a/asio/include/asio/detail/winrt_resolver_service.hpp b/asio/include/asio/detail/winrt_resolver_service.hpp index b8a2308..9649e57 100644 --- a/asio/include/asio/detail/winrt_resolver_service.hpp +++ b/asio/include/asio/detail/winrt_resolver_service.hpp
@@ -52,9 +52,9 @@ typedef asio::ip::basic_resolver_results<Protocol> results_type; // Constructor. - winrt_resolver_service(asio::io_service& io_service) - : io_service_(use_service<io_service_impl>(io_service)), - async_manager_(use_service<winrt_async_manager>(io_service)) + winrt_resolver_service(asio::io_context& io_context) + : io_context_(use_service<io_context_impl>(io_context)), + async_manager_(use_service<winrt_async_manager>(io_context)) { } @@ -69,7 +69,7 @@ } // Perform any fork-related housekeeping. - void fork_service(asio::io_service::fork_event) + void fork_service(asio::io_context::fork_event) { } @@ -129,7 +129,7 @@ op::ptr::allocate(handler), 0 }; p.p = new (p.v) op(query, handler); - ASIO_HANDLER_CREATION((io_service_.context(), + ASIO_HANDLER_CREATION((io_context_.context(), *p.p, "resolver", &impl, 0, "async_resolve")); (void)impl; @@ -145,7 +145,7 @@ { p.p->ec_ = asio::error_code( e->HResult, asio::system_category()); - io_service_.post_immediate_completion(p.p, is_continuation); + io_context_.post_immediate_completion(p.p, is_continuation); p.v = p.p = 0; } } @@ -165,12 +165,12 @@ { asio::error_code ec = asio::error::operation_not_supported; const results_type results; - io_service_.get_io_service().post( + io_context_.get_io_context().post( detail::bind_handler(handler, ec, results)); } private: - io_service_impl& io_service_; + io_context_impl& io_context_; winrt_async_manager& async_manager_; };
diff --git a/asio/include/asio/detail/winrt_ssocket_service.hpp b/asio/include/asio/detail/winrt_ssocket_service.hpp index f539ac7..fb97ea2 100644 --- a/asio/include/asio/detail/winrt_ssocket_service.hpp +++ b/asio/include/asio/detail/winrt_ssocket_service.hpp
@@ -20,7 +20,7 @@ #if defined(ASIO_WINDOWS_RUNTIME) #include "asio/error.hpp" -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #include "asio/detail/memory.hpp" #include "asio/detail/winrt_socket_connect_op.hpp" #include "asio/detail/winrt_ssocket_service_base.hpp" @@ -60,8 +60,8 @@ }; // Constructor. - winrt_ssocket_service(asio::io_service& io_service) - : winrt_ssocket_service_base(io_service) + winrt_ssocket_service(asio::io_context& io_context) + : winrt_ssocket_service_base(io_context) { } @@ -214,7 +214,7 @@ op::ptr::allocate(handler), 0 }; p.p = new (p.v) op(handler); - ASIO_HANDLER_CREATION((io_service_.context(), + ASIO_HANDLER_CREATION((io_context_.context(), *p.p, "socket", &impl, 0, "async_connect")); start_connect_op(impl, peer_endpoint.data(), p.p, is_continuation);
diff --git a/asio/include/asio/detail/winrt_ssocket_service_base.hpp b/asio/include/asio/detail/winrt_ssocket_service_base.hpp index 78017c3..bb901df 100644 --- a/asio/include/asio/detail/winrt_ssocket_service_base.hpp +++ b/asio/include/asio/detail/winrt_ssocket_service_base.hpp
@@ -21,7 +21,7 @@ #include "asio/buffer.hpp" #include "asio/error.hpp" -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #include "asio/socket_base.hpp" #include "asio/detail/buffer_sequence_adapter.hpp" #include "asio/detail/memory.hpp" @@ -62,7 +62,7 @@ // Constructor. ASIO_DECL winrt_ssocket_service_base( - asio::io_service& io_service); + asio::io_context& io_context); // Destroy all user-defined handler objects owned by the service. ASIO_DECL void shutdown_service(); @@ -202,7 +202,7 @@ op::ptr::allocate(handler), 0 }; p.p = new (p.v) op(buffers, handler); - ASIO_HANDLER_CREATION((io_service_.context(), + ASIO_HANDLER_CREATION((io_context_.context(), *p.p, "socket", &impl, 0, "async_send")); start_send_op(impl, @@ -219,7 +219,7 @@ { asio::error_code ec = asio::error::operation_not_supported; const std::size_t bytes_transferred = 0; - io_service_.get_io_service().post( + io_context_.get_io_context().post( detail::bind_handler(handler, ec, bytes_transferred)); } @@ -258,7 +258,7 @@ op::ptr::allocate(handler), 0 }; p.p = new (p.v) op(buffers, handler); - ASIO_HANDLER_CREATION((io_service_.context(), + ASIO_HANDLER_CREATION((io_context_.context(), *p.p, "socket", &impl, 0, "async_receive")); start_receive_op(impl, @@ -275,7 +275,7 @@ { asio::error_code ec = asio::error::operation_not_supported; const std::size_t bytes_transferred = 0; - io_service_.get_io_service().post( + io_context_.get_io_context().post( detail::bind_handler(handler, ec, bytes_transferred)); } @@ -328,8 +328,8 @@ winrt_async_op<Windows::Storage::Streams::IBuffer^>* op, bool is_continuation); - // The io_service implementation used for delivering completions. - io_service_impl& io_service_; + // The io_context implementation used for delivering completions. + io_context_impl& io_context_; // The manager that keeps track of outstanding operations. winrt_async_manager& async_manager_;
diff --git a/asio/include/asio/detail/winrt_timer_scheduler.hpp b/asio/include/asio/detail/winrt_timer_scheduler.hpp index 4c2d5b9..f439e1a 100644 --- a/asio/include/asio/detail/winrt_timer_scheduler.hpp +++ b/asio/include/asio/detail/winrt_timer_scheduler.hpp
@@ -28,7 +28,7 @@ #include "asio/detail/timer_queue_base.hpp" #include "asio/detail/timer_queue_set.hpp" #include "asio/detail/wait_op.hpp" -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #if defined(ASIO_HAS_IOCP) # include "asio/detail/thread.hpp" @@ -44,7 +44,7 @@ { public: // Constructor. - ASIO_DECL winrt_timer_scheduler(asio::io_service& io_service); + ASIO_DECL winrt_timer_scheduler(asio::io_context& io_context); // Destructor. ASIO_DECL ~winrt_timer_scheduler(); @@ -54,7 +54,7 @@ // Recreate internal descriptors following a fork. ASIO_DECL void fork_service( - asio::io_service::fork_event fork_ev); + asio::io_context::fork_event fork_ev); // Initialise the task. No effect as this class uses its own thread. ASIO_DECL void init_task(); @@ -100,8 +100,8 @@ // Helper function to remove a timer queue. ASIO_DECL void do_remove_timer_queue(timer_queue_base& queue); - // The io_service implementation used to post completions. - io_service_impl& io_service_; + // The io_context implementation used to post completions. + io_context_impl& io_context_; // Mutex used to protect internal variables. asio::detail::mutex mutex_;
diff --git a/asio/include/asio/execution_context.hpp b/asio/include/asio/execution_context.hpp index 4d7d98e..5d42839 100644 --- a/asio/include/asio/execution_context.hpp +++ b/asio/include/asio/execution_context.hpp
@@ -27,11 +27,11 @@ namespace asio { class execution_context; -class io_service; +class io_context; #if !defined(GENERATING_DOCUMENTATION) template <typename Service> Service& use_service(execution_context&); -template <typename Service> Service& use_service(io_service&); +template <typename Service> Service& use_service(io_context&); template <typename Service> void add_service(execution_context&, Service*); template <typename Service> bool has_service(execution_context&); #endif // !defined(ASIO_NO_DEPRECATED) @@ -41,7 +41,7 @@ /// A context for function object execution. /** * An execution context represents a place where function objects will be - * executed. An @c io_service is an example of an execution context. + * executed. An @c io_context is an example of an execution context. * * @par The execution_context class and services * @@ -79,7 +79,7 @@ * @par The execution_context as a base class * * Class execution_context may be used only as a base class for concrete - * execution context types. The @c io_service is an example of such a derived + * execution context types. The @c io_context is an example of such a derived * type. * * On destruction, a class that is derived from execution_context must perform @@ -96,8 +96,8 @@ * complete. The corresponding handler objects are destroyed, and all @c * shared_ptr references to the objects are destroyed. * - * @li To shut down the whole program, the io_service function stop() is called - * to terminate any run() calls as soon as possible. The io_service destructor + * @li To shut down the whole program, the io_context function stop() is called + * to terminate any run() calls as soon as possible. The io_context destructor * calls @c shutdown_context() and @c destroy_context() to destroy all pending * handlers, causing all @c shared_ptr references to all connection objects to * be destroyed. @@ -210,18 +210,18 @@ /** * This function is used to locate a service object that corresponds to the * given service type. If there is no existing implementation of the service, - * then the io_service will create a new instance of the service. + * then the io_context will create a new instance of the service. * - * @param ios The io_service object that owns the service. + * @param ioc The io_context object that owns the service. * * @return The service interface implementing the specified service type. * Ownership of the service interface is not transferred to the caller. * * @note This overload is preserved for backwards compatibility with services - * that inherit from io_service::service. + * that inherit from io_context::service. */ template <typename Service> - friend Service& use_service(io_service& ios); + friend Service& use_service(io_context& ioc); #if defined(GENERATING_DOCUMENTATION) @@ -310,7 +310,7 @@ id() {} }; -/// Base class for all io_service services. +/// Base class for all io_context services. class execution_context::service : private noncopyable {
diff --git a/asio/include/asio/handler_invoke_hook.hpp b/asio/include/asio/handler_invoke_hook.hpp index 8a2ed43..209c01b 100644 --- a/asio/include/asio/handler_invoke_hook.hpp +++ b/asio/include/asio/handler_invoke_hook.hpp
@@ -26,12 +26,12 @@ * @brief Default invoke function for handlers. * * Completion handlers for asynchronous operations are invoked by the - * io_service associated with the corresponding object (e.g. a socket or + * io_context associated with the corresponding object (e.g. a socket or * deadline_timer). Certain guarantees are made on when the handler may be * invoked, in particular that a handler can only be invoked from a thread that - * is currently calling @c run() on the corresponding io_service object. + * is currently calling @c run() on the corresponding io_context object. * Handlers may subsequently be invoked through other objects (such as - * io_service::strand objects) that provide additional guarantees. + * io_context::strand objects) that provide additional guarantees. * * When asynchronous operations are composed from other asynchronous * operations, all intermediate handlers should be invoked using the same
diff --git a/asio/include/asio/impl/io_service.hpp b/asio/include/asio/impl/io_context.hpp similarity index 69% rename from asio/include/asio/impl/io_service.hpp rename to asio/include/asio/impl/io_context.hpp index b6d1a69..9045440 100644 --- a/asio/include/asio/impl/io_service.hpp +++ b/asio/include/asio/impl/io_context.hpp
@@ -1,5 +1,5 @@ // -// impl/io_service.hpp +// impl/io_context.hpp // ~~~~~~~~~~~~~~~~~~~ // // Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) @@ -8,8 +8,8 @@ // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // -#ifndef ASIO_IMPL_IO_SERVICE_HPP -#define ASIO_IMPL_IO_SERVICE_HPP +#ifndef ASIO_IMPL_IO_CONTEXT_HPP +#define ASIO_IMPL_IO_CONTEXT_HPP #if defined(_MSC_VER) && (_MSC_VER >= 1200) # pragma once @@ -28,20 +28,20 @@ namespace asio { template <typename Service> -inline Service& use_service(io_service& ios) +inline Service& use_service(io_context& ioc) { // Check that Service meets the necessary type requirements. (void)static_cast<execution_context::service*>(static_cast<Service*>(0)); (void)static_cast<const execution_context::id*>(&Service::id); - return ios.service_registry_->template use_service<Service>(ios); + return ioc.service_registry_->template use_service<Service>(ioc); } template <> -inline detail::io_service_impl& use_service<detail::io_service_impl>( - io_service& ios) +inline detail::io_context_impl& use_service<detail::io_context_impl>( + io_context& ioc) { - return ios.impl_; + return ioc.impl_; } } // namespace asio @@ -49,7 +49,7 @@ #include "asio/detail/pop_options.hpp" #if defined(ASIO_HAS_IOCP) -# include "asio/detail/win_iocp_io_service.hpp" +# include "asio/detail/win_iocp_io_context.hpp" #else # include "asio/detail/scheduler.hpp" #endif @@ -58,22 +58,22 @@ namespace asio { -inline io_service::executor_type -io_service::get_executor() ASIO_NOEXCEPT +inline io_context::executor_type +io_context::get_executor() ASIO_NOEXCEPT { return executor_type(*this); } #if !defined(ASIO_NO_DEPRECATED) -inline void io_service::reset() +inline void io_context::reset() { restart(); } template <typename CompletionHandler> ASIO_INITFN_RESULT_TYPE(CompletionHandler, void ()) -io_service::dispatch(ASIO_MOVE_ARG(CompletionHandler) handler) +io_context::dispatch(ASIO_MOVE_ARG(CompletionHandler) handler) { // If you get an error on the following line it means that your handler does // not meet the documented type requirements for a CompletionHandler. @@ -96,7 +96,7 @@ p.p = new (p.v) op(init.handler); ASIO_HANDLER_CREATION((*this, *p.p, - "io_service", this, 0, "dispatch")); + "io_context", this, 0, "dispatch")); impl_.do_dispatch(p.p); p.v = p.p = 0; @@ -107,7 +107,7 @@ template <typename CompletionHandler> ASIO_INITFN_RESULT_TYPE(CompletionHandler, void ()) -io_service::post(ASIO_MOVE_ARG(CompletionHandler) handler) +io_context::post(ASIO_MOVE_ARG(CompletionHandler) handler) { // If you get an error on the following line it means that your handler does // not meet the documented type requirements for a CompletionHandler. @@ -126,7 +126,7 @@ p.p = new (p.v) op(init.handler); ASIO_HANDLER_CREATION((*this, *p.p, - "io_service", this, 0, "post")); + "io_context", this, 0, "post")); impl_.post_immediate_completion(p.p, is_continuation); p.v = p.p = 0; @@ -138,33 +138,33 @@ #if defined(GENERATING_DOCUMENTATION) unspecified #else -inline detail::wrapped_handler<io_service&, Handler> +inline detail::wrapped_handler<io_context&, Handler> #endif -io_service::wrap(Handler handler) +io_context::wrap(Handler handler) { - return detail::wrapped_handler<io_service&, Handler>(*this, handler); + return detail::wrapped_handler<io_context&, Handler>(*this, handler); } #endif // !defined(ASIO_NO_DEPRECATED) -inline io_service& -io_service::executor_type::context() ASIO_NOEXCEPT +inline io_context& +io_context::executor_type::context() ASIO_NOEXCEPT { - return io_service_; + return io_context_; } -inline void io_service::executor_type::on_work_started() ASIO_NOEXCEPT +inline void io_context::executor_type::on_work_started() ASIO_NOEXCEPT { - io_service_.impl_.work_started(); + io_context_.impl_.work_started(); } -inline void io_service::executor_type::on_work_finished() ASIO_NOEXCEPT +inline void io_context::executor_type::on_work_finished() ASIO_NOEXCEPT { - io_service_.impl_.work_finished(); + io_context_.impl_.work_finished(); } template <typename Function, typename Allocator> -void io_service::executor_type::dispatch( +void io_context::executor_type::dispatch( ASIO_MOVE_ARG(Function) f, const Allocator& a) { // Make a local, non-const copy of the function. @@ -172,7 +172,7 @@ function_type tmp(ASIO_MOVE_CAST(Function)(f)); // Invoke immediately if we are already inside the thread pool. - if (io_service_.impl_.can_dispatch()) + if (io_context_.impl_.can_dispatch()) { detail::fenced_block b(detail::fenced_block::full); asio_handler_invoke_helpers::invoke(tmp, tmp); @@ -190,14 +190,14 @@ p.p = new (p.v) op(tmp, allocator); ASIO_HANDLER_CREATION((this->context(), - *p.p, "io_service", this, 0, "post")); + *p.p, "io_context", this, 0, "post")); - io_service_.impl_.post_immediate_completion(p.p, false); + io_context_.impl_.post_immediate_completion(p.p, false); p.v = p.p = 0; } template <typename Function, typename Allocator> -void io_service::executor_type::post( +void io_context::executor_type::post( ASIO_MOVE_ARG(Function) f, const Allocator& a) { // Make a local, non-const copy of the function. @@ -215,14 +215,14 @@ p.p = new (p.v) op(tmp, allocator); ASIO_HANDLER_CREATION((this->context(), - *p.p, "io_service", this, 0, "post")); + *p.p, "io_context", this, 0, "post")); - io_service_.impl_.post_immediate_completion(p.p, false); + io_context_.impl_.post_immediate_completion(p.p, false); p.v = p.p = 0; } template <typename Function, typename Allocator> -void io_service::executor_type::defer( +void io_context::executor_type::defer( ASIO_MOVE_ARG(Function) f, const Allocator& a) { // Make a local, non-const copy of the function. @@ -240,47 +240,61 @@ p.p = new (p.v) op(tmp, allocator); ASIO_HANDLER_CREATION((this->context(), - *p.p, "io_service", this, 0, "defer")); + *p.p, "io_context", this, 0, "defer")); - io_service_.impl_.post_immediate_completion(p.p, true); + io_context_.impl_.post_immediate_completion(p.p, true); p.v = p.p = 0; } inline bool -io_service::executor_type::running_in_this_thread() const ASIO_NOEXCEPT +io_context::executor_type::running_in_this_thread() const ASIO_NOEXCEPT { - return io_service_.impl_.can_dispatch(); + return io_context_.impl_.can_dispatch(); } -inline io_service::work::work(asio::io_service& io_service) - : io_service_impl_(io_service.impl_) +inline io_context::work::work(asio::io_context& io_context) + : io_context_impl_(io_context.impl_) { - io_service_impl_.work_started(); + io_context_impl_.work_started(); } -inline io_service::work::work(const work& other) - : io_service_impl_(other.io_service_impl_) +inline io_context::work::work(const work& other) + : io_context_impl_(other.io_context_impl_) { - io_service_impl_.work_started(); + io_context_impl_.work_started(); } -inline io_service::work::~work() +inline io_context::work::~work() { - io_service_impl_.work_finished(); + io_context_impl_.work_finished(); } -inline asio::io_service& io_service::work::get_io_service() +inline asio::io_context& io_context::work::get_io_context() { - return static_cast<asio::io_service&>(io_service_impl_.context()); + return static_cast<asio::io_context&>(io_context_impl_.context()); } -inline asio::io_service& io_service::service::get_io_service() +#if !defined(ASIO_NO_DEPRECATED) +inline asio::io_context& io_context::work::get_io_service() { - return static_cast<asio::io_service&>(context()); + return static_cast<asio::io_context&>(io_context_impl_.context()); } +#endif // !defined(ASIO_NO_DEPRECATED) + +inline asio::io_context& io_context::service::get_io_context() +{ + return static_cast<asio::io_context&>(context()); +} + +#if !defined(ASIO_NO_DEPRECATED) +inline asio::io_context& io_context::service::get_io_service() +{ + return static_cast<asio::io_context&>(context()); +} +#endif // !defined(ASIO_NO_DEPRECATED) } // namespace asio #include "asio/detail/pop_options.hpp" -#endif // ASIO_IMPL_IO_SERVICE_HPP +#endif // ASIO_IMPL_IO_CONTEXT_HPP
diff --git a/asio/include/asio/impl/io_service.ipp b/asio/include/asio/impl/io_context.ipp similarity index 66% rename from asio/include/asio/impl/io_service.ipp rename to asio/include/asio/impl/io_context.ipp index 7088b81..b35a848 100644 --- a/asio/include/asio/impl/io_service.ipp +++ b/asio/include/asio/impl/io_context.ipp
@@ -1,5 +1,5 @@ // -// impl/io_service.ipp +// impl/io_context.ipp // ~~~~~~~~~~~~~~~~~~~ // // Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) @@ -8,22 +8,22 @@ // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // -#ifndef ASIO_IMPL_IO_SERVICE_IPP -#define ASIO_IMPL_IO_SERVICE_IPP +#ifndef ASIO_IMPL_IO_CONTEXT_IPP +#define ASIO_IMPL_IO_CONTEXT_IPP #if defined(_MSC_VER) && (_MSC_VER >= 1200) # pragma once #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) #include "asio/detail/config.hpp" -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #include "asio/detail/limits.hpp" #include "asio/detail/scoped_ptr.hpp" #include "asio/detail/service_registry.hpp" #include "asio/detail/throw_error.hpp" #if defined(ASIO_HAS_IOCP) -# include "asio/detail/win_iocp_io_service.hpp" +# include "asio/detail/win_iocp_io_context.hpp" #else # include "asio/detail/scheduler.hpp" #endif @@ -32,17 +32,17 @@ namespace asio { -io_service::io_service() +io_context::io_context() : impl_(create_impl()) { } -io_service::io_service(std::size_t concurrency_hint) +io_context::io_context(std::size_t concurrency_hint) : impl_(create_impl(concurrency_hint)) { } -io_service::impl_type& io_service::create_impl(std::size_t concurrency_hint) +io_context::impl_type& io_context::create_impl(std::size_t concurrency_hint) { asio::detail::scoped_ptr<impl_type> impl( new impl_type(*this, concurrency_hint)); @@ -50,11 +50,11 @@ return *impl.release(); } -io_service::~io_service() +io_context::~io_context() { } -std::size_t io_service::run() +std::size_t io_context::run() { asio::error_code ec; std::size_t s = impl_.run(ec); @@ -62,12 +62,12 @@ return s; } -std::size_t io_service::run(asio::error_code& ec) +std::size_t io_context::run(asio::error_code& ec) { return impl_.run(ec); } -std::size_t io_service::run_one() +std::size_t io_context::run_one() { asio::error_code ec; std::size_t s = impl_.run_one(ec); @@ -75,12 +75,12 @@ return s; } -std::size_t io_service::run_one(asio::error_code& ec) +std::size_t io_context::run_one(asio::error_code& ec) { return impl_.run_one(ec); } -std::size_t io_service::poll() +std::size_t io_context::poll() { asio::error_code ec; std::size_t s = impl_.poll(ec); @@ -88,12 +88,12 @@ return s; } -std::size_t io_service::poll(asio::error_code& ec) +std::size_t io_context::poll(asio::error_code& ec) { return impl_.poll(ec); } -std::size_t io_service::poll_one() +std::size_t io_context::poll_one() { asio::error_code ec; std::size_t s = impl_.poll_one(ec); @@ -101,32 +101,32 @@ return s; } -std::size_t io_service::poll_one(asio::error_code& ec) +std::size_t io_context::poll_one(asio::error_code& ec) { return impl_.poll_one(ec); } -void io_service::stop() +void io_context::stop() { impl_.stop(); } -bool io_service::stopped() const +bool io_context::stopped() const { return impl_.stopped(); } -void io_service::restart() +void io_context::restart() { impl_.restart(); } -io_service::service::service(asio::io_service& owner) +io_context::service::service(asio::io_context& owner) : execution_context::service(owner) { } -io_service::service::~service() +io_context::service::~service() { } @@ -134,4 +134,4 @@ #include "asio/detail/pop_options.hpp" -#endif // ASIO_IMPL_IO_SERVICE_IPP +#endif // ASIO_IMPL_IO_CONTEXT_IPP
diff --git a/asio/include/asio/impl/spawn.hpp b/asio/include/asio/impl/spawn.hpp index 32561d1..a69df96 100644 --- a/asio/include/asio/impl/spawn.hpp +++ b/asio/include/asio/impl/spawn.hpp
@@ -423,7 +423,7 @@ } template <typename Function> -inline void spawn(const asio::io_service::strand& s, +inline void spawn(const asio::io_context::strand& s, ASIO_MOVE_ARG(Function) function, const boost::coroutines::attributes& attributes) {
diff --git a/asio/include/asio/impl/src.hpp b/asio/include/asio/impl/src.hpp index 5a619f8..06a2551 100644 --- a/asio/include/asio/impl/src.hpp +++ b/asio/include/asio/impl/src.hpp
@@ -24,7 +24,7 @@ #include "asio/impl/execution_context.ipp" #include "asio/impl/executor.ipp" #include "asio/impl/handler_alloc_hook.ipp" -#include "asio/impl/io_service.ipp" +#include "asio/impl/io_context.ipp" #include "asio/impl/serial_port_base.ipp" #include "asio/impl/system_executor.ipp" #include "asio/impl/thread_pool.ipp" @@ -56,7 +56,7 @@ #include "asio/detail/impl/timer_queue_ptime.ipp" #include "asio/detail/impl/timer_queue_set.ipp" #include "asio/detail/impl/win_iocp_handle_service.ipp" -#include "asio/detail/impl/win_iocp_io_service.ipp" +#include "asio/detail/impl/win_iocp_io_context.ipp" #include "asio/detail/impl/win_iocp_serial_port_service.ipp" #include "asio/detail/impl/win_iocp_socket_service_base.ipp" #include "asio/detail/impl/win_event.ipp"
diff --git a/asio/include/asio/io_context.hpp b/asio/include/asio/io_context.hpp new file mode 100644 index 0000000..8e672c7 --- /dev/null +++ b/asio/include/asio/io_context.hpp
@@ -0,0 +1,734 @@ +// +// io_context.hpp +// ~~~~~~~~~~~~~~ +// +// Copyright (c) 2003-2015 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) +// + +#ifndef ASIO_IO_CONTEXT_HPP +#define ASIO_IO_CONTEXT_HPP + +#if defined(_MSC_VER) && (_MSC_VER >= 1200) +# pragma once +#endif // defined(_MSC_VER) && (_MSC_VER >= 1200) + +#include "asio/detail/config.hpp" +#include <cstddef> +#include <stdexcept> +#include <typeinfo> +#include "asio/async_result.hpp" +#include "asio/detail/noncopyable.hpp" +#include "asio/detail/wrapped_handler.hpp" +#include "asio/error_code.hpp" +#include "asio/execution_context.hpp" +#include "asio/is_executor.hpp" + +#if defined(ASIO_WINDOWS) || defined(__CYGWIN__) +# include "asio/detail/winsock_init.hpp" +#elif defined(__sun) || defined(__QNX__) || defined(__hpux) || defined(_AIX) \ + || defined(__osf__) +# include "asio/detail/signal_init.hpp" +#endif + +#include "asio/detail/push_options.hpp" + +namespace asio { + +namespace detail { +#if defined(ASIO_HAS_IOCP) + typedef class win_iocp_io_context io_context_impl; + class win_iocp_overlapped_ptr; +#else + typedef class scheduler io_context_impl; +#endif +} // namespace detail + +/// Provides core I/O functionality. +/** + * The io_context class provides the core I/O functionality for users of the + * asynchronous I/O objects, including: + * + * @li asio::ip::tcp::socket + * @li asio::ip::tcp::acceptor + * @li asio::ip::udp::socket + * @li asio::deadline_timer. + * + * The io_context class also includes facilities intended for developers of + * custom asynchronous services. + * + * @par Thread Safety + * @e Distinct @e objects: Safe.@n + * @e Shared @e objects: Safe, with the specific exceptions of the restart() and + * notify_fork() functions. Calling restart() while there are unfinished run(), + * run_one(), poll() or poll_one() calls results in undefined behaviour. The + * notify_fork() function should not be called while any io_context function, + * or any function on an I/O object that is associated with the io_context, is + * being called in another thread. + * + * @par Concepts: + * Dispatcher. + * + * @par Synchronous and asynchronous operations + * + * Synchronous operations on I/O objects implicitly run the io_context object + * for an individual operation. The io_context functions run(), run_one(), + * poll() or poll_one() must be called for the io_context to perform + * asynchronous operations on behalf of a C++ program. Notification that an + * asynchronous operation has completed is delivered by invocation of the + * associated handler. Handlers are invoked only by a thread that is currently + * calling any overload of run(), run_one(), poll() or poll_one() for the + * io_context. + * + * @par Effect of exceptions thrown from handlers + * + * If an exception is thrown from a handler, the exception is allowed to + * propagate through the throwing thread's invocation of run(), run_one(), + * poll() or poll_one(). No other threads that are calling any of these + * functions are affected. It is then the responsibility of the application to + * catch the exception. + * + * After the exception has been caught, the run(), run_one(), poll() or + * poll_one() call may be restarted @em without the need for an intervening + * call to restart(). This allows the thread to rejoin the io_context object's + * thread pool without impacting any other threads in the pool. + * + * For example: + * + * @code + * asio::io_context io_context; + * ... + * for (;;) + * { + * try + * { + * io_context.run(); + * break; // run() exited normally + * } + * catch (my_exception& e) + * { + * // Deal with exception as appropriate. + * } + * } + * @endcode + * + * @par Stopping the io_context from running out of work + * + * Some applications may need to prevent an io_context object's run() call from + * returning when there is no more work to do. For example, the io_context may + * be being run in a background thread that is launched prior to the + * application's asynchronous operations. The run() call may be kept running by + * creating an object of type asio::io_context::work: + * + * @code asio::io_context io_context; + * asio::io_context::work work(io_context); + * ... @endcode + * + * To effect a shutdown, the application will then need to call the io_context + * object's stop() member function. This will cause the io_context run() call + * to return as soon as possible, abandoning unfinished operations and without + * permitting ready handlers to be dispatched. + * + * Alternatively, if the application requires that all operations and handlers + * be allowed to finish normally, the work object may be explicitly destroyed. + * + * @code asio::io_context io_context; + * auto_ptr<asio::io_context::work> work( + * new asio::io_context::work(io_context)); + * ... + * work.reset(); // Allow run() to exit. @endcode + */ +class io_context + : public execution_context +{ +private: + typedef detail::io_context_impl impl_type; +#if defined(ASIO_HAS_IOCP) + friend class detail::win_iocp_overlapped_ptr; +#endif + +public: + class executor_type; + friend class executor_type; + + class work; + friend class work; + + class service; + + class strand; + + /// Constructor. + ASIO_DECL io_context(); + + /// Constructor. + /** + * Construct with a hint about the required level of concurrency. + * + * @param concurrency_hint A suggestion to the implementation on how many + * threads it should allow to run simultaneously. + */ + ASIO_DECL explicit io_context(std::size_t concurrency_hint); + + /// Destructor. + /** + * On destruction, the io_context performs the following sequence of + * operations: + * + * @li For each service object @c svc in the io_context set, in reverse order + * of the beginning of service object lifetime, performs + * @c svc->shutdown_service(). + * + * @li Uninvoked handler objects that were scheduled for deferred invocation + * on the io_context, or any associated strand, are destroyed. + * + * @li For each service object @c svc in the io_context set, in reverse order + * of the beginning of service object lifetime, performs + * <tt>delete static_cast<io_context::service*>(svc)</tt>. + * + * @note The destruction sequence described above permits programs to + * simplify their resource management by using @c shared_ptr<>. Where an + * object's lifetime is tied to the lifetime of a connection (or some other + * sequence of asynchronous operations), a @c shared_ptr to the object would + * be bound into the handlers for all asynchronous operations associated with + * it. This works as follows: + * + * @li When a single connection ends, all associated asynchronous operations + * complete. The corresponding handler objects are destroyed, and all + * @c shared_ptr references to the objects are destroyed. + * + * @li To shut down the whole program, the io_context function stop() is + * called to terminate any run() calls as soon as possible. The io_context + * destructor defined above destroys all handlers, causing all @c shared_ptr + * references to all connection objects to be destroyed. + */ + ASIO_DECL ~io_context(); + + /// Obtains the executor associated with the io_context. + executor_type get_executor() ASIO_NOEXCEPT; + + /// Run the io_context object's event processing loop. + /** + * The run() function blocks until all work has finished and there are no + * more handlers to be dispatched, or until the io_context has been stopped. + * + * Multiple threads may call the run() function to set up a pool of threads + * from which the io_context may execute handlers. All threads that are + * waiting in the pool are equivalent and the io_context may choose any one + * of them to invoke a handler. + * + * A normal exit from the run() function implies that the io_context object + * is stopped (the stopped() function returns @c true). Subsequent calls to + * run(), run_one(), poll() or poll_one() will return immediately unless there + * is a prior call to restart(). + * + * @return The number of handlers that were executed. + * + * @throws asio::system_error Thrown on failure. + * + * @note The run() function must not be called from a thread that is currently + * calling one of run(), run_one(), poll() or poll_one() on the same + * io_context object. + * + * The poll() function may also be used to dispatch ready handlers, but + * without blocking. + */ + ASIO_DECL std::size_t run(); + + /// Run the io_context object's event processing loop. + /** + * The run() function blocks until all work has finished and there are no + * more handlers to be dispatched, or until the io_context has been stopped. + * + * Multiple threads may call the run() function to set up a pool of threads + * from which the io_context may execute handlers. All threads that are + * waiting in the pool are equivalent and the io_context may choose any one + * of them to invoke a handler. + * + * A normal exit from the run() function implies that the io_context object + * is stopped (the stopped() function returns @c true). Subsequent calls to + * run(), run_one(), poll() or poll_one() will return immediately unless there + * is a prior call to restart(). + * + * @param ec Set to indicate what error occurred, if any. + * + * @return The number of handlers that were executed. + * + * @note The run() function must not be called from a thread that is currently + * calling one of run(), run_one(), poll() or poll_one() on the same + * io_context object. + * + * The poll() function may also be used to dispatch ready handlers, but + * without blocking. + */ + ASIO_DECL std::size_t run(asio::error_code& ec); + + /// Run the io_context object's event processing loop to execute at most one + /// handler. + /** + * The run_one() function blocks until one handler has been dispatched, or + * until the io_context has been stopped. + * + * @return The number of handlers that were executed. A zero return value + * implies that the io_context object is stopped (the stopped() function + * returns @c true). Subsequent calls to run(), run_one(), poll() or + * poll_one() will return immediately unless there is a prior call to + * restart(). + * + * @throws asio::system_error Thrown on failure. + */ + ASIO_DECL std::size_t run_one(); + + /// Run the io_context object's event processing loop to execute at most one + /// handler. + /** + * The run_one() function blocks until one handler has been dispatched, or + * until the io_context has been stopped. + * + * @return The number of handlers that were executed. A zero return value + * implies that the io_context object is stopped (the stopped() function + * returns @c true). Subsequent calls to run(), run_one(), poll() or + * poll_one() will return immediately unless there is a prior call to + * restart(). + * + * @return The number of handlers that were executed. + */ + ASIO_DECL std::size_t run_one(asio::error_code& ec); + + /// Run the io_context object's event processing loop to execute ready + /// handlers. + /** + * The poll() function runs handlers that are ready to run, without blocking, + * until the io_context has been stopped or there are no more ready handlers. + * + * @return The number of handlers that were executed. + * + * @throws asio::system_error Thrown on failure. + */ + ASIO_DECL std::size_t poll(); + + /// Run the io_context object's event processing loop to execute ready + /// handlers. + /** + * The poll() function runs handlers that are ready to run, without blocking, + * until the io_context has been stopped or there are no more ready handlers. + * + * @param ec Set to indicate what error occurred, if any. + * + * @return The number of handlers that were executed. + */ + ASIO_DECL std::size_t poll(asio::error_code& ec); + + /// Run the io_context object's event processing loop to execute one ready + /// handler. + /** + * The poll_one() function runs at most one handler that is ready to run, + * without blocking. + * + * @return The number of handlers that were executed. + * + * @throws asio::system_error Thrown on failure. + */ + ASIO_DECL std::size_t poll_one(); + + /// Run the io_context object's event processing loop to execute one ready + /// handler. + /** + * The poll_one() function runs at most one handler that is ready to run, + * without blocking. + * + * @param ec Set to indicate what error occurred, if any. + * + * @return The number of handlers that were executed. + */ + ASIO_DECL std::size_t poll_one(asio::error_code& ec); + + /// Stop the io_context object's event processing loop. + /** + * This function does not block, but instead simply signals the io_context to + * stop. All invocations of its run() or run_one() member functions should + * return as soon as possible. Subsequent calls to run(), run_one(), poll() + * or poll_one() will return immediately until restart() is called. + */ + ASIO_DECL void stop(); + + /// Determine whether the io_context object has been stopped. + /** + * This function is used to determine whether an io_context object has been + * stopped, either through an explicit call to stop(), or due to running out + * of work. When an io_context object is stopped, calls to run(), run_one(), + * poll() or poll_one() will return immediately without invoking any + * handlers. + * + * @return @c true if the io_context object is stopped, otherwise @c false. + */ + ASIO_DECL bool stopped() const; + + /// Restart the io_context in preparation for a subsequent run() invocation. + /** + * This function must be called prior to any second or later set of + * invocations of the run(), run_one(), poll() or poll_one() functions when a + * previous invocation of these functions returned due to the io_context + * being stopped or running out of work. After a call to restart(), the + * io_context object's stopped() function will return @c false. + * + * This function must not be called while there are any unfinished calls to + * the run(), run_one(), poll() or poll_one() functions. + */ + ASIO_DECL void restart(); + +#if !defined(ASIO_NO_DEPRECATED) + /// (Deprecated: Use restart().) Reset the io_context in preparation for a + /// subsequent run() invocation. + /** + * This function must be called prior to any second or later set of + * invocations of the run(), run_one(), poll() or poll_one() functions when a + * previous invocation of these functions returned due to the io_context + * being stopped or running out of work. After a call to restart(), the + * io_context object's stopped() function will return @c false. + * + * This function must not be called while there are any unfinished calls to + * the run(), run_one(), poll() or poll_one() functions. + */ + void reset(); + + /// (Deprecated: Use asio::dispatch().) Request the io_context to + /// invoke the given handler. + /** + * This function is used to ask the io_context to execute the given handler. + * + * The io_context guarantees that the handler will only be called in a thread + * in which the run(), run_one(), poll() or poll_one() member functions is + * currently being invoked. The handler may be executed inside this function + * if the guarantee can be met. + * + * @param handler The handler to be called. The io_context will make + * a copy of the handler object as required. The function signature of the + * handler must be: @code void handler(); @endcode + * + * @note This function throws an exception only if: + * + * @li the handler's @c asio_handler_allocate function; or + * + * @li the handler's copy constructor + * + * throws an exception. + */ + template <typename CompletionHandler> + ASIO_INITFN_RESULT_TYPE(CompletionHandler, void ()) + dispatch(ASIO_MOVE_ARG(CompletionHandler) handler); + + /// (Deprecated: Use asio::post().) Request the io_context to invoke + /// the given handler and return immediately. + /** + * This function is used to ask the io_context to execute the given handler, + * but without allowing the io_context to call the handler from inside this + * function. + * + * The io_context guarantees that the handler will only be called in a thread + * in which the run(), run_one(), poll() or poll_one() member functions is + * currently being invoked. + * + * @param handler The handler to be called. The io_context will make + * a copy of the handler object as required. The function signature of the + * handler must be: @code void handler(); @endcode + * + * @note This function throws an exception only if: + * + * @li the handler's @c asio_handler_allocate function; or + * + * @li the handler's copy constructor + * + * throws an exception. + */ + template <typename CompletionHandler> + ASIO_INITFN_RESULT_TYPE(CompletionHandler, void ()) + post(ASIO_MOVE_ARG(CompletionHandler) handler); + + /// (Deprecated: Use asio::bind_executor().) Create a new handler that + /// automatically dispatches the wrapped handler on the io_context. + /** + * This function is used to create a new handler function object that, when + * invoked, will automatically pass the wrapped handler to the io_context + * object's dispatch function. + * + * @param handler The handler to be wrapped. The io_context will make a copy + * of the handler object as required. The function signature of the handler + * must be: @code void handler(A1 a1, ... An an); @endcode + * + * @return A function object that, when invoked, passes the wrapped handler to + * the io_context object's dispatch function. Given a function object with the + * signature: + * @code R f(A1 a1, ... An an); @endcode + * If this function object is passed to the wrap function like so: + * @code io_context.wrap(f); @endcode + * then the return value is a function object with the signature + * @code void g(A1 a1, ... An an); @endcode + * that, when invoked, executes code equivalent to: + * @code io_context.dispatch(boost::bind(f, a1, ... an)); @endcode + */ + template <typename Handler> +#if defined(GENERATING_DOCUMENTATION) + unspecified +#else + detail::wrapped_handler<io_context&, Handler> +#endif + wrap(Handler handler); +#endif // !defined(ASIO_NO_DEPRECATED) + +private: + // Helper function to create the implementation. + ASIO_DECL impl_type& create_impl(std::size_t concurrency_hint = 0); + + // Backwards compatible overload for use with services derived from + // io_context::service. + template <typename Service> + friend Service& use_service(io_context& ioc); + +#if defined(ASIO_WINDOWS) || defined(__CYGWIN__) + detail::winsock_init<> init_; +#elif defined(__sun) || defined(__QNX__) || defined(__hpux) || defined(_AIX) \ + || defined(__osf__) + detail::signal_init<> init_; +#endif + + // The implementation. + impl_type& impl_; +}; + +/// Executor used to submit functions to an io_context. +class io_context::executor_type +{ +public: + /// Obtain the underlying execution context. + io_context& context() ASIO_NOEXCEPT; + + /// Inform the io_context that it has some outstanding work to do. + /** + * This function is used to inform the io_context that some work has begun. + * This ensures that the io_context's run() and run_one() functions do not + * exit while the work is underway. + */ + void on_work_started() ASIO_NOEXCEPT; + + /// Inform the io_context that some work is no longer outstanding. + /** + * This function is used to inform the io_context that some work has + * finished. Once the count of unfinished work reaches zero, the io_context + * is stopped and the run() and run_one() functions may exit. + */ + void on_work_finished() ASIO_NOEXCEPT; + + /// Request the io_context to invoke the given function object. + /** + * This function is used to ask the io_context to execute the given function + * object. If the current thread is running the io_context, @c dispatch() + * executes the function before returning. Otherwise, the function will be + * scheduled to run on the io_context. + * + * @param f The function object to be called. The executor will make a copy + * of the handler object as required. The function signature of the function + * object must be: @code void function(); @endcode + * + * @param a An allocator that may be used by the executor to allocate the + * internal storage needed for function invocation. + */ + template <typename Function, typename Allocator> + void dispatch(ASIO_MOVE_ARG(Function) f, const Allocator& a); + + /// Request the io_context to invoke the given function object. + /** + * This function is used to ask the io_context to execute the given function + * object. The function object will never be executed inside @c post(). + * Instead, it will be scheduled to run on the io_context. + * + * @param f The function object to be called. The executor will make a copy + * of the handler object as required. The function signature of the function + * object must be: @code void function(); @endcode + * + * @param a An allocator that may be used by the executor to allocate the + * internal storage needed for function invocation. + */ + template <typename Function, typename Allocator> + void post(ASIO_MOVE_ARG(Function) f, const Allocator& a); + + /// Request the io_context to invoke the given function object. + /** + * This function is used to ask the io_context to execute the given function + * object. The function object will never be executed inside @c defer(). + * Instead, it will be scheduled to run on the io_context. + * + * If the current thread belongs to the io_context, @c defer() will delay + * scheduling the function object until the current thread returns control to + * the pool. + * + * @param f The function object to be called. The executor will make a copy + * of the handler object as required. The function signature of the function + * object must be: @code void function(); @endcode + * + * @param a An allocator that may be used by the executor to allocate the + * internal storage needed for function invocation. + */ + template <typename Function, typename Allocator> + void defer(ASIO_MOVE_ARG(Function) f, const Allocator& a); + + /// Determine whether the io_context is running in the current thread. + /** + * @return @c true if the current thread is running the io_context. Otherwise + * returns @c false. + */ + bool running_in_this_thread() const ASIO_NOEXCEPT; + + /// Compare two executors for equality. + /** + * Two executors are equal if they refer to the same underlying io_context. + */ + friend bool operator==(const executor_type& a, + const executor_type& b) ASIO_NOEXCEPT + { + return &a.io_context_ == &b.io_context_; + } + + /// Compare two executors for inequality. + /** + * Two executors are equal if they refer to the same underlying io_context. + */ + friend bool operator!=(const executor_type& a, + const executor_type& b) ASIO_NOEXCEPT + { + return &a.io_context_ != &b.io_context_; + } + +private: + friend class io_context; + + // Constructor. + explicit executor_type(io_context& i) : io_context_(i) {} + + // The underlying io_context. + io_context& io_context_; +}; + +#if !defined(GENERATING_DOCUMENTATION) +template <> struct is_executor<io_context::executor_type> : true_type {}; +#endif // !defined(GENERATING_DOCUMENTATION) + + +/// (Deprecated: Use executor_work_guard.) Class to inform the io_context when +/// it has work to do. +/** + * The work class is used to inform the io_context when work starts and + * finishes. This ensures that the io_context object's run() function will not + * exit while work is underway, and that it does exit when there is no + * unfinished work remaining. + * + * The work class is copy-constructible so that it may be used as a data member + * in a handler class. It is not assignable. + */ +class io_context::work +{ +public: + /// Constructor notifies the io_context that work is starting. + /** + * The constructor is used to inform the io_context that some work has begun. + * This ensures that the io_context object's run() function will not exit + * while the work is underway. + */ + explicit work(asio::io_context& io_context); + + /// Copy constructor notifies the io_context that work is starting. + /** + * The constructor is used to inform the io_context that some work has begun. + * This ensures that the io_context object's run() function will not exit + * while the work is underway. + */ + work(const work& other); + + /// Destructor notifies the io_context that the work is complete. + /** + * The destructor is used to inform the io_context that some work has + * finished. Once the count of unfinished work reaches zero, the io_context + * object's run() function is permitted to exit. + */ + ~work(); + + /// Get the io_context associated with the work. + asio::io_context& get_io_context(); + +#if !defined(ASIO_NO_DEPRECATED) + /// (Deprecated: Use get_io_context().) Get the io_context associated with the + /// work. + asio::io_context& get_io_service(); +#endif // !defined(ASIO_NO_DEPRECATED) + +private: + // Prevent assignment. + void operator=(const work& other); + + // The io_context implementation. + detail::io_context_impl& io_context_impl_; +}; + +/// Base class for all io_context services. +class io_context::service + : public execution_context::service +{ +public: + /// Get the io_context object that owns the service. + asio::io_context& get_io_context(); + +#if !defined(ASIO_NO_DEPRECATED) + /// Get the io_context object that owns the service. + asio::io_context& get_io_service(); +#endif // !defined(ASIO_NO_DEPRECATED) + +protected: + /// Constructor. + /** + * @param owner The io_context object that owns the service. + */ + ASIO_DECL service(asio::io_context& owner); + + /// Destructor. + ASIO_DECL virtual ~service(); +}; + +namespace detail { + +// Special service base class to keep classes header-file only. +template <typename Type> +class service_base + : public asio::io_context::service +{ +public: + static asio::detail::service_id<Type> id; + + // Constructor. + service_base(asio::io_context& io_context) + : asio::io_context::service(io_context) + { + } +}; + +template <typename Type> +asio::detail::service_id<Type> service_base<Type>::id; + +} // namespace detail +} // namespace asio + +#include "asio/detail/pop_options.hpp" + +#include "asio/impl/io_context.hpp" +#if defined(ASIO_HEADER_ONLY) +# include "asio/impl/io_context.ipp" +#endif // defined(ASIO_HEADER_ONLY) + +// If both io_context.hpp and strand.hpp have been included, automatically +// include the header file needed for the io_context::strand class. +#if defined(ASIO_STRAND_HPP) +# include "asio/io_context_strand.hpp" +#endif // defined(ASIO_STRAND_HPP) + +#endif // ASIO_IO_CONTEXT_HPP
diff --git a/asio/include/asio/io_context_strand.hpp b/asio/include/asio/io_context_strand.hpp new file mode 100644 index 0000000..8fe6c14 --- /dev/null +++ b/asio/include/asio/io_context_strand.hpp
@@ -0,0 +1,382 @@ +// +// io_context_strand.hpp +// ~~~~~~~~~~~~~~~~~~~~~ +// +// Copyright (c) 2003-2015 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) +// + +#ifndef ASIO_IO_CONTEXT_STRAND_HPP +#define ASIO_IO_CONTEXT_STRAND_HPP + +#if defined(_MSC_VER) && (_MSC_VER >= 1200) +# pragma once +#endif // defined(_MSC_VER) && (_MSC_VER >= 1200) + +#include "asio/detail/config.hpp" +#include "asio/async_result.hpp" +#include "asio/detail/handler_type_requirements.hpp" +#include "asio/detail/strand_service.hpp" +#include "asio/detail/wrapped_handler.hpp" +#include "asio/io_context.hpp" + +#include "asio/detail/push_options.hpp" + +namespace asio { + +/// Provides serialised handler execution. +/** + * The io_context::strand class provides the ability to post and dispatch + * handlers with the guarantee that none of those handlers will execute + * concurrently. + * + * @par Order of handler invocation + * Given: + * + * @li a strand object @c s + * + * @li an object @c a meeting completion handler requirements + * + * @li an object @c a1 which is an arbitrary copy of @c a made by the + * implementation + * + * @li an object @c b meeting completion handler requirements + * + * @li an object @c b1 which is an arbitrary copy of @c b made by the + * implementation + * + * if any of the following conditions are true: + * + * @li @c s.post(a) happens-before @c s.post(b) + * + * @li @c s.post(a) happens-before @c s.dispatch(b), where the latter is + * performed outside the strand + * + * @li @c s.dispatch(a) happens-before @c s.post(b), where the former is + * performed outside the strand + * + * @li @c s.dispatch(a) happens-before @c s.dispatch(b), where both are + * performed outside the strand + * + * then @c asio_handler_invoke(a1, &a1) happens-before + * @c asio_handler_invoke(b1, &b1). + * + * Note that in the following case: + * @code async_op_1(..., s.wrap(a)); + * async_op_2(..., s.wrap(b)); @endcode + * the completion of the first async operation will perform @c s.dispatch(a), + * and the second will perform @c s.dispatch(b), but the order in which those + * are performed is unspecified. That is, you cannot state whether one + * happens-before the other. Therefore none of the above conditions are met and + * no ordering guarantee is made. + * + * @note The implementation makes no guarantee that handlers posted or + * dispatched through different @c strand objects will be invoked concurrently. + * + * @par Thread Safety + * @e Distinct @e objects: Safe.@n + * @e Shared @e objects: Safe. + * + * @par Concepts: + * Dispatcher. + */ +class io_context::strand +{ +public: + /// Constructor. + /** + * Constructs the strand. + * + * @param io_context The io_context object that the strand will use to + * dispatch handlers that are ready to be run. + */ + explicit strand(asio::io_context& io_context) + : service_(asio::use_service< + asio::detail::strand_service>(io_context)) + { + service_.construct(impl_); + } + + /// Destructor. + /** + * Destroys a strand. + * + * Handlers posted through the strand that have not yet been invoked will + * still be dispatched in a way that meets the guarantee of non-concurrency. + */ + ~strand() + { + } + +#if !defined(ASIO_NO_DEPRECATED) + /// (Deprecated: Use context().) Get the io_context associated with the + /// strand. + /** + * This function may be used to obtain the io_context object that the strand + * uses to dispatch handlers for asynchronous operations. + * + * @return A reference to the io_context object that the strand will use to + * dispatch handlers. Ownership is not transferred to the caller. + */ + asio::io_context& get_io_context() + { + return service_.get_io_context(); + } + + /// (Deprecated: Use context().) Get the io_context associated with the + /// strand. + /** + * This function may be used to obtain the io_context object that the strand + * uses to dispatch handlers for asynchronous operations. + * + * @return A reference to the io_context object that the strand will use to + * dispatch handlers. Ownership is not transferred to the caller. + */ + asio::io_context& get_io_service() + { + return service_.get_io_context(); + } +#endif // !defined(ASIO_NO_DEPRECATED) + + /// Obtain the underlying execution context. + asio::io_context& context() ASIO_NOEXCEPT + { + return service_.get_io_context(); + } + + /// Inform the strand that it has some outstanding work to do. + /** + * The strand delegates this call to its underlying io_context. + */ + void on_work_started() ASIO_NOEXCEPT + { + context().get_executor().on_work_started(); + } + + /// Inform the strand that some work is no longer outstanding. + /** + * The strand delegates this call to its underlying io_context. + */ + void on_work_finished() ASIO_NOEXCEPT + { + context().get_executor().on_work_finished(); + } + + /// Request the strand to invoke the given function object. + /** + * This function is used to ask the strand to execute the given function + * object on its underlying io_context. The function object will be executed + * inside this function if the strand is not otherwise busy and if the + * underlying io_context's executor's @c dispatch() function is also able to + * execute the function before returning. + * + * @param f The function object to be called. The executor will make + * a copy of the handler object as required. The function signature of the + * function object must be: @code void function(); @endcode + * + * @param a An allocator that may be used by the executor to allocate the + * internal storage needed for function invocation. + */ + template <typename Function, typename Allocator> + void dispatch(ASIO_MOVE_ARG(Function) f, const Allocator& a) + { + typename decay<Function>::type tmp(ASIO_MOVE_CAST(Function)(f)); + service_.dispatch(impl_, tmp); + (void)a; + } + +#if !defined(ASIO_NO_DEPRECATED) + /// (Deprecated: Use asio::dispatch().) Request the strand to invoke + /// the given handler. + /** + * This function is used to ask the strand to execute the given handler. + * + * The strand object guarantees that handlers posted or dispatched through + * the strand will not be executed concurrently. The handler may be executed + * inside this function if the guarantee can be met. If this function is + * called from within a handler that was posted or dispatched through the same + * strand, then the new handler will be executed immediately. + * + * The strand's guarantee is in addition to the guarantee provided by the + * underlying io_context. The io_context guarantees that the handler will only + * be called in a thread in which the io_context's run member function is + * currently being invoked. + * + * @param handler The handler to be called. The strand will make a copy of the + * handler object as required. The function signature of the handler must be: + * @code void handler(); @endcode + */ + template <typename CompletionHandler> + ASIO_INITFN_RESULT_TYPE(CompletionHandler, void ()) + dispatch(ASIO_MOVE_ARG(CompletionHandler) handler) + { + // If you get an error on the following line it means that your handler does + // not meet the documented type requirements for a CompletionHandler. + ASIO_COMPLETION_HANDLER_CHECK(CompletionHandler, handler) type_check; + + async_completion<CompletionHandler, void ()> init(handler); + + service_.dispatch(impl_, init.handler); + + return init.result.get(); + } +#endif // !defined(ASIO_NO_DEPRECATED) + + /// Request the strand to invoke the given function object. + /** + * This function is used to ask the executor to execute the given function + * object. The function object will never be executed inside this function. + * Instead, it will be scheduled to run by the underlying io_context. + * + * @param f The function object to be called. The executor will make + * a copy of the handler object as required. The function signature of the + * function object must be: @code void function(); @endcode + * + * @param a An allocator that may be used by the executor to allocate the + * internal storage needed for function invocation. + */ + template <typename Function, typename Allocator> + void post(ASIO_MOVE_ARG(Function) f, const Allocator& a) + { + typename decay<Function>::type tmp(ASIO_MOVE_CAST(Function)(f)); + service_.post(impl_, tmp); + (void)a; + } + +#if !defined(ASIO_NO_DEPRECATED) + /// (Deprecated: Use asio::post().) Request the strand to invoke the + /// given handler and return immediately. + /** + * This function is used to ask the strand to execute the given handler, but + * without allowing the strand to call the handler from inside this function. + * + * The strand object guarantees that handlers posted or dispatched through + * the strand will not be executed concurrently. The strand's guarantee is in + * addition to the guarantee provided by the underlying io_context. The + * io_context guarantees that the handler will only be called in a thread in + * which the io_context's run member function is currently being invoked. + * + * @param handler The handler to be called. The strand will make a copy of the + * handler object as required. The function signature of the handler must be: + * @code void handler(); @endcode + */ + template <typename CompletionHandler> + ASIO_INITFN_RESULT_TYPE(CompletionHandler, void ()) + post(ASIO_MOVE_ARG(CompletionHandler) handler) + { + // If you get an error on the following line it means that your handler does + // not meet the documented type requirements for a CompletionHandler. + ASIO_COMPLETION_HANDLER_CHECK(CompletionHandler, handler) type_check; + + async_completion<CompletionHandler, void ()> init(handler); + + service_.post(impl_, init.handler); + + return init.result.get(); + } +#endif // !defined(ASIO_NO_DEPRECATED) + + /// Request the strand to invoke the given function object. + /** + * This function is used to ask the executor to execute the given function + * object. The function object will never be executed inside this function. + * Instead, it will be scheduled to run by the underlying io_context. + * + * @param f The function object to be called. The executor will make + * a copy of the handler object as required. The function signature of the + * function object must be: @code void function(); @endcode + * + * @param a An allocator that may be used by the executor to allocate the + * internal storage needed for function invocation. + */ + template <typename Function, typename Allocator> + void defer(ASIO_MOVE_ARG(Function) f, const Allocator& a) + { + typename decay<Function>::type tmp(ASIO_MOVE_CAST(Function)(f)); + service_.post(impl_, tmp); + (void)a; + } + +#if !defined(ASIO_NO_DEPRECATED) + /// (Deprecated: Use asio::bind_executor().) Create a new handler that + /// automatically dispatches the wrapped handler on the strand. + /** + * This function is used to create a new handler function object that, when + * invoked, will automatically pass the wrapped handler to the strand's + * dispatch function. + * + * @param handler The handler to be wrapped. The strand will make a copy of + * the handler object as required. The function signature of the handler must + * be: @code void handler(A1 a1, ... An an); @endcode + * + * @return A function object that, when invoked, passes the wrapped handler to + * the strand's dispatch function. Given a function object with the signature: + * @code R f(A1 a1, ... An an); @endcode + * If this function object is passed to the wrap function like so: + * @code strand.wrap(f); @endcode + * then the return value is a function object with the signature + * @code void g(A1 a1, ... An an); @endcode + * that, when invoked, executes code equivalent to: + * @code strand.dispatch(boost::bind(f, a1, ... an)); @endcode + */ + template <typename Handler> +#if defined(GENERATING_DOCUMENTATION) + unspecified +#else + detail::wrapped_handler<strand, Handler, detail::is_continuation_if_running> +#endif + wrap(Handler handler) + { + return detail::wrapped_handler<io_context::strand, Handler, + detail::is_continuation_if_running>(*this, handler); + } +#endif // !defined(ASIO_NO_DEPRECATED) + + /// Determine whether the strand is running in the current thread. + /** + * @return @c true if the current thread is executing a handler that was + * submitted to the strand using post(), dispatch() or wrap(). Otherwise + * returns @c false. + */ + bool running_in_this_thread() const ASIO_NOEXCEPT + { + return service_.running_in_this_thread(impl_); + } + + /// Compare two strands for equality. + /** + * Two strands are equal if they refer to the same ordered, non-concurrent + * state. + */ + friend bool operator==(const strand& a, const strand& b) ASIO_NOEXCEPT + { + return a.impl_ == b.impl_; + } + + /// Compare two strands for inequality. + /** + * Two strands are equal if they refer to the same ordered, non-concurrent + * state. + */ + friend bool operator!=(const strand& a, const strand& b) ASIO_NOEXCEPT + { + return a.impl_ != b.impl_; + } + +private: + asio::detail::strand_service& service_; + asio::detail::strand_service::implementation_type impl_; +}; + +#if !defined(GENERATING_DOCUMENTATION) +template <> +struct is_executor<io_context::strand> : true_type {}; +#endif // !defined(GENERATING_DOCUMENTATION) + +} // namespace asio + +#include "asio/detail/pop_options.hpp" + +#endif // ASIO_IO_CONTEXT_STRAND_HPP
diff --git a/asio/include/asio/io_service.hpp b/asio/include/asio/io_service.hpp index a487d0c..4eb7cc5 100644 --- a/asio/include/asio/io_service.hpp +++ b/asio/include/asio/io_service.hpp
@@ -15,709 +15,17 @@ # pragma once #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) -#include "asio/detail/config.hpp" -#include <cstddef> -#include <stdexcept> -#include <typeinfo> -#include "asio/async_result.hpp" -#include "asio/detail/noncopyable.hpp" -#include "asio/detail/wrapped_handler.hpp" -#include "asio/error_code.hpp" -#include "asio/execution_context.hpp" -#include "asio/is_executor.hpp" - -#if defined(ASIO_WINDOWS) || defined(__CYGWIN__) -# include "asio/detail/winsock_init.hpp" -#elif defined(__sun) || defined(__QNX__) || defined(__hpux) || defined(_AIX) \ - || defined(__osf__) -# include "asio/detail/signal_init.hpp" -#endif +#include "asio/io_context.hpp" #include "asio/detail/push_options.hpp" namespace asio { -namespace detail { -#if defined(ASIO_HAS_IOCP) - typedef class win_iocp_io_service io_service_impl; - class win_iocp_overlapped_ptr; -#else - typedef class scheduler io_service_impl; -#endif -} // namespace detail +/// Typedef for backwards compatibility. +typedef io_context io_service; -/// Provides core I/O functionality. -/** - * The io_service class provides the core I/O functionality for users of the - * asynchronous I/O objects, including: - * - * @li asio::ip::tcp::socket - * @li asio::ip::tcp::acceptor - * @li asio::ip::udp::socket - * @li asio::deadline_timer. - * - * The io_service class also includes facilities intended for developers of - * custom asynchronous services. - * - * @par Thread Safety - * @e Distinct @e objects: Safe.@n - * @e Shared @e objects: Safe, with the specific exceptions of the restart() and - * notify_fork() functions. Calling restart() while there are unfinished run(), - * run_one(), poll() or poll_one() calls results in undefined behaviour. The - * notify_fork() function should not be called while any io_service function, - * or any function on an I/O object that is associated with the io_service, is - * being called in another thread. - * - * @par Concepts: - * Dispatcher. - * - * @par Synchronous and asynchronous operations - * - * Synchronous operations on I/O objects implicitly run the io_service object - * for an individual operation. The io_service functions run(), run_one(), - * poll() or poll_one() must be called for the io_service to perform - * asynchronous operations on behalf of a C++ program. Notification that an - * asynchronous operation has completed is delivered by invocation of the - * associated handler. Handlers are invoked only by a thread that is currently - * calling any overload of run(), run_one(), poll() or poll_one() for the - * io_service. - * - * @par Effect of exceptions thrown from handlers - * - * If an exception is thrown from a handler, the exception is allowed to - * propagate through the throwing thread's invocation of run(), run_one(), - * poll() or poll_one(). No other threads that are calling any of these - * functions are affected. It is then the responsibility of the application to - * catch the exception. - * - * After the exception has been caught, the run(), run_one(), poll() or - * poll_one() call may be restarted @em without the need for an intervening - * call to restart(). This allows the thread to rejoin the io_service object's - * thread pool without impacting any other threads in the pool. - * - * For example: - * - * @code - * asio::io_service io_service; - * ... - * for (;;) - * { - * try - * { - * io_service.run(); - * break; // run() exited normally - * } - * catch (my_exception& e) - * { - * // Deal with exception as appropriate. - * } - * } - * @endcode - * - * @par Stopping the io_service from running out of work - * - * Some applications may need to prevent an io_service object's run() call from - * returning when there is no more work to do. For example, the io_service may - * be being run in a background thread that is launched prior to the - * application's asynchronous operations. The run() call may be kept running by - * creating an object of type asio::io_service::work: - * - * @code asio::io_service io_service; - * asio::io_service::work work(io_service); - * ... @endcode - * - * To effect a shutdown, the application will then need to call the io_service - * object's stop() member function. This will cause the io_service run() call - * to return as soon as possible, abandoning unfinished operations and without - * permitting ready handlers to be dispatched. - * - * Alternatively, if the application requires that all operations and handlers - * be allowed to finish normally, the work object may be explicitly destroyed. - * - * @code asio::io_service io_service; - * auto_ptr<asio::io_service::work> work( - * new asio::io_service::work(io_service)); - * ... - * work.reset(); // Allow run() to exit. @endcode - */ -class io_service - : public execution_context -{ -private: - typedef detail::io_service_impl impl_type; -#if defined(ASIO_HAS_IOCP) - friend class detail::win_iocp_overlapped_ptr; -#endif - -public: - class executor_type; - friend class executor_type; - - class work; - friend class work; - - class service; - - class strand; - - /// Constructor. - ASIO_DECL io_service(); - - /// Constructor. - /** - * Construct with a hint about the required level of concurrency. - * - * @param concurrency_hint A suggestion to the implementation on how many - * threads it should allow to run simultaneously. - */ - ASIO_DECL explicit io_service(std::size_t concurrency_hint); - - /// Destructor. - /** - * On destruction, the io_service performs the following sequence of - * operations: - * - * @li For each service object @c svc in the io_service set, in reverse order - * of the beginning of service object lifetime, performs - * @c svc->shutdown_service(). - * - * @li Uninvoked handler objects that were scheduled for deferred invocation - * on the io_service, or any associated strand, are destroyed. - * - * @li For each service object @c svc in the io_service set, in reverse order - * of the beginning of service object lifetime, performs - * <tt>delete static_cast<io_service::service*>(svc)</tt>. - * - * @note The destruction sequence described above permits programs to - * simplify their resource management by using @c shared_ptr<>. Where an - * object's lifetime is tied to the lifetime of a connection (or some other - * sequence of asynchronous operations), a @c shared_ptr to the object would - * be bound into the handlers for all asynchronous operations associated with - * it. This works as follows: - * - * @li When a single connection ends, all associated asynchronous operations - * complete. The corresponding handler objects are destroyed, and all - * @c shared_ptr references to the objects are destroyed. - * - * @li To shut down the whole program, the io_service function stop() is - * called to terminate any run() calls as soon as possible. The io_service - * destructor defined above destroys all handlers, causing all @c shared_ptr - * references to all connection objects to be destroyed. - */ - ASIO_DECL ~io_service(); - - /// Obtains the executor associated with the io_service. - executor_type get_executor() ASIO_NOEXCEPT; - - /// Run the io_service object's event processing loop. - /** - * The run() function blocks until all work has finished and there are no - * more handlers to be dispatched, or until the io_service has been stopped. - * - * Multiple threads may call the run() function to set up a pool of threads - * from which the io_service may execute handlers. All threads that are - * waiting in the pool are equivalent and the io_service may choose any one - * of them to invoke a handler. - * - * A normal exit from the run() function implies that the io_service object - * is stopped (the stopped() function returns @c true). Subsequent calls to - * run(), run_one(), poll() or poll_one() will return immediately unless there - * is a prior call to restart(). - * - * @return The number of handlers that were executed. - * - * @throws asio::system_error Thrown on failure. - * - * @note The run() function must not be called from a thread that is currently - * calling one of run(), run_one(), poll() or poll_one() on the same - * io_service object. - * - * The poll() function may also be used to dispatch ready handlers, but - * without blocking. - */ - ASIO_DECL std::size_t run(); - - /// Run the io_service object's event processing loop. - /** - * The run() function blocks until all work has finished and there are no - * more handlers to be dispatched, or until the io_service has been stopped. - * - * Multiple threads may call the run() function to set up a pool of threads - * from which the io_service may execute handlers. All threads that are - * waiting in the pool are equivalent and the io_service may choose any one - * of them to invoke a handler. - * - * A normal exit from the run() function implies that the io_service object - * is stopped (the stopped() function returns @c true). Subsequent calls to - * run(), run_one(), poll() or poll_one() will return immediately unless there - * is a prior call to restart(). - * - * @param ec Set to indicate what error occurred, if any. - * - * @return The number of handlers that were executed. - * - * @note The run() function must not be called from a thread that is currently - * calling one of run(), run_one(), poll() or poll_one() on the same - * io_service object. - * - * The poll() function may also be used to dispatch ready handlers, but - * without blocking. - */ - ASIO_DECL std::size_t run(asio::error_code& ec); - - /// Run the io_service object's event processing loop to execute at most one - /// handler. - /** - * The run_one() function blocks until one handler has been dispatched, or - * until the io_service has been stopped. - * - * @return The number of handlers that were executed. A zero return value - * implies that the io_service object is stopped (the stopped() function - * returns @c true). Subsequent calls to run(), run_one(), poll() or - * poll_one() will return immediately unless there is a prior call to - * restart(). - * - * @throws asio::system_error Thrown on failure. - */ - ASIO_DECL std::size_t run_one(); - - /// Run the io_service object's event processing loop to execute at most one - /// handler. - /** - * The run_one() function blocks until one handler has been dispatched, or - * until the io_service has been stopped. - * - * @return The number of handlers that were executed. A zero return value - * implies that the io_service object is stopped (the stopped() function - * returns @c true). Subsequent calls to run(), run_one(), poll() or - * poll_one() will return immediately unless there is a prior call to - * restart(). - * - * @return The number of handlers that were executed. - */ - ASIO_DECL std::size_t run_one(asio::error_code& ec); - - /// Run the io_service object's event processing loop to execute ready - /// handlers. - /** - * The poll() function runs handlers that are ready to run, without blocking, - * until the io_service has been stopped or there are no more ready handlers. - * - * @return The number of handlers that were executed. - * - * @throws asio::system_error Thrown on failure. - */ - ASIO_DECL std::size_t poll(); - - /// Run the io_service object's event processing loop to execute ready - /// handlers. - /** - * The poll() function runs handlers that are ready to run, without blocking, - * until the io_service has been stopped or there are no more ready handlers. - * - * @param ec Set to indicate what error occurred, if any. - * - * @return The number of handlers that were executed. - */ - ASIO_DECL std::size_t poll(asio::error_code& ec); - - /// Run the io_service object's event processing loop to execute one ready - /// handler. - /** - * The poll_one() function runs at most one handler that is ready to run, - * without blocking. - * - * @return The number of handlers that were executed. - * - * @throws asio::system_error Thrown on failure. - */ - ASIO_DECL std::size_t poll_one(); - - /// Run the io_service object's event processing loop to execute one ready - /// handler. - /** - * The poll_one() function runs at most one handler that is ready to run, - * without blocking. - * - * @param ec Set to indicate what error occurred, if any. - * - * @return The number of handlers that were executed. - */ - ASIO_DECL std::size_t poll_one(asio::error_code& ec); - - /// Stop the io_service object's event processing loop. - /** - * This function does not block, but instead simply signals the io_service to - * stop. All invocations of its run() or run_one() member functions should - * return as soon as possible. Subsequent calls to run(), run_one(), poll() - * or poll_one() will return immediately until restart() is called. - */ - ASIO_DECL void stop(); - - /// Determine whether the io_service object has been stopped. - /** - * This function is used to determine whether an io_service object has been - * stopped, either through an explicit call to stop(), or due to running out - * of work. When an io_service object is stopped, calls to run(), run_one(), - * poll() or poll_one() will return immediately without invoking any - * handlers. - * - * @return @c true if the io_service object is stopped, otherwise @c false. - */ - ASIO_DECL bool stopped() const; - - /// Restart the io_service in preparation for a subsequent run() invocation. - /** - * This function must be called prior to any second or later set of - * invocations of the run(), run_one(), poll() or poll_one() functions when a - * previous invocation of these functions returned due to the io_service - * being stopped or running out of work. After a call to restart(), the - * io_service object's stopped() function will return @c false. - * - * This function must not be called while there are any unfinished calls to - * the run(), run_one(), poll() or poll_one() functions. - */ - ASIO_DECL void restart(); - -#if !defined(ASIO_NO_DEPRECATED) - /// (Deprecated: Use restart().) Reset the io_service in preparation for a - /// subsequent run() invocation. - /** - * This function must be called prior to any second or later set of - * invocations of the run(), run_one(), poll() or poll_one() functions when a - * previous invocation of these functions returned due to the io_service - * being stopped or running out of work. After a call to restart(), the - * io_service object's stopped() function will return @c false. - * - * This function must not be called while there are any unfinished calls to - * the run(), run_one(), poll() or poll_one() functions. - */ - void reset(); - - /// (Deprecated: Use asio::dispatch().) Request the io_service to - /// invoke the given handler. - /** - * This function is used to ask the io_service to execute the given handler. - * - * The io_service guarantees that the handler will only be called in a thread - * in which the run(), run_one(), poll() or poll_one() member functions is - * currently being invoked. The handler may be executed inside this function - * if the guarantee can be met. - * - * @param handler The handler to be called. The io_service will make - * a copy of the handler object as required. The function signature of the - * handler must be: @code void handler(); @endcode - * - * @note This function throws an exception only if: - * - * @li the handler's @c asio_handler_allocate function; or - * - * @li the handler's copy constructor - * - * throws an exception. - */ - template <typename CompletionHandler> - ASIO_INITFN_RESULT_TYPE(CompletionHandler, void ()) - dispatch(ASIO_MOVE_ARG(CompletionHandler) handler); - - /// (Deprecated: Use asio::post().) Request the io_service to invoke - /// the given handler and return immediately. - /** - * This function is used to ask the io_service to execute the given handler, - * but without allowing the io_service to call the handler from inside this - * function. - * - * The io_service guarantees that the handler will only be called in a thread - * in which the run(), run_one(), poll() or poll_one() member functions is - * currently being invoked. - * - * @param handler The handler to be called. The io_service will make - * a copy of the handler object as required. The function signature of the - * handler must be: @code void handler(); @endcode - * - * @note This function throws an exception only if: - * - * @li the handler's @c asio_handler_allocate function; or - * - * @li the handler's copy constructor - * - * throws an exception. - */ - template <typename CompletionHandler> - ASIO_INITFN_RESULT_TYPE(CompletionHandler, void ()) - post(ASIO_MOVE_ARG(CompletionHandler) handler); - - /// (Deprecated: Use asio::bind_executor().) Create a new handler that - /// automatically dispatches the wrapped handler on the io_service. - /** - * This function is used to create a new handler function object that, when - * invoked, will automatically pass the wrapped handler to the io_service - * object's dispatch function. - * - * @param handler The handler to be wrapped. The io_service will make a copy - * of the handler object as required. The function signature of the handler - * must be: @code void handler(A1 a1, ... An an); @endcode - * - * @return A function object that, when invoked, passes the wrapped handler to - * the io_service object's dispatch function. Given a function object with the - * signature: - * @code R f(A1 a1, ... An an); @endcode - * If this function object is passed to the wrap function like so: - * @code io_service.wrap(f); @endcode - * then the return value is a function object with the signature - * @code void g(A1 a1, ... An an); @endcode - * that, when invoked, executes code equivalent to: - * @code io_service.dispatch(boost::bind(f, a1, ... an)); @endcode - */ - template <typename Handler> -#if defined(GENERATING_DOCUMENTATION) - unspecified -#else - detail::wrapped_handler<io_service&, Handler> -#endif - wrap(Handler handler); -#endif // !defined(ASIO_NO_DEPRECATED) - -private: - // Helper function to create the implementation. - ASIO_DECL impl_type& create_impl(std::size_t concurrency_hint = 0); - - // Backwards compatible overload for use with services derived from - // io_service::service. - template <typename Service> - friend Service& use_service(io_service& ios); - -#if defined(ASIO_WINDOWS) || defined(__CYGWIN__) - detail::winsock_init<> init_; -#elif defined(__sun) || defined(__QNX__) || defined(__hpux) || defined(_AIX) \ - || defined(__osf__) - detail::signal_init<> init_; -#endif - - // The implementation. - impl_type& impl_; -}; - -/// Executor used to submit functions to an io_service. -class io_service::executor_type -{ -public: - /// Obtain the underlying execution context. - io_service& context() ASIO_NOEXCEPT; - - /// Inform the io_service that it has some outstanding work to do. - /** - * This function is used to inform the io_service that some work has begun. - * This ensures that the io_service's run() and run_one() functions do not - * exit while the work is underway. - */ - void on_work_started() ASIO_NOEXCEPT; - - /// Inform the io_service that some work is no longer outstanding. - /** - * This function is used to inform the io_service that some work has - * finished. Once the count of unfinished work reaches zero, the io_service - * is stopped and the run() and run_one() functions may exit. - */ - void on_work_finished() ASIO_NOEXCEPT; - - /// Request the io_service to invoke the given function object. - /** - * This function is used to ask the io_service to execute the given function - * object. If the current thread is running the io_service, @c dispatch() - * executes the function before returning. Otherwise, the function will be - * scheduled to run on the io_service. - * - * @param f The function object to be called. The executor will make a copy - * of the handler object as required. The function signature of the function - * object must be: @code void function(); @endcode - * - * @param a An allocator that may be used by the executor to allocate the - * internal storage needed for function invocation. - */ - template <typename Function, typename Allocator> - void dispatch(ASIO_MOVE_ARG(Function) f, const Allocator& a); - - /// Request the io_service to invoke the given function object. - /** - * This function is used to ask the io_service to execute the given function - * object. The function object will never be executed inside @c post(). - * Instead, it will be scheduled to run on the io_service. - * - * @param f The function object to be called. The executor will make a copy - * of the handler object as required. The function signature of the function - * object must be: @code void function(); @endcode - * - * @param a An allocator that may be used by the executor to allocate the - * internal storage needed for function invocation. - */ - template <typename Function, typename Allocator> - void post(ASIO_MOVE_ARG(Function) f, const Allocator& a); - - /// Request the io_service to invoke the given function object. - /** - * This function is used to ask the io_service to execute the given function - * object. The function object will never be executed inside @c defer(). - * Instead, it will be scheduled to run on the io_service. - * - * If the current thread belongs to the io_service, @c defer() will delay - * scheduling the function object until the current thread returns control to - * the pool. - * - * @param f The function object to be called. The executor will make a copy - * of the handler object as required. The function signature of the function - * object must be: @code void function(); @endcode - * - * @param a An allocator that may be used by the executor to allocate the - * internal storage needed for function invocation. - */ - template <typename Function, typename Allocator> - void defer(ASIO_MOVE_ARG(Function) f, const Allocator& a); - - /// Determine whether the io_service is running in the current thread. - /** - * @return @c true if the current thread is running the io_service. Otherwise - * returns @c false. - */ - bool running_in_this_thread() const ASIO_NOEXCEPT; - - /// Compare two executors for equality. - /** - * Two executors are equal if they refer to the same underlying io_service. - */ - friend bool operator==(const executor_type& a, - const executor_type& b) ASIO_NOEXCEPT - { - return &a.io_service_ == &b.io_service_; - } - - /// Compare two executors for inequality. - /** - * Two executors are equal if they refer to the same underlying io_service. - */ - friend bool operator!=(const executor_type& a, - const executor_type& b) ASIO_NOEXCEPT - { - return &a.io_service_ != &b.io_service_; - } - -private: - friend class io_service; - - // Constructor. - explicit executor_type(io_service& i) : io_service_(i) {} - - // The underlying io_service. - io_service& io_service_; -}; - -#if !defined(GENERATING_DOCUMENTATION) -template <> struct is_executor<io_service::executor_type> : true_type {}; -#endif // !defined(GENERATING_DOCUMENTATION) - - -/// (Deprecated: Use executor_work_guard.) Class to inform the io_service when -/// it has work to do. -/** - * The work class is used to inform the io_service when work starts and - * finishes. This ensures that the io_service object's run() function will not - * exit while work is underway, and that it does exit when there is no - * unfinished work remaining. - * - * The work class is copy-constructible so that it may be used as a data member - * in a handler class. It is not assignable. - */ -class io_service::work -{ -public: - /// Constructor notifies the io_service that work is starting. - /** - * The constructor is used to inform the io_service that some work has begun. - * This ensures that the io_service object's run() function will not exit - * while the work is underway. - */ - explicit work(asio::io_service& io_service); - - /// Copy constructor notifies the io_service that work is starting. - /** - * The constructor is used to inform the io_service that some work has begun. - * This ensures that the io_service object's run() function will not exit - * while the work is underway. - */ - work(const work& other); - - /// Destructor notifies the io_service that the work is complete. - /** - * The destructor is used to inform the io_service that some work has - * finished. Once the count of unfinished work reaches zero, the io_service - * object's run() function is permitted to exit. - */ - ~work(); - - /// Get the io_service associated with the work. - asio::io_service& get_io_service(); - -private: - // Prevent assignment. - void operator=(const work& other); - - // The io_service implementation. - detail::io_service_impl& io_service_impl_; -}; - -/// Base class for all io_service services. -class io_service::service - : public execution_context::service -{ -public: - /// Get the io_service object that owns the service. - asio::io_service& get_io_service(); - -protected: - /// Constructor. - /** - * @param owner The io_service object that owns the service. - */ - ASIO_DECL service(asio::io_service& owner); - - /// Destructor. - ASIO_DECL virtual ~service(); -}; - -namespace detail { - -// Special service base class to keep classes header-file only. -template <typename Type> -class service_base - : public asio::io_service::service -{ -public: - static asio::detail::service_id<Type> id; - - // Constructor. - service_base(asio::io_service& io_service) - : asio::io_service::service(io_service) - { - } -}; - -template <typename Type> -asio::detail::service_id<Type> service_base<Type>::id; - -} // namespace detail } // namespace asio #include "asio/detail/pop_options.hpp" -#include "asio/impl/io_service.hpp" -#if defined(ASIO_HEADER_ONLY) -# include "asio/impl/io_service.ipp" -#endif // defined(ASIO_HEADER_ONLY) - -// If both io_service.hpp and strand.hpp have been included, automatically -// include the header file needed for the io_service::strand class. -#if defined(ASIO_STRAND_HPP) -# include "asio/io_service_strand.hpp" -#endif // defined(ASIO_STRAND_HPP) - #endif // ASIO_IO_SERVICE_HPP
diff --git a/asio/include/asio/io_service_strand.hpp b/asio/include/asio/io_service_strand.hpp index e8e1c5a..c1ad927 100644 --- a/asio/include/asio/io_service_strand.hpp +++ b/asio/include/asio/io_service_strand.hpp
@@ -15,354 +15,6 @@ # pragma once #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) -#include "asio/detail/config.hpp" -#include "asio/async_result.hpp" -#include "asio/detail/handler_type_requirements.hpp" -#include "asio/detail/strand_service.hpp" -#include "asio/detail/wrapped_handler.hpp" -#include "asio/io_service.hpp" - -#include "asio/detail/push_options.hpp" - -namespace asio { - -/// Provides serialised handler execution. -/** - * The io_service::strand class provides the ability to post and dispatch - * handlers with the guarantee that none of those handlers will execute - * concurrently. - * - * @par Order of handler invocation - * Given: - * - * @li a strand object @c s - * - * @li an object @c a meeting completion handler requirements - * - * @li an object @c a1 which is an arbitrary copy of @c a made by the - * implementation - * - * @li an object @c b meeting completion handler requirements - * - * @li an object @c b1 which is an arbitrary copy of @c b made by the - * implementation - * - * if any of the following conditions are true: - * - * @li @c s.post(a) happens-before @c s.post(b) - * - * @li @c s.post(a) happens-before @c s.dispatch(b), where the latter is - * performed outside the strand - * - * @li @c s.dispatch(a) happens-before @c s.post(b), where the former is - * performed outside the strand - * - * @li @c s.dispatch(a) happens-before @c s.dispatch(b), where both are - * performed outside the strand - * - * then @c asio_handler_invoke(a1, &a1) happens-before - * @c asio_handler_invoke(b1, &b1). - * - * Note that in the following case: - * @code async_op_1(..., s.wrap(a)); - * async_op_2(..., s.wrap(b)); @endcode - * the completion of the first async operation will perform @c s.dispatch(a), - * and the second will perform @c s.dispatch(b), but the order in which those - * are performed is unspecified. That is, you cannot state whether one - * happens-before the other. Therefore none of the above conditions are met and - * no ordering guarantee is made. - * - * @note The implementation makes no guarantee that handlers posted or - * dispatched through different @c strand objects will be invoked concurrently. - * - * @par Thread Safety - * @e Distinct @e objects: Safe.@n - * @e Shared @e objects: Safe. - * - * @par Concepts: - * Dispatcher. - */ -class io_service::strand -{ -public: - /// Constructor. - /** - * Constructs the strand. - * - * @param io_service The io_service object that the strand will use to - * dispatch handlers that are ready to be run. - */ - explicit strand(asio::io_service& io_service) - : service_(asio::use_service< - asio::detail::strand_service>(io_service)) - { - service_.construct(impl_); - } - - /// Destructor. - /** - * Destroys a strand. - * - * Handlers posted through the strand that have not yet been invoked will - * still be dispatched in a way that meets the guarantee of non-concurrency. - */ - ~strand() - { - } - -#if !defined(ASIO_NO_DEPRECATED) - /// (Deprecated: Use context().) Get the io_service associated with the - /// strand. - /** - * This function may be used to obtain the io_service object that the strand - * uses to dispatch handlers for asynchronous operations. - * - * @return A reference to the io_service object that the strand will use to - * dispatch handlers. Ownership is not transferred to the caller. - */ - asio::io_service& get_io_service() - { - return service_.get_io_service(); - } -#endif // !defined(ASIO_NO_DEPRECATED) - - /// Obtain the underlying execution context. - asio::io_service& context() ASIO_NOEXCEPT - { - return service_.get_io_service(); - } - - /// Inform the strand that it has some outstanding work to do. - /** - * The strand delegates this call to its underlying io_service. - */ - void on_work_started() ASIO_NOEXCEPT - { - context().get_executor().on_work_started(); - } - - /// Inform the strand that some work is no longer outstanding. - /** - * The strand delegates this call to its underlying io_service. - */ - void on_work_finished() ASIO_NOEXCEPT - { - context().get_executor().on_work_finished(); - } - - /// Request the strand to invoke the given function object. - /** - * This function is used to ask the strand to execute the given function - * object on its underlying io_service. The function object will be executed - * inside this function if the strand is not otherwise busy and if the - * underlying io_service's executor's @c dispatch() function is also able to - * execute the function before returning. - * - * @param f The function object to be called. The executor will make - * a copy of the handler object as required. The function signature of the - * function object must be: @code void function(); @endcode - * - * @param a An allocator that may be used by the executor to allocate the - * internal storage needed for function invocation. - */ - template <typename Function, typename Allocator> - void dispatch(ASIO_MOVE_ARG(Function) f, const Allocator& a) - { - typename decay<Function>::type tmp(ASIO_MOVE_CAST(Function)(f)); - service_.dispatch(impl_, tmp); - (void)a; - } - -#if !defined(ASIO_NO_DEPRECATED) - /// (Deprecated: Use asio::dispatch().) Request the strand to invoke - /// the given handler. - /** - * This function is used to ask the strand to execute the given handler. - * - * The strand object guarantees that handlers posted or dispatched through - * the strand will not be executed concurrently. The handler may be executed - * inside this function if the guarantee can be met. If this function is - * called from within a handler that was posted or dispatched through the same - * strand, then the new handler will be executed immediately. - * - * The strand's guarantee is in addition to the guarantee provided by the - * underlying io_service. The io_service guarantees that the handler will only - * be called in a thread in which the io_service's run member function is - * currently being invoked. - * - * @param handler The handler to be called. The strand will make a copy of the - * handler object as required. The function signature of the handler must be: - * @code void handler(); @endcode - */ - template <typename CompletionHandler> - ASIO_INITFN_RESULT_TYPE(CompletionHandler, void ()) - dispatch(ASIO_MOVE_ARG(CompletionHandler) handler) - { - // If you get an error on the following line it means that your handler does - // not meet the documented type requirements for a CompletionHandler. - ASIO_COMPLETION_HANDLER_CHECK(CompletionHandler, handler) type_check; - - async_completion<CompletionHandler, void ()> init(handler); - - service_.dispatch(impl_, init.handler); - - return init.result.get(); - } -#endif // !defined(ASIO_NO_DEPRECATED) - - /// Request the strand to invoke the given function object. - /** - * This function is used to ask the executor to execute the given function - * object. The function object will never be executed inside this function. - * Instead, it will be scheduled to run by the underlying io_service. - * - * @param f The function object to be called. The executor will make - * a copy of the handler object as required. The function signature of the - * function object must be: @code void function(); @endcode - * - * @param a An allocator that may be used by the executor to allocate the - * internal storage needed for function invocation. - */ - template <typename Function, typename Allocator> - void post(ASIO_MOVE_ARG(Function) f, const Allocator& a) - { - typename decay<Function>::type tmp(ASIO_MOVE_CAST(Function)(f)); - service_.post(impl_, tmp); - (void)a; - } - -#if !defined(ASIO_NO_DEPRECATED) - /// (Deprecated: Use asio::post().) Request the strand to invoke the - /// given handler and return immediately. - /** - * This function is used to ask the strand to execute the given handler, but - * without allowing the strand to call the handler from inside this function. - * - * The strand object guarantees that handlers posted or dispatched through - * the strand will not be executed concurrently. The strand's guarantee is in - * addition to the guarantee provided by the underlying io_service. The - * io_service guarantees that the handler will only be called in a thread in - * which the io_service's run member function is currently being invoked. - * - * @param handler The handler to be called. The strand will make a copy of the - * handler object as required. The function signature of the handler must be: - * @code void handler(); @endcode - */ - template <typename CompletionHandler> - ASIO_INITFN_RESULT_TYPE(CompletionHandler, void ()) - post(ASIO_MOVE_ARG(CompletionHandler) handler) - { - // If you get an error on the following line it means that your handler does - // not meet the documented type requirements for a CompletionHandler. - ASIO_COMPLETION_HANDLER_CHECK(CompletionHandler, handler) type_check; - - async_completion<CompletionHandler, void ()> init(handler); - - service_.post(impl_, init.handler); - - return init.result.get(); - } -#endif // !defined(ASIO_NO_DEPRECATED) - - /// Request the strand to invoke the given function object. - /** - * This function is used to ask the executor to execute the given function - * object. The function object will never be executed inside this function. - * Instead, it will be scheduled to run by the underlying io_service. - * - * @param f The function object to be called. The executor will make - * a copy of the handler object as required. The function signature of the - * function object must be: @code void function(); @endcode - * - * @param a An allocator that may be used by the executor to allocate the - * internal storage needed for function invocation. - */ - template <typename Function, typename Allocator> - void defer(ASIO_MOVE_ARG(Function) f, const Allocator& a) - { - typename decay<Function>::type tmp(ASIO_MOVE_CAST(Function)(f)); - service_.post(impl_, tmp); - (void)a; - } - -#if !defined(ASIO_NO_DEPRECATED) - /// (Deprecated: Use asio::bind_executor().) Create a new handler that - /// automatically dispatches the wrapped handler on the strand. - /** - * This function is used to create a new handler function object that, when - * invoked, will automatically pass the wrapped handler to the strand's - * dispatch function. - * - * @param handler The handler to be wrapped. The strand will make a copy of - * the handler object as required. The function signature of the handler must - * be: @code void handler(A1 a1, ... An an); @endcode - * - * @return A function object that, when invoked, passes the wrapped handler to - * the strand's dispatch function. Given a function object with the signature: - * @code R f(A1 a1, ... An an); @endcode - * If this function object is passed to the wrap function like so: - * @code strand.wrap(f); @endcode - * then the return value is a function object with the signature - * @code void g(A1 a1, ... An an); @endcode - * that, when invoked, executes code equivalent to: - * @code strand.dispatch(boost::bind(f, a1, ... an)); @endcode - */ - template <typename Handler> -#if defined(GENERATING_DOCUMENTATION) - unspecified -#else - detail::wrapped_handler<strand, Handler, detail::is_continuation_if_running> -#endif - wrap(Handler handler) - { - return detail::wrapped_handler<io_service::strand, Handler, - detail::is_continuation_if_running>(*this, handler); - } -#endif // !defined(ASIO_NO_DEPRECATED) - - /// Determine whether the strand is running in the current thread. - /** - * @return @c true if the current thread is executing a handler that was - * submitted to the strand using post(), dispatch() or wrap(). Otherwise - * returns @c false. - */ - bool running_in_this_thread() const ASIO_NOEXCEPT - { - return service_.running_in_this_thread(impl_); - } - - /// Compare two strands for equality. - /** - * Two strands are equal if they refer to the same ordered, non-concurrent - * state. - */ - friend bool operator==(const strand& a, const strand& b) ASIO_NOEXCEPT - { - return a.impl_ == b.impl_; - } - - /// Compare two strands for inequality. - /** - * Two strands are equal if they refer to the same ordered, non-concurrent - * state. - */ - friend bool operator!=(const strand& a, const strand& b) ASIO_NOEXCEPT - { - return a.impl_ != b.impl_; - } - -private: - asio::detail::strand_service& service_; - asio::detail::strand_service::implementation_type impl_; -}; - -#if !defined(GENERATING_DOCUMENTATION) -template <> -struct is_executor<io_service::strand> : true_type {}; -#endif // !defined(GENERATING_DOCUMENTATION) - -} // namespace asio - -#include "asio/detail/pop_options.hpp" +#include "asio/io_context_strand.hpp" #endif // ASIO_IO_SERVICE_STRAND_HPP
diff --git a/asio/include/asio/ip/basic_resolver.hpp b/asio/include/asio/ip/basic_resolver.hpp index 68e97e9..75e93df 100644 --- a/asio/include/asio/ip/basic_resolver.hpp +++ b/asio/include/asio/ip/basic_resolver.hpp
@@ -69,11 +69,11 @@ /** * This constructor creates a basic_resolver. * - * @param io_service The io_service object that the resolver will use to + * @param io_context The io_context object that the resolver will use to * dispatch handlers for any asynchronous operations performed on the timer. */ - explicit basic_resolver(asio::io_service& io_service) - : basic_io_object<ResolverService>(io_service) + explicit basic_resolver(asio::io_context& io_context) + : basic_io_object<ResolverService>(io_context) { } @@ -501,7 +501,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation * of the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). * * A successful resolve operation is guaranteed to pass a non-empty range to * the handler. @@ -548,7 +548,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation * of the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). * * A successful resolve operation is guaranteed to pass a non-empty range to * the handler. @@ -604,7 +604,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation * of the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). * * A successful resolve operation is guaranteed to pass a non-empty range to * the handler. @@ -666,7 +666,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation * of the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). * * A successful resolve operation is guaranteed to pass a non-empty range to * the handler. @@ -725,7 +725,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation * of the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). * * A successful resolve operation is guaranteed to pass a non-empty range to * the handler. @@ -820,7 +820,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation * of the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). * * A successful resolve operation is guaranteed to pass a non-empty range to * the handler.
diff --git a/asio/include/asio/ip/multicast.hpp b/asio/include/asio/ip/multicast.hpp index 4af2c3a..3d3b8f0 100644 --- a/asio/include/asio/ip/multicast.hpp +++ b/asio/include/asio/ip/multicast.hpp
@@ -32,7 +32,7 @@ * @par Examples * Setting the option to join a multicast group: * @code - * asio::ip::udp::socket socket(io_service); + * asio::ip::udp::socket socket(io_context); * ... * asio::ip::address multicast_address = * asio::ip::address::from_string("225.0.0.1"); @@ -60,7 +60,7 @@ * @par Examples * Setting the option to leave a multicast group: * @code - * asio::ip::udp::socket socket(io_service); + * asio::ip::udp::socket socket(io_context); * ... * asio::ip::address multicast_address = * asio::ip::address::from_string("225.0.0.1"); @@ -88,7 +88,7 @@ * @par Examples * Setting the option: * @code - * asio::ip::udp::socket socket(io_service); + * asio::ip::udp::socket socket(io_context); * ... * asio::ip::address_v4 local_interface = * asio::ip::address_v4::from_string("1.2.3.4"); @@ -116,7 +116,7 @@ * @par Examples * Setting the option: * @code - * asio::ip::udp::socket socket(io_service); + * asio::ip::udp::socket socket(io_context); * ... * asio::ip::multicast::hops option(4); * socket.set_option(option); @@ -125,7 +125,7 @@ * @par * Getting the current option value: * @code - * asio::ip::udp::socket socket(io_service); + * asio::ip::udp::socket socket(io_context); * ... * asio::ip::multicast::hops option; * socket.get_option(option); @@ -153,7 +153,7 @@ * @par Examples * Setting the option: * @code - * asio::ip::udp::socket socket(io_service); + * asio::ip::udp::socket socket(io_context); * ... * asio::ip::multicast::enable_loopback option(true); * socket.set_option(option); @@ -162,7 +162,7 @@ * @par * Getting the current option value: * @code - * asio::ip::udp::socket socket(io_service); + * asio::ip::udp::socket socket(io_context); * ... * asio::ip::multicast::enable_loopback option; * socket.get_option(option);
diff --git a/asio/include/asio/ip/resolver_service.hpp b/asio/include/asio/ip/resolver_service.hpp index 3b78f10..0195958 100644 --- a/asio/include/asio/ip/resolver_service.hpp +++ b/asio/include/asio/ip/resolver_service.hpp
@@ -18,7 +18,7 @@ #include "asio/detail/config.hpp" #include "asio/async_result.hpp" #include "asio/error_code.hpp" -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #include "asio/ip/basic_resolver_iterator.hpp" #include "asio/ip/basic_resolver_query.hpp" #include "asio/ip/basic_resolver_results.hpp" @@ -38,7 +38,7 @@ template <typename InternetProtocol> class resolver_service #if defined(GENERATING_DOCUMENTATION) - : public asio::io_service::service + : public asio::io_context::service #else : public asio::detail::service_base< resolver_service<InternetProtocol> > @@ -47,7 +47,7 @@ public: #if defined(GENERATING_DOCUMENTATION) /// The unique service identifier. - static asio::io_service::id id; + static asio::io_context::id id; #endif /// The protocol type. @@ -83,11 +83,11 @@ typedef typename service_impl_type::implementation_type implementation_type; #endif - /// Construct a new resolver service for the specified io_service. - explicit resolver_service(asio::io_service& io_service) + /// Construct a new resolver service for the specified io_context. + explicit resolver_service(asio::io_context& io_context) : asio::detail::service_base< - resolver_service<InternetProtocol> >(io_service), - service_impl_(io_service) + resolver_service<InternetProtocol> >(io_context), + service_impl_(io_context) { } @@ -161,7 +161,7 @@ } // Perform any fork-related housekeeping. - void fork_service(asio::io_service::fork_event event) + void fork_service(asio::io_context::fork_event event) { service_impl_.fork_service(event); }
diff --git a/asio/include/asio/ip/tcp.hpp b/asio/include/asio/ip/tcp.hpp index 90009f4..8768962 100644 --- a/asio/include/asio/ip/tcp.hpp +++ b/asio/include/asio/ip/tcp.hpp
@@ -99,7 +99,7 @@ * @par Examples * Setting the option: * @code - * asio::ip::tcp::socket socket(io_service); + * asio::ip::tcp::socket socket(io_context); * ... * asio::ip::tcp::no_delay option(true); * socket.set_option(option); @@ -108,7 +108,7 @@ * @par * Getting the current option value: * @code - * asio::ip::tcp::socket socket(io_service); + * asio::ip::tcp::socket socket(io_context); * ... * asio::ip::tcp::no_delay option; * socket.get_option(option);
diff --git a/asio/include/asio/ip/unicast.hpp b/asio/include/asio/ip/unicast.hpp index b07d10b..2f4c0d8 100644 --- a/asio/include/asio/ip/unicast.hpp +++ b/asio/include/asio/ip/unicast.hpp
@@ -32,7 +32,7 @@ * @par Examples * Setting the option: * @code - * asio::ip::udp::socket socket(io_service); + * asio::ip::udp::socket socket(io_context); * ... * asio::ip::unicast::hops option(4); * socket.set_option(option); @@ -41,7 +41,7 @@ * @par * Getting the current option value: * @code - * asio::ip::udp::socket socket(io_service); + * asio::ip::udp::socket socket(io_context); * ... * asio::ip::unicast::hops option; * socket.get_option(option);
diff --git a/asio/include/asio/ip/v6_only.hpp b/asio/include/asio/ip/v6_only.hpp index 9b51097..9d89f8c 100644 --- a/asio/include/asio/ip/v6_only.hpp +++ b/asio/include/asio/ip/v6_only.hpp
@@ -31,7 +31,7 @@ * @par Examples * Setting the option: * @code - * asio::ip::tcp::socket socket(io_service); + * asio::ip::tcp::socket socket(io_context); * ... * asio::ip::v6_only option(true); * socket.set_option(option); @@ -40,7 +40,7 @@ * @par * Getting the current option value: * @code - * asio::ip::tcp::socket socket(io_service); + * asio::ip::tcp::socket socket(io_context); * ... * asio::ip::v6_only option; * socket.get_option(option);
diff --git a/asio/include/asio/posix/basic_descriptor.hpp b/asio/include/asio/posix/basic_descriptor.hpp index 9aa18f3..c471747 100644 --- a/asio/include/asio/posix/basic_descriptor.hpp +++ b/asio/include/asio/posix/basic_descriptor.hpp
@@ -55,12 +55,12 @@ /** * This constructor creates a descriptor without opening it. * - * @param io_service The io_service object that the descriptor will use to + * @param io_context The io_context object that the descriptor will use to * dispatch handlers for any asynchronous operations performed on the * descriptor. */ - explicit basic_descriptor(asio::io_service& io_service) - : basic_io_object<DescriptorService>(io_service) + explicit basic_descriptor(asio::io_context& io_context) + : basic_io_object<DescriptorService>(io_context) { } @@ -69,7 +69,7 @@ * This constructor creates a descriptor object to hold an existing native * descriptor. * - * @param io_service The io_service object that the descriptor will use to + * @param io_context The io_context object that the descriptor will use to * dispatch handlers for any asynchronous operations performed on the * descriptor. * @@ -77,9 +77,9 @@ * * @throws asio::system_error Thrown on failure. */ - basic_descriptor(asio::io_service& io_service, + basic_descriptor(asio::io_context& io_context, const native_handle_type& native_descriptor) - : basic_io_object<DescriptorService>(io_service) + : basic_io_object<DescriptorService>(io_context) { asio::error_code ec; this->get_service().assign(this->get_implementation(), @@ -96,7 +96,7 @@ * occur. * * @note Following the move, the moved-from object is in the same state as if - * constructed using the @c basic_descriptor(io_service&) constructor. + * constructed using the @c basic_descriptor(io_context&) constructor. */ basic_descriptor(basic_descriptor&& other) : basic_io_object<DescriptorService>( @@ -112,7 +112,7 @@ * occur. * * @note Following the move, the moved-from object is in the same state as if - * constructed using the @c basic_descriptor(io_service&) constructor. + * constructed using the @c basic_descriptor(io_context&) constructor. */ basic_descriptor& operator=(basic_descriptor&& other) { @@ -286,7 +286,7 @@ * @par Example * Getting the number of bytes ready to read: * @code - * asio::posix::stream_descriptor descriptor(io_service); + * asio::posix::stream_descriptor descriptor(io_context); * ... * asio::posix::stream_descriptor::bytes_readable command; * descriptor.io_control(command); @@ -316,7 +316,7 @@ * @par Example * Getting the number of bytes ready to read: * @code - * asio::posix::stream_descriptor descriptor(io_service); + * asio::posix::stream_descriptor descriptor(io_context); * ... * asio::posix::stream_descriptor::bytes_readable command; * asio::error_code ec; @@ -468,7 +468,7 @@ * @par Example * Waiting for a descriptor to become readable. * @code - * asio::posix::stream_descriptor descriptor(io_service); + * asio::posix::stream_descriptor descriptor(io_context); * ... * descriptor.wait(asio::posix::stream_descriptor::wait_read); * @endcode @@ -493,7 +493,7 @@ * @par Example * Waiting for a descriptor to become readable. * @code - * asio::posix::stream_descriptor descriptor(io_service); + * asio::posix::stream_descriptor descriptor(io_context); * ... * asio::error_code ec; * descriptor.wait(asio::posix::stream_descriptor::wait_read, ec); @@ -521,7 +521,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation * of the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). * * @par Example * @code @@ -535,7 +535,7 @@ * * ... * - * asio::posix::stream_descriptor descriptor(io_service); + * asio::posix::stream_descriptor descriptor(io_context); * ... * descriptor.async_wait( * asio::posix::stream_descriptor::wait_read,
diff --git a/asio/include/asio/posix/basic_stream_descriptor.hpp b/asio/include/asio/posix/basic_stream_descriptor.hpp index f185c30..b81f7ee 100644 --- a/asio/include/asio/posix/basic_stream_descriptor.hpp +++ b/asio/include/asio/posix/basic_stream_descriptor.hpp
@@ -59,12 +59,12 @@ * descriptor needs to be opened and then connected or accepted before data * can be sent or received on it. * - * @param io_service The io_service object that the stream descriptor will + * @param io_context The io_context object that the stream descriptor will * use to dispatch handlers for any asynchronous operations performed on the * descriptor. */ - explicit basic_stream_descriptor(asio::io_service& io_service) - : basic_descriptor<StreamDescriptorService>(io_service) + explicit basic_stream_descriptor(asio::io_context& io_context) + : basic_descriptor<StreamDescriptorService>(io_context) { } @@ -73,7 +73,7 @@ * This constructor creates a stream descriptor object to hold an existing * native descriptor. * - * @param io_service The io_service object that the stream descriptor will + * @param io_context The io_context object that the stream descriptor will * use to dispatch handlers for any asynchronous operations performed on the * descriptor. * @@ -81,9 +81,9 @@ * * @throws asio::system_error Thrown on failure. */ - basic_stream_descriptor(asio::io_service& io_service, + basic_stream_descriptor(asio::io_context& io_context, const native_handle_type& native_descriptor) - : basic_descriptor<StreamDescriptorService>(io_service, native_descriptor) + : basic_descriptor<StreamDescriptorService>(io_context, native_descriptor) { } @@ -96,7 +96,7 @@ * will occur. * * @note Following the move, the moved-from object is in the same state as if - * constructed using the @c basic_stream_descriptor(io_service&) constructor. + * constructed using the @c basic_stream_descriptor(io_context&) constructor. */ basic_stream_descriptor(basic_stream_descriptor&& other) : basic_descriptor<StreamDescriptorService>( @@ -113,7 +113,7 @@ * will occur. * * @note Following the move, the moved-from object is in the same state as if - * constructed using the @c basic_stream_descriptor(io_service&) constructor. + * constructed using the @c basic_stream_descriptor(io_context&) constructor. */ basic_stream_descriptor& operator=(basic_stream_descriptor&& other) { @@ -204,7 +204,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation * of the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). * * @note The write operation may not transmit all of the data to the peer. * Consider using the @ref async_write function if you need to ensure that all @@ -316,7 +316,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation * of the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). * * @note The read operation may not read all of the requested number of bytes. * Consider using the @ref async_read function if you need to ensure that the
diff --git a/asio/include/asio/posix/descriptor_base.hpp b/asio/include/asio/posix/descriptor_base.hpp index e8d9784..0f7802f 100644 --- a/asio/include/asio/posix/descriptor_base.hpp +++ b/asio/include/asio/posix/descriptor_base.hpp
@@ -57,7 +57,7 @@ * * @par Example * @code - * asio::posix::stream_descriptor descriptor(io_service); + * asio::posix::stream_descriptor descriptor(io_context); * ... * asio::descriptor_base::bytes_readable command(true); * descriptor.io_control(command);
diff --git a/asio/include/asio/posix/stream_descriptor_service.hpp b/asio/include/asio/posix/stream_descriptor_service.hpp index 9e216b2..0c52495 100644 --- a/asio/include/asio/posix/stream_descriptor_service.hpp +++ b/asio/include/asio/posix/stream_descriptor_service.hpp
@@ -23,7 +23,7 @@ #include <cstddef> #include "asio/async_result.hpp" #include "asio/error.hpp" -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #include "asio/detail/reactive_descriptor_service.hpp" #include "asio/detail/push_options.hpp" @@ -34,7 +34,7 @@ /// Default service implementation for a stream descriptor. class stream_descriptor_service #if defined(GENERATING_DOCUMENTATION) - : public asio::io_service::service + : public asio::io_context::service #else : public asio::detail::service_base<stream_descriptor_service> #endif @@ -42,7 +42,7 @@ public: #if defined(GENERATING_DOCUMENTATION) /// The unique service identifier. - static asio::io_service::id id; + static asio::io_context::id id; #endif private: @@ -64,10 +64,10 @@ typedef service_impl_type::native_handle_type native_handle_type; #endif - /// Construct a new stream descriptor service for the specified io_service. - explicit stream_descriptor_service(asio::io_service& io_service) - : asio::detail::service_base<stream_descriptor_service>(io_service), - service_impl_(io_service) + /// Construct a new stream descriptor service for the specified io_context. + explicit stream_descriptor_service(asio::io_context& io_context) + : asio::detail::service_base<stream_descriptor_service>(io_context), + service_impl_(io_context) { }
diff --git a/asio/include/asio/raw_socket_service.hpp b/asio/include/asio/raw_socket_service.hpp index fbf4538..f0da7c5 100644 --- a/asio/include/asio/raw_socket_service.hpp +++ b/asio/include/asio/raw_socket_service.hpp
@@ -20,7 +20,7 @@ #include "asio/async_result.hpp" #include "asio/detail/type_traits.hpp" #include "asio/error.hpp" -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #if defined(ASIO_WINDOWS_RUNTIME) # include "asio/detail/null_socket_service.hpp" @@ -38,7 +38,7 @@ template <typename Protocol> class raw_socket_service #if defined(GENERATING_DOCUMENTATION) - : public asio::io_service::service + : public asio::io_context::service #else : public asio::detail::service_base<raw_socket_service<Protocol> > #endif @@ -46,7 +46,7 @@ public: #if defined(GENERATING_DOCUMENTATION) /// The unique service identifier. - static asio::io_service::id id; + static asio::io_context::id id; #endif /// The protocol type. @@ -80,11 +80,11 @@ typedef typename service_impl_type::native_handle_type native_handle_type; #endif - /// Construct a new raw socket service for the specified io_service. - explicit raw_socket_service(asio::io_service& io_service) + /// Construct a new raw socket service for the specified io_context. + explicit raw_socket_service(asio::io_context& io_context) : asio::detail::service_base< - raw_socket_service<Protocol> >(io_service), - service_impl_(io_service) + raw_socket_service<Protocol> >(io_context), + service_impl_(io_context) { }
diff --git a/asio/include/asio/read.hpp b/asio/include/asio/read.hpp index ff5913e..5ee26d3 100644 --- a/asio/include/asio/read.hpp +++ b/asio/include/asio/read.hpp
@@ -575,7 +575,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation of * the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). * * @par Example * To read into a single data buffer use the @ref buffer function as follows: @@ -653,7 +653,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation of * the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). * * @par Example * To read into a single data buffer use the @ref buffer function as follows: @@ -718,7 +718,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation of * the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). * * @note This overload is equivalent to calling: * @code asio::async_read( @@ -793,7 +793,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation of * the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). */ template <typename AsyncReadStream, typename DynamicBufferSequence, typename CompletionCondition, typename ReadHandler> @@ -849,7 +849,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation of * the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). * * @note This overload is equivalent to calling: * @code asio::async_read( @@ -917,7 +917,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation of * the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). */ template <typename AsyncReadStream, typename Allocator, typename CompletionCondition, typename ReadHandler>
diff --git a/asio/include/asio/read_at.hpp b/asio/include/asio/read_at.hpp index 15291fc..694c034 100644 --- a/asio/include/asio/read_at.hpp +++ b/asio/include/asio/read_at.hpp
@@ -436,7 +436,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation of * the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). * * @par Example * To read into a single data buffer use the @ref buffer function as follows: @@ -514,7 +514,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation of * the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). * * @par Example * To read into a single data buffer use the @ref buffer function as follows: @@ -574,7 +574,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation of * the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). * * @note This overload is equivalent to calling: * @code asio::async_read_at( @@ -640,7 +640,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation of * the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). */ template <typename AsyncRandomAccessReadDevice, typename Allocator, typename CompletionCondition, typename ReadHandler>
diff --git a/asio/include/asio/read_until.hpp b/asio/include/asio/read_until.hpp index a33e92c..c3b07ce 100644 --- a/asio/include/asio/read_until.hpp +++ b/asio/include/asio/read_until.hpp
@@ -1034,7 +1034,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation of * the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). * * @note After a successful async_read_until operation, the dynamic buffer * sequence may contain additional data beyond the delimiter. An application @@ -1124,7 +1124,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation of * the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). * * @note After a successful async_read_until operation, the dynamic buffer * sequence may contain additional data beyond the delimiter. An application @@ -1220,7 +1220,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation of * the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). * * @note After a successful async_read_until operation, the dynamic buffer * sequence may contain additional data beyond that which matched the regular @@ -1329,7 +1329,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation of * the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). * * @note After a successful async_read_until operation, the dynamic buffer * sequence may contain additional data beyond that which matched the function @@ -1451,7 +1451,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation of * the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). * * @note After a successful async_read_until operation, the streambuf may * contain additional data beyond the delimiter. An application will typically @@ -1536,7 +1536,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation of * the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). * * @note After a successful async_read_until operation, the streambuf may * contain additional data beyond the delimiter. An application will typically @@ -1627,7 +1627,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation of * the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). * * @note After a successful async_read_until operation, the streambuf may * contain additional data beyond that which matched the regular expression. An @@ -1729,7 +1729,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation of * the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). * * @note After a successful async_read_until operation, the streambuf may * contain additional data beyond that which matched the function object. An
diff --git a/asio/include/asio/seq_packet_socket_service.hpp b/asio/include/asio/seq_packet_socket_service.hpp index f47154f..17cd140 100644 --- a/asio/include/asio/seq_packet_socket_service.hpp +++ b/asio/include/asio/seq_packet_socket_service.hpp
@@ -20,7 +20,7 @@ #include "asio/async_result.hpp" #include "asio/detail/type_traits.hpp" #include "asio/error.hpp" -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #if defined(ASIO_WINDOWS_RUNTIME) # include "asio/detail/null_socket_service.hpp" @@ -38,7 +38,7 @@ template <typename Protocol> class seq_packet_socket_service #if defined(GENERATING_DOCUMENTATION) - : public asio::io_service::service + : public asio::io_context::service #else : public asio::detail::service_base< seq_packet_socket_service<Protocol> > @@ -47,7 +47,7 @@ public: #if defined(GENERATING_DOCUMENTATION) /// The unique service identifier. - static asio::io_service::id id; + static asio::io_context::id id; #endif /// The protocol type. @@ -82,11 +82,11 @@ #endif /// Construct a new sequenced packet socket service for the specified - /// io_service. - explicit seq_packet_socket_service(asio::io_service& io_service) + /// io_context. + explicit seq_packet_socket_service(asio::io_context& io_context) : asio::detail::service_base< - seq_packet_socket_service<Protocol> >(io_service), - service_impl_(io_service) + seq_packet_socket_service<Protocol> >(io_context), + service_impl_(io_context) { }
diff --git a/asio/include/asio/serial_port_service.hpp b/asio/include/asio/serial_port_service.hpp index 6b930c3..907dee9 100644 --- a/asio/include/asio/serial_port_service.hpp +++ b/asio/include/asio/serial_port_service.hpp
@@ -26,7 +26,7 @@ #include "asio/detail/reactive_serial_port_service.hpp" #include "asio/detail/win_iocp_serial_port_service.hpp" #include "asio/error.hpp" -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #include "asio/serial_port_base.hpp" #include "asio/detail/push_options.hpp" @@ -36,7 +36,7 @@ /// Default service implementation for a serial port. class serial_port_service #if defined(GENERATING_DOCUMENTATION) - : public asio::io_service::service + : public asio::io_context::service #else : public asio::detail::service_base<serial_port_service> #endif @@ -44,7 +44,7 @@ public: #if defined(GENERATING_DOCUMENTATION) /// The unique service identifier. - static asio::io_service::id id; + static asio::io_context::id id; #endif private: @@ -70,10 +70,10 @@ typedef service_impl_type::native_handle_type native_handle_type; #endif - /// Construct a new serial port service for the specified io_service. - explicit serial_port_service(asio::io_service& io_service) - : asio::detail::service_base<serial_port_service>(io_service), - service_impl_(io_service) + /// Construct a new serial port service for the specified io_context. + explicit serial_port_service(asio::io_context& io_context) + : asio::detail::service_base<serial_port_service>(io_context), + service_impl_(io_context) { }
diff --git a/asio/include/asio/signal_set_service.hpp b/asio/include/asio/signal_set_service.hpp index a31f513..4ba418a 100644 --- a/asio/include/asio/signal_set_service.hpp +++ b/asio/include/asio/signal_set_service.hpp
@@ -19,7 +19,7 @@ #include "asio/async_result.hpp" #include "asio/detail/signal_set_service.hpp" #include "asio/error.hpp" -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #include "asio/detail/push_options.hpp" @@ -28,7 +28,7 @@ /// Default service implementation for a signal set. class signal_set_service #if defined(GENERATING_DOCUMENTATION) - : public asio::io_service::service + : public asio::io_context::service #else : public asio::detail::service_base<signal_set_service> #endif @@ -36,7 +36,7 @@ public: #if defined(GENERATING_DOCUMENTATION) /// The unique service identifier. - static asio::io_service::id id; + static asio::io_context::id id; #endif public: @@ -47,10 +47,10 @@ typedef detail::signal_set_service::implementation_type implementation_type; #endif - /// Construct a new signal set service for the specified io_service. - explicit signal_set_service(asio::io_service& io_service) - : asio::detail::service_base<signal_set_service>(io_service), - service_impl_(io_service) + /// Construct a new signal set service for the specified io_context. + explicit signal_set_service(asio::io_context& io_context) + : asio::detail::service_base<signal_set_service>(io_context), + service_impl_(io_context) { } @@ -117,7 +117,7 @@ } // Perform any fork-related housekeeping. - void fork_service(asio::io_service::fork_event event) + void fork_service(asio::io_context::fork_event event) { service_impl_.fork_service(event); }
diff --git a/asio/include/asio/socket_acceptor_service.hpp b/asio/include/asio/socket_acceptor_service.hpp index 04ba30c..f2b6004 100644 --- a/asio/include/asio/socket_acceptor_service.hpp +++ b/asio/include/asio/socket_acceptor_service.hpp
@@ -19,7 +19,7 @@ #include "asio/basic_socket.hpp" #include "asio/detail/type_traits.hpp" #include "asio/error.hpp" -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #if defined(ASIO_WINDOWS_RUNTIME) # include "asio/detail/null_socket_service.hpp" @@ -37,7 +37,7 @@ template <typename Protocol> class socket_acceptor_service #if defined(GENERATING_DOCUMENTATION) - : public asio::io_service::service + : public asio::io_context::service #else : public asio::detail::service_base<socket_acceptor_service<Protocol> > #endif @@ -45,7 +45,7 @@ public: #if defined(GENERATING_DOCUMENTATION) /// The unique service identifier. - static asio::io_service::id id; + static asio::io_context::id id; #endif /// The protocol type. @@ -79,11 +79,11 @@ typedef typename service_impl_type::native_handle_type native_handle_type; #endif - /// Construct a new socket acceptor service for the specified io_service. - explicit socket_acceptor_service(asio::io_service& io_service) + /// Construct a new socket acceptor service for the specified io_context. + explicit socket_acceptor_service(asio::io_context& io_context) : asio::detail::service_base< - socket_acceptor_service<Protocol> >(io_service), - service_impl_(io_service) + socket_acceptor_service<Protocol> >(io_context), + service_impl_(io_context) { } @@ -279,10 +279,10 @@ #if defined(ASIO_HAS_MOVE) /// Accept a new connection. typename Protocol::socket accept(implementation_type& impl, - io_service* peer_io_service, endpoint_type* peer_endpoint, + io_context* peer_io_context, endpoint_type* peer_endpoint, asio::error_code& ec) { - return service_impl_.accept(impl, peer_io_service, peer_endpoint, ec); + return service_impl_.accept(impl, peer_io_context, peer_endpoint, ec); } #endif // defined(ASIO_HAS_MOVE) @@ -310,7 +310,7 @@ ASIO_INITFN_RESULT_TYPE(MoveAcceptHandler, void (asio::error_code, typename Protocol::socket)) async_accept(implementation_type& impl, - asio::io_service* peer_io_service, endpoint_type* peer_endpoint, + asio::io_context* peer_io_context, endpoint_type* peer_endpoint, ASIO_MOVE_ARG(MoveAcceptHandler) handler) { async_completion<MoveAcceptHandler, @@ -318,7 +318,7 @@ typename Protocol::socket)> init(handler); service_impl_.async_accept(impl, - peer_io_service, peer_endpoint, init.handler); + peer_io_context, peer_endpoint, init.handler); return init.result.get(); }
diff --git a/asio/include/asio/socket_base.hpp b/asio/include/asio/socket_base.hpp index b346f3a..5927b6a 100644 --- a/asio/include/asio/socket_base.hpp +++ b/asio/include/asio/socket_base.hpp
@@ -98,7 +98,7 @@ * @par Examples * Setting the option: * @code - * asio::ip::udp::socket socket(io_service); + * asio::ip::udp::socket socket(io_context); * ... * asio::socket_base::broadcast option(true); * socket.set_option(option); @@ -107,7 +107,7 @@ * @par * Getting the current option value: * @code - * asio::ip::udp::socket socket(io_service); + * asio::ip::udp::socket socket(io_context); * ... * asio::socket_base::broadcast option; * socket.get_option(option); @@ -132,7 +132,7 @@ * @par Examples * Setting the option: * @code - * asio::ip::tcp::socket socket(io_service); + * asio::ip::tcp::socket socket(io_context); * ... * asio::socket_base::debug option(true); * socket.set_option(option); @@ -141,7 +141,7 @@ * @par * Getting the current option value: * @code - * asio::ip::tcp::socket socket(io_service); + * asio::ip::tcp::socket socket(io_context); * ... * asio::socket_base::debug option; * socket.get_option(option); @@ -165,7 +165,7 @@ * @par Examples * Setting the option: * @code - * asio::ip::udp::socket socket(io_service); + * asio::ip::udp::socket socket(io_context); * ... * asio::socket_base::do_not_route option(true); * socket.set_option(option); @@ -174,7 +174,7 @@ * @par * Getting the current option value: * @code - * asio::ip::udp::socket socket(io_service); + * asio::ip::udp::socket socket(io_context); * ... * asio::socket_base::do_not_route option; * socket.get_option(option); @@ -199,7 +199,7 @@ * @par Examples * Setting the option: * @code - * asio::ip::tcp::socket socket(io_service); + * asio::ip::tcp::socket socket(io_context); * ... * asio::socket_base::keep_alive option(true); * socket.set_option(option); @@ -208,7 +208,7 @@ * @par * Getting the current option value: * @code - * asio::ip::tcp::socket socket(io_service); + * asio::ip::tcp::socket socket(io_context); * ... * asio::socket_base::keep_alive option; * socket.get_option(option); @@ -232,7 +232,7 @@ * @par Examples * Setting the option: * @code - * asio::ip::tcp::socket socket(io_service); + * asio::ip::tcp::socket socket(io_context); * ... * asio::socket_base::send_buffer_size option(8192); * socket.set_option(option); @@ -241,7 +241,7 @@ * @par * Getting the current option value: * @code - * asio::ip::tcp::socket socket(io_service); + * asio::ip::tcp::socket socket(io_context); * ... * asio::socket_base::send_buffer_size option; * socket.get_option(option); @@ -266,7 +266,7 @@ * @par Examples * Setting the option: * @code - * asio::ip::tcp::socket socket(io_service); + * asio::ip::tcp::socket socket(io_context); * ... * asio::socket_base::send_low_watermark option(1024); * socket.set_option(option); @@ -275,7 +275,7 @@ * @par * Getting the current option value: * @code - * asio::ip::tcp::socket socket(io_service); + * asio::ip::tcp::socket socket(io_context); * ... * asio::socket_base::send_low_watermark option; * socket.get_option(option); @@ -300,7 +300,7 @@ * @par Examples * Setting the option: * @code - * asio::ip::tcp::socket socket(io_service); + * asio::ip::tcp::socket socket(io_context); * ... * asio::socket_base::receive_buffer_size option(8192); * socket.set_option(option); @@ -309,7 +309,7 @@ * @par * Getting the current option value: * @code - * asio::ip::tcp::socket socket(io_service); + * asio::ip::tcp::socket socket(io_context); * ... * asio::socket_base::receive_buffer_size option; * socket.get_option(option); @@ -334,7 +334,7 @@ * @par Examples * Setting the option: * @code - * asio::ip::tcp::socket socket(io_service); + * asio::ip::tcp::socket socket(io_context); * ... * asio::socket_base::receive_low_watermark option(1024); * socket.set_option(option); @@ -343,7 +343,7 @@ * @par * Getting the current option value: * @code - * asio::ip::tcp::socket socket(io_service); + * asio::ip::tcp::socket socket(io_context); * ... * asio::socket_base::receive_low_watermark option; * socket.get_option(option); @@ -369,7 +369,7 @@ * @par Examples * Setting the option: * @code - * asio::ip::tcp::acceptor acceptor(io_service); + * asio::ip::tcp::acceptor acceptor(io_context); * ... * asio::socket_base::reuse_address option(true); * acceptor.set_option(option); @@ -378,7 +378,7 @@ * @par * Getting the current option value: * @code - * asio::ip::tcp::acceptor acceptor(io_service); + * asio::ip::tcp::acceptor acceptor(io_context); * ... * asio::socket_base::reuse_address option; * acceptor.get_option(option); @@ -404,7 +404,7 @@ * @par Examples * Setting the option: * @code - * asio::ip::tcp::socket socket(io_service); + * asio::ip::tcp::socket socket(io_context); * ... * asio::socket_base::linger option(true, 30); * socket.set_option(option); @@ -413,7 +413,7 @@ * @par * Getting the current option value: * @code - * asio::ip::tcp::socket socket(io_service); + * asio::ip::tcp::socket socket(io_context); * ... * asio::socket_base::linger option; * socket.get_option(option); @@ -441,7 +441,7 @@ * @par Examples * Setting the option: * @code - * asio::ip::tcp::acceptor acceptor(io_service); + * asio::ip::tcp::acceptor acceptor(io_context); * ... * asio::socket_base::enable_connection_aborted option(true); * acceptor.set_option(option); @@ -450,7 +450,7 @@ * @par * Getting the current option value: * @code - * asio::ip::tcp::acceptor acceptor(io_service); + * asio::ip::tcp::acceptor acceptor(io_context); * ... * asio::socket_base::enable_connection_aborted option; * acceptor.get_option(option); @@ -476,7 +476,7 @@ * * @par Example * @code - * asio::ip::tcp::socket socket(io_service); + * asio::ip::tcp::socket socket(io_context); * ... * asio::socket_base::bytes_readable command(true); * socket.io_control(command);
diff --git a/asio/include/asio/spawn.hpp b/asio/include/asio/spawn.hpp index 607e703..9fa6e7b 100644 --- a/asio/include/asio/spawn.hpp +++ b/asio/include/asio/spawn.hpp
@@ -22,7 +22,7 @@ #include "asio/detail/type_traits.hpp" #include "asio/detail/wrapped_handler.hpp" #include "asio/executor.hpp" -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #include "asio/is_executor.hpp" #include "asio/strand.hpp" @@ -299,7 +299,7 @@ * @param attributes Boost.Coroutine attributes used to customise the coroutine. */ template <typename Function> -void spawn(const asio::io_service::strand& s, +void spawn(const asio::io_context::strand& s, ASIO_MOVE_ARG(Function) function, const boost::coroutines::attributes& attributes = boost::coroutines::attributes());
diff --git a/asio/include/asio/ssl/context.hpp b/asio/include/asio/ssl/context.hpp index 2bf2e0a..e6dc651 100644 --- a/asio/include/asio/ssl/context.hpp +++ b/asio/include/asio/ssl/context.hpp
@@ -19,7 +19,7 @@ #include <string> #include "asio/buffer.hpp" -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #include "asio/ssl/context_base.hpp" #include "asio/ssl/detail/openssl_types.hpp" #include "asio/ssl/detail/openssl_init.hpp"
diff --git a/asio/include/asio/ssl/detail/io.hpp b/asio/include/asio/ssl/detail/io.hpp index b2fdc76..86781a4 100644 --- a/asio/include/asio/ssl/detail/io.hpp +++ b/asio/include/asio/ssl/detail/io.hpp
@@ -201,7 +201,7 @@ // have to keep in mind that this function might be being called from // the async operation's initiating function. In this case we're not // allowed to call the handler directly. Instead, issue a zero-sized - // read so the handler runs "as-if" posted using io_service::post(). + // read so the handler runs "as-if" posted using io_context::post(). if (start) { next_layer_.async_read_some(
diff --git a/asio/include/asio/ssl/detail/stream_core.hpp b/asio/include/asio/ssl/detail/stream_core.hpp index 22442b1..1874bda 100644 --- a/asio/include/asio/ssl/detail/stream_core.hpp +++ b/asio/include/asio/ssl/detail/stream_core.hpp
@@ -37,10 +37,10 @@ // sufficient to hold the largest possible TLS record. enum { max_tls_record_size = 17 * 1024 }; - stream_core(SSL_CTX* context, asio::io_service& io_service) + stream_core(SSL_CTX* context, asio::io_context& io_context) : engine_(context), - pending_read_(io_service), - pending_write_(io_service), + pending_read_(io_context), + pending_write_(io_context), output_buffer_space_(max_tls_record_size), output_buffer_(asio::buffer(output_buffer_space_)), input_buffer_space_(max_tls_record_size),
diff --git a/asio/include/asio/ssl/rfc2818_verification.hpp b/asio/include/asio/ssl/rfc2818_verification.hpp index 7529855..00a29f1 100644 --- a/asio/include/asio/ssl/rfc2818_verification.hpp +++ b/asio/include/asio/ssl/rfc2818_verification.hpp
@@ -42,9 +42,9 @@ * ctx.set_default_verify_paths(); * * // Open a socket and connect it to the remote host. - * asio::io_service io_service; - * ssl_socket sock(io_service, ctx); - * tcp::resolver resolver(io_service); + * asio::io_context io_context; + * ssl_socket sock(io_context, ctx); + * tcp::resolver resolver(io_context); * tcp::resolver::query query("host.name", "https"); * asio::connect(sock.lowest_layer(), resolver.resolve(query)); * sock.lowest_layer().set_option(tcp::no_delay(true));
diff --git a/asio/include/asio/ssl/stream.hpp b/asio/include/asio/ssl/stream.hpp index f80a67c..207bba3 100644 --- a/asio/include/asio/ssl/stream.hpp +++ b/asio/include/asio/ssl/stream.hpp
@@ -51,9 +51,9 @@ * @par Example * To use the SSL stream template with an ip::tcp::socket, you would write: * @code - * asio::io_service io_service; + * asio::io_context io_context; * asio::ssl::context ctx(asio::ssl::context::sslv23); - * asio::ssl::stream<asio:ip::tcp::socket> sock(io_service, ctx); + * asio::ssl::stream<asio:ip::tcp::socket> sock(io_context, ctx); * @endcode * * @par Concepts: @@ -112,17 +112,17 @@ { } - /// Get the io_service associated with the object. + /// Get the io_context associated with the object. /** - * This function may be used to obtain the io_service object that the stream + * This function may be used to obtain the io_context object that the stream * uses to dispatch handlers for asynchronous operations. * - * @return A reference to the io_service object that stream will use to + * @return A reference to the io_context object that stream will use to * dispatch handlers. Ownership is not transferred to the caller. */ - asio::io_service& get_io_service() + asio::io_context& get_io_context() { - return next_layer_.lowest_layer().get_io_service(); + return next_layer_.lowest_layer().get_io_context(); } /// Get the underlying implementation in the native type. @@ -136,7 +136,7 @@ * suitable for passing to functions such as @c SSL_get_verify_result and * @c SSL_get_peer_certificate: * @code - * asio::ssl::stream<asio:ip::tcp::socket> sock(io_service, ctx); + * asio::ssl::stream<asio:ip::tcp::socket> sock(io_context, ctx); * * // ... establish connection and perform handshake ... *
diff --git a/asio/include/asio/strand.hpp b/asio/include/asio/strand.hpp index 389e004..488b540 100644 --- a/asio/include/asio/strand.hpp +++ b/asio/include/asio/strand.hpp
@@ -281,10 +281,10 @@ #include "asio/detail/pop_options.hpp" -// If both io_service.hpp and strand.hpp have been included, automatically -// include the header file needed for the io_service::strand class. -#if defined(ASIO_IO_SERVICE_HPP) -# include "asio/io_service_strand.hpp" -#endif // defined(ASIO_IO_SERVICE_HPP) +// If both io_context.hpp and strand.hpp have been included, automatically +// include the header file needed for the io_context::strand class. +#if defined(ASIO_IO_CONTEXT_HPP) +# include "asio/io_context_strand.hpp" +#endif // defined(ASIO_IO_CONTEXT_HPP) #endif // ASIO_STRAND_HPP
diff --git a/asio/include/asio/stream_socket_service.hpp b/asio/include/asio/stream_socket_service.hpp index bec5b83..517bc1f 100644 --- a/asio/include/asio/stream_socket_service.hpp +++ b/asio/include/asio/stream_socket_service.hpp
@@ -20,7 +20,7 @@ #include "asio/async_result.hpp" #include "asio/detail/type_traits.hpp" #include "asio/error.hpp" -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #if defined(ASIO_WINDOWS_RUNTIME) # include "asio/detail/winrt_ssocket_service.hpp" @@ -38,7 +38,7 @@ template <typename Protocol> class stream_socket_service #if defined(GENERATING_DOCUMENTATION) - : public asio::io_service::service + : public asio::io_context::service #else : public asio::detail::service_base<stream_socket_service<Protocol> > #endif @@ -46,7 +46,7 @@ public: #if defined(GENERATING_DOCUMENTATION) /// The unique service identifier. - static asio::io_service::id id; + static asio::io_context::id id; #endif /// The protocol type. @@ -80,11 +80,11 @@ typedef typename service_impl_type::native_handle_type native_handle_type; #endif - /// Construct a new stream socket service for the specified io_service. - explicit stream_socket_service(asio::io_service& io_service) + /// Construct a new stream socket service for the specified io_context. + explicit stream_socket_service(asio::io_context& io_context) : asio::detail::service_base< - stream_socket_service<Protocol> >(io_service), - service_impl_(io_service) + stream_socket_service<Protocol> >(io_context), + service_impl_(io_context) { }
diff --git a/asio/include/asio/thread.hpp b/asio/include/asio/thread.hpp index 6468130..f101ed5 100644 --- a/asio/include/asio/thread.hpp +++ b/asio/include/asio/thread.hpp
@@ -36,12 +36,12 @@ * * @par Example * A typical use of asio::thread would be to launch a thread to run an - * io_service's event processing loop: + * io_context's event processing loop: * * @par - * @code asio::io_service io_service; + * @code asio::io_context io_context; * // ... - * asio::thread t(boost::bind(&asio::io_service::run, &io_service)); + * asio::thread t(boost::bind(&asio::io_context::run, &io_context)); * // ... * t.join(); @endcode */
diff --git a/asio/include/asio/ts/io_service.hpp b/asio/include/asio/ts/io_context.hpp similarity index 71% rename from asio/include/asio/ts/io_service.hpp rename to asio/include/asio/ts/io_context.hpp index 5c0a44e..a648624 100644 --- a/asio/include/asio/ts/io_service.hpp +++ b/asio/include/asio/ts/io_context.hpp
@@ -1,5 +1,5 @@ // -// ts/io_service.hpp +// ts/io_context.hpp // ~~~~~~~~~~~~~~~~~ // // Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) @@ -8,13 +8,13 @@ // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // -#ifndef ASIO_TS_IO_SERVICE_HPP -#define ASIO_TS_IO_SERVICE_HPP +#ifndef ASIO_TS_IO_CONTEXT_HPP +#define ASIO_TS_IO_CONTEXT_HPP #if defined(_MSC_VER) && (_MSC_VER >= 1200) # pragma once #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" -#endif // ASIO_TS_IO_SERVICE_HPP +#endif // ASIO_TS_IO_CONTEXT_HPP
diff --git a/asio/include/asio/ts/networking.hpp b/asio/include/asio/ts/networking.hpp index a9cd88d..75ac6e8 100644 --- a/asio/include/asio/ts/networking.hpp +++ b/asio/include/asio/ts/networking.hpp
@@ -16,7 +16,7 @@ #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) #include "asio/ts/executor.hpp" -#include "asio/ts/io_service.hpp" +#include "asio/ts/io_context.hpp" #include "asio/ts/timer.hpp" #include "asio/ts/buffer.hpp" #include "asio/ts/socket.hpp"
diff --git a/asio/include/asio/waitable_timer_service.hpp b/asio/include/asio/waitable_timer_service.hpp index 828bbfe..ac34aa5 100644 --- a/asio/include/asio/waitable_timer_service.hpp +++ b/asio/include/asio/waitable_timer_service.hpp
@@ -20,7 +20,7 @@ #include "asio/async_result.hpp" #include "asio/detail/chrono_time_traits.hpp" #include "asio/detail/deadline_timer_service.hpp" -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #include "asio/wait_traits.hpp" #include "asio/detail/push_options.hpp" @@ -32,7 +32,7 @@ typename WaitTraits = asio::wait_traits<Clock> > class waitable_timer_service #if defined(GENERATING_DOCUMENTATION) - : public asio::io_service::service + : public asio::io_context::service #else : public asio::detail::service_base< waitable_timer_service<Clock, WaitTraits> > @@ -41,7 +41,7 @@ public: #if defined(GENERATING_DOCUMENTATION) /// The unique service identifier. - static asio::io_service::id id; + static asio::io_context::id id; #endif /// The clock type. @@ -69,11 +69,11 @@ typedef typename service_impl_type::implementation_type implementation_type; #endif - /// Construct a new timer service for the specified io_service. - explicit waitable_timer_service(asio::io_service& io_service) + /// Construct a new timer service for the specified io_context. + explicit waitable_timer_service(asio::io_context& io_context) : asio::detail::service_base< - waitable_timer_service<Clock, WaitTraits> >(io_service), - service_impl_(io_service) + waitable_timer_service<Clock, WaitTraits> >(io_context), + service_impl_(io_context) { }
diff --git a/asio/include/asio/windows/basic_handle.hpp b/asio/include/asio/windows/basic_handle.hpp index 2398e75..6ef8225 100644 --- a/asio/include/asio/windows/basic_handle.hpp +++ b/asio/include/asio/windows/basic_handle.hpp
@@ -55,11 +55,11 @@ /** * This constructor creates a handle without opening it. * - * @param io_service The io_service object that the handle will use to + * @param io_context The io_context object that the handle will use to * dispatch handlers for any asynchronous operations performed on the handle. */ - explicit basic_handle(asio::io_service& io_service) - : basic_io_object<HandleService>(io_service) + explicit basic_handle(asio::io_context& io_context) + : basic_io_object<HandleService>(io_context) { } @@ -67,16 +67,16 @@ /** * This constructor creates a handle object to hold an existing native handle. * - * @param io_service The io_service object that the handle will use to + * @param io_context The io_context object that the handle will use to * dispatch handlers for any asynchronous operations performed on the handle. * * @param handle A native handle. * * @throws asio::system_error Thrown on failure. */ - basic_handle(asio::io_service& io_service, + basic_handle(asio::io_context& io_context, const native_handle_type& handle) - : basic_io_object<HandleService>(io_service) + : basic_io_object<HandleService>(io_context) { asio::error_code ec; this->get_service().assign(this->get_implementation(), handle, ec); @@ -91,7 +91,7 @@ * @param other The other basic_handle object from which the move will occur. * * @note Following the move, the moved-from object is in the same state as if - * constructed using the @c basic_handle(io_service&) constructor. + * constructed using the @c basic_handle(io_context&) constructor. */ basic_handle(basic_handle&& other) : basic_io_object<HandleService>( @@ -106,7 +106,7 @@ * @param other The other basic_handle object from which the move will occur. * * @note Following the move, the moved-from object is in the same state as if - * constructed using the @c basic_handle(io_service&) constructor. + * constructed using the @c basic_handle(io_context&) constructor. */ basic_handle& operator=(basic_handle&& other) {
diff --git a/asio/include/asio/windows/basic_object_handle.hpp b/asio/include/asio/windows/basic_object_handle.hpp index 314badc..8bfce46 100644 --- a/asio/include/asio/windows/basic_object_handle.hpp +++ b/asio/include/asio/windows/basic_object_handle.hpp
@@ -52,11 +52,11 @@ /** * This constructor creates an object handle without opening it. * - * @param io_service The io_service object that the object handle will use to + * @param io_context The io_context object that the object handle will use to * dispatch handlers for any asynchronous operations performed on the handle. */ - explicit basic_object_handle(asio::io_service& io_service) - : basic_handle<ObjectHandleService>(io_service) + explicit basic_object_handle(asio::io_context& io_context) + : basic_handle<ObjectHandleService>(io_context) { } @@ -65,16 +65,16 @@ * This constructor creates an object handle object to hold an existing native * handle. * - * @param io_service The io_service object that the object handle will use to + * @param io_context The io_context object that the object handle will use to * dispatch handlers for any asynchronous operations performed on the handle. * * @param native_handle The new underlying handle implementation. * * @throws asio::system_error Thrown on failure. */ - basic_object_handle(asio::io_service& io_service, + basic_object_handle(asio::io_context& io_context, const native_handle_type& native_handle) - : basic_handle<ObjectHandleService>(io_service, native_handle) + : basic_handle<ObjectHandleService>(io_context, native_handle) { } @@ -87,7 +87,7 @@ * occur. * * @note Following the move, the moved-from object is in the same state as if - * constructed using the @c basic_object_handle(io_service&) constructor. + * constructed using the @c basic_object_handle(io_context&) constructor. */ basic_object_handle(basic_object_handle&& other) : basic_handle<ObjectHandleService>( @@ -103,7 +103,7 @@ * occur. * * @note Following the move, the moved-from object is in the same state as if - * constructed using the @c basic_object_handle(io_service&) constructor. + * constructed using the @c basic_object_handle(io_context&) constructor. */ basic_object_handle& operator=(basic_object_handle&& other) { @@ -155,7 +155,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation * of the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). */ template <typename WaitHandler> ASIO_INITFN_RESULT_TYPE(WaitHandler,
diff --git a/asio/include/asio/windows/basic_random_access_handle.hpp b/asio/include/asio/windows/basic_random_access_handle.hpp index 0da5ec2..9a66a13 100644 --- a/asio/include/asio/windows/basic_random_access_handle.hpp +++ b/asio/include/asio/windows/basic_random_access_handle.hpp
@@ -55,12 +55,12 @@ * This constructor creates a random-access handle without opening it. The * handle needs to be opened before data can be written to or read from it. * - * @param io_service The io_service object that the random-access handle will + * @param io_context The io_context object that the random-access handle will * use to dispatch handlers for any asynchronous operations performed on the * handle. */ - explicit basic_random_access_handle(asio::io_service& io_service) - : basic_handle<RandomAccessHandleService>(io_service) + explicit basic_random_access_handle(asio::io_context& io_context) + : basic_handle<RandomAccessHandleService>(io_context) { } @@ -69,7 +69,7 @@ * This constructor creates a random-access handle object to hold an existing * native handle. * - * @param io_service The io_service object that the random-access handle will + * @param io_context The io_context object that the random-access handle will * use to dispatch handlers for any asynchronous operations performed on the * handle. * @@ -77,9 +77,9 @@ * * @throws asio::system_error Thrown on failure. */ - basic_random_access_handle(asio::io_service& io_service, + basic_random_access_handle(asio::io_context& io_context, const native_handle_type& handle) - : basic_handle<RandomAccessHandleService>(io_service, handle) + : basic_handle<RandomAccessHandleService>(io_context, handle) { } @@ -92,7 +92,7 @@ * move will occur. * * @note Following the move, the moved-from object is in the same state as if - * constructed using the @c basic_random_access_handle(io_service&) + * constructed using the @c basic_random_access_handle(io_context&) * constructor. */ basic_random_access_handle(basic_random_access_handle&& other) @@ -110,7 +110,7 @@ * move will occur. * * @note Following the move, the moved-from object is in the same state as if - * constructed using the @c basic_random_access_handle(io_service&) + * constructed using the @c basic_random_access_handle(io_context&) * constructor. */ basic_random_access_handle& operator=(basic_random_access_handle&& other) @@ -209,7 +209,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation * of the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). * * @note The write operation may not transmit all of the data to the peer. * Consider using the @ref async_write_at function if you need to ensure that @@ -329,7 +329,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation * of the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). * * @note The read operation may not read all of the requested number of bytes. * Consider using the @ref async_read_at function if you need to ensure that
diff --git a/asio/include/asio/windows/basic_stream_handle.hpp b/asio/include/asio/windows/basic_stream_handle.hpp index 7927b55..ec2ff0d 100644 --- a/asio/include/asio/windows/basic_stream_handle.hpp +++ b/asio/include/asio/windows/basic_stream_handle.hpp
@@ -58,11 +58,11 @@ * needs to be opened and then connected or accepted before data can be sent * or received on it. * - * @param io_service The io_service object that the stream handle will use to + * @param io_context The io_context object that the stream handle will use to * dispatch handlers for any asynchronous operations performed on the handle. */ - explicit basic_stream_handle(asio::io_service& io_service) - : basic_handle<StreamHandleService>(io_service) + explicit basic_stream_handle(asio::io_context& io_context) + : basic_handle<StreamHandleService>(io_context) { } @@ -71,16 +71,16 @@ * This constructor creates a stream handle object to hold an existing native * handle. * - * @param io_service The io_service object that the stream handle will use to + * @param io_context The io_context object that the stream handle will use to * dispatch handlers for any asynchronous operations performed on the handle. * * @param handle The new underlying handle implementation. * * @throws asio::system_error Thrown on failure. */ - basic_stream_handle(asio::io_service& io_service, + basic_stream_handle(asio::io_context& io_context, const native_handle_type& handle) - : basic_handle<StreamHandleService>(io_service, handle) + : basic_handle<StreamHandleService>(io_context, handle) { } @@ -93,7 +93,7 @@ * will occur. * * @note Following the move, the moved-from object is in the same state as if - * constructed using the @c basic_stream_handle(io_service&) constructor. + * constructed using the @c basic_stream_handle(io_context&) constructor. */ basic_stream_handle(basic_stream_handle&& other) : basic_handle<StreamHandleService>( @@ -110,7 +110,7 @@ * will occur. * * @note Following the move, the moved-from object is in the same state as if - * constructed using the @c basic_stream_handle(io_service&) constructor. + * constructed using the @c basic_stream_handle(io_context&) constructor. */ basic_stream_handle& operator=(basic_stream_handle&& other) { @@ -201,7 +201,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation * of the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). * * @note The write operation may not transmit all of the data to the peer. * Consider using the @ref async_write function if you need to ensure that all @@ -313,7 +313,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation * of the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). * * @note The read operation may not read all of the requested number of bytes. * Consider using the @ref async_read function if you need to ensure that the
diff --git a/asio/include/asio/windows/object_handle_service.hpp b/asio/include/asio/windows/object_handle_service.hpp index 84384da..2bd2793 100644 --- a/asio/include/asio/windows/object_handle_service.hpp +++ b/asio/include/asio/windows/object_handle_service.hpp
@@ -24,7 +24,7 @@ #include "asio/async_result.hpp" #include "asio/detail/win_object_handle_service.hpp" #include "asio/error.hpp" -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #include "asio/detail/push_options.hpp" @@ -34,7 +34,7 @@ /// Default service implementation for an object handle. class object_handle_service #if defined(GENERATING_DOCUMENTATION) - : public asio::io_service::service + : public asio::io_context::service #else : public asio::detail::service_base<object_handle_service> #endif @@ -42,7 +42,7 @@ public: #if defined(GENERATING_DOCUMENTATION) /// The unique service identifier. - static asio::io_service::id id; + static asio::io_context::id id; #endif private: @@ -64,10 +64,10 @@ typedef service_impl_type::native_handle_type native_handle_type; #endif - /// Construct a new object handle service for the specified io_service. - explicit object_handle_service(asio::io_service& io_service) - : asio::detail::service_base<object_handle_service>(io_service), - service_impl_(io_service) + /// Construct a new object handle service for the specified io_context. + explicit object_handle_service(asio::io_context& io_context) + : asio::detail::service_base<object_handle_service>(io_context), + service_impl_(io_context) { }
diff --git a/asio/include/asio/windows/overlapped_ptr.hpp b/asio/include/asio/windows/overlapped_ptr.hpp index 284b740..81a6505 100644 --- a/asio/include/asio/windows/overlapped_ptr.hpp +++ b/asio/include/asio/windows/overlapped_ptr.hpp
@@ -22,7 +22,7 @@ #include "asio/detail/noncopyable.hpp" #include "asio/detail/win_iocp_overlapped_ptr.hpp" -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #include "asio/detail/push_options.hpp" @@ -50,9 +50,9 @@ /// Construct an overlapped_ptr to contain the specified handler. template <typename Handler> - explicit overlapped_ptr(asio::io_service& io_service, + explicit overlapped_ptr(asio::io_context& io_context, ASIO_MOVE_ARG(Handler) handler) - : impl_(io_service, ASIO_MOVE_CAST(Handler)(handler)) + : impl_(io_context, ASIO_MOVE_CAST(Handler)(handler)) { } @@ -70,10 +70,10 @@ /// Reset to contain the specified handler, freeing any current OVERLAPPED /// object. template <typename Handler> - void reset(asio::io_service& io_service, + void reset(asio::io_context& io_context, ASIO_MOVE_ARG(Handler) handler) { - impl_.reset(io_service, ASIO_MOVE_CAST(Handler)(handler)); + impl_.reset(io_context, ASIO_MOVE_CAST(Handler)(handler)); } /// Get the contained OVERLAPPED object.
diff --git a/asio/include/asio/windows/random_access_handle_service.hpp b/asio/include/asio/windows/random_access_handle_service.hpp index beff1dd..c2976ab 100644 --- a/asio/include/asio/windows/random_access_handle_service.hpp +++ b/asio/include/asio/windows/random_access_handle_service.hpp
@@ -25,7 +25,7 @@ #include "asio/detail/cstdint.hpp" #include "asio/detail/win_iocp_handle_service.hpp" #include "asio/error.hpp" -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #include "asio/detail/push_options.hpp" @@ -35,7 +35,7 @@ /// Default service implementation for a random-access handle. class random_access_handle_service #if defined(GENERATING_DOCUMENTATION) - : public asio::io_service::service + : public asio::io_context::service #else : public asio::detail::service_base<random_access_handle_service> #endif @@ -43,7 +43,7 @@ public: #if defined(GENERATING_DOCUMENTATION) /// The unique service identifier. - static asio::io_service::id id; + static asio::io_context::id id; #endif private: @@ -65,11 +65,11 @@ typedef service_impl_type::native_handle_type native_handle_type; #endif - /// Construct a new random-access handle service for the specified io_service. - explicit random_access_handle_service(asio::io_service& io_service) + /// Construct a new random-access handle service for the specified io_context. + explicit random_access_handle_service(asio::io_context& io_context) : asio::detail::service_base< - random_access_handle_service>(io_service), - service_impl_(io_service) + random_access_handle_service>(io_context), + service_impl_(io_context) { }
diff --git a/asio/include/asio/windows/stream_handle_service.hpp b/asio/include/asio/windows/stream_handle_service.hpp index 560f710..b498077 100644 --- a/asio/include/asio/windows/stream_handle_service.hpp +++ b/asio/include/asio/windows/stream_handle_service.hpp
@@ -24,7 +24,7 @@ #include "asio/async_result.hpp" #include "asio/detail/win_iocp_handle_service.hpp" #include "asio/error.hpp" -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #include "asio/detail/push_options.hpp" @@ -34,7 +34,7 @@ /// Default service implementation for a stream handle. class stream_handle_service #if defined(GENERATING_DOCUMENTATION) - : public asio::io_service::service + : public asio::io_context::service #else : public asio::detail::service_base<stream_handle_service> #endif @@ -42,7 +42,7 @@ public: #if defined(GENERATING_DOCUMENTATION) /// The unique service identifier. - static asio::io_service::id id; + static asio::io_context::id id; #endif private: @@ -64,10 +64,10 @@ typedef service_impl_type::native_handle_type native_handle_type; #endif - /// Construct a new stream handle service for the specified io_service. - explicit stream_handle_service(asio::io_service& io_service) - : asio::detail::service_base<stream_handle_service>(io_service), - service_impl_(io_service) + /// Construct a new stream handle service for the specified io_context. + explicit stream_handle_service(asio::io_context& io_context) + : asio::detail::service_base<stream_handle_service>(io_context), + service_impl_(io_context) { }
diff --git a/asio/include/asio/write.hpp b/asio/include/asio/write.hpp index de309bf..b3fb35a 100644 --- a/asio/include/asio/write.hpp +++ b/asio/include/asio/write.hpp
@@ -573,7 +573,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation of * the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). * * @par Example * To write a single data buffer use the @ref buffer function as follows: @@ -649,7 +649,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation of * the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). * * @par Example * To write a single data buffer use the @ref buffer function as follows: @@ -713,7 +713,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation of * the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). */ template <typename AsyncWriteStream, typename DynamicBufferSequence, typename WriteHandler> @@ -781,7 +781,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation of * the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). */ template <typename AsyncWriteStream, typename DynamicBufferSequence, typename CompletionCondition, typename WriteHandler> @@ -836,7 +836,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation of * the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). */ template <typename AsyncWriteStream, typename Allocator, typename WriteHandler> ASIO_INITFN_RESULT_TYPE(WriteHandler, @@ -897,7 +897,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation of * the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). */ template <typename AsyncWriteStream, typename Allocator, typename CompletionCondition, typename WriteHandler>
diff --git a/asio/include/asio/write_at.hpp b/asio/include/asio/write_at.hpp index 45edd08..8414ac3 100644 --- a/asio/include/asio/write_at.hpp +++ b/asio/include/asio/write_at.hpp
@@ -437,7 +437,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation of * the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). * * @par Example * To write a single data buffer use the @ref buffer function as follows: @@ -515,7 +515,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation of * the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). * * @par Example * To write a single data buffer use the @ref buffer function as follows: @@ -581,7 +581,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation of * the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). */ template <typename AsyncRandomAccessWriteDevice, typename Allocator, typename WriteHandler> @@ -647,7 +647,7 @@ * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation of * the handler will be performed in a manner equivalent to using - * asio::io_service::post(). + * asio::io_context::post(). */ template <typename AsyncRandomAccessWriteDevice, typename Allocator, typename CompletionCondition, typename WriteHandler>
diff --git a/asio/src/Makefile.mgw b/asio/src/Makefile.mgw index 2d5a5e4..ffbb1f2 100644 --- a/asio/src/Makefile.mgw +++ b/asio/src/Makefile.mgw
@@ -40,7 +40,7 @@ tests/unit/generic/seq_packet_protocol.exe \ tests/unit/generic/stream_protocol.exe \ tests/unit/high_resolution_timer.exe \ - tests/unit/io_service.exe \ + tests/unit/io_context.exe \ tests/unit/ip/address.exe \ tests/unit/ip/address_v4.exe \ tests/unit/ip/address_v6.exe \ @@ -185,7 +185,7 @@ examples/cpp03/http/server2/http_server.exe: \ examples/cpp03/http/server2/connection.o \ - examples/cpp03/http/server2/io_service_pool.o \ + examples/cpp03/http/server2/io_context_pool.o \ examples/cpp03/http/server2/main.o \ examples/cpp03/http/server2/mime_types.o \ examples/cpp03/http/server2/reply.o \
diff --git a/asio/src/Makefile.msc b/asio/src/Makefile.msc index 061f711..3e15fe4 100644 --- a/asio/src/Makefile.msc +++ b/asio/src/Makefile.msc
@@ -123,7 +123,7 @@ tests\unit\generic\seq_packet_protocol.exe \ tests\unit\generic\stream_protocol.exe \ tests\unit\high_resolution_timer.exe \ - tests\unit\io_service.exe \ + tests\unit\io_context.exe \ tests\unit\ip\address.exe \ tests\unit\ip\address_v4.exe \ tests\unit\ip\address_v6.exe \ @@ -390,7 +390,7 @@ examples\cpp03\http\server2\http_server.exe: \ examples\cpp03\http\server2\connection.cpp \ - examples\cpp03\http\server2\io_service_pool.cpp \ + examples\cpp03\http\server2\io_context_pool.cpp \ examples\cpp03\http\server2\main.cpp \ examples\cpp03\http\server2\mime_types.cpp \ examples\cpp03\http\server2\reply.cpp \
diff --git a/asio/src/doc/examples.qbk b/asio/src/doc/examples.qbk index 6fd313d..8cbf93a 100644 --- a/asio/src/doc/examples.qbk +++ b/asio/src/doc/examples.qbk
@@ -120,13 +120,13 @@ [heading HTTP Server 2] -An HTTP server using an io_service-per-CPU design. +An HTTP server using an io_context-per-CPU design. * [@../src/examples/cpp03/http/server2/connection.cpp] * [@../src/examples/cpp03/http/server2/connection.hpp] * [@../src/examples/cpp03/http/server2/header.hpp] -* [@../src/examples/cpp03/http/server2/io_service_pool.cpp] -* [@../src/examples/cpp03/http/server2/io_service_pool.hpp] +* [@../src/examples/cpp03/http/server2/io_context_pool.cpp] +* [@../src/examples/cpp03/http/server2/io_context_pool.hpp] * [@../src/examples/cpp03/http/server2/main.cpp] * [@../src/examples/cpp03/http/server2/mime_types.cpp] * [@../src/examples/cpp03/http/server2/mime_types.hpp] @@ -143,7 +143,7 @@ [heading HTTP Server 3] -An HTTP server using a single io_service and a thread pool calling `io_service::run()`. +An HTTP server using a single io_context and a thread pool calling `io_context::run()`. * [@../src/examples/cpp03/http/server3/connection.cpp] * [@../src/examples/cpp03/http/server3/connection.hpp] @@ -231,7 +231,7 @@ [heading Services] This example demonstrates how to integrate custom functionality (in this case, -for logging) into asio's [link asio.reference.io_service io_service], and +for logging) into asio's [link asio.reference.io_context io_context], and how to use a custom service with [link asio.reference.basic_stream_socket basic_stream_socket<>].
diff --git a/asio/src/doc/overview/async.qbk b/asio/src/doc/overview/async.qbk index a9ad12d..ef566dc 100644 --- a/asio/src/doc/overview/async.qbk +++ b/asio/src/doc/overview/async.qbk
@@ -52,7 +52,7 @@ [:Calls the asynchronous event demultiplexer to dequeue events, and dispatches the completion handler (i.e. invokes the function object) associated with the -event. This abstraction is represented by the `io_service` class.] +event. This abstraction is represented by the `io_context` class.] [mdash] Initiator @@ -97,7 +97,7 @@ [mdash] Completion Event Queue [:This is implemented by the operating system, and is associated with an I/O -completion port. There is one I/O completion port for each `io_service` +completion port. There is one I/O completion port for each `io_context` instance.] [mdash] Asynchronous Event Demultiplexer
diff --git a/asio/src/doc/overview/async_op1.dot b/asio/src/doc/overview/async_op1.dot index 9abfc0a..cbb95fb 100644 --- a/asio/src/doc/overview/async_op1.dot +++ b/asio/src/doc/overview/async_op1.dot
@@ -28,7 +28,7 @@ // Program elements. { operating_system [ label="Operating System", shape=ellipse ]; - io_service [ label="io_service" ]; + io_context [ label="io_context" ]; io_object [ label="I/O Object\ne.g. socket" ]; your_program [ label="Your Program" ]; your_completion_handler [ label="Your Completion Handler" ]; @@ -39,12 +39,12 @@ edge [ arrowtail="diamond" ]; your_program:e -> your_completion_handler:n; your_program:w -> io_object:nw; - your_program:se -> io_service:ne; + your_program:se -> io_context:ne; } // Non-owning relationships; { - io_object:sw -> io_service:w; + io_object:sw -> io_context:w; } // Visible actions. @@ -54,8 +54,8 @@ // Forward actions. { your_program:sw -> io_object:n [ label="1" ]; - io_object:s -> io_service:nw [ label="2" ]; - io_service:s -> operating_system:n [ label="3" ]; + io_object:s -> io_context:nw [ label="2" ]; + io_context:s -> operating_system:n [ label="3" ]; } } @@ -65,14 +65,14 @@ // Forward actions. { - your_program:s -> io_service:n [ label="5" ]; + your_program:s -> io_context:n [ label="5" ]; } // Reverse actions. { edge [ arrowhead="none", arrowtail="open" ]; - //io_service:s -> operating_system:n [ label="4" ]; - your_completion_handler:s -> io_service:e [ label="6" ]; + //io_context:s -> operating_system:n [ label="4" ]; + your_completion_handler:s -> io_context:e [ label="6" ]; } } }
diff --git a/asio/src/doc/overview/async_op1.png b/asio/src/doc/overview/async_op1.png index 0de7991..464bc90 100644 --- a/asio/src/doc/overview/async_op1.png +++ b/asio/src/doc/overview/async_op1.png Binary files differ
diff --git a/asio/src/doc/overview/async_op2.dot b/asio/src/doc/overview/async_op2.dot index 49067ac..60a3275 100644 --- a/asio/src/doc/overview/async_op2.dot +++ b/asio/src/doc/overview/async_op2.dot
@@ -28,7 +28,7 @@ // Program elements. { operating_system [ label="Operating System", shape=ellipse ]; - io_service [ label="io_service" ]; + io_context [ label="io_context" ]; io_object [ label="I/O Object\ne.g. socket" ]; your_program [ label="Your Program" ]; your_completion_handler [ label="Your Completion Handler" ]; @@ -39,12 +39,12 @@ edge [ arrowtail="diamond" ]; your_program:e -> your_completion_handler:n; your_program:w -> io_object:nw; - your_program:se -> io_service:ne; + your_program:se -> io_context:ne; } // Non-owning relationships; { - io_object:sw -> io_service:w; + io_object:sw -> io_context:w; } // Visible actions. @@ -53,14 +53,14 @@ // Forward actions. { - your_program:s -> io_service:n [ label="5" ]; + your_program:s -> io_context:n [ label="5" ]; } // Reverse actions. { edge [ arrowhead="none", arrowtail="open" ]; - io_service:s -> operating_system:n [ label="4" ]; - your_completion_handler:s -> io_service:e [ label="6" ]; + io_context:s -> operating_system:n [ label="4" ]; + your_completion_handler:s -> io_context:e [ label="6" ]; } } @@ -71,8 +71,8 @@ // Forward actions. { your_program:sw -> io_object:n [ label="1" ]; - io_object:s -> io_service:nw [ label="2" ]; - //io_service:s -> operating_system:n [ label="3" ]; + io_object:s -> io_context:nw [ label="2" ]; + //io_context:s -> operating_system:n [ label="3" ]; } } }
diff --git a/asio/src/doc/overview/async_op2.png b/asio/src/doc/overview/async_op2.png index 9b8d3c0..ba256ec 100644 --- a/asio/src/doc/overview/async_op2.png +++ b/asio/src/doc/overview/async_op2.png Binary files differ
diff --git a/asio/src/doc/overview/basics.qbk b/asio/src/doc/overview/basics.qbk index 7165b02..a56a7a9 100644 --- a/asio/src/doc/overview/basics.qbk +++ b/asio/src/doc/overview/basics.qbk
@@ -17,15 +17,15 @@ [$sync_op.png] -[*Your program] will have at least one [*io_service] object. The [*io_service] +[*Your program] will have at least one [*io_context] object. The [*io_context] represents [*your program]'s link to the [*operating system]'s I/O services. - asio::io_service io_service; + asio::io_context io_context; To perform I/O operations [*your program] will need an [*I/O object] such as a TCP socket: - asio::ip::tcp::socket socket(io_service); + asio::ip::tcp::socket socket(io_context); When a synchronous connect operation is performed, the following sequence of events occurs: @@ -35,15 +35,15 @@ socket.connect(server_endpoint); -2. The [*I/O object] forwards the request to the [*io_service]. +2. The [*I/O object] forwards the request to the [*io_context]. -3. The [*io_service] calls on the [*operating system] to perform the connect +3. The [*io_context] calls on the [*operating system] to perform the connect operation. 4. The [*operating system] returns the result of the operation to the -[*io_service]. +[*io_context]. -5. The [*io_service] translates any error resulting from the operation into an +5. The [*io_context] translates any error resulting from the operation into an object of type `asio::error_code`. An `error_code` may be compared with specific values, or tested as a boolean (where a `false` result means that no error occurred). The result is then forwarded back up to the [*I/O object]. @@ -76,9 +76,9 @@ performed. The reference documentation indicates the appropriate form for each operation. -2. The [*I/O object] forwards the request to the [*io_service]. +2. The [*I/O object] forwards the request to the [*io_context]. -3. The [*io_service] signals to the [*operating system] that it should start an +3. The [*io_context] signals to the [*operating system] that it should start an asynchronous connect. Time passes. (In the synchronous case this wait would have been contained @@ -87,15 +87,15 @@ [$async_op2.png] 4. The [*operating system] indicates that the connect operation has completed -by placing the result on a queue, ready to be picked up by the [*io_service]. +by placing the result on a queue, ready to be picked up by the [*io_context]. -5. [*Your program] must make a call to `io_service::run()` (or to one of the -similar [*io_service] member functions) in order for the result to be -retrieved. A call to `io_service::run()` blocks while there are unfinished +5. [*Your program] must make a call to `io_context::run()` (or to one of the +similar [*io_context] member functions) in order for the result to be +retrieved. A call to `io_context::run()` blocks while there are unfinished asynchronous operations, so you would typically call it as soon as you have started your first asynchronous operation. -6. While inside the call to `io_service::run()`, the [*io_service] dequeues the +6. While inside the call to `io_context::run()`, the [*io_context] dequeues the result of the operation, translates it into an `error_code`, and then passes it to [*your completion handler].
diff --git a/asio/src/doc/overview/bsd_sockets.qbk b/asio/src/doc/overview/bsd_sockets.qbk index 261dd42..644d1cc 100644 --- a/asio/src/doc/overview/bsd_sockets.qbk +++ b/asio/src/doc/overview/bsd_sockets.qbk
@@ -166,10 +166,10 @@ [`poll()`, `select()`, `pselect()`] - [ [link asio.reference.io_service.run io_service::run()], - [link asio.reference.io_service.run_one io_service::run_one()], - [link asio.reference.io_service.poll io_service::poll()], - [link asio.reference.io_service.poll_one io_service::poll_one()] + [ [link asio.reference.io_context.run io_context::run()], + [link asio.reference.io_context.run_one io_context::run_one()], + [link asio.reference.io_context.poll io_context::poll()], + [link asio.reference.io_context.poll_one io_context::poll_one()] Note: in conjunction with asynchronous operations. ] ]
diff --git a/asio/src/doc/overview/cpp2011.qbk b/asio/src/doc/overview/cpp2011.qbk index ec13534..2f1d5c9 100644 --- a/asio/src/doc/overview/cpp2011.qbk +++ b/asio/src/doc/overview/cpp2011.qbk
@@ -54,7 +54,7 @@ Move support allows you to write code like: - tcp::socket make_socket(io_service& i) + tcp::socket make_socket(io_context& i) { tcp::socket s(i); ...
diff --git a/asio/src/doc/overview/handler_tracking.qbk b/asio/src/doc/overview/handler_tracking.qbk index 177cf23..7cbd28a 100644 --- a/asio/src/doc/overview/handler_tracking.qbk +++ b/asio/src/doc/overview/handler_tracking.qbk
@@ -67,7 +67,7 @@ [~n] [The handler number `n` was destroyed without having been invoked. This is usually the case for any unfinished asynchronous operations when the - `io_service` is destroyed.] + `io_context` is destroyed.] ] [ [n*m]
diff --git a/asio/src/doc/overview/implementation.qbk b/asio/src/doc/overview/implementation.qbk index eec43a0..a6ac58c 100644 --- a/asio/src/doc/overview/implementation.qbk +++ b/asio/src/doc/overview/implementation.qbk
@@ -22,10 +22,10 @@ Threads: * Demultiplexing using `select` is performed in one of the threads that calls -`io_service::run()`, `io_service::run_one()`, `io_service::poll()` or -`io_service::poll_one()`. +`io_context::run()`, `io_context::run_one()`, `io_context::poll()` or +`io_context::poll_one()`. -* An additional thread per `io_service` is used to emulate asynchronous host +* An additional thread per `io_context` is used to emulate asynchronous host resolution. This thread is created on the first call to either `ip::tcp::resolver::async_resolve()` or `ip::udp::resolver::async_resolve()`. @@ -42,10 +42,10 @@ Threads: * Demultiplexing using `epoll` is performed in one of the threads that calls -`io_service::run()`, `io_service::run_one()`, `io_service::poll()` or -`io_service::poll_one()`. +`io_context::run()`, `io_context::run_one()`, `io_context::poll()` or +`io_context::poll_one()`. -* An additional thread per `io_service` is used to emulate asynchronous host +* An additional thread per `io_context` is used to emulate asynchronous host resolution. This thread is created on the first call to either `ip::tcp::resolver::async_resolve()` or `ip::udp::resolver::async_resolve()`. @@ -63,10 +63,10 @@ Threads: * Demultiplexing using [^/dev/poll] is performed in one of the threads that -calls `io_service::run()`, `io_service::run_one()`, `io_service::poll()` or -`io_service::poll_one()`. +calls `io_context::run()`, `io_context::run_one()`, `io_context::poll()` or +`io_context::poll_one()`. -* An additional thread per `io_service` is used to emulate asynchronous host +* An additional thread per `io_context` is used to emulate asynchronous host resolution. This thread is created on the first call to either `ip::tcp::resolver::async_resolve()` or `ip::udp::resolver::async_resolve()`. @@ -85,10 +85,10 @@ Threads: * Demultiplexing using `select` is performed in one of the threads that calls -`io_service::run()`, `io_service::run_one()`, `io_service::poll()` or -`io_service::poll_one()`. +`io_context::run()`, `io_context::run_one()`, `io_context::poll()` or +`io_context::poll_one()`. -* An additional thread per `io_service` is used to emulate asynchronous host +* An additional thread per `io_context` is used to emulate asynchronous host resolution. This thread is created on the first call to either `ip::tcp::resolver::async_resolve()` or `ip::udp::resolver::async_resolve()`. @@ -106,10 +106,10 @@ Threads: * Demultiplexing using `kqueue` is performed in one of the threads that calls -`io_service::run()`, `io_service::run_one()`, `io_service::poll()` or -`io_service::poll_one()`. +`io_context::run()`, `io_context::run_one()`, `io_context::poll()` or +`io_context::poll_one()`. -* An additional thread per `io_service` is used to emulate asynchronous host +* An additional thread per `io_context` is used to emulate asynchronous host resolution. This thread is created on the first call to either `ip::tcp::resolver::async_resolve()` or `ip::udp::resolver::async_resolve()`. @@ -127,10 +127,10 @@ Threads: * Demultiplexing using `kqueue` is performed in one of the threads that calls -`io_service::run()`, `io_service::run_one()`, `io_service::poll()` or -`io_service::poll_one()`. +`io_context::run()`, `io_context::run_one()`, `io_context::poll()` or +`io_context::poll_one()`. -* An additional thread per `io_service` is used to emulate asynchronous host +* An additional thread per `io_context` is used to emulate asynchronous host resolution. This thread is created on the first call to either `ip::tcp::resolver::async_resolve()` or `ip::udp::resolver::async_resolve()`. @@ -149,10 +149,10 @@ Threads: * Demultiplexing using `select` is performed in one of the threads that calls -`io_service::run()`, `io_service::run_one()`, `io_service::poll()` or -`io_service::poll_one()`. +`io_context::run()`, `io_context::run_one()`, `io_context::poll()` or +`io_context::poll_one()`. -* An additional thread per `io_service` is used to emulate asynchronous host +* An additional thread per `io_context` is used to emulate asynchronous host resolution. This thread is created on the first call to either `ip::tcp::resolver::async_resolve()` or `ip::udp::resolver::async_resolve()`. @@ -171,10 +171,10 @@ Threads: * Demultiplexing using `select` is performed in one of the threads that calls -`io_service::run()`, `io_service::run_one()`, `io_service::poll()` or -`io_service::poll_one()`. +`io_context::run()`, `io_context::run_one()`, `io_context::poll()` or +`io_context::poll_one()`. -* An additional thread per `io_service` is used to emulate asynchronous host +* An additional thread per `io_context` is used to emulate asynchronous host resolution. This thread is created on the first call to either `ip::tcp::resolver::async_resolve()` or `ip::udp::resolver::async_resolve()`. @@ -193,10 +193,10 @@ Threads: * Demultiplexing using `select` is performed in one of the threads that calls -`io_service::run()`, `io_service::run_one()`, `io_service::poll()` or -`io_service::poll_one()`. +`io_context::run()`, `io_context::run_one()`, `io_context::poll()` or +`io_context::poll_one()`. -* An additional thread per `io_service` is used to emulate asynchronous host +* An additional thread per `io_context` is used to emulate asynchronous host resolution. This thread is created on the first call to either `ip::tcp::resolver::async_resolve()` or `ip::udp::resolver::async_resolve()`. @@ -214,10 +214,10 @@ Threads: * Demultiplexing using `select` is performed in one of the threads that calls -`io_service::run()`, `io_service::run_one()`, `io_service::poll()` or -`io_service::poll_one()`. +`io_context::run()`, `io_context::run_one()`, `io_context::poll()` or +`io_context::poll_one()`. -* An additional thread per `io_service` is used to emulate asynchronous host +* An additional thread per `io_context` is used to emulate asynchronous host resolution. This thread is created on the first call to either `ip::tcp::resolver::async_resolve()` or `ip::udp::resolver::async_resolve()`. @@ -238,17 +238,17 @@ Threads: * Demultiplexing using I/O completion ports is performed in all threads that call -`io_service::run()`, `io_service::run_one()`, `io_service::poll()` or -`io_service::poll_one()`. +`io_context::run()`, `io_context::run_one()`, `io_context::poll()` or +`io_context::poll_one()`. -* An additional thread per `io_service` is used to trigger timers. This thread +* An additional thread per `io_context` is used to trigger timers. This thread is created on construction of the first `deadline_timer` or `deadline_timer_service` objects. -* An additional thread per `io_service` is used for the `select` +* An additional thread per `io_context` is used for the `select` demultiplexing. This thread is created on the first call to `async_connect()`. -* An additional thread per `io_service` is used to emulate asynchronous host +* An additional thread per `io_context` is used to emulate asynchronous host resolution. This thread is created on the first call to either `ip::tcp::resolver::async_resolve()` or `ip::udp::resolver::async_resolve()`. @@ -265,7 +265,7 @@ language extensions be enabled. Due to the restricted facilities exposed by the Windows Runtime API, the support comes with the following caveats: -* The core facilities such as the `io_service`, `strand`, buffers, composed +* The core facilities such as the `io_context`, `strand`, buffers, composed operations, timers, etc., should all work as normal. * For sockets, only client-side TCP is supported. @@ -292,9 +292,9 @@ Threads: * Event completions are delivered to the Windows thread pool and posted to the - `io_service` for the handler to be executed. + `io_context` for the handler to be executed. -* An additional thread per `io_service` is used to trigger timers. This thread +* An additional thread per `io_context` is used to trigger timers. This thread is created on construction of the first timer objects. Scatter-Gather:
diff --git a/asio/src/doc/overview/iostreams.qbk b/asio/src/doc/overview/iostreams.qbk index 588d96a..096b4eb 100644 --- a/asio/src/doc/overview/iostreams.qbk +++ b/asio/src/doc/overview/iostreams.qbk
@@ -20,7 +20,7 @@ The iostream class can also be used in conjunction with an acceptor to create simple servers. For example: - io_service ios; + io_context ioc; ip::tcp::endpoint endpoint(tcp::v4(), 80); ip::tcp::acceptor acceptor(ios, endpoint);
diff --git a/asio/src/doc/overview/other_protocols.qbk b/asio/src/doc/overview/other_protocols.qbk index 0ef323d..2921581 100644 --- a/asio/src/doc/overview/other_protocols.qbk +++ b/asio/src/doc/overview/other_protocols.qbk
@@ -22,7 +22,7 @@ requirements], but allow the user to specify the address family (e.g. `AF_INET`) and protocol type (e.g. `IPPROTO_TCP`) at runtime. For example: - asio::generic::stream_protocol::socket my_socket(my_io_service); + asio::generic::stream_protocol::socket my_socket(my_io_context); my_socket.open(asio::generic::stream_protocol(AF_INET, IPPROTO_TCP)); ... @@ -38,7 +38,7 @@ The conversion is implicit, so as to support the following use cases: - asio::generic::stream_protocol::socket my_socket(my_io_service); + asio::generic::stream_protocol::socket my_socket(my_io_context); asio::ip::tcp::endpoint my_endpoint = ...; my_socket.connect(my_endpoint); @@ -53,14 +53,14 @@ then the corresponding socket conversion is allowed: - Protocol1::socket my_socket1(my_io_service); + Protocol1::socket my_socket1(my_io_context); ... Protocol2::socket my_socket2(std::move(my_socket1)); For example, one possible conversion is from a TCP socket to a generic stream-oriented socket: - asio::ip::tcp::socket my_socket1(my_io_service); + asio::ip::tcp::socket my_socket1(my_io_context); ... asio::generic::stream_protocol::socket my_socket2(std::move(my_socket1)); @@ -78,9 +78,9 @@ supported because the protocol `asio::ip::tcp` is convertible to `asio::generic::stream_protocol`: - asio::ip::tcp::acceptor my_acceptor(my_io_service); + asio::ip::tcp::acceptor my_acceptor(my_io_context); ... - asio::generic::stream_protocol::socket my_socket(my_io_service); + asio::generic::stream_protocol::socket my_socket(my_io_context); my_acceptor.accept(my_socket); [heading See Also]
diff --git a/asio/src/doc/overview/posix.qbk b/asio/src/doc/overview/posix.qbk index 49a6215..4aa6bb9 100644 --- a/asio/src/doc/overview/posix.qbk +++ b/asio/src/doc/overview/posix.qbk
@@ -19,15 +19,15 @@ The simplest use involves creating a pair of connected sockets. The following code: - local::stream_protocol::socket socket1(my_io_service); - local::stream_protocol::socket socket2(my_io_service); + local::stream_protocol::socket socket1(my_io_context); + local::stream_protocol::socket socket2(my_io_context); local::connect_pair(socket1, socket2); will create a pair of stream-oriented sockets. To do the same for datagram-oriented sockets, use: - local::datagram_protocol::socket socket1(my_io_service); - local::datagram_protocol::socket socket2(my_io_service); + local::datagram_protocol::socket socket1(my_io_context); + local::datagram_protocol::socket socket2(my_io_context); local::connect_pair(socket1, socket2); A UNIX domain socket server may be created by binding an acceptor to an @@ -35,14 +35,14 @@ ::unlink("/tmp/foobar"); // Remove previous binding. local::stream_protocol::endpoint ep("/tmp/foobar"); - local::stream_protocol::acceptor acceptor(my_io_service, ep); - local::stream_protocol::socket socket(my_io_service); + local::stream_protocol::acceptor acceptor(my_io_context, ep); + local::stream_protocol::socket socket(my_io_context); acceptor.accept(socket); A client that connects to this server might look like: local::stream_protocol::endpoint ep("/tmp/foobar"); - local::stream_protocol::socket socket(my_io_service); + local::stream_protocol::socket socket(my_io_context); socket.connect(ep); Transmission of file descriptors or credentials across UNIX domain sockets is @@ -80,8 +80,8 @@ For example, to perform read and write operations on standard input and output, the following objects may be created: - posix::stream_descriptor in(my_io_service, ::dup(STDIN_FILENO)); - posix::stream_descriptor out(my_io_service, ::dup(STDOUT_FILENO)); + posix::stream_descriptor in(my_io_context, ::dup(STDIN_FILENO)); + posix::stream_descriptor out(my_io_context, ::dup(STDOUT_FILENO)); These are then used as synchronous or asynchronous read and write streams. This means the objects can be used with any of the [link asio.reference.read @@ -109,25 +109,25 @@ [section:fork Fork] Asio supports programs that utilise the `fork()` system call. Provided the -program calls `io_service.notify_fork()` at the appropriate times, Asio will +program calls `io_context.notify_fork()` at the appropriate times, Asio will recreate any internal file descriptors (such as the "self-pipe trick" descriptor used for waking up a reactor). The notification is usually performed as follows: - io_service_.notify_fork(asio::io_service::fork_prepare); + io_context_.notify_fork(asio::io_context::fork_prepare); if (fork() == 0) { - io_service_.notify_fork(asio::io_service::fork_child); + io_context_.notify_fork(asio::io_context::fork_child); ... } else { - io_service_.notify_fork(asio::io_service::fork_parent); + io_context_.notify_fork(asio::io_context::fork_parent); ... } User-defined services can also be made fork-aware by overriding the -`io_service::service::fork_service()` virtual function. +`io_context::service::fork_service()` virtual function. Note that any file descriptors accessible via Asio's public API (e.g. the descriptors underlying `basic_socket<>`, `posix::stream_descriptor`, etc.) are @@ -136,9 +136,9 @@ [heading See Also] -[link asio.reference.io_service.notify_fork io_service::notify_fork()], -[link asio.reference.io_service.fork_event io_service::fork_event], -[link asio.reference.execution_context__service.fork_service io_service::service::fork_service()], +[link asio.reference.io_context.notify_fork io_context::notify_fork()], +[link asio.reference.io_context.fork_event io_context::fork_event], +[link asio.reference.execution_context__service.fork_service io_context::service::fork_service()], [link asio.examples.cpp03_examples.fork Fork examples]. [endsect]
diff --git a/asio/src/doc/overview/protocols.qbk b/asio/src/doc/overview/protocols.qbk index bf37fec..fd48d29 100644 --- a/asio/src/doc/overview/protocols.qbk +++ b/asio/src/doc/overview/protocols.qbk
@@ -15,7 +15,7 @@ Hostname resolution is performed using a resolver, where host and service names are looked up and converted into one or more endpoints: - ip::tcp::resolver resolver(my_io_service); + ip::tcp::resolver resolver(my_io_context); ip::tcp::resolver::query query("www.boost.org", "http"); ip::tcp::resolver::iterator iter = resolver.resolve(query); ip::tcp::resolver::iterator end; // End marker. @@ -35,7 +35,7 @@ operations try each endpoint in a list until the socket is successfully connected. For example, a single call: - ip::tcp::socket socket(my_io_service); + ip::tcp::socket socket(my_io_context); asio::connect(socket, resolver.resolve(query)); will synchronously try all endpoints until one is successfully connected. @@ -61,7 +61,7 @@ When a specific endpoint is available, a socket can be created and connected: - ip::tcp::socket socket(my_io_service); + ip::tcp::socket socket(my_io_context); socket.connect(endpoint); Data may be read from or written to a connected TCP socket using the [link @@ -79,9 +79,9 @@ A program uses an acceptor to accept incoming TCP connections: - ip::tcp::acceptor acceptor(my_io_service, my_endpoint); + ip::tcp::acceptor acceptor(my_io_context, my_endpoint); ... - ip::tcp::socket socket(my_io_service); + ip::tcp::socket socket(my_io_context); acceptor.accept(socket); After a socket has been successfully accepted, it may be read from or written @@ -91,7 +91,7 @@ UDP hostname resolution is also performed using a resolver: - ip::udp::resolver resolver(my_io_service); + ip::udp::resolver resolver(my_io_context); ip::udp::resolver::query query("localhost", "daytime"); ip::udp::resolver::iterator iter = resolver.resolve(query); ... @@ -101,7 +101,7 @@ `12345`: ip::udp::endpoint endpoint(ip::udp::v4(), 12345); - ip::udp::socket socket(my_io_service, endpoint); + ip::udp::socket socket(my_io_context, endpoint); Data may be read from or written to an unconnected UDP socket using the [link asio.reference.basic_datagram_socket.receive_from receive_from()], [link @@ -118,7 +118,7 @@ As with TCP and UDP, ICMP hostname resolution is performed using a resolver: - ip::icmp::resolver resolver(my_io_service); + ip::icmp::resolver resolver(my_io_context); ip::icmp::resolver::query query("localhost", ""); ip::icmp::resolver::iterator iter = resolver.resolve(query); ... @@ -127,7 +127,7 @@ an IP version 6 ICMP socket and bind it to the "any" address: ip::icmp::endpoint endpoint(ip::icmp::v6(), 0); - ip::icmp::socket socket(my_io_service, endpoint); + ip::icmp::socket socket(my_io_context, endpoint); The port number is not used for ICMP.
diff --git a/asio/src/doc/overview/reactor.qbk b/asio/src/doc/overview/reactor.qbk index f28a60e..68559b7 100644 --- a/asio/src/doc/overview/reactor.qbk +++ b/asio/src/doc/overview/reactor.qbk
@@ -15,7 +15,7 @@ As an example, to perform a non-blocking read something like the following may be used: - ip::tcp::socket socket(my_io_service); + ip::tcp::socket socket(my_io_context); ... socket.non_blocking(true); ...
diff --git a/asio/src/doc/overview/serial_ports.qbk b/asio/src/doc/overview/serial_ports.qbk index 876678d..843c9a5 100644 --- a/asio/src/doc/overview/serial_ports.qbk +++ b/asio/src/doc/overview/serial_ports.qbk
@@ -10,7 +10,7 @@ Asio includes classes for creating and manipulating serial ports in a portable manner. For example, a serial port may be opened using: - serial_port port(my_io_service, name); + serial_port port(my_io_context, name); where name is something like `"COM1"` on Windows, and `"/dev/ttyS0"` on POSIX platforms.
diff --git a/asio/src/doc/overview/signals.qbk b/asio/src/doc/overview/signals.qbk index ea16be2..1d46f69 100644 --- a/asio/src/doc/overview/signals.qbk +++ b/asio/src/doc/overview/signals.qbk
@@ -27,7 +27,7 @@ ... // Construct a signal set registered for process termination. - asio::signal_set signals(io_service, SIGINT, SIGTERM); + asio::signal_set signals(io_context, SIGINT, SIGTERM); // Start an asynchronous wait for one of the signals to occur. signals.async_wait(handler);
diff --git a/asio/src/doc/overview/spawn.qbk b/asio/src/doc/overview/spawn.qbk index b897222..03954a9 100644 --- a/asio/src/doc/overview/spawn.qbk +++ b/asio/src/doc/overview/spawn.qbk
@@ -38,8 +38,8 @@ } The first argument to `spawn()` may be a -[link asio.reference.io_service__strand `strand`], -[link asio.reference.io_service `io_service`], or +[link asio.reference.io_context__strand `strand`], +[link asio.reference.io_context `io_context`], or [link asio.reference.CompletionHandler completion handler]. This argument determines the context in which the coroutine is permitted to execute. For example, a server's per-client object may consist of multiple
diff --git a/asio/src/doc/overview/ssl.qbk b/asio/src/doc/overview/ssl.qbk index cb9e3d7..9d063ef 100644 --- a/asio/src/doc/overview/ssl.qbk +++ b/asio/src/doc/overview/ssl.qbk
@@ -22,7 +22,7 @@ To use SSL with a TCP socket, one may write: - ssl::stream<ip::tcp::socket> ssl_sock(my_io_service, ctx); + ssl::stream<ip::tcp::socket> ssl_sock(my_io_context, ctx); To perform socket-specific operations, such as establishing an outbound connection or accepting an incoming one, the underlying socket must first be @@ -36,7 +36,7 @@ lifetime than the SSL stream, in which case the template parameter should be a reference to the stream type: - ip::tcp::socket sock(my_io_service); + ip::tcp::socket sock(my_io_context); ssl::stream<ip::tcp::socket&> ssl_sock(sock, ctx); SSL handshaking must be performed prior to transmitting or receiving data over @@ -82,9 +82,9 @@ ctx.set_default_verify_paths(); // Open a socket and connect it to the remote host. - asio::io_service io_service; - ssl_socket sock(io_service, ctx); - tcp::resolver resolver(io_service); + asio::io_context io_context; + ssl_socket sock(io_context, ctx); + tcp::resolver resolver(io_context); tcp::resolver::query query("host.name", "https"); asio::connect(sock.lowest_layer(), resolver.resolve(query)); sock.lowest_layer().set_option(tcp::no_delay(true));
diff --git a/asio/src/doc/overview/strands.qbk b/asio/src/doc/overview/strands.qbk index 7e0982b..0d4a08b 100644 --- a/asio/src/doc/overview/strands.qbk +++ b/asio/src/doc/overview/strands.qbk
@@ -15,8 +15,8 @@ Strands may be either implicit or explicit, as illustrated by the following alternative approaches: -* Calling io_service::run() from only one thread means all event handlers - execute in an implicit strand, due to the io_service's guarantee that handlers +* Calling io_context::run() from only one thread means all event handlers + execute in an implicit strand, due to the io_context's guarantee that handlers are only invoked from inside run(). * Where there is a single chain of asynchronous operations associated with a @@ -24,7 +24,7 @@ no possibility of concurrent execution of the handlers. This is an implicit strand. -* An explicit strand is an instance of `strand<>` or `io_service::strand`. All +* An explicit strand is an instance of `strand<>` or `io_context::strand`. All event handler function objects need to be bound to the strand using `asio::bind_executor()` or otherwise posted/dispatched through the strand object. @@ -78,7 +78,7 @@ [link asio.reference.bind_executor bind_executor], [link asio.reference.strand strand], -[link asio.reference.io_service__strand io_service::strand], +[link asio.reference.io_context__strand io_context::strand], [link asio.tutorial.tuttimer5 tutorial Timer.5], [link asio.examples.cpp03_examples.http_server_3 HTTP server 3 example].
diff --git a/asio/src/doc/overview/sync_op.dot b/asio/src/doc/overview/sync_op.dot index 32e3e9c..f3eb4dd 100644 --- a/asio/src/doc/overview/sync_op.dot +++ b/asio/src/doc/overview/sync_op.dot
@@ -28,7 +28,7 @@ // Program elements. { operating_system [ label="Operating System", shape=ellipse ]; - io_service [ label="io_service" ]; + io_context [ label="io_context" ]; io_object [ label="I/O Object\ne.g. socket" ]; your_program [ label="Your Program" ]; } @@ -37,12 +37,12 @@ { edge [ arrowtail="diamond" ]; your_program:w -> io_object:nw; - your_program:se -> io_service:ne; + your_program:se -> io_context:ne; } // Non-owning relationships; { - io_object:sw -> io_service:w; + io_object:sw -> io_context:w; } // Actions. @@ -52,15 +52,15 @@ // Forward actions. { your_program:sw -> io_object:n [ label="1" ]; - io_object:s -> io_service:nw [ label="2" ]; - io_service:sw -> operating_system:nw [ label="3" ]; + io_object:s -> io_context:nw [ label="2" ]; + io_context:sw -> operating_system:nw [ label="3" ]; } // Reverse actions. { edge [ arrowhead="none", arrowtail="open" ]; - io_service:se -> operating_system:ne [ label="4" ]; - io_object:se -> io_service:n [ label="5" ]; + io_context:se -> operating_system:ne [ label="4" ]; + io_object:se -> io_context:n [ label="5" ]; your_program:s -> io_object:ne [ label="6" ]; } }
diff --git a/asio/src/doc/overview/sync_op.png b/asio/src/doc/overview/sync_op.png index 1232463..a96c835 100644 --- a/asio/src/doc/overview/sync_op.png +++ b/asio/src/doc/overview/sync_op.png Binary files differ
diff --git a/asio/src/doc/overview/threads.qbk b/asio/src/doc/overview/threads.qbk index 0b2ea9e..471dc1b 100644 --- a/asio/src/doc/overview/threads.qbk +++ b/asio/src/doc/overview/threads.qbk
@@ -10,19 +10,19 @@ [heading Thread Safety] In general, it is safe to make concurrent use of distinct objects, but unsafe -to make concurrent use of a single object. However, types such as `io_service` +to make concurrent use of a single object. However, types such as `io_context` provide a stronger guarantee that it is safe to use a single object concurrently. [heading Thread Pools] -Multiple threads may call `io_service::run()` to set up a pool of threads from +Multiple threads may call `io_context::run()` to set up a pool of threads from which completion handlers may be invoked. This approach may also be used with -`io_service::post()` to use a means to perform any computational tasks across a +`io_context::post()` to use a means to perform any computational tasks across a thread pool. -Note that all threads that have joined an `io_service`'s pool are considered -equivalent, and the `io_service` may distribute work across them in an +Note that all threads that have joined an `io_context`'s pool are considered +equivalent, and the `io_context` may distribute work across them in an arbitrary fashion. [heading Internal Threads] @@ -38,14 +38,14 @@ This approach is complemented by the following guarantee: * Asynchronous completion handlers will only be called from threads that are - currently calling `io_service::run()`. + currently calling `io_context::run()`. Consequently, it is the library user's responsibility to create and manage all threads to which the notifications will be delivered. The reasons for this approach include: -* By only calling `io_service::run()` from a single thread, the user's code can +* By only calling `io_context::run()` from a single thread, the user's code can avoid the development complexity associated with synchronisation. For example, a library user can implement scalable servers that are single-threaded (from the user's point of view). @@ -61,6 +61,6 @@ [heading See Also] -[link asio.reference.io_service io_service]. +[link asio.reference.io_context io_context]. [endsect]
diff --git a/asio/src/doc/overview/timers.qbk b/asio/src/doc/overview/timers.qbk index 882ebed..2a4a5e5 100644 --- a/asio/src/doc/overview/timers.qbk +++ b/asio/src/doc/overview/timers.qbk
@@ -14,7 +14,7 @@ As a simple example, to perform a synchronous wait operation on a timer using a relative time one may write: - io_service i; + io_context i; ... deadline_timer t(i); t.expires_from_now(boost::posix_time::seconds(5)); @@ -25,7 +25,7 @@ void handler(asio::error_code ec) { ... } ... - io_service i; + io_context i; ... deadline_timer t(i); t.expires_from_now(boost::posix_time::milliseconds(400));
diff --git a/asio/src/doc/overview/windows.qbk b/asio/src/doc/overview/windows.qbk index 5aecc37..7fabe0f 100644 --- a/asio/src/doc/overview/windows.qbk +++ b/asio/src/doc/overview/windows.qbk
@@ -22,7 +22,7 @@ object may be created: HANDLE handle = ::CreateFile(...); - windows::stream_handle pipe(my_io_service, handle); + windows::stream_handle pipe(my_io_context, handle); These are then used as synchronous or asynchronous read and write streams. This means the objects can be used with any of the [link asio.reference.read @@ -61,7 +61,7 @@ may be created: HANDLE handle = ::CreateFile(...); - windows::random_access_handle file(my_io_service, handle); + windows::random_access_handle file(my_io_context, handle); Data may be read from or written to the handle using one of the `read_some_at()`, `async_read_some_at()`, `write_some_at()` or @@ -110,7 +110,7 @@ object may be created: HANDLE handle = ::CreateEvent(...); - windows::object_handle file(my_io_service, handle); + windows::object_handle file(my_io_context, handle); The `wait()` and `async_wait()` member functions may then be used to wait until the kernel object is signalled.
diff --git a/asio/src/doc/quickref.xml b/asio/src/doc/quickref.xml index 49f72d3..7a2631a 100644 --- a/asio/src/doc/quickref.xml +++ b/asio/src/doc/quickref.xml
@@ -34,11 +34,11 @@ <member><link linkend="asio.reference.executor">executor</link></member> <member><link linkend="asio.reference.executor_arg_t">executor_arg_t</link></member> <member><link linkend="asio.reference.invalid_service_owner">invalid_service_owner</link></member> - <member><link linkend="asio.reference.io_service">io_service</link></member> - <member><link linkend="asio.reference.io_service__executor_type">io_service::executor_type</link></member> - <member><link linkend="asio.reference.io_service__service">io_service::service</link></member> - <member><link linkend="asio.reference.io_service__strand">io_service::strand</link></member> - <member><link linkend="asio.reference.io_service__work">io_service::work</link></member> + <member><link linkend="asio.reference.io_context">io_context</link></member> + <member><link linkend="asio.reference.io_context__executor_type">io_context::executor_type</link></member> + <member><link linkend="asio.reference.io_context__service">io_context::service</link></member> + <member><link linkend="asio.reference.io_context__strand">io_context::strand</link></member> + <member><link linkend="asio.reference.io_context__work">io_context::work</link></member> <member><link linkend="asio.reference.service_already_exists">service_already_exists</link></member> <member><link linkend="asio.reference.system_error">system_error</link></member> <member><link linkend="asio.reference.system_executor">system_executor</link></member>
diff --git a/asio/src/examples/cpp03/Makefile.am b/asio/src/examples/cpp03/Makefile.am index f811366..2194b0e 100644 --- a/asio/src/examples/cpp03/Makefile.am +++ b/asio/src/examples/cpp03/Makefile.am
@@ -116,7 +116,7 @@ http/server/server.cpp http_server2_http_server_SOURCES = \ http/server2/connection.cpp \ - http/server2/io_service_pool.cpp \ + http/server2/io_context_pool.cpp \ http/server2/main.cpp \ http/server2/mime_types.cpp \ http/server2/reply.cpp \ @@ -207,7 +207,7 @@ http/server/request_parser.hpp \ http/server/server.hpp \ http/server2/connection.hpp \ - http/server2/io_service_pool.hpp \ + http/server2/io_context_pool.hpp \ http/server2/header.hpp \ http/server2/mime_types.hpp \ http/server2/reply.hpp \
diff --git a/asio/src/examples/cpp03/allocation/server.cpp b/asio/src/examples/cpp03/allocation/server.cpp index ee32058..e2af6e9 100644 --- a/asio/src/examples/cpp03/allocation/server.cpp +++ b/asio/src/examples/cpp03/allocation/server.cpp
@@ -120,8 +120,8 @@ : public boost::enable_shared_from_this<session> { public: - session(asio::io_service& io_service) - : socket_(io_service) + session(asio::io_context& io_context) + : socket_(io_context) { } @@ -183,11 +183,11 @@ class server { public: - server(asio::io_service& io_service, short port) - : io_service_(io_service), - acceptor_(io_service, tcp::endpoint(tcp::v4(), port)) + server(asio::io_context& io_context, short port) + : io_context_(io_context), + acceptor_(io_context, tcp::endpoint(tcp::v4(), port)) { - session_ptr new_session(new session(io_service_)); + session_ptr new_session(new session(io_context_)); acceptor_.async_accept(new_session->socket(), boost::bind(&server::handle_accept, this, new_session, asio::placeholders::error)); @@ -201,14 +201,14 @@ new_session->start(); } - new_session.reset(new session(io_service_)); + new_session.reset(new session(io_context_)); acceptor_.async_accept(new_session->socket(), boost::bind(&server::handle_accept, this, new_session, asio::placeholders::error)); } private: - asio::io_service& io_service_; + asio::io_context& io_context_; tcp::acceptor acceptor_; }; @@ -222,12 +222,12 @@ return 1; } - asio::io_service io_service; + asio::io_context io_context; using namespace std; // For atoi. - server s(io_service, atoi(argv[1])); + server s(io_context, atoi(argv[1])); - io_service.run(); + io_context.run(); } catch (std::exception& e) {
diff --git a/asio/src/examples/cpp03/buffers/reference_counted.cpp b/asio/src/examples/cpp03/buffers/reference_counted.cpp index aaea2ab..14b4a0b 100644 --- a/asio/src/examples/cpp03/buffers/reference_counted.cpp +++ b/asio/src/examples/cpp03/buffers/reference_counted.cpp
@@ -43,8 +43,8 @@ : public boost::enable_shared_from_this<session> { public: - session(asio::io_service& io_service) - : socket_(io_service) + session(asio::io_context& io_context) + : socket_(io_context) { } @@ -76,11 +76,11 @@ class server { public: - server(asio::io_service& io_service, short port) - : io_service_(io_service), - acceptor_(io_service, tcp::endpoint(tcp::v4(), port)) + server(asio::io_context& io_context, short port) + : io_context_(io_context), + acceptor_(io_context, tcp::endpoint(tcp::v4(), port)) { - session_ptr new_session(new session(io_service_)); + session_ptr new_session(new session(io_context_)); acceptor_.async_accept(new_session->socket(), boost::bind(&server::handle_accept, this, new_session, asio::placeholders::error)); @@ -94,14 +94,14 @@ new_session->start(); } - new_session.reset(new session(io_service_)); + new_session.reset(new session(io_context_)); acceptor_.async_accept(new_session->socket(), boost::bind(&server::handle_accept, this, new_session, asio::placeholders::error)); } private: - asio::io_service& io_service_; + asio::io_context& io_context_; tcp::acceptor acceptor_; }; @@ -115,12 +115,12 @@ return 1; } - asio::io_service io_service; + asio::io_context io_context; using namespace std; // For atoi. - server s(io_service, atoi(argv[1])); + server s(io_context, atoi(argv[1])); - io_service.run(); + io_context.run(); } catch (std::exception& e) {
diff --git a/asio/src/examples/cpp03/chat/chat_client.cpp b/asio/src/examples/cpp03/chat/chat_client.cpp index ca66747..1820341 100644 --- a/asio/src/examples/cpp03/chat/chat_client.cpp +++ b/asio/src/examples/cpp03/chat/chat_client.cpp
@@ -22,10 +22,10 @@ class chat_client { public: - chat_client(asio::io_service& io_service, + chat_client(asio::io_context& io_context, const tcp::resolver::results_type& endpoints) - : io_service_(io_service), - socket_(io_service) + : io_context_(io_context), + socket_(io_context) { asio::async_connect(socket_, endpoints, boost::bind(&chat_client::handle_connect, this, @@ -34,13 +34,13 @@ void write(const chat_message& msg) { - asio::post(io_service_, + asio::post(io_context_, boost::bind(&chat_client::do_write, this, msg)); } void close() { - asio::post(io_service_, + asio::post(io_context_, boost::bind(&chat_client::do_close, this)); } @@ -129,7 +129,7 @@ } private: - asio::io_service& io_service_; + asio::io_context& io_context_; tcp::socket socket_; chat_message read_msg_; chat_message_queue write_msgs_; @@ -145,14 +145,14 @@ return 1; } - asio::io_service io_service; + asio::io_context io_context; - tcp::resolver resolver(io_service); + tcp::resolver resolver(io_context); tcp::resolver::results_type endpoints = resolver.resolve(argv[1], argv[2]); - chat_client c(io_service, endpoints); + chat_client c(io_context, endpoints); - asio::thread t(boost::bind(&asio::io_service::run, &io_service)); + asio::thread t(boost::bind(&asio::io_context::run, &io_context)); char line[chat_message::max_body_length + 1]; while (std::cin.getline(line, chat_message::max_body_length + 1))
diff --git a/asio/src/examples/cpp03/chat/chat_server.cpp b/asio/src/examples/cpp03/chat/chat_server.cpp index ce62316..c5b4f6f 100644 --- a/asio/src/examples/cpp03/chat/chat_server.cpp +++ b/asio/src/examples/cpp03/chat/chat_server.cpp
@@ -77,8 +77,8 @@ public boost::enable_shared_from_this<chat_session> { public: - chat_session(asio::io_service& io_service, chat_room& room) - : socket_(io_service), + chat_session(asio::io_context& io_context, chat_room& room) + : socket_(io_context), room_(room) { } @@ -177,17 +177,17 @@ class chat_server { public: - chat_server(asio::io_service& io_service, + chat_server(asio::io_context& io_context, const tcp::endpoint& endpoint) - : io_service_(io_service), - acceptor_(io_service, endpoint) + : io_context_(io_context), + acceptor_(io_context, endpoint) { start_accept(); } void start_accept() { - chat_session_ptr new_session(new chat_session(io_service_, room_)); + chat_session_ptr new_session(new chat_session(io_context_, room_)); acceptor_.async_accept(new_session->socket(), boost::bind(&chat_server::handle_accept, this, new_session, asio::placeholders::error)); @@ -205,7 +205,7 @@ } private: - asio::io_service& io_service_; + asio::io_context& io_context_; tcp::acceptor acceptor_; chat_room room_; }; @@ -225,18 +225,18 @@ return 1; } - asio::io_service io_service; + asio::io_context io_context; chat_server_list servers; for (int i = 1; i < argc; ++i) { using namespace std; // For atoi. tcp::endpoint endpoint(tcp::v4(), atoi(argv[i])); - chat_server_ptr server(new chat_server(io_service, endpoint)); + chat_server_ptr server(new chat_server(io_context, endpoint)); servers.push_back(server); } - io_service.run(); + io_context.run(); } catch (std::exception& e) {
diff --git a/asio/src/examples/cpp03/chat/posix_chat_client.cpp b/asio/src/examples/cpp03/chat/posix_chat_client.cpp index f25872c..9e7dea3 100644 --- a/asio/src/examples/cpp03/chat/posix_chat_client.cpp +++ b/asio/src/examples/cpp03/chat/posix_chat_client.cpp
@@ -24,11 +24,11 @@ class posix_chat_client { public: - posix_chat_client(asio::io_service& io_service, + posix_chat_client(asio::io_context& io_context, const tcp::resolver::results_type& endpoints) - : socket_(io_service), - input_(io_service, ::dup(STDIN_FILENO)), - output_(io_service, ::dup(STDOUT_FILENO)), + : socket_(io_context), + input_(io_context, ::dup(STDIN_FILENO)), + output_(io_context, ::dup(STDOUT_FILENO)), input_buffer_(chat_message::max_body_length) { asio::async_connect(socket_, endpoints, @@ -182,14 +182,14 @@ return 1; } - asio::io_service io_service; + asio::io_context io_context; - tcp::resolver resolver(io_service); + tcp::resolver resolver(io_context); tcp::resolver::results_type endpoints = resolver.resolve(argv[1], argv[2]); - posix_chat_client c(io_service, endpoints); + posix_chat_client c(io_context, endpoints); - io_service.run(); + io_context.run(); } catch (std::exception& e) {
diff --git a/asio/src/examples/cpp03/echo/async_tcp_echo_server.cpp b/asio/src/examples/cpp03/echo/async_tcp_echo_server.cpp index 0328c02..bc93070 100644 --- a/asio/src/examples/cpp03/echo/async_tcp_echo_server.cpp +++ b/asio/src/examples/cpp03/echo/async_tcp_echo_server.cpp
@@ -18,8 +18,8 @@ class session { public: - session(asio::io_service& io_service) - : socket_(io_service) + session(asio::io_context& io_context) + : socket_(io_context) { } @@ -76,9 +76,9 @@ class server { public: - server(asio::io_service& io_service, short port) - : io_service_(io_service), - acceptor_(io_service, tcp::endpoint(tcp::v4(), port)) + server(asio::io_context& io_context, short port) + : io_context_(io_context), + acceptor_(io_context, tcp::endpoint(tcp::v4(), port)) { start_accept(); } @@ -86,7 +86,7 @@ private: void start_accept() { - session* new_session = new session(io_service_); + session* new_session = new session(io_context_); acceptor_.async_accept(new_session->socket(), boost::bind(&server::handle_accept, this, new_session, asio::placeholders::error)); @@ -107,7 +107,7 @@ start_accept(); } - asio::io_service& io_service_; + asio::io_context& io_context_; tcp::acceptor acceptor_; }; @@ -121,12 +121,12 @@ return 1; } - asio::io_service io_service; + asio::io_context io_context; using namespace std; // For atoi. - server s(io_service, atoi(argv[1])); + server s(io_context, atoi(argv[1])); - io_service.run(); + io_context.run(); } catch (std::exception& e) {
diff --git a/asio/src/examples/cpp03/echo/async_udp_echo_server.cpp b/asio/src/examples/cpp03/echo/async_udp_echo_server.cpp index 36dc95f..64a4fa4 100644 --- a/asio/src/examples/cpp03/echo/async_udp_echo_server.cpp +++ b/asio/src/examples/cpp03/echo/async_udp_echo_server.cpp
@@ -18,8 +18,8 @@ class server { public: - server(asio::io_service& io_service, short port) - : socket_(io_service, udp::endpoint(udp::v4(), port)) + server(asio::io_context& io_context, short port) + : socket_(io_context, udp::endpoint(udp::v4(), port)) { socket_.async_receive_from( asio::buffer(data_, max_length), sender_endpoint_, @@ -76,12 +76,12 @@ return 1; } - asio::io_service io_service; + asio::io_context io_context; using namespace std; // For atoi. - server s(io_service, atoi(argv[1])); + server s(io_context, atoi(argv[1])); - io_service.run(); + io_context.run(); } catch (std::exception& e) {
diff --git a/asio/src/examples/cpp03/echo/blocking_tcp_echo_client.cpp b/asio/src/examples/cpp03/echo/blocking_tcp_echo_client.cpp index 202e5d9..fa19c5d 100644 --- a/asio/src/examples/cpp03/echo/blocking_tcp_echo_client.cpp +++ b/asio/src/examples/cpp03/echo/blocking_tcp_echo_client.cpp
@@ -27,13 +27,13 @@ return 1; } - asio::io_service io_service; + asio::io_context io_context; - tcp::resolver resolver(io_service); + tcp::resolver resolver(io_context); tcp::resolver::results_type endpoints = resolver.resolve(tcp::v4(), argv[1], argv[2]); - tcp::socket s(io_service); + tcp::socket s(io_context); asio::connect(s, endpoints); using namespace std; // For strlen.
diff --git a/asio/src/examples/cpp03/echo/blocking_tcp_echo_server.cpp b/asio/src/examples/cpp03/echo/blocking_tcp_echo_server.cpp index 7e6e058..6dd2f49 100644 --- a/asio/src/examples/cpp03/echo/blocking_tcp_echo_server.cpp +++ b/asio/src/examples/cpp03/echo/blocking_tcp_echo_server.cpp
@@ -44,12 +44,12 @@ } } -void server(asio::io_service& io_service, unsigned short port) +void server(asio::io_context& io_context, unsigned short port) { - tcp::acceptor a(io_service, tcp::endpoint(tcp::v4(), port)); + tcp::acceptor a(io_context, tcp::endpoint(tcp::v4(), port)); for (;;) { - socket_ptr sock(new tcp::socket(io_service)); + socket_ptr sock(new tcp::socket(io_context)); a.accept(*sock); asio::thread t(boost::bind(session, sock)); } @@ -65,10 +65,10 @@ return 1; } - asio::io_service io_service; + asio::io_context io_context; using namespace std; // For atoi. - server(io_service, atoi(argv[1])); + server(io_context, atoi(argv[1])); } catch (std::exception& e) {
diff --git a/asio/src/examples/cpp03/echo/blocking_udp_echo_client.cpp b/asio/src/examples/cpp03/echo/blocking_udp_echo_client.cpp index f189ebc..fb3601e 100644 --- a/asio/src/examples/cpp03/echo/blocking_udp_echo_client.cpp +++ b/asio/src/examples/cpp03/echo/blocking_udp_echo_client.cpp
@@ -27,11 +27,11 @@ return 1; } - asio::io_service io_service; + asio::io_context io_context; - udp::socket s(io_service, udp::endpoint(udp::v4(), 0)); + udp::socket s(io_context, udp::endpoint(udp::v4(), 0)); - udp::resolver resolver(io_service); + udp::resolver resolver(io_context); udp::resolver::results_type endpoints = resolver.resolve(udp::v4(), argv[1], argv[2]);
diff --git a/asio/src/examples/cpp03/echo/blocking_udp_echo_server.cpp b/asio/src/examples/cpp03/echo/blocking_udp_echo_server.cpp index c3ab124..f6b37d0 100644 --- a/asio/src/examples/cpp03/echo/blocking_udp_echo_server.cpp +++ b/asio/src/examples/cpp03/echo/blocking_udp_echo_server.cpp
@@ -16,9 +16,9 @@ enum { max_length = 1024 }; -void server(asio::io_service& io_service, unsigned short port) +void server(asio::io_context& io_context, unsigned short port) { - udp::socket sock(io_service, udp::endpoint(udp::v4(), port)); + udp::socket sock(io_context, udp::endpoint(udp::v4(), port)); for (;;) { char data[max_length]; @@ -39,10 +39,10 @@ return 1; } - asio::io_service io_service; + asio::io_context io_context; using namespace std; // For atoi. - server(io_service, atoi(argv[1])); + server(io_context, atoi(argv[1])); } catch (std::exception& e) {
diff --git a/asio/src/examples/cpp03/fork/daemon.cpp b/asio/src/examples/cpp03/fork/daemon.cpp index 43ea1ce..e962548 100644 --- a/asio/src/examples/cpp03/fork/daemon.cpp +++ b/asio/src/examples/cpp03/fork/daemon.cpp
@@ -8,7 +8,7 @@ // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // -#include <asio/io_service.hpp> +#include <asio/io_context.hpp> #include <asio/ip/udp.hpp> #include <asio/signal_set.hpp> #include <boost/array.hpp> @@ -23,8 +23,8 @@ class udp_daytime_server { public: - udp_daytime_server(asio::io_service& io_service) - : socket_(io_service, udp::endpoint(udp::v4(), 13)) + udp_daytime_server(asio::io_context& io_context) + : socket_(io_context, udp::endpoint(udp::v4(), 13)) { start_receive(); } @@ -62,24 +62,24 @@ { try { - asio::io_service io_service; + asio::io_context io_context; // Initialise the server before becoming a daemon. If the process is // started from a shell, this means any errors will be reported back to the // user. - udp_daytime_server server(io_service); + udp_daytime_server server(io_context); // Register signal handlers so that the daemon may be shut down. You may // also want to register for other signals, such as SIGHUP to trigger a // re-read of a configuration file. - asio::signal_set signals(io_service, SIGINT, SIGTERM); + asio::signal_set signals(io_context, SIGINT, SIGTERM); signals.async_wait( - boost::bind(&asio::io_service::stop, &io_service)); + boost::bind(&asio::io_context::stop, &io_context)); - // Inform the io_service that we are about to become a daemon. The - // io_service cleans up any internal resources, such as threads, that may + // Inform the io_context that we are about to become a daemon. The + // io_context cleans up any internal resources, such as threads, that may // interfere with forking. - io_service.notify_fork(asio::io_service::fork_prepare); + io_context.notify_fork(asio::io_context::fork_prepare); // Fork the process and have the parent exit. If the process was started // from a shell, this returns control to the user. Forking a new process is @@ -92,15 +92,15 @@ // // When the exit() function is used, the program terminates without // invoking local variables' destructors. Only global variables are - // destroyed. As the io_service object is a local variable, this means + // destroyed. As the io_context object is a local variable, this means // we do not have to call: // - // io_service.notify_fork(asio::io_service::fork_parent); + // io_context.notify_fork(asio::io_context::fork_parent); // // However, this line should be added before each call to exit() if - // using a global io_service object. An additional call: + // using a global io_context object. An additional call: // - // io_service.notify_fork(asio::io_service::fork_prepare); + // io_context.notify_fork(asio::io_context::fork_prepare); // // should also precede the second fork(). exit(0); @@ -171,14 +171,14 @@ return 1; } - // Inform the io_service that we have finished becoming a daemon. The - // io_service uses this opportunity to create any internal file descriptors + // Inform the io_context that we have finished becoming a daemon. The + // io_context uses this opportunity to create any internal file descriptors // that need to be private to the new process. - io_service.notify_fork(asio::io_service::fork_child); + io_context.notify_fork(asio::io_context::fork_child); - // The io_service can now be used normally. + // The io_context can now be used normally. syslog(LOG_INFO | LOG_USER, "Daemon started"); - io_service.run(); + io_context.run(); syslog(LOG_INFO | LOG_USER, "Daemon stopped"); } catch (std::exception& e)
diff --git a/asio/src/examples/cpp03/fork/process_per_connection.cpp b/asio/src/examples/cpp03/fork/process_per_connection.cpp index 9950565..1096370 100644 --- a/asio/src/examples/cpp03/fork/process_per_connection.cpp +++ b/asio/src/examples/cpp03/fork/process_per_connection.cpp
@@ -8,7 +8,7 @@ // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // -#include <asio/io_service.hpp> +#include <asio/io_context.hpp> #include <asio/ip/tcp.hpp> #include <asio/signal_set.hpp> #include <asio/write.hpp> @@ -25,11 +25,11 @@ class server { public: - server(asio::io_service& io_service, unsigned short port) - : io_service_(io_service), - signal_(io_service, SIGCHLD), - acceptor_(io_service, tcp::endpoint(tcp::v4(), port)), - socket_(io_service) + server(asio::io_context& io_context, unsigned short port) + : io_context_(io_context), + signal_(io_context, SIGCHLD), + acceptor_(io_context, tcp::endpoint(tcp::v4(), port)), + socket_(io_context) { start_signal_wait(); start_accept(); @@ -65,17 +65,17 @@ { if (!ec) { - // Inform the io_service that we are about to fork. The io_service cleans + // Inform the io_context that we are about to fork. The io_context cleans // up any internal resources, such as threads, that may interfere with // forking. - io_service_.notify_fork(asio::io_service::fork_prepare); + io_context_.notify_fork(asio::io_context::fork_prepare); if (fork() == 0) { - // Inform the io_service that the fork is finished and that this is the - // child process. The io_service uses this opportunity to create any + // Inform the io_context that the fork is finished and that this is the + // child process. The io_context uses this opportunity to create any // internal file descriptors that must be private to the new process. - io_service_.notify_fork(asio::io_service::fork_child); + io_context_.notify_fork(asio::io_context::fork_child); // The child won't be accepting new connections, so we can close the // acceptor. It remains open in the parent. @@ -88,11 +88,11 @@ } else { - // Inform the io_service that the fork is finished (or failed) and that - // this is the parent process. The io_service uses this opportunity to + // Inform the io_context that the fork is finished (or failed) and that + // this is the parent process. The io_context uses this opportunity to // recreate any internal resources that were cleaned up during // preparation for the fork. - io_service_.notify_fork(asio::io_service::fork_parent); + io_context_.notify_fork(asio::io_context::fork_parent); socket_.close(); start_accept(); @@ -129,7 +129,7 @@ start_read(); } - asio::io_service& io_service_; + asio::io_context& io_context_; asio::signal_set signal_; tcp::acceptor acceptor_; tcp::socket socket_; @@ -146,12 +146,12 @@ return 1; } - asio::io_service io_service; + asio::io_context io_context; using namespace std; // For atoi. - server s(io_service, atoi(argv[1])); + server s(io_context, atoi(argv[1])); - io_service.run(); + io_context.run(); } catch (std::exception& e) {
diff --git a/asio/src/examples/cpp03/http/client/async_client.cpp b/asio/src/examples/cpp03/http/client/async_client.cpp index fa9b625..97890ba 100644 --- a/asio/src/examples/cpp03/http/client/async_client.cpp +++ b/asio/src/examples/cpp03/http/client/async_client.cpp
@@ -20,10 +20,10 @@ class client { public: - client(asio::io_service& io_service, + client(asio::io_context& io_context, const std::string& server, const std::string& path) - : resolver_(io_service), - socket_(io_service) + : resolver_(io_context), + socket_(io_context) { // Form the request. We specify the "Connection: close" header so that the // server will close the socket after transmitting the response. This will @@ -191,9 +191,9 @@ return 1; } - asio::io_service io_service; - client c(io_service, argv[1], argv[2]); - io_service.run(); + asio::io_context io_context; + client c(io_context, argv[1], argv[2]); + io_context.run(); } catch (std::exception& e) {
diff --git a/asio/src/examples/cpp03/http/client/sync_client.cpp b/asio/src/examples/cpp03/http/client/sync_client.cpp index d90f1f2..5505fcf 100644 --- a/asio/src/examples/cpp03/http/client/sync_client.cpp +++ b/asio/src/examples/cpp03/http/client/sync_client.cpp
@@ -28,14 +28,14 @@ return 1; } - asio::io_service io_service; + asio::io_context io_context; // Get a list of endpoints corresponding to the server name. - tcp::resolver resolver(io_service); + tcp::resolver resolver(io_context); tcp::resolver::results_type endpoints = resolver.resolve(argv[1], "http"); // Try each endpoint until we successfully establish a connection. - tcp::socket socket(io_service); + tcp::socket socket(io_context); asio::connect(socket, endpoints); // Form the request. We specify the "Connection: close" header so that the
diff --git a/asio/src/examples/cpp03/http/server/connection.cpp b/asio/src/examples/cpp03/http/server/connection.cpp index 8133c3a..ab4fedb 100644 --- a/asio/src/examples/cpp03/http/server/connection.cpp +++ b/asio/src/examples/cpp03/http/server/connection.cpp
@@ -17,9 +17,9 @@ namespace http { namespace server { -connection::connection(asio::io_service& io_service, +connection::connection(asio::io_context& io_context, connection_manager& manager, request_handler& handler) - : socket_(io_service), + : socket_(io_context), connection_manager_(manager), request_handler_(handler) {
diff --git a/asio/src/examples/cpp03/http/server/connection.hpp b/asio/src/examples/cpp03/http/server/connection.hpp index 5d99f1b..ff4ec42 100644 --- a/asio/src/examples/cpp03/http/server/connection.hpp +++ b/asio/src/examples/cpp03/http/server/connection.hpp
@@ -32,8 +32,8 @@ private boost::noncopyable { public: - /// Construct a connection with the given io_service. - explicit connection(asio::io_service& io_service, + /// Construct a connection with the given io_context. + explicit connection(asio::io_context& io_context, connection_manager& manager, request_handler& handler); /// Get the socket associated with the connection.
diff --git a/asio/src/examples/cpp03/http/server/server.cpp b/asio/src/examples/cpp03/http/server/server.cpp index b534ea8..c002856 100644 --- a/asio/src/examples/cpp03/http/server/server.cpp +++ b/asio/src/examples/cpp03/http/server/server.cpp
@@ -17,9 +17,9 @@ server::server(const std::string& address, const std::string& port, const std::string& doc_root) - : io_service_(), - signals_(io_service_), - acceptor_(io_service_), + : io_context_(), + signals_(io_context_), + acceptor_(io_context_), connection_manager_(), new_connection_(), request_handler_(doc_root) @@ -35,7 +35,7 @@ signals_.async_wait(boost::bind(&server::handle_stop, this)); // Open the acceptor with the option to reuse the address (i.e. SO_REUSEADDR). - asio::ip::tcp::resolver resolver(io_service_); + asio::ip::tcp::resolver resolver(io_context_); asio::ip::tcp::endpoint endpoint = *resolver.resolve(address, port).begin(); acceptor_.open(endpoint.protocol()); @@ -48,16 +48,16 @@ void server::run() { - // The io_service::run() call will block until all asynchronous operations + // The io_context::run() call will block until all asynchronous operations // have finished. While the server is running, there is always at least one // asynchronous operation outstanding: the asynchronous accept call waiting // for new incoming connections. - io_service_.run(); + io_context_.run(); } void server::start_accept() { - new_connection_.reset(new connection(io_service_, + new_connection_.reset(new connection(io_context_, connection_manager_, request_handler_)); acceptor_.async_accept(new_connection_->socket(), boost::bind(&server::handle_accept, this, @@ -84,7 +84,7 @@ void server::handle_stop() { // The server is stopped by cancelling all outstanding asynchronous - // operations. Once all operations have finished the io_service::run() call + // operations. Once all operations have finished the io_context::run() call // will exit. acceptor_.close(); connection_manager_.stop_all();
diff --git a/asio/src/examples/cpp03/http/server/server.hpp b/asio/src/examples/cpp03/http/server/server.hpp index e14707b..6c0b680 100644 --- a/asio/src/examples/cpp03/http/server/server.hpp +++ b/asio/src/examples/cpp03/http/server/server.hpp
@@ -31,7 +31,7 @@ explicit server(const std::string& address, const std::string& port, const std::string& doc_root); - /// Run the server's io_service loop. + /// Run the server's io_context loop. void run(); private: @@ -44,8 +44,8 @@ /// Handle a request to stop the server. void handle_stop(); - /// The io_service used to perform asynchronous operations. - asio::io_service io_service_; + /// The io_context used to perform asynchronous operations. + asio::io_context io_context_; /// The signal_set is used to register for process termination notifications. asio::signal_set signals_;
diff --git a/asio/src/examples/cpp03/http/server2/connection.cpp b/asio/src/examples/cpp03/http/server2/connection.cpp index 7b54909..51bf004 100644 --- a/asio/src/examples/cpp03/http/server2/connection.cpp +++ b/asio/src/examples/cpp03/http/server2/connection.cpp
@@ -16,9 +16,9 @@ namespace http { namespace server2 { -connection::connection(asio::io_service& io_service, +connection::connection(asio::io_context& io_context, request_handler& handler) - : socket_(io_service), + : socket_(io_context), request_handler_(handler) { }
diff --git a/asio/src/examples/cpp03/http/server2/connection.hpp b/asio/src/examples/cpp03/http/server2/connection.hpp index 2b5d37b..149a1ff 100644 --- a/asio/src/examples/cpp03/http/server2/connection.hpp +++ b/asio/src/examples/cpp03/http/server2/connection.hpp
@@ -30,8 +30,8 @@ private boost::noncopyable { public: - /// Construct a connection with the given io_service. - explicit connection(asio::io_service& io_service, + /// Construct a connection with the given io_context. + explicit connection(asio::io_context& io_context, request_handler& handler); /// Get the socket associated with the connection.
diff --git a/asio/src/examples/cpp03/http/server2/io_context_pool.cpp b/asio/src/examples/cpp03/http/server2/io_context_pool.cpp new file mode 100644 index 0000000..61d46e6 --- /dev/null +++ b/asio/src/examples/cpp03/http/server2/io_context_pool.cpp
@@ -0,0 +1,70 @@ +// +// io_context_pool.cpp +// ~~~~~~~~~~~~~~~~~~~ +// +// Copyright (c) 2003-2015 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) +// + +#include "server.hpp" +#include <stdexcept> +#include <boost/bind.hpp> +#include <boost/shared_ptr.hpp> + +namespace http { +namespace server2 { + +io_context_pool::io_context_pool(std::size_t pool_size) + : next_io_context_(0) +{ + if (pool_size == 0) + throw std::runtime_error("io_context_pool size is 0"); + + // Give all the io_contexts work to do so that their run() functions will not + // exit until they are explicitly stopped. + for (std::size_t i = 0; i < pool_size; ++i) + { + io_context_ptr io_context(new asio::io_context); + work_ptr work(new asio::io_context::work(*io_context)); + io_contexts_.push_back(io_context); + work_.push_back(work); + } +} + +void io_context_pool::run() +{ + // Create a pool of threads to run all of the io_contexts. + std::vector<boost::shared_ptr<asio::thread> > threads; + for (std::size_t i = 0; i < io_contexts_.size(); ++i) + { + boost::shared_ptr<asio::thread> thread(new asio::thread( + boost::bind(&asio::io_context::run, io_contexts_[i]))); + threads.push_back(thread); + } + + // Wait for all threads in the pool to exit. + for (std::size_t i = 0; i < threads.size(); ++i) + threads[i]->join(); +} + +void io_context_pool::stop() +{ + // Explicitly stop all io_contexts. + for (std::size_t i = 0; i < io_contexts_.size(); ++i) + io_contexts_[i]->stop(); +} + +asio::io_context& io_context_pool::get_io_context() +{ + // Use a round-robin scheme to choose the next io_context to use. + asio::io_context& io_context = *io_contexts_[next_io_context_]; + ++next_io_context_; + if (next_io_context_ == io_contexts_.size()) + next_io_context_ = 0; + return io_context; +} + +} // namespace server2 +} // namespace http
diff --git a/asio/src/examples/cpp03/http/server2/io_context_pool.hpp b/asio/src/examples/cpp03/http/server2/io_context_pool.hpp new file mode 100644 index 0000000..300b675 --- /dev/null +++ b/asio/src/examples/cpp03/http/server2/io_context_pool.hpp
@@ -0,0 +1,56 @@ +// +// io_context_pool.hpp +// ~~~~~~~~~~~~~~~~~~~ +// +// Copyright (c) 2003-2015 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) +// + +#ifndef HTTP_SERVER2_IO_SERVICE_POOL_HPP +#define HTTP_SERVER2_IO_SERVICE_POOL_HPP + +#include <asio.hpp> +#include <vector> +#include <boost/noncopyable.hpp> +#include <boost/shared_ptr.hpp> + +namespace http { +namespace server2 { + +/// A pool of io_context objects. +class io_context_pool + : private boost::noncopyable +{ +public: + /// Construct the io_context pool. + explicit io_context_pool(std::size_t pool_size); + + /// Run all io_context objects in the pool. + void run(); + + /// Stop all io_context objects in the pool. + void stop(); + + /// Get an io_context to use. + asio::io_context& get_io_context(); + +private: + typedef boost::shared_ptr<asio::io_context> io_context_ptr; + typedef boost::shared_ptr<asio::io_context::work> work_ptr; + + /// The pool of io_contexts. + std::vector<io_context_ptr> io_contexts_; + + /// The work that keeps the io_contexts running. + std::vector<work_ptr> work_; + + /// The next io_context to use for a connection. + std::size_t next_io_context_; +}; + +} // namespace server2 +} // namespace http + +#endif // HTTP_SERVER2_IO_SERVICE_POOL_HPP
diff --git a/asio/src/examples/cpp03/http/server2/io_service_pool.cpp b/asio/src/examples/cpp03/http/server2/io_service_pool.cpp deleted file mode 100644 index 3ff4170..0000000 --- a/asio/src/examples/cpp03/http/server2/io_service_pool.cpp +++ /dev/null
@@ -1,70 +0,0 @@ -// -// io_service_pool.cpp -// ~~~~~~~~~~~~~~~~~~~ -// -// Copyright (c) 2003-2015 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) -// - -#include "server.hpp" -#include <stdexcept> -#include <boost/bind.hpp> -#include <boost/shared_ptr.hpp> - -namespace http { -namespace server2 { - -io_service_pool::io_service_pool(std::size_t pool_size) - : next_io_service_(0) -{ - if (pool_size == 0) - throw std::runtime_error("io_service_pool size is 0"); - - // Give all the io_services work to do so that their run() functions will not - // exit until they are explicitly stopped. - for (std::size_t i = 0; i < pool_size; ++i) - { - io_service_ptr io_service(new asio::io_service); - work_ptr work(new asio::io_service::work(*io_service)); - io_services_.push_back(io_service); - work_.push_back(work); - } -} - -void io_service_pool::run() -{ - // Create a pool of threads to run all of the io_services. - std::vector<boost::shared_ptr<asio::thread> > threads; - for (std::size_t i = 0; i < io_services_.size(); ++i) - { - boost::shared_ptr<asio::thread> thread(new asio::thread( - boost::bind(&asio::io_service::run, io_services_[i]))); - threads.push_back(thread); - } - - // Wait for all threads in the pool to exit. - for (std::size_t i = 0; i < threads.size(); ++i) - threads[i]->join(); -} - -void io_service_pool::stop() -{ - // Explicitly stop all io_services. - for (std::size_t i = 0; i < io_services_.size(); ++i) - io_services_[i]->stop(); -} - -asio::io_service& io_service_pool::get_io_service() -{ - // Use a round-robin scheme to choose the next io_service to use. - asio::io_service& io_service = *io_services_[next_io_service_]; - ++next_io_service_; - if (next_io_service_ == io_services_.size()) - next_io_service_ = 0; - return io_service; -} - -} // namespace server2 -} // namespace http
diff --git a/asio/src/examples/cpp03/http/server2/io_service_pool.hpp b/asio/src/examples/cpp03/http/server2/io_service_pool.hpp deleted file mode 100644 index f4178fe..0000000 --- a/asio/src/examples/cpp03/http/server2/io_service_pool.hpp +++ /dev/null
@@ -1,56 +0,0 @@ -// -// io_service_pool.hpp -// ~~~~~~~~~~~~~~~~~~~ -// -// Copyright (c) 2003-2015 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) -// - -#ifndef HTTP_SERVER2_IO_SERVICE_POOL_HPP -#define HTTP_SERVER2_IO_SERVICE_POOL_HPP - -#include <asio.hpp> -#include <vector> -#include <boost/noncopyable.hpp> -#include <boost/shared_ptr.hpp> - -namespace http { -namespace server2 { - -/// A pool of io_service objects. -class io_service_pool - : private boost::noncopyable -{ -public: - /// Construct the io_service pool. - explicit io_service_pool(std::size_t pool_size); - - /// Run all io_service objects in the pool. - void run(); - - /// Stop all io_service objects in the pool. - void stop(); - - /// Get an io_service to use. - asio::io_service& get_io_service(); - -private: - typedef boost::shared_ptr<asio::io_service> io_service_ptr; - typedef boost::shared_ptr<asio::io_service::work> work_ptr; - - /// The pool of io_services. - std::vector<io_service_ptr> io_services_; - - /// The work that keeps the io_services running. - std::vector<work_ptr> work_; - - /// The next io_service to use for a connection. - std::size_t next_io_service_; -}; - -} // namespace server2 -} // namespace http - -#endif // HTTP_SERVER2_IO_SERVICE_POOL_HPP
diff --git a/asio/src/examples/cpp03/http/server2/server.cpp b/asio/src/examples/cpp03/http/server2/server.cpp index 4ba84de..974a746 100644 --- a/asio/src/examples/cpp03/http/server2/server.cpp +++ b/asio/src/examples/cpp03/http/server2/server.cpp
@@ -15,10 +15,10 @@ namespace server2 { server::server(const std::string& address, const std::string& port, - const std::string& doc_root, std::size_t io_service_pool_size) - : io_service_pool_(io_service_pool_size), - signals_(io_service_pool_.get_io_service()), - acceptor_(io_service_pool_.get_io_service()), + const std::string& doc_root, std::size_t io_context_pool_size) + : io_context_pool_(io_context_pool_size), + signals_(io_context_pool_.get_io_context()), + acceptor_(io_context_pool_.get_io_context()), new_connection_(), request_handler_(doc_root) { @@ -46,13 +46,13 @@ void server::run() { - io_service_pool_.run(); + io_context_pool_.run(); } void server::start_accept() { new_connection_.reset(new connection( - io_service_pool_.get_io_service(), request_handler_)); + io_context_pool_.get_io_context(), request_handler_)); acceptor_.async_accept(new_connection_->socket(), boost::bind(&server::handle_accept, this, asio::placeholders::error)); @@ -70,7 +70,7 @@ void server::handle_stop() { - io_service_pool_.stop(); + io_context_pool_.stop(); } } // namespace server2
diff --git a/asio/src/examples/cpp03/http/server2/server.hpp b/asio/src/examples/cpp03/http/server2/server.hpp index 1c7c5c1..ca9fc03 100644 --- a/asio/src/examples/cpp03/http/server2/server.hpp +++ b/asio/src/examples/cpp03/http/server2/server.hpp
@@ -17,7 +17,7 @@ #include <boost/noncopyable.hpp> #include <boost/shared_ptr.hpp> #include "connection.hpp" -#include "io_service_pool.hpp" +#include "io_context_pool.hpp" #include "request_handler.hpp" namespace http { @@ -31,9 +31,9 @@ /// Construct the server to listen on the specified TCP address and port, and /// serve up files from the given directory. explicit server(const std::string& address, const std::string& port, - const std::string& doc_root, std::size_t io_service_pool_size); + const std::string& doc_root, std::size_t io_context_pool_size); - /// Run the server's io_service loop. + /// Run the server's io_context loop. void run(); private: @@ -46,8 +46,8 @@ /// Handle a request to stop the server. void handle_stop(); - /// The pool of io_service objects used to perform asynchronous operations. - io_service_pool io_service_pool_; + /// The pool of io_context objects used to perform asynchronous operations. + io_context_pool io_context_pool_; /// The signal_set is used to register for process termination notifications. asio::signal_set signals_;
diff --git a/asio/src/examples/cpp03/http/server3/connection.cpp b/asio/src/examples/cpp03/http/server3/connection.cpp index 2f30145..8b4d6e0 100644 --- a/asio/src/examples/cpp03/http/server3/connection.cpp +++ b/asio/src/examples/cpp03/http/server3/connection.cpp
@@ -16,10 +16,10 @@ namespace http { namespace server3 { -connection::connection(asio::io_service& io_service, +connection::connection(asio::io_context& io_context, request_handler& handler) - : strand_(io_service), - socket_(io_service), + : strand_(io_context), + socket_(io_context), request_handler_(handler) { }
diff --git a/asio/src/examples/cpp03/http/server3/connection.hpp b/asio/src/examples/cpp03/http/server3/connection.hpp index 2a6c260..9be2697 100644 --- a/asio/src/examples/cpp03/http/server3/connection.hpp +++ b/asio/src/examples/cpp03/http/server3/connection.hpp
@@ -30,8 +30,8 @@ private boost::noncopyable { public: - /// Construct a connection with the given io_service. - explicit connection(asio::io_service& io_service, + /// Construct a connection with the given io_context. + explicit connection(asio::io_context& io_context, request_handler& handler); /// Get the socket associated with the connection. @@ -49,7 +49,7 @@ void handle_write(const asio::error_code& e); /// Strand to ensure the connection's handlers are not called concurrently. - asio::io_service::strand strand_; + asio::io_context::strand strand_; /// Socket for the connection. asio::ip::tcp::socket socket_;
diff --git a/asio/src/examples/cpp03/http/server3/server.cpp b/asio/src/examples/cpp03/http/server3/server.cpp index e26711b..4bfddc4 100644 --- a/asio/src/examples/cpp03/http/server3/server.cpp +++ b/asio/src/examples/cpp03/http/server3/server.cpp
@@ -19,8 +19,8 @@ server::server(const std::string& address, const std::string& port, const std::string& doc_root, std::size_t thread_pool_size) : thread_pool_size_(thread_pool_size), - signals_(io_service_), - acceptor_(io_service_), + signals_(io_context_), + acceptor_(io_context_), new_connection_(), request_handler_(doc_root) { @@ -35,7 +35,7 @@ signals_.async_wait(boost::bind(&server::handle_stop, this)); // Open the acceptor with the option to reuse the address (i.e. SO_REUSEADDR). - asio::ip::tcp::resolver resolver(io_service_); + asio::ip::tcp::resolver resolver(io_context_); asio::ip::tcp::endpoint endpoint = *resolver.resolve(address, port).begin(); acceptor_.open(endpoint.protocol()); @@ -48,12 +48,12 @@ void server::run() { - // Create a pool of threads to run all of the io_services. + // Create a pool of threads to run all of the io_contexts. std::vector<boost::shared_ptr<asio::thread> > threads; for (std::size_t i = 0; i < thread_pool_size_; ++i) { boost::shared_ptr<asio::thread> thread(new asio::thread( - boost::bind(&asio::io_service::run, &io_service_))); + boost::bind(&asio::io_context::run, &io_context_))); threads.push_back(thread); } @@ -64,7 +64,7 @@ void server::start_accept() { - new_connection_.reset(new connection(io_service_, request_handler_)); + new_connection_.reset(new connection(io_context_, request_handler_)); acceptor_.async_accept(new_connection_->socket(), boost::bind(&server::handle_accept, this, asio::placeholders::error)); @@ -82,7 +82,7 @@ void server::handle_stop() { - io_service_.stop(); + io_context_.stop(); } } // namespace server3
diff --git a/asio/src/examples/cpp03/http/server3/server.hpp b/asio/src/examples/cpp03/http/server3/server.hpp index 5c4492d..7ef3e7e 100644 --- a/asio/src/examples/cpp03/http/server3/server.hpp +++ b/asio/src/examples/cpp03/http/server3/server.hpp
@@ -32,7 +32,7 @@ explicit server(const std::string& address, const std::string& port, const std::string& doc_root, std::size_t thread_pool_size); - /// Run the server's io_service loop. + /// Run the server's io_context loop. void run(); private: @@ -45,11 +45,11 @@ /// Handle a request to stop the server. void handle_stop(); - /// The number of threads that will call io_service::run(). + /// The number of threads that will call io_context::run(). std::size_t thread_pool_size_; - /// The io_service used to perform asynchronous operations. - asio::io_service io_service_; + /// The io_context used to perform asynchronous operations. + asio::io_context io_context_; /// The signal_set is used to register for process termination notifications. asio::signal_set signals_;
diff --git a/asio/src/examples/cpp03/http/server4/main.cpp b/asio/src/examples/cpp03/http/server4/main.cpp index 2236122..80ccffb 100644 --- a/asio/src/examples/cpp03/http/server4/main.cpp +++ b/asio/src/examples/cpp03/http/server4/main.cpp
@@ -30,24 +30,24 @@ return 1; } - asio::io_service io_service; + asio::io_context io_context; // Launch the initial server coroutine. - http::server4::server(io_service, argv[1], argv[2], + http::server4::server(io_context, argv[1], argv[2], http::server4::file_handler(argv[3]))(); // Wait for signals indicating time to shut down. - asio::signal_set signals(io_service); + asio::signal_set signals(io_context); signals.add(SIGINT); signals.add(SIGTERM); #if defined(SIGQUIT) signals.add(SIGQUIT); #endif // defined(SIGQUIT) signals.async_wait(boost::bind( - &asio::io_service::stop, &io_service)); + &asio::io_context::stop, &io_context)); // Run the server. - io_service.run(); + io_context.run(); } catch (std::exception& e) {
diff --git a/asio/src/examples/cpp03/http/server4/server.cpp b/asio/src/examples/cpp03/http/server4/server.cpp index ebb9345..bcb8219 100644 --- a/asio/src/examples/cpp03/http/server4/server.cpp +++ b/asio/src/examples/cpp03/http/server4/server.cpp
@@ -15,15 +15,15 @@ namespace http { namespace server4 { -server::server(asio::io_service& io_service, +server::server(asio::io_context& io_context, const std::string& address, const std::string& port, boost::function<void(const request&, reply&)> request_handler) : request_handler_(request_handler) { - tcp::resolver resolver(io_service); + tcp::resolver resolver(io_context); asio::ip::tcp::endpoint endpoint = *resolver.resolve(address, port).begin(); - acceptor_.reset(new tcp::acceptor(io_service, endpoint)); + acceptor_.reset(new tcp::acceptor(io_context, endpoint)); } // Enable the pseudo-keywords reenter, yield and fork. @@ -50,7 +50,7 @@ // Accept a new connection. The "yield" pseudo-keyword saves the current // line number and exits the coroutine's "reenter" block. We use the // server coroutine as the completion handler for the async_accept - // operation. When the asynchronous operation completes, the io_service + // operation. When the asynchronous operation completes, the io_context // invokes the function call operator, we "reenter" the coroutine, and // then control resumes at the following line. yield acceptor_->async_accept(*socket_, *this);
diff --git a/asio/src/examples/cpp03/http/server4/server.hpp b/asio/src/examples/cpp03/http/server4/server.hpp index 6ddefdb..95aabe8 100644 --- a/asio/src/examples/cpp03/http/server4/server.hpp +++ b/asio/src/examples/cpp03/http/server4/server.hpp
@@ -30,7 +30,7 @@ public: /// Construct the server to listen on the specified TCP address and port, and /// serve up files from the given directory. - explicit server(asio::io_service& io_service, + explicit server(asio::io_context& io_context, const std::string& address, const std::string& port, boost::function<void(const request&, reply&)> request_handler);
diff --git a/asio/src/examples/cpp03/icmp/ping.cpp b/asio/src/examples/cpp03/icmp/ping.cpp index fdee664..e3a1b67 100644 --- a/asio/src/examples/cpp03/icmp/ping.cpp +++ b/asio/src/examples/cpp03/icmp/ping.cpp
@@ -24,9 +24,9 @@ class pinger { public: - pinger(asio::io_service& io_service, const char* destination) - : resolver_(io_service), socket_(io_service, icmp::v4()), - timer_(io_service), sequence_number_(0), num_replies_(0) + pinger(asio::io_context& io_context, const char* destination) + : resolver_(io_context), socket_(io_context, icmp::v4()), + timer_(io_context), sequence_number_(0), num_replies_(0) { destination_ = *resolver_.resolve(icmp::v4(), destination, "").begin(); @@ -150,9 +150,9 @@ return 1; } - asio::io_service io_service; - pinger p(io_service, argv[1]); - io_service.run(); + asio::io_context io_context; + pinger p(io_context, argv[1]); + io_context.run(); } catch (std::exception& e) {
diff --git a/asio/src/examples/cpp03/invocation/prioritised_handlers.cpp b/asio/src/examples/cpp03/invocation/prioritised_handlers.cpp index a93537f..aecc3be 100644 --- a/asio/src/examples/cpp03/invocation/prioritised_handlers.cpp +++ b/asio/src/examples/cpp03/invocation/prioritised_handlers.cpp
@@ -127,32 +127,32 @@ int main() { - asio::io_service io_service; + asio::io_context io_context; handler_priority_queue pri_queue; // Post a completion handler to be run immediately. - asio::post(io_service, pri_queue.wrap(0, low_priority_handler)); + asio::post(io_context, pri_queue.wrap(0, low_priority_handler)); // Start an asynchronous accept that will complete immediately. tcp::endpoint endpoint(asio::ip::address_v4::loopback(), 0); - tcp::acceptor acceptor(io_service, endpoint); - tcp::socket server_socket(io_service); + tcp::acceptor acceptor(io_context, endpoint); + tcp::socket server_socket(io_context); acceptor.async_accept(server_socket, pri_queue.wrap(100, high_priority_handler)); - tcp::socket client_socket(io_service); + tcp::socket client_socket(io_context); client_socket.connect(acceptor.local_endpoint()); // Set a deadline timer to expire immediately. - asio::deadline_timer timer(io_service); + asio::deadline_timer timer(io_context); timer.expires_at(boost::posix_time::neg_infin); timer.async_wait(pri_queue.wrap(42, middle_priority_handler)); - while (io_service.run_one()) + while (io_context.run_one()) { // The custom invocation hook adds the handlers to the priority queue // rather than executing them from within the poll_one() call. - while (io_service.poll_one()) + while (io_context.poll_one()) ; pri_queue.execute_all();
diff --git a/asio/src/examples/cpp03/iostreams/daytime_server.cpp b/asio/src/examples/cpp03/iostreams/daytime_server.cpp index d71d97e..6011f39 100644 --- a/asio/src/examples/cpp03/iostreams/daytime_server.cpp +++ b/asio/src/examples/cpp03/iostreams/daytime_server.cpp
@@ -26,10 +26,10 @@ { try { - asio::io_service io_service; + asio::io_context io_context; tcp::endpoint endpoint(tcp::v4(), 13); - tcp::acceptor acceptor(io_service, endpoint); + tcp::acceptor acceptor(io_context, endpoint); for (;;) {
diff --git a/asio/src/examples/cpp03/local/connect_pair.cpp b/asio/src/examples/cpp03/local/connect_pair.cpp index f3f27a3..09b8e3b 100644 --- a/asio/src/examples/cpp03/local/connect_pair.cpp +++ b/asio/src/examples/cpp03/local/connect_pair.cpp
@@ -22,8 +22,8 @@ class uppercase_filter { public: - uppercase_filter(asio::io_service& io_service) - : socket_(io_service) + uppercase_filter(asio::io_context& io_context) + : socket_(io_context) { } @@ -81,11 +81,11 @@ boost::array<char, 512> data_; }; -void run(asio::io_service* io_service) +void run(asio::io_context* io_context) { try { - io_service->run(); + io_context->run(); } catch (std::exception& e) { @@ -98,16 +98,16 @@ { try { - asio::io_service io_service; + asio::io_context io_context; // Create filter and establish a connection to it. - uppercase_filter filter(io_service); - stream_protocol::socket socket(io_service); + uppercase_filter filter(io_context); + stream_protocol::socket socket(io_context); asio::local::connect_pair(socket, filter.socket()); filter.start(); - // The io_service runs in a background thread to perform filtering. - asio::thread thread(boost::bind(run, &io_service)); + // The io_context runs in a background thread to perform filtering. + asio::thread thread(boost::bind(run, &io_context)); for (;;) {
diff --git a/asio/src/examples/cpp03/local/stream_client.cpp b/asio/src/examples/cpp03/local/stream_client.cpp index a0342b4..689a5f4 100644 --- a/asio/src/examples/cpp03/local/stream_client.cpp +++ b/asio/src/examples/cpp03/local/stream_client.cpp
@@ -29,9 +29,9 @@ return 1; } - asio::io_service io_service; + asio::io_context io_context; - stream_protocol::socket s(io_service); + stream_protocol::socket s(io_context); s.connect(stream_protocol::endpoint(argv[1])); using namespace std; // For strlen.
diff --git a/asio/src/examples/cpp03/local/stream_server.cpp b/asio/src/examples/cpp03/local/stream_server.cpp index 2afe8c3..502bc0b 100644 --- a/asio/src/examples/cpp03/local/stream_server.cpp +++ b/asio/src/examples/cpp03/local/stream_server.cpp
@@ -24,8 +24,8 @@ : public boost::enable_shared_from_this<session> { public: - session(asio::io_service& io_service) - : socket_(io_service) + session(asio::io_context& io_context) + : socket_(io_context) { } @@ -81,11 +81,11 @@ class server { public: - server(asio::io_service& io_service, const std::string& file) - : io_service_(io_service), - acceptor_(io_service, stream_protocol::endpoint(file)) + server(asio::io_context& io_context, const std::string& file) + : io_context_(io_context), + acceptor_(io_context, stream_protocol::endpoint(file)) { - session_ptr new_session(new session(io_service_)); + session_ptr new_session(new session(io_context_)); acceptor_.async_accept(new_session->socket(), boost::bind(&server::handle_accept, this, new_session, asio::placeholders::error)); @@ -99,14 +99,14 @@ new_session->start(); } - new_session.reset(new session(io_service_)); + new_session.reset(new session(io_context_)); acceptor_.async_accept(new_session->socket(), boost::bind(&server::handle_accept, this, new_session, asio::placeholders::error)); } private: - asio::io_service& io_service_; + asio::io_context& io_context_; stream_protocol::acceptor acceptor_; }; @@ -121,12 +121,12 @@ return 1; } - asio::io_service io_service; + asio::io_context io_context; std::remove(argv[1]); - server s(io_service, argv[1]); + server s(io_context, argv[1]); - io_service.run(); + io_context.run(); } catch (std::exception& e) {
diff --git a/asio/src/examples/cpp03/multicast/receiver.cpp b/asio/src/examples/cpp03/multicast/receiver.cpp index d965971..7726878 100644 --- a/asio/src/examples/cpp03/multicast/receiver.cpp +++ b/asio/src/examples/cpp03/multicast/receiver.cpp
@@ -18,10 +18,10 @@ class receiver { public: - receiver(asio::io_service& io_service, + receiver(asio::io_context& io_context, const asio::ip::address& listen_address, const asio::ip::address& multicast_address) - : socket_(io_service) + : socket_(io_context) { // Create the socket so that multiple may be bound to the same address. asio::ip::udp::endpoint listen_endpoint( @@ -78,11 +78,11 @@ return 1; } - asio::io_service io_service; - receiver r(io_service, + asio::io_context io_context; + receiver r(io_context, asio::ip::make_address(argv[1]), asio::ip::make_address(argv[2])); - io_service.run(); + io_context.run(); } catch (std::exception& e) {
diff --git a/asio/src/examples/cpp03/multicast/sender.cpp b/asio/src/examples/cpp03/multicast/sender.cpp index e375ab1..46b0d94 100644 --- a/asio/src/examples/cpp03/multicast/sender.cpp +++ b/asio/src/examples/cpp03/multicast/sender.cpp
@@ -21,11 +21,11 @@ class sender { public: - sender(asio::io_service& io_service, + sender(asio::io_context& io_context, const asio::ip::address& multicast_address) : endpoint_(multicast_address, multicast_port), - socket_(io_service, endpoint_.protocol()), - timer_(io_service), + socket_(io_context, endpoint_.protocol()), + timer_(io_context), message_count_(0) { std::ostringstream os; @@ -86,9 +86,9 @@ return 1; } - asio::io_service io_service; - sender s(io_service, asio::ip::make_address(argv[1])); - io_service.run(); + asio::io_context io_context; + sender s(io_context, asio::ip::make_address(argv[1])); + io_context.run(); } catch (std::exception& e) {
diff --git a/asio/src/examples/cpp03/nonblocking/third_party_lib.cpp b/asio/src/examples/cpp03/nonblocking/third_party_lib.cpp index ecf7577..aba111b 100644 --- a/asio/src/examples/cpp03/nonblocking/third_party_lib.cpp +++ b/asio/src/examples/cpp03/nonblocking/third_party_lib.cpp
@@ -83,9 +83,9 @@ public: typedef boost::shared_ptr<connection> pointer; - static pointer create(asio::io_service& io_service) + static pointer create(asio::io_context& io_context) { - return pointer(new connection(io_service)); + return pointer(new connection(io_context)); } tcp::socket& socket() @@ -102,8 +102,8 @@ } private: - connection(asio::io_service& io_service) - : socket_(io_service), + connection(asio::io_context& io_context) + : socket_(io_context), session_impl_(socket_), read_in_progress_(false), write_in_progress_(false) @@ -183,8 +183,8 @@ class server { public: - server(asio::io_service& io_service, unsigned short port) - : acceptor_(io_service, tcp::endpoint(tcp::v4(), port)) + server(asio::io_context& io_context, unsigned short port) + : acceptor_(io_context, tcp::endpoint(tcp::v4(), port)) { start_accept(); } @@ -224,12 +224,12 @@ return 1; } - asio::io_service io_service; + asio::io_context io_context; using namespace std; // For atoi. - server s(io_service, atoi(argv[1])); + server s(io_context, atoi(argv[1])); - io_service.run(); + io_context.run(); } catch (std::exception& e) {
diff --git a/asio/src/examples/cpp03/porthopper/client.cpp b/asio/src/examples/cpp03/porthopper/client.cpp index a5952de..ab4855c 100644 --- a/asio/src/examples/cpp03/porthopper/client.cpp +++ b/asio/src/examples/cpp03/porthopper/client.cpp
@@ -37,19 +37,19 @@ std::string host_name = argv[1]; std::string port = argv[2]; - asio::io_service io_service; + asio::io_context io_context; // Determine the location of the server. - tcp::resolver resolver(io_service); + tcp::resolver resolver(io_context); tcp::endpoint remote_endpoint = *resolver.resolve(host_name, port).begin(); // Establish the control connection to the server. - tcp::socket control_socket(io_service); + tcp::socket control_socket(io_context); control_socket.connect(remote_endpoint); // Create a datagram socket to receive data from the server. boost::shared_ptr<udp::socket> data_socket( - new udp::socket(io_service, udp::endpoint(udp::v4(), 0))); + new udp::socket(io_context, udp::endpoint(udp::v4(), 0))); // Determine what port we will receive data on. udp::endpoint data_endpoint = data_socket->local_endpoint(); @@ -81,7 +81,7 @@ // Create the new data socket. boost::shared_ptr<udp::socket> new_data_socket( - new udp::socket(io_service, udp::endpoint(udp::v4(), 0))); + new udp::socket(io_context, udp::endpoint(udp::v4(), 0))); // Determine the new port we will use to receive data. udp::endpoint new_data_endpoint = new_data_socket->local_endpoint(); @@ -125,7 +125,7 @@ // Even though we're performing a renegotation, we want to continue // receiving data as smoothly as possible. Therefore we will continue to // try to receive a frame from the server on the old data socket. If we - // receive a frame on this socket we will interrupt the io_service, + // receive a frame on this socket we will interrupt the io_context, // print the frame, and resume waiting for the other operations to // complete. frame f2; @@ -137,19 +137,19 @@ lambda::if_(!lambda::_1) [ // We have successfully received a frame on the old data - // socket. Stop the io_service so that we can print it. - lambda::bind(&asio::io_service::stop, &io_service), + // socket. Stop the io_context so that we can print it. + lambda::bind(&asio::io_context::stop, &io_context), lambda::var(done) = false ] )); } // Run the operations in parallel. This will block until all operations - // have finished, or until the io_service is interrupted. (No threads!) - io_service.restart(); - io_service.run(); + // have finished, or until the io_context is interrupted. (No threads!) + io_context.restart(); + io_context.run(); - // If the io_service.run() was interrupted then we have received a frame + // If the io_context.run() was interrupted then we have received a frame // on the old data socket. We need to keep waiting for the renegotation // operations to complete. if (!done)
diff --git a/asio/src/examples/cpp03/porthopper/server.cpp b/asio/src/examples/cpp03/porthopper/server.cpp index 2e79696..dd70301 100644 --- a/asio/src/examples/cpp03/porthopper/server.cpp +++ b/asio/src/examples/cpp03/porthopper/server.cpp
@@ -29,10 +29,10 @@ { public: // Construct the server to wait for incoming control connections. - server(asio::io_service& io_service, unsigned short port) - : acceptor_(io_service, tcp::endpoint(tcp::v4(), port)), - timer_(io_service), - udp_socket_(io_service, udp::endpoint(udp::v4(), 0)), + server(asio::io_context& io_context, unsigned short port) + : acceptor_(io_context, tcp::endpoint(tcp::v4(), port)), + timer_(io_context), + udp_socket_(io_context, udp::endpoint(udp::v4(), 0)), next_frame_number_(1) { // Start waiting for a new control connection. @@ -173,12 +173,12 @@ return 1; } - asio::io_service io_service; + asio::io_context io_context; using namespace std; // For atoi. - server s(io_service, atoi(argv[1])); + server s(io_context, atoi(argv[1])); - io_service.run(); + io_context.run(); } catch (std::exception& e) {
diff --git a/asio/src/examples/cpp03/serialization/client.cpp b/asio/src/examples/cpp03/serialization/client.cpp index b6c455f..ebbe637 100644 --- a/asio/src/examples/cpp03/serialization/client.cpp +++ b/asio/src/examples/cpp03/serialization/client.cpp
@@ -23,12 +23,12 @@ { public: /// Constructor starts the asynchronous connect operation. - client(asio::io_service& io_service, + client(asio::io_context& io_context, const std::string& host, const std::string& service) - : connection_(io_service) + : connection_(io_context) { // Resolve the host name into an IP address. - asio::ip::tcp::resolver resolver(io_service); + asio::ip::tcp::resolver resolver(io_context); asio::ip::tcp::resolver::query query(host, service); asio::ip::tcp::resolver::iterator endpoint_iterator = resolver.resolve(query); @@ -54,7 +54,7 @@ else { // An error occurred. Log it and return. Since we are not starting a new - // operation the io_service will run out of work to do and the client will + // operation the io_context will run out of work to do and the client will // exit. std::cerr << e.message() << std::endl; } @@ -87,7 +87,7 @@ std::cerr << e.message() << std::endl; } - // Since we are not starting a new operation the io_service will run out of + // Since we are not starting a new operation the io_context will run out of // work to do and the client will exit. } @@ -112,9 +112,9 @@ return 1; } - asio::io_service io_service; - s11n_example::client client(io_service, argv[1], argv[2]); - io_service.run(); + asio::io_context io_context; + s11n_example::client client(io_context, argv[1], argv[2]); + io_context.run(); } catch (std::exception& e) {
diff --git a/asio/src/examples/cpp03/serialization/connection.hpp b/asio/src/examples/cpp03/serialization/connection.hpp index 1f14073..d44aeac 100644 --- a/asio/src/examples/cpp03/serialization/connection.hpp +++ b/asio/src/examples/cpp03/serialization/connection.hpp
@@ -35,8 +35,8 @@ { public: /// Constructor. - connection(asio::io_service& io_service) - : socket_(io_service) + connection(asio::io_context& io_context) + : socket_(io_context) { } @@ -65,7 +65,7 @@ { // Something went wrong, inform the caller. asio::error_code error(asio::error::invalid_argument); - socket_.get_io_service().post(boost::bind(handler, error)); + socket_.get_io_context().post(boost::bind(handler, error)); return; } outbound_header_ = header_stream.str();
diff --git a/asio/src/examples/cpp03/serialization/server.cpp b/asio/src/examples/cpp03/serialization/server.cpp index e637460..c8d2000 100644 --- a/asio/src/examples/cpp03/serialization/server.cpp +++ b/asio/src/examples/cpp03/serialization/server.cpp
@@ -25,8 +25,8 @@ public: /// Constructor opens the acceptor and starts waiting for the first incoming /// connection. - server(asio::io_service& io_service, unsigned short port) - : acceptor_(io_service, + server(asio::io_context& io_context, unsigned short port) + : acceptor_(io_context, asio::ip::tcp::endpoint(asio::ip::tcp::v4(), port)) { // Create the data to be sent to each client. @@ -55,7 +55,7 @@ stocks_.push_back(s); // Start an accept operation for a new connection. - connection_ptr new_conn(new connection(acceptor_.get_io_service())); + connection_ptr new_conn(new connection(acceptor_.get_io_context())); acceptor_.async_accept(new_conn->socket(), boost::bind(&server::handle_accept, this, asio::placeholders::error, new_conn)); @@ -75,7 +75,7 @@ } // Start an accept operation for a new connection. - connection_ptr new_conn(new connection(acceptor_.get_io_service())); + connection_ptr new_conn(new connection(acceptor_.get_io_context())); acceptor_.async_accept(new_conn->socket(), boost::bind(&server::handle_accept, this, asio::placeholders::error, new_conn)); @@ -110,9 +110,9 @@ } unsigned short port = boost::lexical_cast<unsigned short>(argv[1]); - asio::io_service io_service; - s11n_example::server server(io_service, port); - io_service.run(); + asio::io_context io_context; + s11n_example::server server(io_context, port); + io_context.run(); } catch (std::exception& e) {
diff --git a/asio/src/examples/cpp03/services/basic_logger.hpp b/asio/src/examples/cpp03/services/basic_logger.hpp index 9035dfe..48711c2 100644 --- a/asio/src/examples/cpp03/services/basic_logger.hpp +++ b/asio/src/examples/cpp03/services/basic_logger.hpp
@@ -34,13 +34,13 @@ /** * This constructor creates a logger. * - * @param io_service The io_service object used to locate the logger service. + * @param io_context The io_context object used to locate the logger service. * * @param identifier An identifier for this logger. */ - explicit basic_logger(asio::io_service& io_service, + explicit basic_logger(asio::io_context& io_context, const std::string& identifier) - : service_(asio::use_service<Service>(io_service)), + : service_(asio::use_service<Service>(io_context)), impl_(service_.null()) { service_.create(impl_, identifier); @@ -52,10 +52,10 @@ service_.destroy(impl_); } - /// Get the io_service associated with the object. - asio::io_service& get_io_service() + /// Get the io_context associated with the object. + asio::io_context& get_io_context() { - return service_.get_io_service(); + return service_.get_io_context(); } /// Set the output file for all logger instances.
diff --git a/asio/src/examples/cpp03/services/daytime_client.cpp b/asio/src/examples/cpp03/services/daytime_client.cpp index 0d5c249..8817142 100644 --- a/asio/src/examples/cpp03/services/daytime_client.cpp +++ b/asio/src/examples/cpp03/services/daytime_client.cpp
@@ -56,25 +56,25 @@ return 1; } - asio::io_service io_service; + asio::io_context io_context; // Set the name of the file that all logger instances will use. - services::logger logger(io_service, ""); + services::logger logger(io_context, ""); logger.use_file("log.txt"); // Resolve the address corresponding to the given host. - asio::ip::tcp::resolver resolver(io_service); + asio::ip::tcp::resolver resolver(io_context); asio::ip::tcp::resolver::results_type endpoints = resolver.resolve(argv[1], "daytime"); // Start an asynchronous connect. - debug_stream_socket socket(io_service); + debug_stream_socket socket(io_context); asio::async_connect(socket, endpoints, boost::bind(connect_handler, asio::placeholders::error, &socket)); - // Run the io_service until all operations have finished. - io_service.run(); + // Run the io_context until all operations have finished. + io_context.run(); } catch (std::exception& e) {
diff --git a/asio/src/examples/cpp03/services/logger_service.cpp b/asio/src/examples/cpp03/services/logger_service.cpp index 7138e71..fee4757 100644 --- a/asio/src/examples/cpp03/services/logger_service.cpp +++ b/asio/src/examples/cpp03/services/logger_service.cpp
@@ -12,6 +12,6 @@ namespace services { -asio::io_service::id logger_service::id; +asio::io_context::id logger_service::id; } // namespace services
diff --git a/asio/src/examples/cpp03/services/logger_service.hpp b/asio/src/examples/cpp03/services/logger_service.hpp index 1c04889..8bee8ab 100644 --- a/asio/src/examples/cpp03/services/logger_service.hpp +++ b/asio/src/examples/cpp03/services/logger_service.hpp
@@ -24,11 +24,11 @@ /// Service implementation for the logger. class logger_service - : public asio::io_service::service + : public asio::io_context::service { public: /// The unique service identifier. - static asio::io_service::id id; + static asio::io_context::id id; /// The backend implementation of a logger. struct logger_impl @@ -40,21 +40,21 @@ /// The type for an implementation of the logger. typedef logger_impl* impl_type; - /// Constructor creates a thread to run a private io_service. - logger_service(asio::io_service& io_service) - : asio::io_service::service(io_service), - work_io_service_(), - work_(new asio::io_service::work(work_io_service_)), + /// Constructor creates a thread to run a private io_context. + logger_service(asio::io_context& io_context) + : asio::io_context::service(io_context), + work_io_context_(), + work_(new asio::io_context::work(work_io_context_)), work_thread_(new asio::thread( - boost::bind(&asio::io_service::run, &work_io_service_))) + boost::bind(&asio::io_context::run, &work_io_context_))) { } - /// Destructor shuts down the private io_service. + /// Destructor shuts down the private io_context. ~logger_service() { - /// Indicate that we have finished with the private io_service. Its - /// io_service::run() function will exit once all other work has completed. + /// Indicate that we have finished with the private io_context. Its + /// io_context::run() function will exit once all other work has completed. work_.reset(); if (work_thread_) work_thread_->join(); @@ -91,7 +91,7 @@ void use_file(impl_type& /*impl*/, const std::string& file) { // Pass the work of opening the file to the background thread. - asio::post(work_io_service_, boost::bind( + asio::post(work_io_context_, boost::bind( &logger_service::use_file_impl, this, file)); } @@ -103,13 +103,13 @@ os << impl->identifier << ": " << message; // Pass the work of opening the file to the background thread. - asio::post(work_io_service_, boost::bind( + asio::post(work_io_context_, boost::bind( &logger_service::log_impl, this, os.str())); } private: /// Helper function used to open the output file from within the private - /// io_service's thread. + /// io_context's thread. void use_file_impl(const std::string& file) { ofstream_.close(); @@ -117,22 +117,22 @@ ofstream_.open(file.c_str()); } - /// Helper function used to log a message from within the private io_service's + /// Helper function used to log a message from within the private io_context's /// thread. void log_impl(const std::string& text) { ofstream_ << text << std::endl; } - /// Private io_service used for performing logging operations. - asio::io_service work_io_service_; + /// Private io_context used for performing logging operations. + asio::io_context work_io_context_; - /// Work for the private io_service to perform. If we do not give the - /// io_service some work to do then the io_service::run() function will exit + /// Work for the private io_context to perform. If we do not give the + /// io_context some work to do then the io_context::run() function will exit /// immediately. - boost::scoped_ptr<asio::io_service::work> work_; + boost::scoped_ptr<asio::io_context::work> work_; - /// Thread used for running the work io_service's run loop. + /// Thread used for running the work io_context's run loop. boost::scoped_ptr<asio::thread> work_thread_; /// The file to which log messages will be written.
diff --git a/asio/src/examples/cpp03/services/stream_socket_service.hpp b/asio/src/examples/cpp03/services/stream_socket_service.hpp index f99cc23..0e904be 100644 --- a/asio/src/examples/cpp03/services/stream_socket_service.hpp +++ b/asio/src/examples/cpp03/services/stream_socket_service.hpp
@@ -21,7 +21,7 @@ /// Debugging stream socket service that wraps the normal stream socket service. template <typename Protocol> class stream_socket_service - : public asio::io_service::service + : public asio::io_context::service { private: /// The type of the wrapped stream socket service. @@ -29,7 +29,7 @@ public: /// The unique service identifier. - static asio::io_service::id id; + static asio::io_context::id id; /// The protocol type. typedef Protocol protocol_type; @@ -43,11 +43,11 @@ /// The native type of a stream socket. typedef typename service_impl_type::native_handle_type native_handle_type; - /// Construct a new stream socket service for the specified io_service. - explicit stream_socket_service(asio::io_service& io_service) - : asio::io_service::service(io_service), - service_impl_(asio::use_service<service_impl_type>(io_service)), - logger_(io_service, "stream_socket") + /// Construct a new stream socket service for the specified io_context. + explicit stream_socket_service(asio::io_context& io_context) + : asio::io_context::service(io_context), + service_impl_(asio::use_service<service_impl_type>(io_context)), + logger_(io_context, "stream_socket") { } @@ -344,7 +344,7 @@ }; template <typename Protocol> -asio::io_service::id stream_socket_service<Protocol>::id; +asio::io_context::id stream_socket_service<Protocol>::id; } // namespace services
diff --git a/asio/src/examples/cpp03/socks4/sync_client.cpp b/asio/src/examples/cpp03/socks4/sync_client.cpp index 86dd3ab..858263c 100644 --- a/asio/src/examples/cpp03/socks4/sync_client.cpp +++ b/asio/src/examples/cpp03/socks4/sync_client.cpp
@@ -31,15 +31,15 @@ return 1; } - asio::io_service io_service; + asio::io_context io_context; // Get a list of endpoints corresponding to the SOCKS 4 server name. - tcp::resolver resolver(io_service); + tcp::resolver resolver(io_context); tcp::resolver::results_type endpoints = resolver.resolve(argv[1], argv[2]); // Try each endpoint until we successfully establish a connection to the // SOCKS 4 server. - tcp::socket socket(io_service); + tcp::socket socket(io_context); asio::connect(socket, endpoints); // Get an endpoint for the Boost website. This will be passed to the SOCKS
diff --git a/asio/src/examples/cpp03/spawn/echo_server.cpp b/asio/src/examples/cpp03/spawn/echo_server.cpp index 6c7dd63..3905c15 100644 --- a/asio/src/examples/cpp03/spawn/echo_server.cpp +++ b/asio/src/examples/cpp03/spawn/echo_server.cpp
@@ -9,7 +9,7 @@ // #include <asio/deadline_timer.hpp> -#include <asio/io_service.hpp> +#include <asio/io_context.hpp> #include <asio/ip/tcp.hpp> #include <asio/spawn.hpp> #include <asio/write.hpp> @@ -23,10 +23,10 @@ class session : public boost::enable_shared_from_this<session> { public: - explicit session(asio::io_service& io_service) - : strand_(io_service), - socket_(io_service), - timer_(io_service) + explicit session(asio::io_context& io_context) + : strand_(io_context), + socket_(io_context), + timer_(io_context) { } @@ -76,20 +76,20 @@ } } - asio::io_service::strand strand_; + asio::io_context::strand strand_; tcp::socket socket_; asio::deadline_timer timer_; }; -void do_accept(asio::io_service& io_service, +void do_accept(asio::io_context& io_context, unsigned short port, asio::yield_context yield) { - tcp::acceptor acceptor(io_service, tcp::endpoint(tcp::v4(), port)); + tcp::acceptor acceptor(io_context, tcp::endpoint(tcp::v4(), port)); for (;;) { asio::error_code ec; - boost::shared_ptr<session> new_session(new session(io_service)); + boost::shared_ptr<session> new_session(new session(io_context)); acceptor.async_accept(new_session->socket(), yield[ec]); if (!ec) new_session->go(); } @@ -105,13 +105,13 @@ return 1; } - asio::io_service io_service; + asio::io_context io_context; - asio::spawn(io_service, + asio::spawn(io_context, boost::bind(do_accept, - boost::ref(io_service), atoi(argv[1]), _1)); + boost::ref(io_context), atoi(argv[1]), _1)); - io_service.run(); + io_context.run(); } catch (std::exception& e) {
diff --git a/asio/src/examples/cpp03/ssl/client.cpp b/asio/src/examples/cpp03/ssl/client.cpp index 037ee0d..591c9a4 100644 --- a/asio/src/examples/cpp03/ssl/client.cpp +++ b/asio/src/examples/cpp03/ssl/client.cpp
@@ -19,10 +19,10 @@ class client { public: - client(asio::io_service& io_service, + client(asio::io_context& io_context, asio::ssl::context& context, asio::ip::tcp::resolver::results_type endpoints) - : socket_(io_service, context) + : socket_(io_context, context) { socket_.set_verify_mode(asio::ssl::verify_peer); socket_.set_verify_callback( @@ -134,18 +134,18 @@ return 1; } - asio::io_service io_service; + asio::io_context io_context; - asio::ip::tcp::resolver resolver(io_service); + asio::ip::tcp::resolver resolver(io_context); asio::ip::tcp::resolver::results_type endpoints = resolver.resolve(argv[1], argv[2]); asio::ssl::context ctx(asio::ssl::context::sslv23); ctx.load_verify_file("ca.pem"); - client c(io_service, ctx, endpoints); + client c(io_context, ctx, endpoints); - io_service.run(); + io_context.run(); } catch (std::exception& e) {
diff --git a/asio/src/examples/cpp03/ssl/server.cpp b/asio/src/examples/cpp03/ssl/server.cpp index e67914e..96ec4ad 100644 --- a/asio/src/examples/cpp03/ssl/server.cpp +++ b/asio/src/examples/cpp03/ssl/server.cpp
@@ -19,9 +19,9 @@ class session { public: - session(asio::io_service& io_service, + session(asio::io_context& io_context, asio::ssl::context& context) - : socket_(io_service, context) + : socket_(io_context, context) { } @@ -92,9 +92,9 @@ class server { public: - server(asio::io_service& io_service, unsigned short port) - : io_service_(io_service), - acceptor_(io_service, + server(asio::io_context& io_context, unsigned short port) + : io_context_(io_context), + acceptor_(io_context, asio::ip::tcp::endpoint(asio::ip::tcp::v4(), port)), context_(asio::ssl::context::sslv23) { @@ -117,7 +117,7 @@ void start_accept() { - session* new_session = new session(io_service_, context_); + session* new_session = new session(io_context_, context_); acceptor_.async_accept(new_session->socket(), boost::bind(&server::handle_accept, this, new_session, asio::placeholders::error)); @@ -139,7 +139,7 @@ } private: - asio::io_service& io_service_; + asio::io_context& io_context_; asio::ip::tcp::acceptor acceptor_; asio::ssl::context context_; }; @@ -154,12 +154,12 @@ return 1; } - asio::io_service io_service; + asio::io_context io_context; using namespace std; // For atoi. - server s(io_service, atoi(argv[1])); + server s(io_context, atoi(argv[1])); - io_service.run(); + io_context.run(); } catch (std::exception& e) {
diff --git a/asio/src/examples/cpp03/timeouts/async_tcp_client.cpp b/asio/src/examples/cpp03/timeouts/async_tcp_client.cpp index 668d3e0..74dd239 100644 --- a/asio/src/examples/cpp03/timeouts/async_tcp_client.cpp +++ b/asio/src/examples/cpp03/timeouts/async_tcp_client.cpp
@@ -9,7 +9,7 @@ // #include "asio/deadline_timer.hpp" -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #include "asio/ip/tcp.hpp" #include "asio/read_until.hpp" #include "asio/streambuf.hpp" @@ -83,11 +83,11 @@ class client { public: - client(asio::io_service& io_service) + client(asio::io_context& io_context) : stopped_(false), - socket_(io_service), - deadline_(io_service), - heartbeat_timer_(io_service) + socket_(io_context), + deadline_(io_context), + heartbeat_timer_(io_context) { } @@ -291,13 +291,13 @@ return 1; } - asio::io_service io_service; - tcp::resolver r(io_service); - client c(io_service); + asio::io_context io_context; + tcp::resolver r(io_context); + client c(io_context); c.start(r.resolve(argv[1], argv[2])); - io_service.run(); + io_context.run(); } catch (std::exception& e) {
diff --git a/asio/src/examples/cpp03/timeouts/blocking_tcp_client.cpp b/asio/src/examples/cpp03/timeouts/blocking_tcp_client.cpp index 005a33f..afd967e 100644 --- a/asio/src/examples/cpp03/timeouts/blocking_tcp_client.cpp +++ b/asio/src/examples/cpp03/timeouts/blocking_tcp_client.cpp
@@ -10,7 +10,7 @@ #include "asio/connect.hpp" #include "asio/deadline_timer.hpp" -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #include "asio/ip/tcp.hpp" #include "asio/read_until.hpp" #include "asio/streambuf.hpp" @@ -49,14 +49,14 @@ // and any outstanding operations are consequently cancelled. The socket // operations themselves use boost::lambda function objects as completion // handlers. For a given socket operation, the client object runs the -// io_service to block thread execution until the actor completes. +// io_context to block thread execution until the actor completes. // class client { public: client() - : socket_(io_service_), - deadline_(io_service_) + : socket_(io_context_), + deadline_(io_context_) { // No deadline is required until the first socket operation is started. We // set the deadline to positive infinity so that the actor takes no action @@ -72,7 +72,7 @@ { // Resolve the host name and service to a list of endpoints. tcp::resolver::results_type endpoints = - tcp::resolver(io_service_).resolve(host, service); + tcp::resolver(io_context_).resolve(host, service); // Set a deadline for the asynchronous operation. As a host name may // resolve to multiple endpoints, this function uses the composed operation @@ -94,7 +94,7 @@ asio::async_connect(socket_, endpoints, var(ec) = _1); // Block until the asynchronous operation has completed. - do io_service_.run_one(); while (ec == asio::error::would_block); + do io_context_.run_one(); while (ec == asio::error::would_block); // Determine whether a connection was successfully established. The // deadline actor may have had a chance to run and close our socket, even @@ -127,7 +127,7 @@ asio::async_read_until(socket_, input_buffer_, '\n', var(ec) = _1); // Block until the asynchronous operation has completed. - do io_service_.run_one(); while (ec == asio::error::would_block); + do io_context_.run_one(); while (ec == asio::error::would_block); if (ec) throw asio::system_error(ec); @@ -162,7 +162,7 @@ asio::async_write(socket_, asio::buffer(data), var(ec) = _1); // Block until the asynchronous operation has completed. - do io_service_.run_one(); while (ec == asio::error::would_block); + do io_context_.run_one(); while (ec == asio::error::would_block); if (ec) throw asio::system_error(ec); @@ -191,7 +191,7 @@ deadline_.async_wait(bind(&client::check_deadline, this)); } - asio::io_service io_service_; + asio::io_context io_context_; tcp::socket socket_; deadline_timer deadline_; asio::streambuf input_buffer_;
diff --git a/asio/src/examples/cpp03/timeouts/blocking_udp_client.cpp b/asio/src/examples/cpp03/timeouts/blocking_udp_client.cpp index 325b503..e3ecd8d 100644 --- a/asio/src/examples/cpp03/timeouts/blocking_udp_client.cpp +++ b/asio/src/examples/cpp03/timeouts/blocking_udp_client.cpp
@@ -9,7 +9,7 @@ // #include "asio/deadline_timer.hpp" -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #include "asio/ip/udp.hpp" #include <cstdlib> #include <boost/bind.hpp> @@ -51,15 +51,15 @@ // | | // +----------------+ // -// The client object runs the io_service to block thread execution until the +// The client object runs the io_context to block thread execution until the // actor completes. // class client { public: client(const udp::endpoint& listen_endpoint) - : socket_(io_service_, listen_endpoint), - deadline_(io_service_) + : socket_(io_context_, listen_endpoint), + deadline_(io_context_) { // No deadline is required until the first socket operation is started. We // set the deadline to positive infinity so that the actor takes no action @@ -90,7 +90,7 @@ boost::bind(&client::handle_receive, _1, _2, &ec, &length)); // Block until the asynchronous operation has completed. - do io_service_.run_one(); while (ec == asio::error::would_block); + do io_context_.run_one(); while (ec == asio::error::would_block); return length; } @@ -129,7 +129,7 @@ } private: - asio::io_service io_service_; + asio::io_context io_context_; udp::socket socket_; deadline_timer deadline_; };
diff --git a/asio/src/examples/cpp03/timeouts/server.cpp b/asio/src/examples/cpp03/timeouts/server.cpp index 486aecd..8c1ee09 100644 --- a/asio/src/examples/cpp03/timeouts/server.cpp +++ b/asio/src/examples/cpp03/timeouts/server.cpp
@@ -17,7 +17,7 @@ #include <boost/shared_ptr.hpp> #include <boost/enable_shared_from_this.hpp> #include "asio/deadline_timer.hpp" -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #include "asio/ip/tcp.hpp" #include "asio/ip/udp.hpp" #include "asio/read_until.hpp" @@ -133,12 +133,12 @@ public boost::enable_shared_from_this<tcp_session> { public: - tcp_session(asio::io_service& io_service, channel& ch) + tcp_session(asio::io_context& io_context, channel& ch) : channel_(ch), - socket_(io_service), - input_deadline_(io_service), - non_empty_output_queue_(io_service), - output_deadline_(io_service) + socket_(io_context), + input_deadline_(io_context), + non_empty_output_queue_(io_context), + output_deadline_(io_context) { input_deadline_.expires_at(boost::posix_time::pos_infin); output_deadline_.expires_at(boost::posix_time::pos_infin); @@ -334,9 +334,9 @@ : public subscriber { public: - udp_broadcaster(asio::io_service& io_service, + udp_broadcaster(asio::io_context& io_context, const udp::endpoint& broadcast_endpoint) - : socket_(io_service) + : socket_(io_context) { socket_.connect(broadcast_endpoint); } @@ -356,13 +356,13 @@ class server { public: - server(asio::io_service& io_service, + server(asio::io_context& io_context, const tcp::endpoint& listen_endpoint, const udp::endpoint& broadcast_endpoint) - : io_service_(io_service), - acceptor_(io_service, listen_endpoint) + : io_context_(io_context), + acceptor_(io_context, listen_endpoint) { - subscriber_ptr bc(new udp_broadcaster(io_service_, broadcast_endpoint)); + subscriber_ptr bc(new udp_broadcaster(io_context_, broadcast_endpoint)); channel_.join(bc); start_accept(); @@ -370,7 +370,7 @@ void start_accept() { - tcp_session_ptr new_session(new tcp_session(io_service_, channel_)); + tcp_session_ptr new_session(new tcp_session(io_context_, channel_)); acceptor_.async_accept(new_session->socket(), boost::bind(&server::handle_accept, this, new_session, _1)); @@ -388,7 +388,7 @@ } private: - asio::io_service& io_service_; + asio::io_context& io_context_; tcp::acceptor acceptor_; channel channel_; }; @@ -407,16 +407,16 @@ return 1; } - asio::io_service io_service; + asio::io_context io_context; tcp::endpoint listen_endpoint(tcp::v4(), atoi(argv[1])); udp::endpoint broadcast_endpoint( asio::ip::make_address(argv[2]), atoi(argv[3])); - server s(io_service, listen_endpoint, broadcast_endpoint); + server s(io_context, listen_endpoint, broadcast_endpoint); - io_service.run(); + io_context.run(); } catch (std::exception& e) {
diff --git a/asio/src/examples/cpp03/timers/tick_count_timer.cpp b/asio/src/examples/cpp03/timers/tick_count_timer.cpp index 816cfab..16767e5 100644 --- a/asio/src/examples/cpp03/timers/tick_count_timer.cpp +++ b/asio/src/examples/cpp03/timers/tick_count_timer.cpp
@@ -101,9 +101,9 @@ { try { - asio::io_service io_service; + asio::io_context io_context; - tick_count_timer timer(io_service, 5000); + tick_count_timer timer(io_context, 5000); std::cout << "Starting synchronous wait\n"; timer.wait(); std::cout << "Finished synchronous wait\n"; @@ -111,7 +111,7 @@ timer.expires_from_now(5000); std::cout << "Starting asynchronous wait\n"; timer.async_wait(&handle_timeout); - io_service.run(); + io_context.run(); std::cout << "Finished asynchronous wait\n"; } catch (std::exception& e)
diff --git a/asio/src/examples/cpp03/timers/time_t_timer.cpp b/asio/src/examples/cpp03/timers/time_t_timer.cpp index f188a2b..345b485 100644 --- a/asio/src/examples/cpp03/timers/time_t_timer.cpp +++ b/asio/src/examples/cpp03/timers/time_t_timer.cpp
@@ -69,9 +69,9 @@ { try { - asio::io_service io_service; + asio::io_context io_context; - time_t_timer timer(io_service); + time_t_timer timer(io_context); timer.expires_from_now(5); std::cout << "Starting synchronous wait\n"; @@ -81,7 +81,7 @@ timer.expires_from_now(5); std::cout << "Starting asynchronous wait\n"; timer.async_wait(&handle_timeout); - io_service.run(); + io_context.run(); std::cout << "Finished asynchronous wait\n"; } catch (std::exception& e)
diff --git a/asio/src/examples/cpp03/tutorial/daytime1/client.cpp b/asio/src/examples/cpp03/tutorial/daytime1/client.cpp index 4ab212c..838cf4c 100644 --- a/asio/src/examples/cpp03/tutorial/daytime1/client.cpp +++ b/asio/src/examples/cpp03/tutorial/daytime1/client.cpp
@@ -24,13 +24,13 @@ return 1; } - asio::io_service io_service; + asio::io_context io_context; - tcp::resolver resolver(io_service); + tcp::resolver resolver(io_context); tcp::resolver::results_type endpoints = resolver.resolve(argv[1], "daytime"); - tcp::socket socket(io_service); + tcp::socket socket(io_context); asio::connect(socket, endpoints); for (;;)
diff --git a/asio/src/examples/cpp03/tutorial/daytime2/server.cpp b/asio/src/examples/cpp03/tutorial/daytime2/server.cpp index 00d8749..fb2fa96 100644 --- a/asio/src/examples/cpp03/tutorial/daytime2/server.cpp +++ b/asio/src/examples/cpp03/tutorial/daytime2/server.cpp
@@ -26,13 +26,13 @@ { try { - asio::io_service io_service; + asio::io_context io_context; - tcp::acceptor acceptor(io_service, tcp::endpoint(tcp::v4(), 13)); + tcp::acceptor acceptor(io_context, tcp::endpoint(tcp::v4(), 13)); for (;;) { - tcp::socket socket(io_service); + tcp::socket socket(io_context); acceptor.accept(socket); std::string message = make_daytime_string();
diff --git a/asio/src/examples/cpp03/tutorial/daytime3/server.cpp b/asio/src/examples/cpp03/tutorial/daytime3/server.cpp index 86cbfdc..7763832 100644 --- a/asio/src/examples/cpp03/tutorial/daytime3/server.cpp +++ b/asio/src/examples/cpp03/tutorial/daytime3/server.cpp
@@ -31,9 +31,9 @@ public: typedef boost::shared_ptr<tcp_connection> pointer; - static pointer create(asio::io_service& io_service) + static pointer create(asio::io_context& io_context) { - return pointer(new tcp_connection(io_service)); + return pointer(new tcp_connection(io_context)); } tcp::socket& socket() @@ -52,8 +52,8 @@ } private: - tcp_connection(asio::io_service& io_service) - : socket_(io_service) + tcp_connection(asio::io_context& io_context) + : socket_(io_context) { } @@ -69,8 +69,8 @@ class tcp_server { public: - tcp_server(asio::io_service& io_service) - : acceptor_(io_service, tcp::endpoint(tcp::v4(), 13)) + tcp_server(asio::io_context& io_context) + : acceptor_(io_context, tcp::endpoint(tcp::v4(), 13)) { start_accept(); } @@ -104,9 +104,9 @@ { try { - asio::io_service io_service; - tcp_server server(io_service); - io_service.run(); + asio::io_context io_context; + tcp_server server(io_context); + io_context.run(); } catch (std::exception& e) {
diff --git a/asio/src/examples/cpp03/tutorial/daytime4/client.cpp b/asio/src/examples/cpp03/tutorial/daytime4/client.cpp index a906382..7477723 100644 --- a/asio/src/examples/cpp03/tutorial/daytime4/client.cpp +++ b/asio/src/examples/cpp03/tutorial/daytime4/client.cpp
@@ -24,13 +24,13 @@ return 1; } - asio::io_service io_service; + asio::io_context io_context; - udp::resolver resolver(io_service); + udp::resolver resolver(io_context); udp::endpoint receiver_endpoint = *resolver.resolve(udp::v4(), argv[1], "daytime").begin(); - udp::socket socket(io_service); + udp::socket socket(io_context); socket.open(udp::v4()); boost::array<char, 1> send_buf = {{ 0 }};
diff --git a/asio/src/examples/cpp03/tutorial/daytime5/server.cpp b/asio/src/examples/cpp03/tutorial/daytime5/server.cpp index 5de4b26..e4d95f2 100644 --- a/asio/src/examples/cpp03/tutorial/daytime5/server.cpp +++ b/asio/src/examples/cpp03/tutorial/daytime5/server.cpp
@@ -27,9 +27,9 @@ { try { - asio::io_service io_service; + asio::io_context io_context; - udp::socket socket(io_service, udp::endpoint(udp::v4(), 13)); + udp::socket socket(io_context, udp::endpoint(udp::v4(), 13)); for (;;) {
diff --git a/asio/src/examples/cpp03/tutorial/daytime6/server.cpp b/asio/src/examples/cpp03/tutorial/daytime6/server.cpp index 797dffe..932968b 100644 --- a/asio/src/examples/cpp03/tutorial/daytime6/server.cpp +++ b/asio/src/examples/cpp03/tutorial/daytime6/server.cpp
@@ -28,8 +28,8 @@ class udp_server { public: - udp_server(asio::io_service& io_service) - : socket_(io_service, udp::endpoint(udp::v4(), 13)) + udp_server(asio::io_context& io_context) + : socket_(io_context, udp::endpoint(udp::v4(), 13)) { start_receive(); } @@ -76,9 +76,9 @@ { try { - asio::io_service io_service; - udp_server server(io_service); - io_service.run(); + asio::io_context io_context; + udp_server server(io_context); + io_context.run(); } catch (std::exception& e) {
diff --git a/asio/src/examples/cpp03/tutorial/daytime7/server.cpp b/asio/src/examples/cpp03/tutorial/daytime7/server.cpp index 2aa769c..36c74d5 100644 --- a/asio/src/examples/cpp03/tutorial/daytime7/server.cpp +++ b/asio/src/examples/cpp03/tutorial/daytime7/server.cpp
@@ -33,9 +33,9 @@ public: typedef boost::shared_ptr<tcp_connection> pointer; - static pointer create(asio::io_service& io_service) + static pointer create(asio::io_context& io_context) { - return pointer(new tcp_connection(io_service)); + return pointer(new tcp_connection(io_context)); } tcp::socket& socket() @@ -52,8 +52,8 @@ } private: - tcp_connection(asio::io_service& io_service) - : socket_(io_service) + tcp_connection(asio::io_context& io_context) + : socket_(io_context) { } @@ -68,8 +68,8 @@ class tcp_server { public: - tcp_server(asio::io_service& io_service) - : acceptor_(io_service, tcp::endpoint(tcp::v4(), 13)) + tcp_server(asio::io_context& io_context) + : acceptor_(io_context, tcp::endpoint(tcp::v4(), 13)) { start_accept(); } @@ -102,8 +102,8 @@ class udp_server { public: - udp_server(asio::io_service& io_service) - : socket_(io_service, udp::endpoint(udp::v4(), 13)) + udp_server(asio::io_context& io_context) + : socket_(io_context, udp::endpoint(udp::v4(), 13)) { start_receive(); } @@ -144,10 +144,10 @@ { try { - asio::io_service io_service; - tcp_server server1(io_service); - udp_server server2(io_service); - io_service.run(); + asio::io_context io_context; + tcp_server server1(io_context); + udp_server server2(io_context); + io_context.run(); } catch (std::exception& e) {
diff --git a/asio/src/examples/cpp03/tutorial/timer1/timer.cpp b/asio/src/examples/cpp03/tutorial/timer1/timer.cpp index d72ac27..1f6156f 100644 --- a/asio/src/examples/cpp03/tutorial/timer1/timer.cpp +++ b/asio/src/examples/cpp03/tutorial/timer1/timer.cpp
@@ -14,7 +14,7 @@ int main() { - asio::io_service io; + asio::io_context io; asio::deadline_timer t(io, boost::posix_time::seconds(5)); t.wait();
diff --git a/asio/src/examples/cpp03/tutorial/timer2/timer.cpp b/asio/src/examples/cpp03/tutorial/timer2/timer.cpp index a2f3d9d..3f84a68 100644 --- a/asio/src/examples/cpp03/tutorial/timer2/timer.cpp +++ b/asio/src/examples/cpp03/tutorial/timer2/timer.cpp
@@ -19,7 +19,7 @@ int main() { - asio::io_service io; + asio::io_context io; asio::deadline_timer t(io, boost::posix_time::seconds(5)); t.async_wait(&print);
diff --git a/asio/src/examples/cpp03/tutorial/timer3/timer.cpp b/asio/src/examples/cpp03/tutorial/timer3/timer.cpp index 314cdf5..07bff18 100644 --- a/asio/src/examples/cpp03/tutorial/timer3/timer.cpp +++ b/asio/src/examples/cpp03/tutorial/timer3/timer.cpp
@@ -29,7 +29,7 @@ int main() { - asio::io_service io; + asio::io_context io; int count = 0; asio::deadline_timer t(io, boost::posix_time::seconds(1));
diff --git a/asio/src/examples/cpp03/tutorial/timer4/timer.cpp b/asio/src/examples/cpp03/tutorial/timer4/timer.cpp index 60797d7..beedbf1 100644 --- a/asio/src/examples/cpp03/tutorial/timer4/timer.cpp +++ b/asio/src/examples/cpp03/tutorial/timer4/timer.cpp
@@ -16,7 +16,7 @@ class printer { public: - printer(asio::io_service& io) + printer(asio::io_context& io) : timer_(io, boost::posix_time::seconds(1)), count_(0) { @@ -47,7 +47,7 @@ int main() { - asio::io_service io; + asio::io_context io; printer p(io); io.run();
diff --git a/asio/src/examples/cpp03/tutorial/timer5/timer.cpp b/asio/src/examples/cpp03/tutorial/timer5/timer.cpp index 5906748..4c763dc 100644 --- a/asio/src/examples/cpp03/tutorial/timer5/timer.cpp +++ b/asio/src/examples/cpp03/tutorial/timer5/timer.cpp
@@ -16,7 +16,7 @@ class printer { public: - printer(asio::io_service& io) + printer(asio::io_context& io) : strand_(io), timer1_(io, boost::posix_time::seconds(1)), timer2_(io, boost::posix_time::seconds(1)), @@ -63,7 +63,7 @@ } private: - asio::io_service::strand strand_; + asio::io_context::strand strand_; asio::deadline_timer timer1_; asio::deadline_timer timer2_; int count_; @@ -71,9 +71,9 @@ int main() { - asio::io_service io; + asio::io_context io; printer p(io); - asio::thread t(boost::bind(&asio::io_service::run, &io)); + asio::thread t(boost::bind(&asio::io_context::run, &io)); io.run(); t.join();
diff --git a/asio/src/examples/cpp03/windows/transmit_file.cpp b/asio/src/examples/cpp03/windows/transmit_file.cpp index 20adfb3..9ea2853 100644 --- a/asio/src/examples/cpp03/windows/transmit_file.cpp +++ b/asio/src/examples/cpp03/windows/transmit_file.cpp
@@ -28,7 +28,7 @@ random_access_handle& file, Handler handler) { // Construct an OVERLAPPED-derived object to contain the handler. - overlapped_ptr overlapped(socket.get_io_service(), handler); + overlapped_ptr overlapped(socket.get_io_context(), handler); // Initiate the TransmitFile operation. BOOL ok = ::TransmitFile(socket.native_handle(), @@ -40,7 +40,7 @@ { // The operation completed immediately, so a completion notification needs // to be posted. When complete() is called, ownership of the OVERLAPPED- - // derived object passes to the io_service. + // derived object passes to the io_context. asio::error_code ec(last_error, asio::error::get_system_category()); overlapped.complete(ec, 0); @@ -48,7 +48,7 @@ else { // The operation was successfully initiated, so ownership of the - // OVERLAPPED-derived object has passed to the io_service. + // OVERLAPPED-derived object has passed to the io_context. overlapped.release(); } } @@ -59,10 +59,10 @@ public: typedef boost::shared_ptr<connection> pointer; - static pointer create(asio::io_service& io_service, + static pointer create(asio::io_context& io_context, const std::string& filename) { - return pointer(new connection(io_service, filename)); + return pointer(new connection(io_context, filename)); } tcp::socket& socket() @@ -85,10 +85,10 @@ } private: - connection(asio::io_service& io_service, const std::string& filename) - : socket_(io_service), + connection(asio::io_context& io_context, const std::string& filename) + : socket_(io_context), filename_(filename), - file_(io_service) + file_(io_context) { } @@ -107,9 +107,9 @@ class server { public: - server(asio::io_service& io_service, + server(asio::io_context& io_context, unsigned short port, const std::string& filename) - : acceptor_(io_service, tcp::endpoint(tcp::v4(), port)), + : acceptor_(io_context, tcp::endpoint(tcp::v4(), port)), filename_(filename) { start_accept(); @@ -119,7 +119,7 @@ void start_accept() { connection::pointer new_connection = - connection::create(acceptor_.get_io_service(), filename_); + connection::create(acceptor_.get_io_context(), filename_); acceptor_.async_accept(new_connection->socket(), boost::bind(&server::handle_accept, this, new_connection, @@ -151,12 +151,12 @@ return 1; } - asio::io_service io_service; + asio::io_context io_context; using namespace std; // For atoi. - server s(io_service, atoi(argv[1]), argv[2]); + server s(io_context, atoi(argv[1]), argv[2]); - io_service.run(); + io_context.run(); } catch (std::exception& e) {
diff --git a/asio/src/examples/cpp11/allocation/server.cpp b/asio/src/examples/cpp11/allocation/server.cpp index 18f58b8..b8eb662 100644 --- a/asio/src/examples/cpp11/allocation/server.cpp +++ b/asio/src/examples/cpp11/allocation/server.cpp
@@ -166,8 +166,8 @@ class server { public: - server(asio::io_service& io_service, short port) - : acceptor_(io_service, tcp::endpoint(tcp::v4(), port)) + server(asio::io_context& io_context, short port) + : acceptor_(io_context, tcp::endpoint(tcp::v4(), port)) { do_accept(); } @@ -200,9 +200,9 @@ return 1; } - asio::io_service io_service; - server s(io_service, std::atoi(argv[1])); - io_service.run(); + asio::io_context io_context; + server s(io_context, std::atoi(argv[1])); + io_context.run(); } catch (std::exception& e) {
diff --git a/asio/src/examples/cpp11/buffers/reference_counted.cpp b/asio/src/examples/cpp11/buffers/reference_counted.cpp index 32c0d8a..df6c0ed 100644 --- a/asio/src/examples/cpp11/buffers/reference_counted.cpp +++ b/asio/src/examples/cpp11/buffers/reference_counted.cpp
@@ -72,8 +72,8 @@ class server { public: - server(asio::io_service& io_service, short port) - : acceptor_(io_service, tcp::endpoint(tcp::v4(), port)) + server(asio::io_context& io_context, short port) + : acceptor_(io_context, tcp::endpoint(tcp::v4(), port)) { do_accept(); } @@ -106,11 +106,11 @@ return 1; } - asio::io_service io_service; + asio::io_context io_context; - server s(io_service, std::atoi(argv[1])); + server s(io_context, std::atoi(argv[1])); - io_service.run(); + io_context.run(); } catch (std::exception& e) {
diff --git a/asio/src/examples/cpp11/chat/chat_client.cpp b/asio/src/examples/cpp11/chat/chat_client.cpp index bfc37e3..045175c 100644 --- a/asio/src/examples/cpp11/chat/chat_client.cpp +++ b/asio/src/examples/cpp11/chat/chat_client.cpp
@@ -22,17 +22,17 @@ class chat_client { public: - chat_client(asio::io_service& io_service, + chat_client(asio::io_context& io_context, const tcp::resolver::results_type& endpoints) - : io_service_(io_service), - socket_(io_service) + : io_context_(io_context), + socket_(io_context) { do_connect(endpoints); } void write(const chat_message& msg) { - asio::post(io_service_, + asio::post(io_context_, [this, msg]() { bool write_in_progress = !write_msgs_.empty(); @@ -46,7 +46,7 @@ void close() { - asio::post(io_service_, [this]() { socket_.close(); }); + asio::post(io_context_, [this]() { socket_.close(); }); } private: @@ -121,7 +121,7 @@ } private: - asio::io_service& io_service_; + asio::io_context& io_context_; tcp::socket socket_; chat_message read_msg_; chat_message_queue write_msgs_; @@ -137,13 +137,13 @@ return 1; } - asio::io_service io_service; + asio::io_context io_context; - tcp::resolver resolver(io_service); + tcp::resolver resolver(io_context); auto endpoints = resolver.resolve(argv[1], argv[2]); - chat_client c(io_service, endpoints); + chat_client c(io_context, endpoints); - std::thread t([&io_service](){ io_service.run(); }); + std::thread t([&io_context](){ io_context.run(); }); char line[chat_message::max_body_length + 1]; while (std::cin.getline(line, chat_message::max_body_length + 1))
diff --git a/asio/src/examples/cpp11/chat/chat_server.cpp b/asio/src/examples/cpp11/chat/chat_server.cpp index d118576..8b5af40 100644 --- a/asio/src/examples/cpp11/chat/chat_server.cpp +++ b/asio/src/examples/cpp11/chat/chat_server.cpp
@@ -169,9 +169,9 @@ class chat_server { public: - chat_server(asio::io_service& io_service, + chat_server(asio::io_context& io_context, const tcp::endpoint& endpoint) - : acceptor_(io_service, endpoint) + : acceptor_(io_context, endpoint) { do_accept(); } @@ -207,16 +207,16 @@ return 1; } - asio::io_service io_service; + asio::io_context io_context; std::list<chat_server> servers; for (int i = 1; i < argc; ++i) { tcp::endpoint endpoint(tcp::v4(), std::atoi(argv[i])); - servers.emplace_back(io_service, endpoint); + servers.emplace_back(io_context, endpoint); } - io_service.run(); + io_context.run(); } catch (std::exception& e) {
diff --git a/asio/src/examples/cpp11/echo/async_tcp_echo_server.cpp b/asio/src/examples/cpp11/echo/async_tcp_echo_server.cpp index 7c9a2cb..fd08f54 100644 --- a/asio/src/examples/cpp11/echo/async_tcp_echo_server.cpp +++ b/asio/src/examples/cpp11/echo/async_tcp_echo_server.cpp
@@ -65,8 +65,8 @@ class server { public: - server(asio::io_service& io_service, short port) - : acceptor_(io_service, tcp::endpoint(tcp::v4(), port)) + server(asio::io_context& io_context, short port) + : acceptor_(io_context, tcp::endpoint(tcp::v4(), port)) { do_accept(); } @@ -99,11 +99,11 @@ return 1; } - asio::io_service io_service; + asio::io_context io_context; - server s(io_service, std::atoi(argv[1])); + server s(io_context, std::atoi(argv[1])); - io_service.run(); + io_context.run(); } catch (std::exception& e) {
diff --git a/asio/src/examples/cpp11/echo/async_udp_echo_server.cpp b/asio/src/examples/cpp11/echo/async_udp_echo_server.cpp index efb6d6c..44e9bbc 100644 --- a/asio/src/examples/cpp11/echo/async_udp_echo_server.cpp +++ b/asio/src/examples/cpp11/echo/async_udp_echo_server.cpp
@@ -17,8 +17,8 @@ class server { public: - server(asio::io_service& io_service, short port) - : socket_(io_service, udp::endpoint(udp::v4(), port)) + server(asio::io_context& io_context, short port) + : socket_(io_context, udp::endpoint(udp::v4(), port)) { do_receive(); } @@ -67,11 +67,11 @@ return 1; } - asio::io_service io_service; + asio::io_context io_context; - server s(io_service, std::atoi(argv[1])); + server s(io_context, std::atoi(argv[1])); - io_service.run(); + io_context.run(); } catch (std::exception& e) {
diff --git a/asio/src/examples/cpp11/echo/blocking_tcp_echo_client.cpp b/asio/src/examples/cpp11/echo/blocking_tcp_echo_client.cpp index cdcd3b5..57a9e9c 100644 --- a/asio/src/examples/cpp11/echo/blocking_tcp_echo_client.cpp +++ b/asio/src/examples/cpp11/echo/blocking_tcp_echo_client.cpp
@@ -27,10 +27,10 @@ return 1; } - asio::io_service io_service; + asio::io_context io_context; - tcp::socket s(io_service); - tcp::resolver resolver(io_service); + tcp::socket s(io_context); + tcp::resolver resolver(io_context); asio::connect(s, resolver.resolve(argv[1], argv[2])); std::cout << "Enter message: ";
diff --git a/asio/src/examples/cpp11/echo/blocking_tcp_echo_server.cpp b/asio/src/examples/cpp11/echo/blocking_tcp_echo_server.cpp index 2fff5bf..ba63cdf 100644 --- a/asio/src/examples/cpp11/echo/blocking_tcp_echo_server.cpp +++ b/asio/src/examples/cpp11/echo/blocking_tcp_echo_server.cpp
@@ -42,9 +42,9 @@ } } -void server(asio::io_service& io_service, unsigned short port) +void server(asio::io_context& io_context, unsigned short port) { - tcp::acceptor a(io_service, tcp::endpoint(tcp::v4(), port)); + tcp::acceptor a(io_context, tcp::endpoint(tcp::v4(), port)); for (;;) { std::thread(session, a.accept()).detach(); @@ -61,9 +61,9 @@ return 1; } - asio::io_service io_service; + asio::io_context io_context; - server(io_service, std::atoi(argv[1])); + server(io_context, std::atoi(argv[1])); } catch (std::exception& e) {
diff --git a/asio/src/examples/cpp11/echo/blocking_udp_echo_client.cpp b/asio/src/examples/cpp11/echo/blocking_udp_echo_client.cpp index 136ca34..0cb431c 100644 --- a/asio/src/examples/cpp11/echo/blocking_udp_echo_client.cpp +++ b/asio/src/examples/cpp11/echo/blocking_udp_echo_client.cpp
@@ -27,11 +27,11 @@ return 1; } - asio::io_service io_service; + asio::io_context io_context; - udp::socket s(io_service, udp::endpoint(udp::v4(), 0)); + udp::socket s(io_context, udp::endpoint(udp::v4(), 0)); - udp::resolver resolver(io_service); + udp::resolver resolver(io_context); udp::resolver::results_type endpoints = resolver.resolve(udp::v4(), argv[1], argv[2]);
diff --git a/asio/src/examples/cpp11/echo/blocking_udp_echo_server.cpp b/asio/src/examples/cpp11/echo/blocking_udp_echo_server.cpp index 2f7a816..35488d5 100644 --- a/asio/src/examples/cpp11/echo/blocking_udp_echo_server.cpp +++ b/asio/src/examples/cpp11/echo/blocking_udp_echo_server.cpp
@@ -16,9 +16,9 @@ enum { max_length = 1024 }; -void server(asio::io_service& io_service, unsigned short port) +void server(asio::io_context& io_context, unsigned short port) { - udp::socket sock(io_service, udp::endpoint(udp::v4(), port)); + udp::socket sock(io_context, udp::endpoint(udp::v4(), port)); for (;;) { char data[max_length]; @@ -39,9 +39,9 @@ return 1; } - asio::io_service io_service; + asio::io_context io_context; - server(io_service, std::atoi(argv[1])); + server(io_context, std::atoi(argv[1])); } catch (std::exception& e) {
diff --git a/asio/src/examples/cpp11/futures/daytime_client.cpp b/asio/src/examples/cpp11/futures/daytime_client.cpp index 6a1ecd3..321d212 100644 --- a/asio/src/examples/cpp11/futures/daytime_client.cpp +++ b/asio/src/examples/cpp11/futures/daytime_client.cpp
@@ -12,17 +12,17 @@ #include <future> #include <iostream> #include <thread> -#include <asio/io_service.hpp> +#include <asio/io_context.hpp> #include <asio/ip/udp.hpp> #include <asio/use_future.hpp> using asio::ip::udp; -void get_daytime(asio::io_service& io_service, const char* hostname) +void get_daytime(asio::io_context& io_context, const char* hostname) { try { - udp::resolver resolver(io_service); + udp::resolver resolver(io_context); std::future<udp::resolver::results_type> endpoints = resolver.async_resolve( @@ -32,7 +32,7 @@ // The async_resolve operation above returns the endpoints as a future // value that is not retrieved ... - udp::socket socket(io_service, udp::v4()); + udp::socket socket(io_context, udp::v4()); std::array<char, 1> send_buf = {{ 0 }}; std::future<std::size_t> send_length = @@ -74,15 +74,15 @@ return 1; } - // We run the io_service off in its own thread so that it operates + // We run the io_context off in its own thread so that it operates // completely asynchronously with respect to the rest of the program. - asio::io_service io_service; - asio::io_service::work work(io_service); - std::thread thread([&io_service](){ io_service.run(); }); + asio::io_context io_context; + asio::io_context::work work(io_context); + std::thread thread([&io_context](){ io_context.run(); }); - get_daytime(io_service, argv[1]); + get_daytime(io_context, argv[1]); - io_service.stop(); + io_context.stop(); thread.join(); } catch (std::exception& e)
diff --git a/asio/src/examples/cpp11/http/server/server.cpp b/asio/src/examples/cpp11/http/server/server.cpp index 5a9a415..705c6d6 100644 --- a/asio/src/examples/cpp11/http/server/server.cpp +++ b/asio/src/examples/cpp11/http/server/server.cpp
@@ -17,9 +17,9 @@ server::server(const std::string& address, const std::string& port, const std::string& doc_root) - : io_service_(), - signals_(io_service_), - acceptor_(io_service_), + : io_context_(), + signals_(io_context_), + acceptor_(io_context_), connection_manager_(), request_handler_(doc_root) { @@ -35,7 +35,7 @@ do_await_stop(); // Open the acceptor with the option to reuse the address (i.e. SO_REUSEADDR). - asio::ip::tcp::resolver resolver(io_service_); + asio::ip::tcp::resolver resolver(io_context_); asio::ip::tcp::endpoint endpoint = *resolver.resolve(address, port).begin(); acceptor_.open(endpoint.protocol()); @@ -48,11 +48,11 @@ void server::run() { - // The io_service::run() call will block until all asynchronous operations + // The io_context::run() call will block until all asynchronous operations // have finished. While the server is running, there is always at least one // asynchronous operation outstanding: the asynchronous accept call waiting // for new incoming connections. - io_service_.run(); + io_context_.run(); } void server::do_accept() @@ -83,7 +83,7 @@ [this](std::error_code /*ec*/, int /*signo*/) { // The server is stopped by cancelling all outstanding asynchronous - // operations. Once all operations have finished the io_service::run() + // operations. Once all operations have finished the io_context::run() // call will exit. acceptor_.close(); connection_manager_.stop_all();
diff --git a/asio/src/examples/cpp11/http/server/server.hpp b/asio/src/examples/cpp11/http/server/server.hpp index 88b8d75..01bde8c 100644 --- a/asio/src/examples/cpp11/http/server/server.hpp +++ b/asio/src/examples/cpp11/http/server/server.hpp
@@ -32,7 +32,7 @@ explicit server(const std::string& address, const std::string& port, const std::string& doc_root); - /// Run the server's io_service loop. + /// Run the server's io_context loop. void run(); private: @@ -42,8 +42,8 @@ /// Wait for a request to stop the server. void do_await_stop(); - /// The io_service used to perform asynchronous operations. - asio::io_service io_service_; + /// The io_context used to perform asynchronous operations. + asio::io_context io_context_; /// The signal_set is used to register for process termination notifications. asio::signal_set signals_;
diff --git a/asio/src/examples/cpp11/spawn/echo_server.cpp b/asio/src/examples/cpp11/spawn/echo_server.cpp index 4bd1f46..772eb83 100644 --- a/asio/src/examples/cpp11/spawn/echo_server.cpp +++ b/asio/src/examples/cpp11/spawn/echo_server.cpp
@@ -8,7 +8,7 @@ // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // -#include <asio/io_service.hpp> +#include <asio/io_context.hpp> #include <asio/ip/tcp.hpp> #include <asio/spawn.hpp> #include <asio/steady_timer.hpp> @@ -23,8 +23,8 @@ public: explicit session(tcp::socket socket) : socket_(std::move(socket)), - timer_(socket_.get_io_service()), - strand_(socket_.get_io_service()) + timer_(socket_.get_io_context()), + strand_(socket_.get_io_context()) { } @@ -67,7 +67,7 @@ private: tcp::socket socket_; asio::steady_timer timer_; - asio::io_service::strand strand_; + asio::io_context::strand strand_; }; int main(int argc, char* argv[]) @@ -80,24 +80,24 @@ return 1; } - asio::io_service io_service; + asio::io_context io_context; - asio::spawn(io_service, + asio::spawn(io_context, [&](asio::yield_context yield) { - tcp::acceptor acceptor(io_service, + tcp::acceptor acceptor(io_context, tcp::endpoint(tcp::v4(), std::atoi(argv[1]))); for (;;) { asio::error_code ec; - tcp::socket socket(io_service); + tcp::socket socket(io_context); acceptor.async_accept(socket, yield[ec]); if (!ec) std::make_shared<session>(std::move(socket))->go(); } }); - io_service.run(); + io_context.run(); } catch (std::exception& e) {
diff --git a/asio/src/examples/cpp14/echo/async_tcp_echo_server.cpp b/asio/src/examples/cpp14/echo/async_tcp_echo_server.cpp index 7d33515..532ff20 100644 --- a/asio/src/examples/cpp14/echo/async_tcp_echo_server.cpp +++ b/asio/src/examples/cpp14/echo/async_tcp_echo_server.cpp
@@ -66,9 +66,9 @@ class server { public: - server(asio::io_service& io_service, short port) - : acceptor_(io_service, tcp::endpoint(tcp::v4(), port)), - socket_(io_service) + server(asio::io_context& io_context, short port) + : acceptor_(io_context, tcp::endpoint(tcp::v4(), port)), + socket_(io_context) { do_accept(); } @@ -102,11 +102,11 @@ return 1; } - asio::io_service io_service; + asio::io_context io_context; - server s(io_service, std::atoi(argv[1])); + server s(io_context, std::atoi(argv[1])); - io_service.run(); + io_context.run(); } catch (std::exception& e) {
diff --git a/asio/src/examples/cpp14/echo/async_udp_echo_server.cpp b/asio/src/examples/cpp14/echo/async_udp_echo_server.cpp index f0459cc..1861374 100644 --- a/asio/src/examples/cpp14/echo/async_udp_echo_server.cpp +++ b/asio/src/examples/cpp14/echo/async_udp_echo_server.cpp
@@ -18,8 +18,8 @@ class server { public: - server(asio::io_service& io_service, short port) - : socket_(io_service, udp::endpoint(udp::v4(), port)) + server(asio::io_context& io_context, short port) + : socket_(io_context, udp::endpoint(udp::v4(), port)) { do_receive(); } @@ -68,11 +68,11 @@ return 1; } - asio::io_service io_service; + asio::io_context io_context; - server s(io_service, std::atoi(argv[1])); + server s(io_context, std::atoi(argv[1])); - io_service.run(); + io_context.run(); } catch (std::exception& e) {
diff --git a/asio/src/examples/cpp14/echo/blocking_tcp_echo_client.cpp b/asio/src/examples/cpp14/echo/blocking_tcp_echo_client.cpp index cdcd3b5..57a9e9c 100644 --- a/asio/src/examples/cpp14/echo/blocking_tcp_echo_client.cpp +++ b/asio/src/examples/cpp14/echo/blocking_tcp_echo_client.cpp
@@ -27,10 +27,10 @@ return 1; } - asio::io_service io_service; + asio::io_context io_context; - tcp::socket s(io_service); - tcp::resolver resolver(io_service); + tcp::socket s(io_context); + tcp::resolver resolver(io_context); asio::connect(s, resolver.resolve(argv[1], argv[2])); std::cout << "Enter message: ";
diff --git a/asio/src/examples/cpp14/echo/blocking_tcp_echo_server.cpp b/asio/src/examples/cpp14/echo/blocking_tcp_echo_server.cpp index e78b4fe..aba13b0 100644 --- a/asio/src/examples/cpp14/echo/blocking_tcp_echo_server.cpp +++ b/asio/src/examples/cpp14/echo/blocking_tcp_echo_server.cpp
@@ -43,12 +43,12 @@ } } -void server(asio::io_service& io_service, unsigned short port) +void server(asio::io_context& io_context, unsigned short port) { - tcp::acceptor a(io_service, tcp::endpoint(tcp::v4(), port)); + tcp::acceptor a(io_context, tcp::endpoint(tcp::v4(), port)); for (;;) { - tcp::socket sock(io_service); + tcp::socket sock(io_context); a.accept(sock); std::thread(session, std::move(sock)).detach(); } @@ -64,9 +64,9 @@ return 1; } - asio::io_service io_service; + asio::io_context io_context; - server(io_service, std::atoi(argv[1])); + server(io_context, std::atoi(argv[1])); } catch (std::exception& e) {
diff --git a/asio/src/examples/cpp14/echo/blocking_udp_echo_client.cpp b/asio/src/examples/cpp14/echo/blocking_udp_echo_client.cpp index 678099e..01f6120 100644 --- a/asio/src/examples/cpp14/echo/blocking_udp_echo_client.cpp +++ b/asio/src/examples/cpp14/echo/blocking_udp_echo_client.cpp
@@ -28,11 +28,11 @@ return 1; } - asio::io_service io_service; + asio::io_context io_context; - udp::socket s(io_service, udp::endpoint(udp::v4(), 0)); + udp::socket s(io_context, udp::endpoint(udp::v4(), 0)); - udp::resolver resolver(io_service); + udp::resolver resolver(io_context); udp::endpoint endpoint = *resolver.resolve(udp::v4(), argv[1], argv[2]).begin();
diff --git a/asio/src/examples/cpp14/echo/blocking_udp_echo_server.cpp b/asio/src/examples/cpp14/echo/blocking_udp_echo_server.cpp index 842c51a..1f4b948 100644 --- a/asio/src/examples/cpp14/echo/blocking_udp_echo_server.cpp +++ b/asio/src/examples/cpp14/echo/blocking_udp_echo_server.cpp
@@ -17,9 +17,9 @@ enum { max_length = 1024 }; -void server(asio::io_service& io_service, unsigned short port) +void server(asio::io_context& io_context, unsigned short port) { - udp::socket sock(io_service, udp::endpoint(udp::v4(), port)); + udp::socket sock(io_context, udp::endpoint(udp::v4(), port)); for (;;) { char data[max_length]; @@ -40,9 +40,9 @@ return 1; } - asio::io_service io_service; + asio::io_context io_context; - server(io_service, std::atoi(argv[1])); + server(io_context, std::atoi(argv[1])); } catch (std::exception& e) {
diff --git a/asio/src/tests/Makefile.am b/asio/src/tests/Makefile.am index 1c3a7f5..8e93cab 100644 --- a/asio/src/tests/Makefile.am +++ b/asio/src/tests/Makefile.am
@@ -38,7 +38,7 @@ unit/generic/seq_packet_protocol \ unit/generic/stream_protocol \ unit/high_resolution_timer \ - unit/io_service \ + unit/io_context \ unit/ip/address \ unit/ip/address_v4 \ unit/ip/address_v4_iterator \ @@ -151,7 +151,7 @@ unit/deadline_timer \ unit/error \ unit/high_resolution_timer \ - unit/io_service \ + unit/io_context \ unit/ip/address \ unit/ip/address_v4 \ unit/ip/address_v4_iterator \ @@ -277,7 +277,7 @@ unit_generic_seq_packet_protocol_SOURCES = unit/generic/seq_packet_protocol.cpp unit_generic_stream_protocol_SOURCES = unit/generic/stream_protocol.cpp unit_high_resolution_timer_SOURCES = unit/high_resolution_timer.cpp -unit_io_service_SOURCES = unit/io_service.cpp +unit_io_context_SOURCES = unit/io_context.cpp unit_ip_address_SOURCES = unit/ip/address.cpp unit_ip_address_v4_SOURCES = unit/ip/address_v4.cpp unit_ip_address_v4_iterator_SOURCES = unit/ip/address_v4_iterator.cpp
diff --git a/asio/src/tests/latency/tcp_client.cpp b/asio/src/tests/latency/tcp_client.cpp index 567b866..0f63b3c 100644 --- a/asio/src/tests/latency/tcp_client.cpp +++ b/asio/src/tests/latency/tcp_client.cpp
@@ -50,12 +50,12 @@ std::size_t buf_size = static_cast<std::size_t>(std::atoi(argv[4])); bool spin = (std::strcmp(argv[5], "spin") == 0); - asio::io_service io_service; + asio::io_context io_context; std::vector<boost::shared_ptr<tcp::socket> > sockets; for (int i = 0; i < num_connections; ++i) { - boost::shared_ptr<tcp::socket> s(new tcp::socket(io_service)); + boost::shared_ptr<tcp::socket> s(new tcp::socket(io_context)); tcp::endpoint target(asio::ip::make_address(ip), port); s->connect(target);
diff --git a/asio/src/tests/latency/tcp_server.cpp b/asio/src/tests/latency/tcp_server.cpp index d613265..77dc9ee 100644 --- a/asio/src/tests/latency/tcp_server.cpp +++ b/asio/src/tests/latency/tcp_server.cpp
@@ -8,7 +8,7 @@ // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // -#include <asio/io_service.hpp> +#include <asio/io_context.hpp> #include <asio/ip/tcp.hpp> #include <asio/read.hpp> #include <asio/write.hpp> @@ -96,8 +96,8 @@ std::size_t buf_size = std::atoi(argv[3]); bool spin = (std::strcmp(argv[4], "spin") == 0); - asio::io_service io_service(1); - tcp::acceptor acceptor(io_service, tcp::endpoint(tcp::v4(), port)); + asio::io_context io_context(1); + tcp::acceptor acceptor(io_context, tcp::endpoint(tcp::v4(), port)); std::vector<boost::shared_ptr<tcp_server> > servers; for (int i = 0; i < max_connections; ++i) @@ -108,7 +108,7 @@ } if (spin) - for (;;) io_service.poll(); + for (;;) io_context.poll(); else - io_service.run(); + io_context.run(); }
diff --git a/asio/src/tests/latency/udp_client.cpp b/asio/src/tests/latency/udp_client.cpp index 1904976..5f3e588 100644 --- a/asio/src/tests/latency/udp_client.cpp +++ b/asio/src/tests/latency/udp_client.cpp
@@ -39,9 +39,9 @@ std::size_t buf_size = static_cast<std::size_t>(std::atoi(argv[4])); bool spin = (std::strcmp(argv[5], "spin") == 0); - asio::io_service io_service; + asio::io_context io_context; - udp::socket socket(io_service, udp::endpoint(udp::v4(), 0)); + udp::socket socket(io_context, udp::endpoint(udp::v4(), 0)); if (spin) {
diff --git a/asio/src/tests/latency/udp_server.cpp b/asio/src/tests/latency/udp_server.cpp index 1b9b6c2..6aa2f8a 100644 --- a/asio/src/tests/latency/udp_server.cpp +++ b/asio/src/tests/latency/udp_server.cpp
@@ -8,7 +8,7 @@ // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // -#include <asio/io_service.hpp> +#include <asio/io_context.hpp> #include <asio/ip/udp.hpp> #include <boost/shared_ptr.hpp> #include <cstdio> @@ -24,9 +24,9 @@ class udp_server : coroutine { public: - udp_server(asio::io_service& io_service, + udp_server(asio::io_context& io_context, unsigned short port, std::size_t buf_size) : - socket_(io_service, udp::endpoint(udp::v4(), port)), + socket_(io_context, udp::endpoint(udp::v4(), port)), buffer_(buf_size) { } @@ -107,19 +107,19 @@ std::size_t buf_size = std::atoi(argv[3]); bool spin = (std::strcmp(argv[4], "spin") == 0); - asio::io_service io_service(1); + asio::io_context io_context(1); std::vector<boost::shared_ptr<udp_server> > servers; for (unsigned short i = 0; i < num_ports; ++i) { unsigned short port = first_port + i; - boost::shared_ptr<udp_server> s(new udp_server(io_service, port, buf_size)); + boost::shared_ptr<udp_server> s(new udp_server(io_context, port, buf_size)); servers.push_back(s); (*s)(asio::error_code()); } if (spin) - for (;;) io_service.poll(); + for (;;) io_context.poll(); else - io_service.run(); + io_context.run(); }
diff --git a/asio/src/tests/performance/client.cpp b/asio/src/tests/performance/client.cpp index dfd71dc..972379a 100644 --- a/asio/src/tests/performance/client.cpp +++ b/asio/src/tests/performance/client.cpp
@@ -50,9 +50,9 @@ class session { public: - session(asio::io_service& ios, size_t block_size, stats& s) - : strand_(ios), - socket_(ios), + session(asio::io_context& ioc, size_t block_size, stats& s) + : strand_(ioc), + socket_(ioc), block_size_(block_size), read_data_(new char[block_size]), read_data_length_(0), @@ -173,7 +173,7 @@ } private: - asio::io_service::strand strand_; + asio::io_context::strand strand_; asio::ip::tcp::socket socket_; size_t block_size_; char* read_data_; @@ -190,11 +190,11 @@ class client { public: - client(asio::io_service& ios, + client(asio::io_context& ioc, const asio::ip::tcp::resolver::results_type endpoints, size_t block_size, size_t session_count, int timeout) - : io_service_(ios), - stop_timer_(ios), + : io_context_(ioc), + stop_timer_(ioc), sessions_(), stats_() { @@ -203,7 +203,7 @@ for (size_t i = 0; i < session_count; ++i) { - session* new_session = new session(io_service_, block_size, stats_); + session* new_session = new session(io_context_, block_size, stats_); new_session->start(endpoints); sessions_.push_back(new_session); } @@ -227,7 +227,7 @@ } private: - asio::io_service& io_service_; + asio::io_context& io_context_; asio::deadline_timer stop_timer_; std::list<session*> sessions_; stats stats_; @@ -252,23 +252,23 @@ size_t session_count = atoi(argv[5]); int timeout = atoi(argv[6]); - asio::io_service ios; + asio::io_context ioc; - asio::ip::tcp::resolver r(ios); + asio::ip::tcp::resolver r(ioc); asio::ip::tcp::resolver::results_type endpoints = r.resolve(host, port); - client c(ios, endpoints, block_size, session_count, timeout); + client c(ioc, endpoints, block_size, session_count, timeout); std::list<asio::thread*> threads; while (--thread_count > 0) { asio::thread* new_thread = new asio::thread( - boost::bind(&asio::io_service::run, &ios)); + boost::bind(&asio::io_context::run, &ioc)); threads.push_back(new_thread); } - ios.run(); + ioc.run(); while (!threads.empty()) {
diff --git a/asio/src/tests/performance/server.cpp b/asio/src/tests/performance/server.cpp index 9b8a124..9d050ff 100644 --- a/asio/src/tests/performance/server.cpp +++ b/asio/src/tests/performance/server.cpp
@@ -18,10 +18,10 @@ class session { public: - session(asio::io_service& ios, size_t block_size) - : io_service_(ios), - strand_(ios), - socket_(ios), + session(asio::io_context& ioc, size_t block_size) + : io_context_(ioc), + strand_(ioc), + socket_(ioc), block_size_(block_size), read_data_(new char[block_size]), read_data_length_(0), @@ -59,7 +59,7 @@ } else { - asio::post(io_service_, boost::bind(&session::destroy, this)); + asio::post(io_context_, boost::bind(&session::destroy, this)); } } @@ -90,7 +90,7 @@ } if (op_count_ == 0) - asio::post(io_service_, boost::bind(&session::destroy, this)); + asio::post(io_context_, boost::bind(&session::destroy, this)); } void handle_write(const asio::error_code& err) @@ -119,7 +119,7 @@ } if (op_count_ == 0) - asio::post(io_service_, boost::bind(&session::destroy, this)); + asio::post(io_context_, boost::bind(&session::destroy, this)); } static void destroy(session* s) @@ -128,8 +128,8 @@ } private: - asio::io_service& io_service_; - asio::io_service::strand strand_; + asio::io_context& io_context_; + asio::io_context::strand strand_; asio::ip::tcp::socket socket_; size_t block_size_; char* read_data_; @@ -144,10 +144,10 @@ class server { public: - server(asio::io_service& ios, const asio::ip::tcp::endpoint& endpoint, + server(asio::io_context& ioc, const asio::ip::tcp::endpoint& endpoint, size_t block_size) - : io_service_(ios), - acceptor_(ios), + : io_context_(ioc), + acceptor_(ioc), block_size_(block_size) { acceptor_.open(endpoint.protocol()); @@ -160,7 +160,7 @@ void start_accept() { - session* new_session = new session(io_service_, block_size_); + session* new_session = new session(io_context_, block_size_); acceptor_.async_accept(new_session->socket(), boost::bind(&server::handle_accept, this, new_session, asio::placeholders::error)); @@ -181,7 +181,7 @@ } private: - asio::io_service& io_service_; + asio::io_context& io_context_; asio::ip::tcp::acceptor acceptor_; size_t block_size_; }; @@ -202,20 +202,20 @@ int thread_count = atoi(argv[3]); size_t block_size = atoi(argv[4]); - asio::io_service ios; + asio::io_context ioc; - server s(ios, asio::ip::tcp::endpoint(address, port), block_size); + server s(ioc, asio::ip::tcp::endpoint(address, port), block_size); // Threads not currently supported in this test. std::list<asio::thread*> threads; while (--thread_count > 0) { asio::thread* new_thread = new asio::thread( - boost::bind(&asio::io_service::run, &ios)); + boost::bind(&asio::io_context::run, &ioc)); threads.push_back(new_thread); } - ios.run(); + ioc.run(); while (!threads.empty()) {
diff --git a/asio/src/tests/unit/buffered_read_stream.cpp b/asio/src/tests/unit/buffered_read_stream.cpp index 95f2b7a..06047c2 100644 --- a/asio/src/tests/unit/buffered_read_stream.cpp +++ b/asio/src/tests/unit/buffered_read_stream.cpp
@@ -19,7 +19,7 @@ #include <cstring> #include "archetypes/async_result.hpp" #include "asio/buffer.hpp" -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #include "asio/ip/tcp.hpp" #include "asio/system_error.hpp" #include "unit_test.hpp" @@ -63,7 +63,7 @@ try { - io_service ios; + io_context ioc; char mutable_char_buffer[128] = ""; const char const_char_buffer[128] = ""; array<asio::mutable_buffer, 2> mutable_buffers = {{ @@ -75,11 +75,11 @@ archetypes::lazy_handler lazy; asio::error_code ec; - stream_type stream1(ios); - stream_type stream2(ios, 1024); + stream_type stream1(ioc); + stream_type stream2(ioc, 1024); - io_service& ios_ref = stream1.get_io_service(); - (void)ios_ref; + io_context& ioc_ref = stream1.get_io_context(); + (void)ioc_ref; stream_type::lowest_layer_type& lowest_layer = stream1.lowest_layer(); (void)lowest_layer; @@ -144,17 +144,17 @@ { using namespace std; // For memcmp. - asio::io_service io_service; + asio::io_context io_context; - asio::ip::tcp::acceptor acceptor(io_service, + asio::ip::tcp::acceptor acceptor(io_context, asio::ip::tcp::endpoint(asio::ip::tcp::v4(), 0)); asio::ip::tcp::endpoint server_endpoint = acceptor.local_endpoint(); server_endpoint.address(asio::ip::address_v4::loopback()); - stream_type client_socket(io_service); + stream_type client_socket(io_context); client_socket.lowest_layer().connect(server_endpoint); - stream_type server_socket(io_service); + stream_type server_socket(io_context); acceptor.accept(server_socket.lowest_layer()); const char write_data[] @@ -255,20 +255,20 @@ using std::placeholders::_2; #endif // defined(ASIO_HAS_BOOST_BIND) - asio::io_service io_service; + asio::io_context io_context; - asio::ip::tcp::acceptor acceptor(io_service, + asio::ip::tcp::acceptor acceptor(io_context, asio::ip::tcp::endpoint(asio::ip::tcp::v4(), 0)); asio::ip::tcp::endpoint server_endpoint = acceptor.local_endpoint(); server_endpoint.address(asio::ip::address_v4::loopback()); - stream_type client_socket(io_service); + stream_type client_socket(io_context); client_socket.lowest_layer().connect(server_endpoint); - stream_type server_socket(io_service); + stream_type server_socket(io_context); acceptor.async_accept(server_socket.lowest_layer(), &handle_accept); - io_service.run(); - io_service.restart(); + io_context.run(); + io_context.restart(); const char write_data[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; @@ -280,8 +280,8 @@ client_socket.async_write_some( asio::buffer(write_buf + bytes_written), bindns::bind(handle_write, _1, _2, &bytes_written)); - io_service.run(); - io_service.restart(); + io_context.run(); + io_context.restart(); } char read_data[sizeof(write_data)]; @@ -293,8 +293,8 @@ server_socket.async_read_some( asio::buffer(read_buf + bytes_read), bindns::bind(handle_read, _1, _2, &bytes_read)); - io_service.run(); - io_service.restart(); + io_context.run(); + io_context.restart(); } ASIO_CHECK(bytes_written == sizeof(write_data)); @@ -307,8 +307,8 @@ server_socket.async_write_some( asio::buffer(write_buf + bytes_written), bindns::bind(handle_write, _1, _2, &bytes_written)); - io_service.run(); - io_service.restart(); + io_context.run(); + io_context.restart(); } bytes_read = 0; @@ -317,8 +317,8 @@ client_socket.async_read_some( asio::buffer(read_buf + bytes_read), bindns::bind(handle_read, _1, _2, &bytes_read)); - io_service.run(); - io_service.restart(); + io_context.run(); + io_context.restart(); } ASIO_CHECK(bytes_written == sizeof(write_data));
diff --git a/asio/src/tests/unit/buffered_stream.cpp b/asio/src/tests/unit/buffered_stream.cpp index 63028a5..a55a2a5 100644 --- a/asio/src/tests/unit/buffered_stream.cpp +++ b/asio/src/tests/unit/buffered_stream.cpp
@@ -19,7 +19,7 @@ #include <cstring> #include "archetypes/async_result.hpp" #include "asio/buffer.hpp" -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #include "asio/ip/tcp.hpp" #include "asio/system_error.hpp" #include "unit_test.hpp" @@ -67,7 +67,7 @@ try { - io_service ios; + io_context ioc; char mutable_char_buffer[128] = ""; const char const_char_buffer[128] = ""; array<asio::mutable_buffer, 2> mutable_buffers = {{ @@ -79,11 +79,11 @@ archetypes::lazy_handler lazy; asio::error_code ec; - stream_type stream1(ios); - stream_type stream2(ios, 1024, 1024); + stream_type stream1(ioc); + stream_type stream2(ioc, 1024, 1024); - io_service& ios_ref = stream1.get_io_service(); - (void)ios_ref; + io_context& ioc_ref = stream1.get_io_context(); + (void)ioc_ref; stream_type::lowest_layer_type& lowest_layer = stream1.lowest_layer(); (void)lowest_layer; @@ -155,17 +155,17 @@ { using namespace std; // For memcmp. - asio::io_service io_service; + asio::io_context io_context; - asio::ip::tcp::acceptor acceptor(io_service, + asio::ip::tcp::acceptor acceptor(io_context, asio::ip::tcp::endpoint(asio::ip::tcp::v4(), 0)); asio::ip::tcp::endpoint server_endpoint = acceptor.local_endpoint(); server_endpoint.address(asio::ip::address_v4::loopback()); - stream_type client_socket(io_service); + stream_type client_socket(io_context); client_socket.lowest_layer().connect(server_endpoint); - stream_type server_socket(io_service); + stream_type server_socket(io_context); acceptor.accept(server_socket.lowest_layer()); const char write_data[] @@ -273,20 +273,20 @@ using std::placeholders::_2; #endif // defined(ASIO_HAS_BOOST_BIND) - asio::io_service io_service; + asio::io_context io_context; - asio::ip::tcp::acceptor acceptor(io_service, + asio::ip::tcp::acceptor acceptor(io_context, asio::ip::tcp::endpoint(asio::ip::tcp::v4(), 0)); asio::ip::tcp::endpoint server_endpoint = acceptor.local_endpoint(); server_endpoint.address(asio::ip::address_v4::loopback()); - stream_type client_socket(io_service); + stream_type client_socket(io_context); client_socket.lowest_layer().connect(server_endpoint); - stream_type server_socket(io_service); + stream_type server_socket(io_context); acceptor.async_accept(server_socket.lowest_layer(), &handle_accept); - io_service.run(); - io_service.restart(); + io_context.run(); + io_context.restart(); const char write_data[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; @@ -298,12 +298,12 @@ client_socket.async_write_some( asio::buffer(write_buf + bytes_written), bindns::bind(handle_write, _1, _2, &bytes_written)); - io_service.run(); - io_service.restart(); + io_context.run(); + io_context.restart(); client_socket.async_flush( bindns::bind(handle_flush, _1)); - io_service.run(); - io_service.restart(); + io_context.run(); + io_context.restart(); } char read_data[sizeof(write_data)]; @@ -315,8 +315,8 @@ server_socket.async_read_some( asio::buffer(read_buf + bytes_read), bindns::bind(handle_read, _1, _2, &bytes_read)); - io_service.run(); - io_service.restart(); + io_context.run(); + io_context.restart(); } ASIO_CHECK(bytes_written == sizeof(write_data)); @@ -329,12 +329,12 @@ server_socket.async_write_some( asio::buffer(write_buf + bytes_written), bindns::bind(handle_write, _1, _2, &bytes_written)); - io_service.run(); - io_service.restart(); + io_context.run(); + io_context.restart(); server_socket.async_flush( bindns::bind(handle_flush, _1)); - io_service.run(); - io_service.restart(); + io_context.run(); + io_context.restart(); } bytes_read = 0; @@ -343,8 +343,8 @@ client_socket.async_read_some( asio::buffer(read_buf + bytes_read), bindns::bind(handle_read, _1, _2, &bytes_read)); - io_service.run(); - io_service.restart(); + io_context.run(); + io_context.restart(); } ASIO_CHECK(bytes_written == sizeof(write_data));
diff --git a/asio/src/tests/unit/buffered_write_stream.cpp b/asio/src/tests/unit/buffered_write_stream.cpp index 48b9db5..cf3a819 100644 --- a/asio/src/tests/unit/buffered_write_stream.cpp +++ b/asio/src/tests/unit/buffered_write_stream.cpp
@@ -19,7 +19,7 @@ #include <cstring> #include "archetypes/async_result.hpp" #include "asio/buffer.hpp" -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #include "asio/ip/tcp.hpp" #include "asio/system_error.hpp" #include "unit_test.hpp" @@ -63,7 +63,7 @@ try { - io_service ios; + io_context ioc; char mutable_char_buffer[128] = ""; const char const_char_buffer[128] = ""; array<asio::mutable_buffer, 2> mutable_buffers = {{ @@ -75,11 +75,11 @@ archetypes::lazy_handler lazy; asio::error_code ec; - stream_type stream1(ios); - stream_type stream2(ios, 1024); + stream_type stream1(ioc); + stream_type stream2(ioc, 1024); - io_service& ios_ref = stream1.get_io_service(); - (void)ios_ref; + io_context& ioc_ref = stream1.get_io_context(); + (void)ioc_ref; stream_type::lowest_layer_type& lowest_layer = stream1.lowest_layer(); (void)lowest_layer; @@ -144,17 +144,17 @@ { using namespace std; // For memcmp. - asio::io_service io_service; + asio::io_context io_context; - asio::ip::tcp::acceptor acceptor(io_service, + asio::ip::tcp::acceptor acceptor(io_context, asio::ip::tcp::endpoint(asio::ip::tcp::v4(), 0)); asio::ip::tcp::endpoint server_endpoint = acceptor.local_endpoint(); server_endpoint.address(asio::ip::address_v4::loopback()); - stream_type client_socket(io_service); + stream_type client_socket(io_context); client_socket.lowest_layer().connect(server_endpoint); - stream_type server_socket(io_service); + stream_type server_socket(io_context); acceptor.accept(server_socket.lowest_layer()); const char write_data[] @@ -262,20 +262,20 @@ using std::placeholders::_2; #endif // defined(ASIO_HAS_BOOST_BIND) - asio::io_service io_service; + asio::io_context io_context; - asio::ip::tcp::acceptor acceptor(io_service, + asio::ip::tcp::acceptor acceptor(io_context, asio::ip::tcp::endpoint(asio::ip::tcp::v4(), 0)); asio::ip::tcp::endpoint server_endpoint = acceptor.local_endpoint(); server_endpoint.address(asio::ip::address_v4::loopback()); - stream_type client_socket(io_service); + stream_type client_socket(io_context); client_socket.lowest_layer().connect(server_endpoint); - stream_type server_socket(io_service); + stream_type server_socket(io_context); acceptor.async_accept(server_socket.lowest_layer(), &handle_accept); - io_service.run(); - io_service.restart(); + io_context.run(); + io_context.restart(); const char write_data[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; @@ -287,12 +287,12 @@ client_socket.async_write_some( asio::buffer(write_buf + bytes_written), bindns::bind(handle_write, _1, _2, &bytes_written)); - io_service.run(); - io_service.restart(); + io_context.run(); + io_context.restart(); client_socket.async_flush( bindns::bind(handle_flush, _1)); - io_service.run(); - io_service.restart(); + io_context.run(); + io_context.restart(); } char read_data[sizeof(write_data)]; @@ -304,8 +304,8 @@ server_socket.async_read_some( asio::buffer(read_buf + bytes_read), bindns::bind(handle_read, _1, _2, &bytes_read)); - io_service.run(); - io_service.restart(); + io_context.run(); + io_context.restart(); } ASIO_CHECK(bytes_written == sizeof(write_data)); @@ -318,12 +318,12 @@ server_socket.async_write_some( asio::buffer(write_buf + bytes_written), bindns::bind(handle_write, _1, _2, &bytes_written)); - io_service.run(); - io_service.restart(); + io_context.run(); + io_context.restart(); server_socket.async_flush( bindns::bind(handle_flush, _1)); - io_service.run(); - io_service.restart(); + io_context.run(); + io_context.restart(); } bytes_read = 0; @@ -332,8 +332,8 @@ client_socket.async_read_some( asio::buffer(read_buf + bytes_read), bindns::bind(handle_read, _1, _2, &bytes_read)); - io_service.run(); - io_service.restart(); + io_context.run(); + io_context.restart(); } ASIO_CHECK(bytes_written == sizeof(write_data));
diff --git a/asio/src/tests/unit/deadline_timer.cpp b/asio/src/tests/unit/deadline_timer.cpp index e4464d7..364491c 100644 --- a/asio/src/tests/unit/deadline_timer.cpp +++ b/asio/src/tests/unit/deadline_timer.cpp
@@ -22,7 +22,7 @@ #include <boost/bind.hpp> #include "archetypes/async_result.hpp" -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #include "asio/placeholders.hpp" #include "asio/thread.hpp" @@ -79,12 +79,12 @@ void deadline_timer_test() { - asio::io_service ios; + asio::io_context ioc; int count = 0; ptime start = now(); - asio::deadline_timer t1(ios, seconds(1)); + asio::deadline_timer t1(ioc, seconds(1)); t1.wait(); // The timer must block until after its expiry time. @@ -94,7 +94,7 @@ start = now(); - asio::deadline_timer t2(ios, seconds(1) + microseconds(500000)); + asio::deadline_timer t2(ioc, seconds(1) + microseconds(500000)); t2.wait(); // The timer must block until after its expiry time. @@ -122,13 +122,13 @@ start = now(); - asio::deadline_timer t3(ios, seconds(5)); + asio::deadline_timer t3(ioc, seconds(5)); t3.async_wait(boost::bind(increment, &count)); // No completions can be delivered until run() is called. ASIO_CHECK(count == 0); - ios.run(); + ioc.run(); // The run() call will not return until all operations have finished, and // this should not be until after the timer's expiry time. @@ -140,14 +140,14 @@ count = 3; start = now(); - asio::deadline_timer t4(ios, seconds(1)); + asio::deadline_timer t4(ioc, seconds(1)); t4.async_wait(boost::bind(decrement_to_zero, &t4, &count)); // No completions can be delivered until run() is called. ASIO_CHECK(count == 3); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); // The run() call will not return until all operations have finished, and // this should not be until after the timer's final expiry time. @@ -159,17 +159,17 @@ count = 0; start = now(); - asio::deadline_timer t5(ios, seconds(10)); + asio::deadline_timer t5(ioc, seconds(10)); t5.async_wait(boost::bind(increment_if_not_cancelled, &count, asio::placeholders::error)); - asio::deadline_timer t6(ios, seconds(1)); + asio::deadline_timer t6(ioc, seconds(1)); t6.async_wait(boost::bind(cancel_timer, &t5)); // No completions can be delivered until run() is called. ASIO_CHECK(count == 0); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); // The timer should have been cancelled, so count should not have changed. // The total run time should not have been much more than 1 second (and @@ -184,8 +184,8 @@ t5.async_wait(boost::bind(increment_if_not_cancelled, &count, asio::placeholders::error)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); // The timer should not have been cancelled, so count should have changed. // The total time since the timer was created should be more than 10 seconds. @@ -200,16 +200,16 @@ // Start two waits on a timer, one of which will be cancelled. The one // which is not cancelled should still run to completion and increment the // counter. - asio::deadline_timer t7(ios, seconds(3)); + asio::deadline_timer t7(ioc, seconds(3)); t7.async_wait(boost::bind(increment_if_not_cancelled, &count, asio::placeholders::error)); t7.async_wait(boost::bind(increment_if_not_cancelled, &count, asio::placeholders::error)); - asio::deadline_timer t8(ios, seconds(1)); + asio::deadline_timer t8(ioc, seconds(1)); t8.async_wait(boost::bind(cancel_one_timer, &t7)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); // One of the waits should not have been cancelled, so count should have // changed. The total time since the timer was created should be more than 3 @@ -226,11 +226,11 @@ void deadline_timer_cancel_test() { - static asio::io_service io_service; + static asio::io_context io_context; struct timer { asio::deadline_timer t; - timer() : t(io_service) { t.expires_at(boost::posix_time::pos_infin); } + timer() : t(io_context) { t.expires_at(boost::posix_time::pos_infin); } } timers[50]; timers[2].t.async_wait(&timer_handler); @@ -267,11 +267,11 @@ void deadline_timer_custom_allocation_test() { - static asio::io_service io_service; + static asio::io_context io_context; struct timer { asio::deadline_timer t; - timer() : t(io_service) {} + timer() : t(io_context) {} } timers[100]; int allocation_count = 0; @@ -291,25 +291,25 @@ for (int i = 0; i < 50; ++i) timers[i].t.cancel(); - io_service.run(); + io_context.run(); ASIO_CHECK(allocation_count == 0); } -void io_service_run(asio::io_service* ios) +void io_context_run(asio::io_context* ioc) { - ios->run(); + ioc->run(); } void deadline_timer_thread_test() { - asio::io_service ios; - asio::io_service::work w(ios); - asio::deadline_timer t1(ios); - asio::deadline_timer t2(ios); + asio::io_context ioc; + asio::io_context::work w(ioc); + asio::deadline_timer t1(ioc); + asio::deadline_timer t2(ioc); int count = 0; - asio::thread th(boost::bind(io_service_run, &ios)); + asio::thread th(boost::bind(io_context_run, &ioc)); t2.expires_from_now(boost::posix_time::seconds(2)); t2.wait(); @@ -320,7 +320,7 @@ t2.expires_from_now(boost::posix_time::seconds(4)); t2.wait(); - ios.stop(); + ioc.stop(); th.join(); ASIO_CHECK(count == 1); @@ -328,14 +328,14 @@ void deadline_timer_async_result_test() { - asio::io_service ios; - asio::deadline_timer t1(ios); + asio::io_context ioc; + asio::deadline_timer t1(ioc); t1.expires_from_now(boost::posix_time::seconds(1)); int i = t1.async_wait(archetypes::lazy_handler()); ASIO_CHECK(i == 42); - ios.run(); + ioc.run(); } ASIO_TEST_SUITE
diff --git a/asio/src/tests/unit/generic/datagram_protocol.cpp b/asio/src/tests/unit/generic/datagram_protocol.cpp index 24ab9d3..58da16a 100644 --- a/asio/src/tests/unit/generic/datagram_protocol.cpp +++ b/asio/src/tests/unit/generic/datagram_protocol.cpp
@@ -17,7 +17,7 @@ #include "asio/generic/datagram_protocol.hpp" #include <cstring> -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #include "asio/ip/udp.hpp" #include "../unit_test.hpp" @@ -59,7 +59,7 @@ try { - io_service ios; + io_context ioc; char mutable_char_buffer[128] = ""; const char const_char_buffer[128] = ""; socket_base::message_flags in_flags = 0; @@ -69,33 +69,33 @@ // basic_datagram_socket constructors. - dp::socket socket1(ios); - dp::socket socket2(ios, dp(af_inet, ipproto_udp)); - dp::socket socket3(ios, dp::endpoint()); + dp::socket socket1(ioc); + dp::socket socket2(ioc, dp(af_inet, ipproto_udp)); + dp::socket socket3(ioc, dp::endpoint()); #if !defined(ASIO_WINDOWS_RUNTIME) dp::socket::native_handle_type native_socket1 = ::socket(af_inet, sock_dgram, 0); - dp::socket socket4(ios, dp(af_inet, ipproto_udp), native_socket1); + dp::socket socket4(ioc, dp(af_inet, ipproto_udp), native_socket1); #endif // !defined(ASIO_WINDOWS_RUNTIME) #if defined(ASIO_HAS_MOVE) dp::socket socket5(std::move(socket4)); - asio::ip::udp::socket udp_socket(ios); + asio::ip::udp::socket udp_socket(ioc); dp::socket socket6(std::move(udp_socket)); #endif // defined(ASIO_HAS_MOVE) // basic_datagram_socket operators. #if defined(ASIO_HAS_MOVE) - socket1 = dp::socket(ios); + socket1 = dp::socket(ioc); socket1 = std::move(socket2); - socket1 = asio::ip::udp::socket(ios); + socket1 = asio::ip::udp::socket(ioc); #endif // defined(ASIO_HAS_MOVE) // basic_io_object functions. - io_service& ios_ref = socket1.get_io_service(); - (void)ios_ref; + io_context& ioc_ref = socket1.get_io_context(); + (void)ioc_ref; // basic_socket functions.
diff --git a/asio/src/tests/unit/generic/raw_protocol.cpp b/asio/src/tests/unit/generic/raw_protocol.cpp index fd8dd4f..0ba8c11 100644 --- a/asio/src/tests/unit/generic/raw_protocol.cpp +++ b/asio/src/tests/unit/generic/raw_protocol.cpp
@@ -17,7 +17,7 @@ #include "asio/generic/raw_protocol.hpp" #include <cstring> -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #include "asio/ip/icmp.hpp" #include "../unit_test.hpp" @@ -59,7 +59,7 @@ try { - io_service ios; + io_context ioc; char mutable_char_buffer[128] = ""; const char const_char_buffer[128] = ""; socket_base::message_flags in_flags = 0; @@ -69,33 +69,33 @@ // basic_raw_socket constructors. - rp::socket socket1(ios); - rp::socket socket2(ios, rp(af_inet, ipproto_icmp)); - rp::socket socket3(ios, rp::endpoint()); + rp::socket socket1(ioc); + rp::socket socket2(ioc, rp(af_inet, ipproto_icmp)); + rp::socket socket3(ioc, rp::endpoint()); #if !defined(ASIO_WINDOWS_RUNTIME) rp::socket::native_handle_type native_socket1 = ::socket(af_inet, sock_raw, 0); - rp::socket socket4(ios, rp(af_inet, ipproto_icmp), native_socket1); + rp::socket socket4(ioc, rp(af_inet, ipproto_icmp), native_socket1); #endif // !defined(ASIO_WINDOWS_RUNTIME) #if defined(ASIO_HAS_MOVE) rp::socket socket5(std::move(socket4)); - asio::ip::icmp::socket icmp_socket(ios); + asio::ip::icmp::socket icmp_socket(ioc); rp::socket socket6(std::move(icmp_socket)); #endif // defined(ASIO_HAS_MOVE) // basic_datagram_socket operators. #if defined(ASIO_HAS_MOVE) - socket1 = rp::socket(ios); + socket1 = rp::socket(ioc); socket1 = std::move(socket2); - socket1 = asio::ip::icmp::socket(ios); + socket1 = asio::ip::icmp::socket(ioc); #endif // defined(ASIO_HAS_MOVE) // basic_io_object functions. - io_service& ios_ref = socket1.get_io_service(); - (void)ios_ref; + io_context& ioc_ref = socket1.get_io_context(); + (void)ioc_ref; // basic_socket functions.
diff --git a/asio/src/tests/unit/generic/seq_packet_protocol.cpp b/asio/src/tests/unit/generic/seq_packet_protocol.cpp index 61222dd..a2ba7be 100644 --- a/asio/src/tests/unit/generic/seq_packet_protocol.cpp +++ b/asio/src/tests/unit/generic/seq_packet_protocol.cpp
@@ -17,7 +17,7 @@ #include "asio/generic/seq_packet_protocol.hpp" #include <cstring> -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #include "../unit_test.hpp" #if defined(__cplusplus_cli) || defined(__cplusplus_winrt) @@ -57,7 +57,7 @@ try { - io_service ios; + io_context ioc; char mutable_char_buffer[128] = ""; const char const_char_buffer[128] = ""; const socket_base::message_flags in_flags = 0; @@ -68,13 +68,13 @@ // basic_seq_packet_socket constructors. - spp::socket socket1(ios); - spp::socket socket2(ios, spp(af_inet, 0)); - spp::socket socket3(ios, spp::endpoint()); + spp::socket socket1(ioc); + spp::socket socket2(ioc, spp(af_inet, 0)); + spp::socket socket3(ioc, spp::endpoint()); #if !defined(ASIO_WINDOWS_RUNTIME) spp::socket::native_handle_type native_socket1 = ::socket(af_inet, sock_seqpacket, 0); - spp::socket socket4(ios, spp(af_inet, 0), native_socket1); + spp::socket socket4(ioc, spp(af_inet, 0), native_socket1); #endif // !defined(ASIO_WINDOWS_RUNTIME) #if defined(ASIO_HAS_MOVE) @@ -84,14 +84,14 @@ // basic_seq_packet_socket operators. #if defined(ASIO_HAS_MOVE) - socket1 = spp::socket(ios); + socket1 = spp::socket(ioc); socket1 = std::move(socket2); #endif // defined(ASIO_HAS_MOVE) // basic_io_object functions. - io_service& ios_ref = socket1.get_io_service(); - (void)ios_ref; + io_context& ioc_ref = socket1.get_io_context(); + (void)ioc_ref; // basic_socket functions.
diff --git a/asio/src/tests/unit/generic/stream_protocol.cpp b/asio/src/tests/unit/generic/stream_protocol.cpp index 6db459c..4a93f26 100644 --- a/asio/src/tests/unit/generic/stream_protocol.cpp +++ b/asio/src/tests/unit/generic/stream_protocol.cpp
@@ -17,7 +17,7 @@ #include "asio/generic/stream_protocol.hpp" #include <cstring> -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #include "asio/ip/tcp.hpp" #include "../unit_test.hpp" @@ -67,7 +67,7 @@ try { - io_service ios; + io_context ioc; char mutable_char_buffer[128] = ""; const char const_char_buffer[128] = ""; socket_base::message_flags in_flags = 0; @@ -77,35 +77,35 @@ // basic_stream_socket constructors. - sp::socket socket1(ios); - sp::socket socket2(ios, sp(af_inet, ipproto_tcp)); - sp::socket socket3(ios, sp::endpoint()); + sp::socket socket1(ioc); + sp::socket socket2(ioc, sp(af_inet, ipproto_tcp)); + sp::socket socket3(ioc, sp::endpoint()); #if defined(ASIO_WINDOWS_RUNTIME) Windows::Networking::Sockets::StreamSocket^ native_socket1 = nullptr; #else // defined(ASIO_WINDOWS_RUNTIME) sp::socket::native_handle_type native_socket1 = ::socket(af_inet, sock_stream, 0); #endif // defined(ASIO_WINDOWS_RUNTIME) - sp::socket socket4(ios, sp(af_inet, ipproto_tcp), native_socket1); + sp::socket socket4(ioc, sp(af_inet, ipproto_tcp), native_socket1); #if defined(ASIO_HAS_MOVE) sp::socket socket5(std::move(socket4)); - asio::ip::tcp::socket tcp_socket(ios); + asio::ip::tcp::socket tcp_socket(ioc); sp::socket socket6(std::move(tcp_socket)); #endif // defined(ASIO_HAS_MOVE) // basic_stream_socket operators. #if defined(ASIO_HAS_MOVE) - socket1 = sp::socket(ios); + socket1 = sp::socket(ioc); socket1 = std::move(socket2); - socket1 = asio::ip::tcp::socket(ios); + socket1 = asio::ip::tcp::socket(ioc); #endif // defined(ASIO_HAS_MOVE) // basic_io_object functions. - io_service& ios_ref = socket1.get_io_service(); - (void)ios_ref; + io_context& ioc_ref = socket1.get_io_context(); + (void)ioc_ref; // basic_socket functions.
diff --git a/asio/src/tests/unit/io_context.cpp b/asio/src/tests/unit/io_context.cpp new file mode 100644 index 0000000..833c1b7 --- /dev/null +++ b/asio/src/tests/unit/io_context.cpp
@@ -0,0 +1,359 @@ +// +// io_context.cpp +// ~~~~~~~~~~~~~~ +// +// Copyright (c) 2003-2015 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) +// + +// Disable autolinking for unit tests. +#if !defined(BOOST_ALL_NO_LIB) +#define BOOST_ALL_NO_LIB 1 +#endif // !defined(BOOST_ALL_NO_LIB) + +// Test that header file is self-contained. +#include "asio/io_context.hpp" + +#include <sstream> +#include "asio/thread.hpp" +#include "unit_test.hpp" + +#if defined(ASIO_HAS_BOOST_DATE_TIME) +# include "asio/deadline_timer.hpp" +#else // defined(ASIO_HAS_BOOST_DATE_TIME) +# include "asio/steady_timer.hpp" +#endif // defined(ASIO_HAS_BOOST_DATE_TIME) + +#if defined(ASIO_HAS_BOOST_BIND) +# include <boost/bind.hpp> +#else // defined(ASIO_HAS_BOOST_BIND) +# include <functional> +#endif // defined(ASIO_HAS_BOOST_BIND) + +using namespace asio; + +#if defined(ASIO_HAS_BOOST_BIND) +namespace bindns = boost; +#else // defined(ASIO_HAS_BOOST_BIND) +namespace bindns = std; +#endif + +#if defined(ASIO_HAS_BOOST_DATE_TIME) +typedef deadline_timer timer; +namespace chronons = boost::posix_time; +#elif defined(ASIO_HAS_STD_CHRONO) +typedef steady_timer timer; +namespace chronons = std::chrono; +#elif defined(ASIO_HAS_BOOST_CHRONO) +typedef steady_timer timer; +namespace chronons = boost::chrono; +#endif // defined(ASIO_HAS_BOOST_DATE_TIME) + +void increment(int* count) +{ + ++(*count); +} + +void decrement_to_zero(io_context* ioc, int* count) +{ + if (*count > 0) + { + --(*count); + + int before_value = *count; + ioc->post(bindns::bind(decrement_to_zero, ioc, count)); + + // Handler execution cannot nest, so count value should remain unchanged. + ASIO_CHECK(*count == before_value); + } +} + +void nested_decrement_to_zero(io_context* ioc, int* count) +{ + if (*count > 0) + { + --(*count); + + ioc->dispatch(bindns::bind(nested_decrement_to_zero, ioc, count)); + + // Handler execution is nested, so count value should now be zero. + ASIO_CHECK(*count == 0); + } +} + +void sleep_increment(io_context* ioc, int* count) +{ + timer t(*ioc, chronons::seconds(2)); + t.wait(); + + if (++(*count) < 3) + ioc->post(bindns::bind(sleep_increment, ioc, count)); +} + +void start_sleep_increments(io_context* ioc, int* count) +{ + // Give all threads a chance to start. + timer t(*ioc, chronons::seconds(2)); + t.wait(); + + // Start the first of three increments. + ioc->post(bindns::bind(sleep_increment, ioc, count)); +} + +void throw_exception() +{ + throw 1; +} + +void io_context_run(io_context* ioc) +{ + ioc->run(); +} + +void io_context_test() +{ + io_context ioc; + int count = 0; + + ioc.post(bindns::bind(increment, &count)); + + // No handlers can be called until run() is called. + ASIO_CHECK(!ioc.stopped()); + ASIO_CHECK(count == 0); + + ioc.run(); + + // The run() call will not return until all work has finished. + ASIO_CHECK(ioc.stopped()); + ASIO_CHECK(count == 1); + + count = 0; + ioc.restart(); + ioc.post(bindns::bind(increment, &count)); + ioc.post(bindns::bind(increment, &count)); + ioc.post(bindns::bind(increment, &count)); + ioc.post(bindns::bind(increment, &count)); + ioc.post(bindns::bind(increment, &count)); + + // No handlers can be called until run() is called. + ASIO_CHECK(!ioc.stopped()); + ASIO_CHECK(count == 0); + + ioc.run(); + + // The run() call will not return until all work has finished. + ASIO_CHECK(ioc.stopped()); + ASIO_CHECK(count == 5); + + count = 0; + ioc.restart(); + io_context::work* w = new io_context::work(ioc); + ioc.post(bindns::bind(&io_context::stop, &ioc)); + ASIO_CHECK(!ioc.stopped()); + ioc.run(); + + // The only operation executed should have been to stop run(). + ASIO_CHECK(ioc.stopped()); + ASIO_CHECK(count == 0); + + ioc.restart(); + ioc.post(bindns::bind(increment, &count)); + delete w; + + // No handlers can be called until run() is called. + ASIO_CHECK(!ioc.stopped()); + ASIO_CHECK(count == 0); + + ioc.run(); + + // The run() call will not return until all work has finished. + ASIO_CHECK(ioc.stopped()); + ASIO_CHECK(count == 1); + + count = 10; + ioc.restart(); + ioc.post(bindns::bind(decrement_to_zero, &ioc, &count)); + + // No handlers can be called until run() is called. + ASIO_CHECK(!ioc.stopped()); + ASIO_CHECK(count == 10); + + ioc.run(); + + // The run() call will not return until all work has finished. + ASIO_CHECK(ioc.stopped()); + ASIO_CHECK(count == 0); + + count = 10; + ioc.restart(); + ioc.post(bindns::bind(nested_decrement_to_zero, &ioc, &count)); + + // No handlers can be called until run() is called. + ASIO_CHECK(!ioc.stopped()); + ASIO_CHECK(count == 10); + + ioc.run(); + + // The run() call will not return until all work has finished. + ASIO_CHECK(ioc.stopped()); + ASIO_CHECK(count == 0); + + count = 10; + ioc.restart(); + ioc.dispatch(bindns::bind(nested_decrement_to_zero, &ioc, &count)); + + // No handlers can be called until run() is called, even though nested + // delivery was specifically allowed in the previous call. + ASIO_CHECK(!ioc.stopped()); + ASIO_CHECK(count == 10); + + ioc.run(); + + // The run() call will not return until all work has finished. + ASIO_CHECK(ioc.stopped()); + ASIO_CHECK(count == 0); + + count = 0; + int count2 = 0; + ioc.restart(); + ASIO_CHECK(!ioc.stopped()); + ioc.post(bindns::bind(start_sleep_increments, &ioc, &count)); + ioc.post(bindns::bind(start_sleep_increments, &ioc, &count2)); + thread thread1(bindns::bind(io_context_run, &ioc)); + thread thread2(bindns::bind(io_context_run, &ioc)); + thread1.join(); + thread2.join(); + + // The run() calls will not return until all work has finished. + ASIO_CHECK(ioc.stopped()); + ASIO_CHECK(count == 3); + ASIO_CHECK(count2 == 3); + + count = 10; + io_context ioc2; + ioc.dispatch(ioc2.wrap(bindns::bind(decrement_to_zero, &ioc2, &count))); + ioc.restart(); + ASIO_CHECK(!ioc.stopped()); + ioc.run(); + + // No decrement_to_zero handlers can be called until run() is called on the + // second io_context object. + ASIO_CHECK(ioc.stopped()); + ASIO_CHECK(count == 10); + + ioc2.run(); + + // The run() call will not return until all work has finished. + ASIO_CHECK(count == 0); + + count = 0; + int exception_count = 0; + ioc.restart(); + ioc.post(&throw_exception); + ioc.post(bindns::bind(increment, &count)); + ioc.post(bindns::bind(increment, &count)); + ioc.post(&throw_exception); + ioc.post(bindns::bind(increment, &count)); + + // No handlers can be called until run() is called. + ASIO_CHECK(!ioc.stopped()); + ASIO_CHECK(count == 0); + ASIO_CHECK(exception_count == 0); + + for (;;) + { + try + { + ioc.run(); + break; + } + catch (int) + { + ++exception_count; + } + } + + // The run() calls will not return until all work has finished. + ASIO_CHECK(ioc.stopped()); + ASIO_CHECK(count == 3); + ASIO_CHECK(exception_count == 2); +} + +class test_service : public asio::io_context::service +{ +public: + static asio::io_context::id id; + test_service(asio::io_context& s) + : asio::io_context::service(s) {} +private: + virtual void shutdown_service() {} +}; + +asio::io_context::id test_service::id; + +void io_context_service_test() +{ + asio::io_context ioc1; + asio::io_context ioc2; + asio::io_context ioc3; + + // Implicit service registration. + + asio::use_service<test_service>(ioc1); + + ASIO_CHECK(asio::has_service<test_service>(ioc1)); + + test_service* svc1 = new test_service(ioc1); + try + { + asio::add_service(ioc1, svc1); + ASIO_ERROR("add_service did not throw"); + } + catch (asio::service_already_exists&) + { + } + delete svc1; + + // Explicit service registration. + + test_service* svc2 = new test_service(ioc2); + asio::add_service(ioc2, svc2); + + ASIO_CHECK(asio::has_service<test_service>(ioc2)); + ASIO_CHECK(&asio::use_service<test_service>(ioc2) == svc2); + + test_service* svc3 = new test_service(ioc2); + try + { + asio::add_service(ioc2, svc3); + ASIO_ERROR("add_service did not throw"); + } + catch (asio::service_already_exists&) + { + } + delete svc3; + + // Explicit registration with invalid owner. + + test_service* svc4 = new test_service(ioc2); + try + { + asio::add_service(ioc3, svc4); + ASIO_ERROR("add_service did not throw"); + } + catch (asio::invalid_service_owner&) + { + } + delete svc4; + + ASIO_CHECK(!asio::has_service<test_service>(ioc3)); +} + +ASIO_TEST_SUITE +( + "io_context", + ASIO_TEST_CASE(io_context_test) + ASIO_TEST_CASE(io_context_service_test) +)
diff --git a/asio/src/tests/unit/io_service.cpp b/asio/src/tests/unit/io_service.cpp deleted file mode 100644 index 1da553b..0000000 --- a/asio/src/tests/unit/io_service.cpp +++ /dev/null
@@ -1,359 +0,0 @@ -// -// io_service.cpp -// ~~~~~~~~~~~~~~ -// -// Copyright (c) 2003-2015 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) -// - -// Disable autolinking for unit tests. -#if !defined(BOOST_ALL_NO_LIB) -#define BOOST_ALL_NO_LIB 1 -#endif // !defined(BOOST_ALL_NO_LIB) - -// Test that header file is self-contained. -#include "asio/io_service.hpp" - -#include <sstream> -#include "asio/thread.hpp" -#include "unit_test.hpp" - -#if defined(ASIO_HAS_BOOST_DATE_TIME) -# include "asio/deadline_timer.hpp" -#else // defined(ASIO_HAS_BOOST_DATE_TIME) -# include "asio/steady_timer.hpp" -#endif // defined(ASIO_HAS_BOOST_DATE_TIME) - -#if defined(ASIO_HAS_BOOST_BIND) -# include <boost/bind.hpp> -#else // defined(ASIO_HAS_BOOST_BIND) -# include <functional> -#endif // defined(ASIO_HAS_BOOST_BIND) - -using namespace asio; - -#if defined(ASIO_HAS_BOOST_BIND) -namespace bindns = boost; -#else // defined(ASIO_HAS_BOOST_BIND) -namespace bindns = std; -#endif - -#if defined(ASIO_HAS_BOOST_DATE_TIME) -typedef deadline_timer timer; -namespace chronons = boost::posix_time; -#elif defined(ASIO_HAS_STD_CHRONO) -typedef steady_timer timer; -namespace chronons = std::chrono; -#elif defined(ASIO_HAS_BOOST_CHRONO) -typedef steady_timer timer; -namespace chronons = boost::chrono; -#endif // defined(ASIO_HAS_BOOST_DATE_TIME) - -void increment(int* count) -{ - ++(*count); -} - -void decrement_to_zero(io_service* ios, int* count) -{ - if (*count > 0) - { - --(*count); - - int before_value = *count; - ios->post(bindns::bind(decrement_to_zero, ios, count)); - - // Handler execution cannot nest, so count value should remain unchanged. - ASIO_CHECK(*count == before_value); - } -} - -void nested_decrement_to_zero(io_service* ios, int* count) -{ - if (*count > 0) - { - --(*count); - - ios->dispatch(bindns::bind(nested_decrement_to_zero, ios, count)); - - // Handler execution is nested, so count value should now be zero. - ASIO_CHECK(*count == 0); - } -} - -void sleep_increment(io_service* ios, int* count) -{ - timer t(*ios, chronons::seconds(2)); - t.wait(); - - if (++(*count) < 3) - ios->post(bindns::bind(sleep_increment, ios, count)); -} - -void start_sleep_increments(io_service* ios, int* count) -{ - // Give all threads a chance to start. - timer t(*ios, chronons::seconds(2)); - t.wait(); - - // Start the first of three increments. - ios->post(bindns::bind(sleep_increment, ios, count)); -} - -void throw_exception() -{ - throw 1; -} - -void io_service_run(io_service* ios) -{ - ios->run(); -} - -void io_service_test() -{ - io_service ios; - int count = 0; - - ios.post(bindns::bind(increment, &count)); - - // No handlers can be called until run() is called. - ASIO_CHECK(!ios.stopped()); - ASIO_CHECK(count == 0); - - ios.run(); - - // The run() call will not return until all work has finished. - ASIO_CHECK(ios.stopped()); - ASIO_CHECK(count == 1); - - count = 0; - ios.restart(); - ios.post(bindns::bind(increment, &count)); - ios.post(bindns::bind(increment, &count)); - ios.post(bindns::bind(increment, &count)); - ios.post(bindns::bind(increment, &count)); - ios.post(bindns::bind(increment, &count)); - - // No handlers can be called until run() is called. - ASIO_CHECK(!ios.stopped()); - ASIO_CHECK(count == 0); - - ios.run(); - - // The run() call will not return until all work has finished. - ASIO_CHECK(ios.stopped()); - ASIO_CHECK(count == 5); - - count = 0; - ios.restart(); - io_service::work* w = new io_service::work(ios); - ios.post(bindns::bind(&io_service::stop, &ios)); - ASIO_CHECK(!ios.stopped()); - ios.run(); - - // The only operation executed should have been to stop run(). - ASIO_CHECK(ios.stopped()); - ASIO_CHECK(count == 0); - - ios.restart(); - ios.post(bindns::bind(increment, &count)); - delete w; - - // No handlers can be called until run() is called. - ASIO_CHECK(!ios.stopped()); - ASIO_CHECK(count == 0); - - ios.run(); - - // The run() call will not return until all work has finished. - ASIO_CHECK(ios.stopped()); - ASIO_CHECK(count == 1); - - count = 10; - ios.restart(); - ios.post(bindns::bind(decrement_to_zero, &ios, &count)); - - // No handlers can be called until run() is called. - ASIO_CHECK(!ios.stopped()); - ASIO_CHECK(count == 10); - - ios.run(); - - // The run() call will not return until all work has finished. - ASIO_CHECK(ios.stopped()); - ASIO_CHECK(count == 0); - - count = 10; - ios.restart(); - ios.post(bindns::bind(nested_decrement_to_zero, &ios, &count)); - - // No handlers can be called until run() is called. - ASIO_CHECK(!ios.stopped()); - ASIO_CHECK(count == 10); - - ios.run(); - - // The run() call will not return until all work has finished. - ASIO_CHECK(ios.stopped()); - ASIO_CHECK(count == 0); - - count = 10; - ios.restart(); - ios.dispatch(bindns::bind(nested_decrement_to_zero, &ios, &count)); - - // No handlers can be called until run() is called, even though nested - // delivery was specifically allowed in the previous call. - ASIO_CHECK(!ios.stopped()); - ASIO_CHECK(count == 10); - - ios.run(); - - // The run() call will not return until all work has finished. - ASIO_CHECK(ios.stopped()); - ASIO_CHECK(count == 0); - - count = 0; - int count2 = 0; - ios.restart(); - ASIO_CHECK(!ios.stopped()); - ios.post(bindns::bind(start_sleep_increments, &ios, &count)); - ios.post(bindns::bind(start_sleep_increments, &ios, &count2)); - thread thread1(bindns::bind(io_service_run, &ios)); - thread thread2(bindns::bind(io_service_run, &ios)); - thread1.join(); - thread2.join(); - - // The run() calls will not return until all work has finished. - ASIO_CHECK(ios.stopped()); - ASIO_CHECK(count == 3); - ASIO_CHECK(count2 == 3); - - count = 10; - io_service ios2; - ios.dispatch(ios2.wrap(bindns::bind(decrement_to_zero, &ios2, &count))); - ios.restart(); - ASIO_CHECK(!ios.stopped()); - ios.run(); - - // No decrement_to_zero handlers can be called until run() is called on the - // second io_service object. - ASIO_CHECK(ios.stopped()); - ASIO_CHECK(count == 10); - - ios2.run(); - - // The run() call will not return until all work has finished. - ASIO_CHECK(count == 0); - - count = 0; - int exception_count = 0; - ios.restart(); - ios.post(&throw_exception); - ios.post(bindns::bind(increment, &count)); - ios.post(bindns::bind(increment, &count)); - ios.post(&throw_exception); - ios.post(bindns::bind(increment, &count)); - - // No handlers can be called until run() is called. - ASIO_CHECK(!ios.stopped()); - ASIO_CHECK(count == 0); - ASIO_CHECK(exception_count == 0); - - for (;;) - { - try - { - ios.run(); - break; - } - catch (int) - { - ++exception_count; - } - } - - // The run() calls will not return until all work has finished. - ASIO_CHECK(ios.stopped()); - ASIO_CHECK(count == 3); - ASIO_CHECK(exception_count == 2); -} - -class test_service : public asio::io_service::service -{ -public: - static asio::io_service::id id; - test_service(asio::io_service& s) - : asio::io_service::service(s) {} -private: - virtual void shutdown_service() {} -}; - -asio::io_service::id test_service::id; - -void io_service_service_test() -{ - asio::io_service ios1; - asio::io_service ios2; - asio::io_service ios3; - - // Implicit service registration. - - asio::use_service<test_service>(ios1); - - ASIO_CHECK(asio::has_service<test_service>(ios1)); - - test_service* svc1 = new test_service(ios1); - try - { - asio::add_service(ios1, svc1); - ASIO_ERROR("add_service did not throw"); - } - catch (asio::service_already_exists&) - { - } - delete svc1; - - // Explicit service registration. - - test_service* svc2 = new test_service(ios2); - asio::add_service(ios2, svc2); - - ASIO_CHECK(asio::has_service<test_service>(ios2)); - ASIO_CHECK(&asio::use_service<test_service>(ios2) == svc2); - - test_service* svc3 = new test_service(ios2); - try - { - asio::add_service(ios2, svc3); - ASIO_ERROR("add_service did not throw"); - } - catch (asio::service_already_exists&) - { - } - delete svc3; - - // Explicit registration with invalid owner. - - test_service* svc4 = new test_service(ios2); - try - { - asio::add_service(ios3, svc4); - ASIO_ERROR("add_service did not throw"); - } - catch (asio::invalid_service_owner&) - { - } - delete svc4; - - ASIO_CHECK(!asio::has_service<test_service>(ios3)); -} - -ASIO_TEST_SUITE -( - "io_service", - ASIO_TEST_CASE(io_service_test) - ASIO_TEST_CASE(io_service_service_test) -)
diff --git a/asio/src/tests/unit/ip/icmp.cpp b/asio/src/tests/unit/ip/icmp.cpp index 5606995..783d9a8 100644 --- a/asio/src/tests/unit/ip/icmp.cpp +++ b/asio/src/tests/unit/ip/icmp.cpp
@@ -17,7 +17,7 @@ #include "asio/ip/icmp.hpp" #include <cstring> -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #include "asio/placeholders.hpp" #include "../unit_test.hpp" #include "../archetypes/gettable_socket_option.hpp" @@ -74,7 +74,7 @@ try { - io_service ios; + io_context ioc; char mutable_char_buffer[128] = ""; const char const_char_buffer[128] = ""; socket_base::message_flags in_flags = 0; @@ -90,15 +90,15 @@ // basic_datagram_socket constructors. - ip::icmp::socket socket1(ios); - ip::icmp::socket socket2(ios, ip::icmp::v4()); - ip::icmp::socket socket3(ios, ip::icmp::v6()); - ip::icmp::socket socket4(ios, ip::icmp::endpoint(ip::icmp::v4(), 0)); - ip::icmp::socket socket5(ios, ip::icmp::endpoint(ip::icmp::v6(), 0)); + ip::icmp::socket socket1(ioc); + ip::icmp::socket socket2(ioc, ip::icmp::v4()); + ip::icmp::socket socket3(ioc, ip::icmp::v6()); + ip::icmp::socket socket4(ioc, ip::icmp::endpoint(ip::icmp::v4(), 0)); + ip::icmp::socket socket5(ioc, ip::icmp::endpoint(ip::icmp::v6(), 0)); #if !defined(ASIO_WINDOWS_RUNTIME) ip::icmp::socket::native_handle_type native_socket1 = ::socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP); - ip::icmp::socket socket6(ios, ip::icmp::v4(), native_socket1); + ip::icmp::socket socket6(ioc, ip::icmp::v4(), native_socket1); #endif // !defined(ASIO_WINDOWS_RUNTIME) #if defined(ASIO_HAS_MOVE) @@ -108,14 +108,14 @@ // basic_datagram_socket operators. #if defined(ASIO_HAS_MOVE) - socket1 = ip::icmp::socket(ios); + socket1 = ip::icmp::socket(ioc); socket1 = std::move(socket2); #endif // defined(ASIO_HAS_MOVE) // basic_io_object functions. - io_service& ios_ref = socket1.get_io_service(); - (void)ios_ref; + io_context& ioc_ref = socket1.get_io_context(); + (void)ioc_ref; // basic_socket functions. @@ -434,7 +434,7 @@ try { - io_service ios; + io_context ioc; archetypes::lazy_handler lazy; asio::error_code ec; ip::icmp::resolver::query q(ip::icmp::v4(), "localhost", "0"); @@ -442,12 +442,12 @@ // basic_resolver constructors. - ip::icmp::resolver resolver(ios); + ip::icmp::resolver resolver(ioc); // basic_io_object functions. - io_service& ios_ref = resolver.get_io_service(); - (void)ios_ref; + io_context& ioc_ref = resolver.get_io_context(); + (void)ioc_ref; // basic_resolver functions.
diff --git a/asio/src/tests/unit/ip/multicast.cpp b/asio/src/tests/unit/ip/multicast.cpp index b651b27..a52bc77 100644 --- a/asio/src/tests/unit/ip/multicast.cpp +++ b/asio/src/tests/unit/ip/multicast.cpp
@@ -16,7 +16,7 @@ // Test that header file is self-contained. #include "asio/ip/multicast.hpp" -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #include "asio/ip/udp.hpp" #include "../unit_test.hpp" @@ -36,8 +36,8 @@ try { - io_service ios; - ip::udp::socket sock(ios); + io_context ioc; + ip::udp::socket sock(ioc); const ip::address address; const ip::address_v4 address_v4; const ip::address_v6 address_v6; @@ -116,17 +116,17 @@ using namespace asio; namespace ip = asio::ip; - io_service ios; + io_context ioc; asio::error_code ec; ip::udp::endpoint ep_v4(ip::address_v4::loopback(), 0); - ip::udp::socket sock_v4(ios); + ip::udp::socket sock_v4(ioc); sock_v4.open(ep_v4.protocol(), ec); sock_v4.bind(ep_v4, ec); bool have_v4 = !ec; ip::udp::endpoint ep_v6(ip::address_v6::loopback(), 0); - ip::udp::socket sock_v6(ios); + ip::udp::socket sock_v6(ioc); sock_v6.open(ep_v6.protocol(), ec); sock_v6.bind(ep_v6, ec); bool have_v6 = !ec;
diff --git a/asio/src/tests/unit/ip/tcp.cpp b/asio/src/tests/unit/ip/tcp.cpp index cec36b7..fde7d22 100644 --- a/asio/src/tests/unit/ip/tcp.cpp +++ b/asio/src/tests/unit/ip/tcp.cpp
@@ -20,7 +20,7 @@ #include "asio/ip/tcp.hpp" #include <cstring> -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #include "asio/read.hpp" #include "asio/write.hpp" #include "../unit_test.hpp" @@ -57,8 +57,8 @@ try { - io_service ios; - ip::tcp::socket sock(ios); + io_context ioc; + ip::tcp::socket sock(ioc); // no_delay class. @@ -91,8 +91,8 @@ using namespace asio; namespace ip = asio::ip; - io_service ios; - ip::tcp::socket sock(ios, ip::tcp::v4()); + io_context ioc; + ip::tcp::socket sock(ioc, ip::tcp::v4()); asio::error_code ec; // no_delay class. @@ -216,7 +216,7 @@ try { - io_service ios; + io_context ioc; char mutable_char_buffer[128] = ""; const char const_char_buffer[128] = ""; array<asio::mutable_buffer, 2> mutable_buffers = {{ @@ -238,15 +238,15 @@ // basic_stream_socket constructors. - ip::tcp::socket socket1(ios); - ip::tcp::socket socket2(ios, ip::tcp::v4()); - ip::tcp::socket socket3(ios, ip::tcp::v6()); - ip::tcp::socket socket4(ios, ip::tcp::endpoint(ip::tcp::v4(), 0)); - ip::tcp::socket socket5(ios, ip::tcp::endpoint(ip::tcp::v6(), 0)); + ip::tcp::socket socket1(ioc); + ip::tcp::socket socket2(ioc, ip::tcp::v4()); + ip::tcp::socket socket3(ioc, ip::tcp::v6()); + ip::tcp::socket socket4(ioc, ip::tcp::endpoint(ip::tcp::v4(), 0)); + ip::tcp::socket socket5(ioc, ip::tcp::endpoint(ip::tcp::v6(), 0)); #if !defined(ASIO_WINDOWS_RUNTIME) ip::tcp::socket::native_handle_type native_socket1 = ::socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); - ip::tcp::socket socket6(ios, ip::tcp::v4(), native_socket1); + ip::tcp::socket socket6(ioc, ip::tcp::v4(), native_socket1); #endif // !defined(ASIO_WINDOWS_RUNTIME) #if defined(ASIO_HAS_MOVE) @@ -256,14 +256,14 @@ // basic_stream_socket operators. #if defined(ASIO_HAS_MOVE) - socket1 = ip::tcp::socket(ios); + socket1 = ip::tcp::socket(ioc); socket1 = std::move(socket2); #endif // defined(ASIO_HAS_MOVE) // basic_io_object functions. - io_service& ios_ref = socket1.get_io_service(); - (void)ios_ref; + io_context& ioc_ref = socket1.get_io_context(); + (void)ioc_ref; ip::tcp::socket::executor_type ex = socket1.get_executor(); (void)ex; @@ -581,14 +581,14 @@ using std::placeholders::_2; #endif // defined(ASIO_HAS_BOOST_BIND) - io_service ios; + io_context ioc; - ip::tcp::acceptor acceptor(ios, ip::tcp::endpoint(ip::tcp::v4(), 0)); + ip::tcp::acceptor acceptor(ioc, ip::tcp::endpoint(ip::tcp::v4(), 0)); ip::tcp::endpoint server_endpoint = acceptor.local_endpoint(); server_endpoint.address(ip::address_v4::loopback()); - ip::tcp::socket client_side_socket(ios); - ip::tcp::socket server_side_socket(ios); + ip::tcp::socket client_side_socket(ioc); + ip::tcp::socket server_side_socket(ioc); client_side_socket.connect(server_endpoint); acceptor.accept(server_side_socket); @@ -601,7 +601,7 @@ bindns::bind(handle_read_noop, _1, _2, &read_noop_completed)); - ios.run(); + ioc.run(); ASIO_CHECK(read_noop_completed); // No-op write. @@ -612,8 +612,8 @@ bindns::bind(handle_write_noop, _1, _2, &write_noop_completed)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(write_noop_completed); // Read and write to transfer data. @@ -631,8 +631,8 @@ bindns::bind(handle_write, _1, _2, &write_completed)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(read_completed); ASIO_CHECK(write_completed); ASIO_CHECK(memcmp(read_buffer, write_data, sizeof(write_data)) == 0); @@ -645,14 +645,14 @@ bindns::bind(handle_read_cancel, _1, _2, &read_cancel_completed)); - ios.restart(); - ios.poll(); + ioc.restart(); + ioc.poll(); ASIO_CHECK(!read_cancel_completed); server_side_socket.cancel(); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(read_cancel_completed); // A read when the peer closes socket should fail with eof. @@ -665,8 +665,8 @@ server_side_socket.close(); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(read_eof_completed); } @@ -721,8 +721,8 @@ try { - io_service ios; - ip::tcp::socket peer_socket(ios); + io_context ioc; + ip::tcp::socket peer_socket(ioc); ip::tcp::endpoint peer_endpoint; archetypes::settable_socket_option<void> settable_socket_option1; archetypes::settable_socket_option<int> settable_socket_option2; @@ -736,15 +736,15 @@ // basic_socket_acceptor constructors. - ip::tcp::acceptor acceptor1(ios); - ip::tcp::acceptor acceptor2(ios, ip::tcp::v4()); - ip::tcp::acceptor acceptor3(ios, ip::tcp::v6()); - ip::tcp::acceptor acceptor4(ios, ip::tcp::endpoint(ip::tcp::v4(), 0)); - ip::tcp::acceptor acceptor5(ios, ip::tcp::endpoint(ip::tcp::v6(), 0)); + ip::tcp::acceptor acceptor1(ioc); + ip::tcp::acceptor acceptor2(ioc, ip::tcp::v4()); + ip::tcp::acceptor acceptor3(ioc, ip::tcp::v6()); + ip::tcp::acceptor acceptor4(ioc, ip::tcp::endpoint(ip::tcp::v4(), 0)); + ip::tcp::acceptor acceptor5(ioc, ip::tcp::endpoint(ip::tcp::v6(), 0)); #if !defined(ASIO_WINDOWS_RUNTIME) ip::tcp::acceptor::native_handle_type native_acceptor1 = ::socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); - ip::tcp::acceptor acceptor6(ios, ip::tcp::v4(), native_acceptor1); + ip::tcp::acceptor acceptor6(ioc, ip::tcp::v4(), native_acceptor1); #endif // !defined(ASIO_WINDOWS_RUNTIME) #if defined(ASIO_HAS_MOVE) @@ -754,14 +754,14 @@ // basic_socket_acceptor operators. #if defined(ASIO_HAS_MOVE) - acceptor1 = ip::tcp::acceptor(ios); + acceptor1 = ip::tcp::acceptor(ioc); acceptor1 = std::move(acceptor2); #endif // defined(ASIO_HAS_MOVE) // basic_io_object functions. - io_service& ios_ref = acceptor1.get_io_service(); - (void)ios_ref; + io_context& ioc_ref = acceptor1.get_io_context(); + (void)ioc_ref; // basic_socket_acceptor functions. @@ -841,9 +841,9 @@ #if defined(ASIO_HAS_MOVE) peer_socket = acceptor1.accept(); - peer_socket = acceptor1.accept(ios); + peer_socket = acceptor1.accept(ioc); peer_socket = acceptor1.accept(peer_endpoint); - peer_socket = acceptor1.accept(ios, peer_endpoint); + peer_socket = acceptor1.accept(ioc, peer_endpoint); (void)peer_socket; #endif // defined(ASIO_HAS_MOVE) @@ -856,9 +856,9 @@ #if defined(ASIO_HAS_MOVE) acceptor1.async_accept(move_accept_handler()); - acceptor1.async_accept(ios, move_accept_handler()); + acceptor1.async_accept(ioc, move_accept_handler()); acceptor1.async_accept(peer_endpoint, move_accept_handler()); - acceptor1.async_accept(ios, peer_endpoint, move_accept_handler()); + acceptor1.async_accept(ioc, peer_endpoint, move_accept_handler()); #endif // defined(ASIO_HAS_MOVE) } catch (std::exception&) @@ -892,14 +892,14 @@ using namespace asio; namespace ip = asio::ip; - io_service ios; + io_context ioc; - ip::tcp::acceptor acceptor(ios, ip::tcp::endpoint(ip::tcp::v4(), 0)); + ip::tcp::acceptor acceptor(ioc, ip::tcp::endpoint(ip::tcp::v4(), 0)); ip::tcp::endpoint server_endpoint = acceptor.local_endpoint(); server_endpoint.address(ip::address_v4::loopback()); - ip::tcp::socket client_side_socket(ios); - ip::tcp::socket server_side_socket(ios); + ip::tcp::socket client_side_socket(ioc); + ip::tcp::socket server_side_socket(ioc); client_side_socket.connect(server_endpoint); acceptor.accept(server_side_socket); @@ -926,7 +926,7 @@ acceptor.async_accept(server_side_socket, &handle_accept); client_side_socket.async_connect(server_endpoint, &handle_connect); - ios.run(); + ioc.run(); client_side_socket.close(); server_side_socket.close(); @@ -934,8 +934,8 @@ acceptor.async_accept(server_side_socket, client_endpoint, &handle_accept); client_side_socket.async_connect(server_endpoint, &handle_connect); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); client_side_local_endpoint = client_side_socket.local_endpoint(); ASIO_CHECK(client_side_local_endpoint.port() == client_endpoint.port()); @@ -975,7 +975,7 @@ try { - io_service ios; + io_context ioc; archetypes::lazy_handler lazy; asio::error_code ec; ip::tcp::resolver::query q(ip::tcp::v4(), "localhost", "0"); @@ -983,12 +983,12 @@ // basic_resolver constructors. - ip::tcp::resolver resolver(ios); + ip::tcp::resolver resolver(ioc); // basic_io_object functions. - io_service& ios_ref = resolver.get_io_service(); - (void)ios_ref; + io_context& ioc_ref = resolver.get_io_context(); + (void)ioc_ref; // basic_resolver functions.
diff --git a/asio/src/tests/unit/ip/udp.cpp b/asio/src/tests/unit/ip/udp.cpp index 9ee2f9b..56c8b6b 100644 --- a/asio/src/tests/unit/ip/udp.cpp +++ b/asio/src/tests/unit/ip/udp.cpp
@@ -17,7 +17,7 @@ #include "asio/ip/udp.hpp" #include <cstring> -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #include "../unit_test.hpp" #include "../archetypes/gettable_socket_option.hpp" #include "../archetypes/async_result.hpp" @@ -90,7 +90,7 @@ try { - io_service ios; + io_context ioc; char mutable_char_buffer[128] = ""; const char const_char_buffer[128] = ""; socket_base::message_flags in_flags = 0; @@ -106,15 +106,15 @@ // basic_datagram_socket constructors. - ip::udp::socket socket1(ios); - ip::udp::socket socket2(ios, ip::udp::v4()); - ip::udp::socket socket3(ios, ip::udp::v6()); - ip::udp::socket socket4(ios, ip::udp::endpoint(ip::udp::v4(), 0)); - ip::udp::socket socket5(ios, ip::udp::endpoint(ip::udp::v6(), 0)); + ip::udp::socket socket1(ioc); + ip::udp::socket socket2(ioc, ip::udp::v4()); + ip::udp::socket socket3(ioc, ip::udp::v6()); + ip::udp::socket socket4(ioc, ip::udp::endpoint(ip::udp::v4(), 0)); + ip::udp::socket socket5(ioc, ip::udp::endpoint(ip::udp::v6(), 0)); #if !defined(ASIO_WINDOWS_RUNTIME) ip::udp::socket::native_handle_type native_socket1 = ::socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP); - ip::udp::socket socket6(ios, ip::udp::v4(), native_socket1); + ip::udp::socket socket6(ioc, ip::udp::v4(), native_socket1); #endif // !defined(ASIO_WINDOWS_RUNTIME) #if defined(ASIO_HAS_MOVE) @@ -124,14 +124,14 @@ // basic_datagram_socket operators. #if defined(ASIO_HAS_MOVE) - socket1 = ip::udp::socket(ios); + socket1 = ip::udp::socket(ioc); socket1 = std::move(socket2); #endif // defined(ASIO_HAS_MOVE) // basic_io_object functions. - io_service& ios_ref = socket1.get_io_service(); - (void)ios_ref; + io_context& ioc_ref = socket1.get_io_context(); + (void)ioc_ref; ip::udp::socket::executor_type ex = socket1.get_executor(); (void)ex; @@ -468,13 +468,13 @@ using std::placeholders::_2; #endif // defined(ASIO_HAS_BOOST_BIND) - io_service ios; + io_context ioc; - ip::udp::socket s1(ios, ip::udp::endpoint(ip::udp::v4(), 0)); + ip::udp::socket s1(ioc, ip::udp::endpoint(ip::udp::v4(), 0)); ip::udp::endpoint target_endpoint = s1.local_endpoint(); target_endpoint.address(ip::address_v4::loopback()); - ip::udp::socket s2(ios); + ip::udp::socket s2(ioc); s2.open(ip::udp::v4()); s2.bind(ip::udp::endpoint(ip::udp::v4(), 0)); char send_msg[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; @@ -496,7 +496,7 @@ s2.async_receive_from(buffer(recv_msg, sizeof(recv_msg)), sender_endpoint, bindns::bind(handle_recv, sizeof(recv_msg), _1, _2)); - ios.run(); + ioc.run(); ASIO_CHECK(memcmp(send_msg, recv_msg, sizeof(send_msg)) == 0); } @@ -531,7 +531,7 @@ try { - io_service ios; + io_context ioc; archetypes::lazy_handler lazy; asio::error_code ec; ip::udp::resolver::query q(ip::udp::v4(), "localhost", "0"); @@ -539,12 +539,12 @@ // basic_resolver constructors. - ip::udp::resolver resolver(ios); + ip::udp::resolver resolver(ioc); // basic_io_object functions. - io_service& ios_ref = resolver.get_io_service(); - (void)ios_ref; + io_context& ioc_ref = resolver.get_io_context(); + (void)ioc_ref; // basic_resolver functions.
diff --git a/asio/src/tests/unit/ip/unicast.cpp b/asio/src/tests/unit/ip/unicast.cpp index 0382d7c..cdf669b 100644 --- a/asio/src/tests/unit/ip/unicast.cpp +++ b/asio/src/tests/unit/ip/unicast.cpp
@@ -16,7 +16,7 @@ // Test that header file is self-contained. #include "asio/ip/unicast.hpp" -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #include "asio/ip/udp.hpp" #include "../unit_test.hpp" @@ -36,8 +36,8 @@ try { - io_service ios; - ip::udp::socket sock(ios); + io_context ioc; + ip::udp::socket sock(ioc); // hops class. @@ -69,17 +69,17 @@ using namespace asio; namespace ip = asio::ip; - io_service ios; + io_context ioc; asio::error_code ec; ip::udp::endpoint ep_v4(ip::address_v4::loopback(), 0); - ip::udp::socket sock_v4(ios); + ip::udp::socket sock_v4(ioc); sock_v4.open(ep_v4.protocol(), ec); sock_v4.bind(ep_v4, ec); bool have_v4 = !ec; ip::udp::endpoint ep_v6(ip::address_v6::loopback(), 0); - ip::udp::socket sock_v6(ios); + ip::udp::socket sock_v6(ioc); sock_v6.open(ep_v6.protocol(), ec); sock_v6.bind(ep_v6, ec); bool have_v6 = !ec;
diff --git a/asio/src/tests/unit/ip/v6_only.cpp b/asio/src/tests/unit/ip/v6_only.cpp index ebb9e6e..de9827f 100644 --- a/asio/src/tests/unit/ip/v6_only.cpp +++ b/asio/src/tests/unit/ip/v6_only.cpp
@@ -16,7 +16,7 @@ // Test that header file is self-contained. #include "asio/ip/v6_only.hpp" -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #include "asio/ip/tcp.hpp" #include "asio/ip/udp.hpp" #include "../unit_test.hpp" @@ -37,8 +37,8 @@ try { - io_service ios; - ip::udp::socket sock(ios); + io_context ioc; + ip::udp::socket sock(ioc); // v6_only class. @@ -72,11 +72,11 @@ using namespace asio; namespace ip = asio::ip; - io_service ios; + io_context ioc; asio::error_code ec; ip::tcp::endpoint ep_v6(ip::address_v6::loopback(), 0); - ip::tcp::acceptor acceptor_v6(ios); + ip::tcp::acceptor acceptor_v6(ioc); acceptor_v6.open(ep_v6.protocol(), ec); acceptor_v6.bind(ep_v6, ec); bool have_v6 = !ec;
diff --git a/asio/src/tests/unit/is_read_buffered.cpp b/asio/src/tests/unit/is_read_buffered.cpp index a50dce8..ee23478 100644 --- a/asio/src/tests/unit/is_read_buffered.cpp +++ b/asio/src/tests/unit/is_read_buffered.cpp
@@ -18,7 +18,7 @@ #include "asio/buffered_read_stream.hpp" #include "asio/buffered_write_stream.hpp" -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #include "asio/ip/tcp.hpp" #include "unit_test.hpp" @@ -27,18 +27,18 @@ class test_stream { public: - typedef asio::io_service io_service_type; + typedef asio::io_context io_context_type; typedef test_stream lowest_layer_type; - test_stream(asio::io_service& io_service) - : io_service_(io_service) + test_stream(asio::io_context& io_context) + : io_context_(io_context) { } - io_service_type& io_service() + io_context_type& io_context() { - return io_service_; + return io_context_; } lowest_layer_type& lowest_layer() @@ -63,7 +63,7 @@ void async_write(const Const_Buffers&, Handler handler) { asio::error_code error; - io_service_.post(asio::detail::bind_handler(handler, error, 0)); + io_context_.post(asio::detail::bind_handler(handler, error, 0)); } template <typename Mutable_Buffers> @@ -83,11 +83,11 @@ void async_read(const Mutable_Buffers&, Handler handler) { asio::error_code error; - io_service_.post(asio::detail::bind_handler(handler, error, 0)); + io_context_.post(asio::detail::bind_handler(handler, error, 0)); } private: - io_service_type& io_service_; + io_context_type& io_context_; }; void is_read_buffered_test()
diff --git a/asio/src/tests/unit/is_write_buffered.cpp b/asio/src/tests/unit/is_write_buffered.cpp index be55209..3b26c27 100644 --- a/asio/src/tests/unit/is_write_buffered.cpp +++ b/asio/src/tests/unit/is_write_buffered.cpp
@@ -18,7 +18,7 @@ #include "asio/buffered_read_stream.hpp" #include "asio/buffered_write_stream.hpp" -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #include "asio/ip/tcp.hpp" #include "unit_test.hpp" @@ -27,18 +27,18 @@ class test_stream { public: - typedef asio::io_service io_service_type; + typedef asio::io_context io_context_type; typedef test_stream lowest_layer_type; - test_stream(asio::io_service& io_service) - : io_service_(io_service) + test_stream(asio::io_context& io_context) + : io_context_(io_context) { } - io_service_type& io_service() + io_context_type& io_context() { - return io_service_; + return io_context_; } lowest_layer_type& lowest_layer() @@ -63,7 +63,7 @@ void async_write(const Const_Buffers&, Handler handler) { asio::error_code error; - io_service_.post(asio::detail::bind_handler(handler, error, 0)); + io_context_.post(asio::detail::bind_handler(handler, error, 0)); } template <typename Mutable_Buffers> @@ -83,11 +83,11 @@ void async_read(const Mutable_Buffers&, Handler handler) { asio::error_code error; - io_service_.post(asio::detail::bind_handler(handler, error, 0)); + io_context_.post(asio::detail::bind_handler(handler, error, 0)); } private: - io_service_type& io_service_; + io_context_type& io_context_; }; void is_write_buffered_test()
diff --git a/asio/src/tests/unit/local/connect_pair.cpp b/asio/src/tests/unit/local/connect_pair.cpp index 6b85839..b1be11b 100644 --- a/asio/src/tests/unit/local/connect_pair.cpp +++ b/asio/src/tests/unit/local/connect_pair.cpp
@@ -16,7 +16,7 @@ // Test that header file is self-contained. #include "asio/local/connect_pair.hpp" -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #include "asio/local/datagram_protocol.hpp" #include "asio/local/stream_protocol.hpp" #include "../unit_test.hpp" @@ -40,24 +40,24 @@ try { - asio::io_service io_service; + asio::io_context io_context; asio::error_code ec1; asio::error_code ec2; - dp::socket s1(io_service); - dp::socket s2(io_service); + dp::socket s1(io_context); + dp::socket s2(io_context); local::connect_pair(s1, s2); - dp::socket s3(io_service); - dp::socket s4(io_service); + dp::socket s3(io_context); + dp::socket s4(io_context); ec1 = local::connect_pair(s3, s4, ec2); - sp::socket s5(io_service); - sp::socket s6(io_service); + sp::socket s5(io_context); + sp::socket s6(io_context); local::connect_pair(s5, s6); - sp::socket s7(io_service); - sp::socket s8(io_service); + sp::socket s7(io_context); + sp::socket s8(io_context); ec1 = local::connect_pair(s7, s8, ec2); } catch (std::exception&)
diff --git a/asio/src/tests/unit/local/datagram_protocol.cpp b/asio/src/tests/unit/local/datagram_protocol.cpp index 5c1839a..98446ab 100644 --- a/asio/src/tests/unit/local/datagram_protocol.cpp +++ b/asio/src/tests/unit/local/datagram_protocol.cpp
@@ -17,7 +17,7 @@ #include "asio/local/datagram_protocol.hpp" #include <cstring> -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #include "../unit_test.hpp" //------------------------------------------------------------------------------ @@ -51,7 +51,7 @@ try { - io_service ios; + io_context ioc; char mutable_char_buffer[128] = ""; const char const_char_buffer[128] = ""; socket_base::message_flags in_flags = 0; @@ -61,16 +61,16 @@ // basic_datagram_socket constructors. - dp::socket socket1(ios); - dp::socket socket2(ios, dp()); - dp::socket socket3(ios, dp::endpoint("")); + dp::socket socket1(ioc); + dp::socket socket2(ioc, dp()); + dp::socket socket3(ioc, dp::endpoint("")); int native_socket1 = ::socket(AF_UNIX, SOCK_DGRAM, 0); - dp::socket socket4(ios, dp(), native_socket1); + dp::socket socket4(ioc, dp(), native_socket1); // basic_io_object functions. - io_service& ios_ref = socket1.get_io_service(); - (void)ios_ref; + io_context& ioc_ref = socket1.get_io_context(); + (void)ioc_ref; // basic_socket functions.
diff --git a/asio/src/tests/unit/local/stream_protocol.cpp b/asio/src/tests/unit/local/stream_protocol.cpp index b0725dd..b8d3ff8 100644 --- a/asio/src/tests/unit/local/stream_protocol.cpp +++ b/asio/src/tests/unit/local/stream_protocol.cpp
@@ -17,7 +17,7 @@ #include "asio/local/stream_protocol.hpp" #include <cstring> -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #include "../unit_test.hpp" //------------------------------------------------------------------------------ @@ -59,7 +59,7 @@ try { - io_service ios; + io_context ioc; char mutable_char_buffer[128] = ""; const char const_char_buffer[128] = ""; socket_base::message_flags in_flags = 0; @@ -69,16 +69,16 @@ // basic_stream_socket constructors. - sp::socket socket1(ios); - sp::socket socket2(ios, sp()); - sp::socket socket3(ios, sp::endpoint("")); + sp::socket socket1(ioc); + sp::socket socket2(ioc, sp()); + sp::socket socket3(ioc, sp::endpoint("")); int native_socket1 = ::socket(AF_UNIX, SOCK_STREAM, 0); - sp::socket socket4(ios, sp(), native_socket1); + sp::socket socket4(ioc, sp(), native_socket1); // basic_io_object functions. - io_service& ios_ref = socket1.get_io_service(); - (void)ios_ref; + io_context& ioc_ref = socket1.get_io_context(); + (void)ioc_ref; // basic_socket functions.
diff --git a/asio/src/tests/unit/posix/stream_descriptor.cpp b/asio/src/tests/unit/posix/stream_descriptor.cpp index 24a5410..ce1c9ef 100644 --- a/asio/src/tests/unit/posix/stream_descriptor.cpp +++ b/asio/src/tests/unit/posix/stream_descriptor.cpp
@@ -16,7 +16,7 @@ // Test that header file is self-contained. #include "asio/posix/stream_descriptor.hpp" -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #include "../archetypes/async_result.hpp" #include "../unit_test.hpp" @@ -50,7 +50,7 @@ try { - io_service ios; + io_context ioc; char mutable_char_buffer[128] = ""; const char const_char_buffer[128] = ""; posix::descriptor_base::bytes_readable io_control_command; @@ -59,9 +59,9 @@ // basic_stream_descriptor constructors. - posix::stream_descriptor descriptor1(ios); + posix::stream_descriptor descriptor1(ioc); int native_descriptor1 = -1; - posix::stream_descriptor descriptor2(ios, native_descriptor1); + posix::stream_descriptor descriptor2(ioc, native_descriptor1); #if defined(ASIO_HAS_MOVE) posix::stream_descriptor descriptor3(std::move(descriptor2)); @@ -70,14 +70,14 @@ // basic_stream_descriptor operators. #if defined(ASIO_HAS_MOVE) - descriptor1 = posix::stream_descriptor(ios); + descriptor1 = posix::stream_descriptor(ioc); descriptor1 = std::move(descriptor2); #endif // defined(ASIO_HAS_MOVE) // basic_io_object functions. - io_service& ios_ref = descriptor1.get_io_service(); - (void)ios_ref; + io_context& ioc_ref = descriptor1.get_io_context(); + (void)ioc_ref; // basic_descriptor functions.
diff --git a/asio/src/tests/unit/read.cpp b/asio/src/tests/unit/read.cpp index 06b2cb8..872d111 100644 --- a/asio/src/tests/unit/read.cpp +++ b/asio/src/tests/unit/read.cpp
@@ -19,7 +19,7 @@ #include <cstring> #include <vector> #include "archetypes/async_result.hpp" -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #include "asio/post.hpp" #include "asio/streambuf.hpp" #include "unit_test.hpp" @@ -43,10 +43,10 @@ class test_stream { public: - typedef asio::io_service::executor_type executor_type; + typedef asio::io_context::executor_type executor_type; - test_stream(asio::io_service& io_service) - : io_service_(io_service), + test_stream(asio::io_context& io_context) + : io_context_(io_context), length_(0), position_(0), next_read_length_(0) @@ -55,7 +55,7 @@ executor_type get_executor() ASIO_NOEXCEPT { - return io_service_.get_executor(); + return io_context_.get_executor(); } void reset(const void* data, size_t length) @@ -125,7 +125,7 @@ } private: - asio::io_service& io_service_; + asio::io_context& io_context_; enum { max_length = 8192 }; char data_[max_length]; size_t length_; @@ -138,8 +138,8 @@ void test_2_arg_zero_buffers_read() { - asio::io_service ios; - test_stream s(ios); + asio::io_context ioc; + test_stream s(ioc); std::vector<asio::mutable_buffer> buffers; size_t bytes_transferred = asio::read(s, buffers); @@ -148,8 +148,8 @@ void test_2_arg_mutable_buffers_1_read() { - asio::io_service ios; - test_stream s(ios); + asio::io_context ioc; + test_stream s(ioc); char read_buf[sizeof(read_data)]; asio::mutable_buffers_1 buffers = asio::buffer(read_buf, sizeof(read_buf)); @@ -177,8 +177,8 @@ void test_2_arg_vector_buffers_read() { - asio::io_service ios; - test_stream s(ios); + asio::io_context ioc; + test_stream s(ioc); char read_buf[sizeof(read_data)]; std::vector<asio::mutable_buffer> buffers; buffers.push_back(asio::buffer(read_buf, 32)); @@ -207,8 +207,8 @@ void test_2_arg_streambuf_read() { - asio::io_service ios; - test_stream s(ios); + asio::io_context ioc; + test_stream s(ioc); asio::streambuf sb(sizeof(read_data)); s.reset(read_data, sizeof(read_data)); @@ -237,8 +237,8 @@ void test_3_arg_nothrow_zero_buffers_read() { - asio::io_service ios; - test_stream s(ios); + asio::io_context ioc; + test_stream s(ioc); std::vector<asio::mutable_buffer> buffers; asio::error_code error; @@ -249,8 +249,8 @@ void test_3_arg_nothrow_mutable_buffers_1_read() { - asio::io_service ios; - test_stream s(ios); + asio::io_context ioc; + test_stream s(ioc); char read_buf[sizeof(read_data)]; asio::mutable_buffers_1 buffers = asio::buffer(read_buf, sizeof(read_buf)); @@ -282,8 +282,8 @@ void test_3_arg_nothrow_vector_buffers_read() { - asio::io_service ios; - test_stream s(ios); + asio::io_context ioc; + test_stream s(ioc); char read_buf[sizeof(read_data)]; std::vector<asio::mutable_buffer> buffers; buffers.push_back(asio::buffer(read_buf, 32)); @@ -316,8 +316,8 @@ void test_3_arg_nothrow_streambuf_read() { - asio::io_service ios; - test_stream s(ios); + asio::io_context ioc; + test_stream s(ioc); asio::streambuf sb(sizeof(read_data)); s.reset(read_data, sizeof(read_data)); @@ -362,8 +362,8 @@ void test_3_arg_mutable_buffers_1_read() { - asio::io_service ios; - test_stream s(ios); + asio::io_context ioc; + test_stream s(ioc); char read_buf[sizeof(read_data)]; asio::mutable_buffers_1 buffers = asio::buffer(read_buf, sizeof(read_buf)); @@ -572,8 +572,8 @@ void test_3_arg_vector_buffers_read() { - asio::io_service ios; - test_stream s(ios); + asio::io_context ioc; + test_stream s(ioc); char read_buf[sizeof(read_data)]; std::vector<asio::mutable_buffer> buffers; buffers.push_back(asio::buffer(read_buf, 32)); @@ -783,8 +783,8 @@ void test_3_arg_streambuf_read() { - asio::io_service ios; - test_stream s(ios); + asio::io_context ioc; + test_stream s(ioc); asio::streambuf sb(sizeof(read_data)); s.reset(read_data, sizeof(read_data)); @@ -1018,8 +1018,8 @@ void test_4_arg_mutable_buffers_1_read() { - asio::io_service ios; - test_stream s(ios); + asio::io_context ioc; + test_stream s(ioc); char read_buf[sizeof(read_data)]; asio::mutable_buffers_1 buffers = asio::buffer(read_buf, sizeof(read_buf)); @@ -1283,8 +1283,8 @@ void test_4_arg_vector_buffers_read() { - asio::io_service ios; - test_stream s(ios); + asio::io_context ioc; + test_stream s(ioc); char read_buf[sizeof(read_data)]; std::vector<asio::mutable_buffer> buffers; buffers.push_back(asio::buffer(read_buf, 32)); @@ -1549,8 +1549,8 @@ void test_4_arg_streambuf_read() { - asio::io_service ios; - test_stream s(ios); + asio::io_context ioc; + test_stream s(ioc); asio::streambuf sb(sizeof(read_data)); s.reset(read_data, sizeof(read_data)); @@ -1855,8 +1855,8 @@ using std::placeholders::_2; #endif // defined(ASIO_HAS_BOOST_BIND) - asio::io_service ios; - test_stream s(ios); + asio::io_context ioc; + test_stream s(ioc); char read_buf[sizeof(read_data)]; asio::mutable_buffers_1 buffers = asio::buffer(read_buf, sizeof(read_buf)); @@ -1867,8 +1867,8 @@ asio::async_read(s, buffers, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data))); @@ -1879,8 +1879,8 @@ asio::async_read(s, buffers, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data))); @@ -1891,8 +1891,8 @@ asio::async_read(s, buffers, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data))); @@ -1900,8 +1900,8 @@ memset(read_buf, 0, sizeof(read_buf)); int i = asio::async_read(s, buffers, archetypes::lazy_handler()); ASIO_CHECK(i == 42); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data))); } @@ -1916,8 +1916,8 @@ #endif // defined(ASIO_HAS_BOOST_BIND) #if defined(ASIO_HAS_BOOST_ARRAY) - asio::io_service ios; - test_stream s(ios); + asio::io_context ioc; + test_stream s(ioc); char read_buf[sizeof(read_data)]; boost::array<asio::mutable_buffer, 2> buffers = { { asio::buffer(read_buf, 32), @@ -1929,8 +1929,8 @@ asio::async_read(s, buffers, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data))); @@ -1941,8 +1941,8 @@ asio::async_read(s, buffers, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data))); @@ -1953,8 +1953,8 @@ asio::async_read(s, buffers, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data))); @@ -1962,8 +1962,8 @@ memset(read_buf, 0, sizeof(read_buf)); int i = asio::async_read(s, buffers, archetypes::lazy_handler()); ASIO_CHECK(i == 42); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data))); #endif // defined(ASIO_HAS_BOOST_ARRAY) } @@ -1979,8 +1979,8 @@ #endif // defined(ASIO_HAS_BOOST_BIND) #if defined(ASIO_HAS_STD_ARRAY) - asio::io_service ios; - test_stream s(ios); + asio::io_context ioc; + test_stream s(ioc); char read_buf[sizeof(read_data)]; std::array<asio::mutable_buffer, 2> buffers = { { asio::buffer(read_buf, 32), @@ -1992,8 +1992,8 @@ asio::async_read(s, buffers, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data))); @@ -2004,8 +2004,8 @@ asio::async_read(s, buffers, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data))); @@ -2016,8 +2016,8 @@ asio::async_read(s, buffers, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data))); @@ -2025,8 +2025,8 @@ memset(read_buf, 0, sizeof(read_buf)); int i = asio::async_read(s, buffers, archetypes::lazy_handler()); ASIO_CHECK(i == 42); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data))); #endif // defined(ASIO_HAS_STD_ARRAY) } @@ -2041,8 +2041,8 @@ using std::placeholders::_2; #endif // defined(ASIO_HAS_BOOST_BIND) - asio::io_service ios; - test_stream s(ios); + asio::io_context ioc; + test_stream s(ioc); char read_buf[sizeof(read_data)]; std::vector<asio::mutable_buffer> buffers; buffers.push_back(asio::buffer(read_buf, 32)); @@ -2054,8 +2054,8 @@ asio::async_read(s, buffers, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data))); @@ -2066,8 +2066,8 @@ asio::async_read(s, buffers, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data))); @@ -2078,8 +2078,8 @@ asio::async_read(s, buffers, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data))); @@ -2087,8 +2087,8 @@ memset(read_buf, 0, sizeof(read_buf)); int i = asio::async_read(s, buffers, archetypes::lazy_handler()); ASIO_CHECK(i == 42); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data))); } @@ -2102,8 +2102,8 @@ using std::placeholders::_2; #endif // defined(ASIO_HAS_BOOST_BIND) - asio::io_service ios; - test_stream s(ios); + asio::io_context ioc; + test_stream s(ioc); asio::streambuf sb(sizeof(read_data)); s.reset(read_data, sizeof(read_data)); @@ -2112,8 +2112,8 @@ asio::async_read(s, sb, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == sizeof(read_data)); ASIO_CHECK(s.check_buffers(sb.data(), sizeof(read_data))); @@ -2125,8 +2125,8 @@ asio::async_read(s, sb, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == sizeof(read_data)); ASIO_CHECK(s.check_buffers(sb.data(), sizeof(read_data))); @@ -2138,8 +2138,8 @@ asio::async_read(s, sb, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == sizeof(read_data)); ASIO_CHECK(s.check_buffers(sb.data(), sizeof(read_data))); @@ -2148,8 +2148,8 @@ sb.consume(sb.size()); int i = asio::async_read(s, sb, archetypes::lazy_handler()); ASIO_CHECK(i == 42); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(sb.size() == sizeof(read_data)); ASIO_CHECK(s.check_buffers(sb.data(), sizeof(read_data))); } @@ -2164,8 +2164,8 @@ using std::placeholders::_2; #endif // defined(ASIO_HAS_BOOST_BIND) - asio::io_service ios; - test_stream s(ios); + asio::io_context ioc; + test_stream s(ioc); char read_buf[sizeof(read_data)]; asio::mutable_buffers_1 buffers = asio::buffer(read_buf, sizeof(read_buf)); @@ -2176,8 +2176,8 @@ asio::async_read(s, buffers, asio::transfer_all(), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data))); @@ -2188,8 +2188,8 @@ asio::async_read(s, buffers, asio::transfer_all(), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data))); @@ -2200,8 +2200,8 @@ asio::async_read(s, buffers, asio::transfer_all(), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data))); @@ -2211,8 +2211,8 @@ asio::async_read(s, buffers, asio::transfer_at_least(1), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data))); @@ -2223,8 +2223,8 @@ asio::async_read(s, buffers, asio::transfer_at_least(1), bindns::bind(async_read_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 1)); @@ -2235,8 +2235,8 @@ asio::async_read(s, buffers, asio::transfer_at_least(1), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 10)); @@ -2246,8 +2246,8 @@ asio::async_read(s, buffers, asio::transfer_at_least(10), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data))); @@ -2258,8 +2258,8 @@ asio::async_read(s, buffers, asio::transfer_at_least(10), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 10)); @@ -2270,8 +2270,8 @@ asio::async_read(s, buffers, asio::transfer_at_least(10), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 10)); @@ -2281,8 +2281,8 @@ asio::async_read(s, buffers, asio::transfer_at_least(42), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data))); @@ -2293,8 +2293,8 @@ asio::async_read(s, buffers, asio::transfer_at_least(42), bindns::bind(async_read_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 42)); @@ -2305,8 +2305,8 @@ asio::async_read(s, buffers, asio::transfer_at_least(42), bindns::bind(async_read_handler, _1, _2, 50, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 50)); @@ -2316,8 +2316,8 @@ asio::async_read(s, buffers, asio::transfer_exactly(1), bindns::bind(async_read_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 1)); @@ -2328,8 +2328,8 @@ asio::async_read(s, buffers, asio::transfer_exactly(1), bindns::bind(async_read_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 1)); @@ -2340,8 +2340,8 @@ asio::async_read(s, buffers, asio::transfer_exactly(1), bindns::bind(async_read_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 1)); @@ -2351,8 +2351,8 @@ asio::async_read(s, buffers, asio::transfer_exactly(10), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 10)); @@ -2363,8 +2363,8 @@ asio::async_read(s, buffers, asio::transfer_exactly(10), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 10)); @@ -2375,8 +2375,8 @@ asio::async_read(s, buffers, asio::transfer_exactly(10), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 10)); @@ -2386,8 +2386,8 @@ asio::async_read(s, buffers, asio::transfer_exactly(42), bindns::bind(async_read_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 42)); @@ -2398,8 +2398,8 @@ asio::async_read(s, buffers, asio::transfer_exactly(42), bindns::bind(async_read_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 42)); @@ -2410,8 +2410,8 @@ asio::async_read(s, buffers, asio::transfer_exactly(42), bindns::bind(async_read_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 42)); @@ -2421,8 +2421,8 @@ asio::async_read(s, buffers, old_style_transfer_all, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data))); @@ -2433,8 +2433,8 @@ asio::async_read(s, buffers, old_style_transfer_all, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data))); @@ -2445,8 +2445,8 @@ asio::async_read(s, buffers, old_style_transfer_all, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data))); @@ -2456,8 +2456,8 @@ asio::async_read(s, buffers, short_transfer, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data))); @@ -2468,8 +2468,8 @@ asio::async_read(s, buffers, short_transfer, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data))); @@ -2480,8 +2480,8 @@ asio::async_read(s, buffers, short_transfer, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data))); @@ -2490,8 +2490,8 @@ int i = asio::async_read(s, buffers, short_transfer, archetypes::lazy_handler()); ASIO_CHECK(i == 42); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data))); } @@ -2506,8 +2506,8 @@ #endif // defined(ASIO_HAS_BOOST_BIND) #if defined(ASIO_HAS_BOOST_ARRAY) - asio::io_service ios; - test_stream s(ios); + asio::io_context ioc; + test_stream s(ioc); char read_buf[sizeof(read_data)]; boost::array<asio::mutable_buffer, 2> buffers = { { asio::buffer(read_buf, 32), @@ -2519,8 +2519,8 @@ asio::async_read(s, buffers, asio::transfer_all(), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data))); @@ -2531,8 +2531,8 @@ asio::async_read(s, buffers, asio::transfer_all(), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data))); @@ -2543,8 +2543,8 @@ asio::async_read(s, buffers, asio::transfer_all(), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data))); @@ -2554,8 +2554,8 @@ asio::async_read(s, buffers, asio::transfer_at_least(1), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data))); @@ -2566,8 +2566,8 @@ asio::async_read(s, buffers, asio::transfer_at_least(1), bindns::bind(async_read_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 1)); @@ -2578,8 +2578,8 @@ asio::async_read(s, buffers, asio::transfer_at_least(1), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 10)); @@ -2589,8 +2589,8 @@ asio::async_read(s, buffers, asio::transfer_at_least(10), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data))); @@ -2601,8 +2601,8 @@ asio::async_read(s, buffers, asio::transfer_at_least(10), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 10)); @@ -2613,8 +2613,8 @@ asio::async_read(s, buffers, asio::transfer_at_least(10), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 10)); @@ -2624,8 +2624,8 @@ asio::async_read(s, buffers, asio::transfer_at_least(42), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data))); @@ -2636,8 +2636,8 @@ asio::async_read(s, buffers, asio::transfer_at_least(42), bindns::bind(async_read_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 42)); @@ -2648,8 +2648,8 @@ asio::async_read(s, buffers, asio::transfer_at_least(42), bindns::bind(async_read_handler, _1, _2, 50, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 50)); @@ -2659,8 +2659,8 @@ asio::async_read(s, buffers, asio::transfer_exactly(1), bindns::bind(async_read_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 1)); @@ -2671,8 +2671,8 @@ asio::async_read(s, buffers, asio::transfer_exactly(1), bindns::bind(async_read_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 1)); @@ -2683,8 +2683,8 @@ asio::async_read(s, buffers, asio::transfer_exactly(1), bindns::bind(async_read_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 1)); @@ -2694,8 +2694,8 @@ asio::async_read(s, buffers, asio::transfer_exactly(10), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 10)); @@ -2706,8 +2706,8 @@ asio::async_read(s, buffers, asio::transfer_exactly(10), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 10)); @@ -2718,8 +2718,8 @@ asio::async_read(s, buffers, asio::transfer_exactly(10), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 10)); @@ -2729,8 +2729,8 @@ asio::async_read(s, buffers, asio::transfer_exactly(42), bindns::bind(async_read_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 42)); @@ -2741,8 +2741,8 @@ asio::async_read(s, buffers, asio::transfer_exactly(42), bindns::bind(async_read_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 42)); @@ -2753,8 +2753,8 @@ asio::async_read(s, buffers, asio::transfer_exactly(42), bindns::bind(async_read_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 42)); @@ -2764,8 +2764,8 @@ asio::async_read(s, buffers, old_style_transfer_all, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data))); @@ -2776,8 +2776,8 @@ asio::async_read(s, buffers, old_style_transfer_all, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data))); @@ -2788,8 +2788,8 @@ asio::async_read(s, buffers, old_style_transfer_all, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data))); @@ -2799,8 +2799,8 @@ asio::async_read(s, buffers, short_transfer, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data))); @@ -2811,8 +2811,8 @@ asio::async_read(s, buffers, short_transfer, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data))); @@ -2823,8 +2823,8 @@ asio::async_read(s, buffers, short_transfer, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data))); @@ -2833,8 +2833,8 @@ int i = asio::async_read(s, buffers, short_transfer, archetypes::lazy_handler()); ASIO_CHECK(i == 42); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data))); #endif // defined(ASIO_HAS_BOOST_ARRAY) } @@ -2850,8 +2850,8 @@ #endif // defined(ASIO_HAS_BOOST_BIND) #if defined(ASIO_HAS_STD_ARRAY) - asio::io_service ios; - test_stream s(ios); + asio::io_context ioc; + test_stream s(ioc); char read_buf[sizeof(read_data)]; std::array<asio::mutable_buffer, 2> buffers = { { asio::buffer(read_buf, 32), @@ -2863,8 +2863,8 @@ asio::async_read(s, buffers, asio::transfer_all(), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data))); @@ -2875,8 +2875,8 @@ asio::async_read(s, buffers, asio::transfer_all(), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data))); @@ -2887,8 +2887,8 @@ asio::async_read(s, buffers, asio::transfer_all(), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data))); @@ -2898,8 +2898,8 @@ asio::async_read(s, buffers, asio::transfer_at_least(1), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data))); @@ -2910,8 +2910,8 @@ asio::async_read(s, buffers, asio::transfer_at_least(1), bindns::bind(async_read_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 1)); @@ -2922,8 +2922,8 @@ asio::async_read(s, buffers, asio::transfer_at_least(1), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 10)); @@ -2933,8 +2933,8 @@ asio::async_read(s, buffers, asio::transfer_at_least(10), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data))); @@ -2945,8 +2945,8 @@ asio::async_read(s, buffers, asio::transfer_at_least(10), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 10)); @@ -2957,8 +2957,8 @@ asio::async_read(s, buffers, asio::transfer_at_least(10), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 10)); @@ -2968,8 +2968,8 @@ asio::async_read(s, buffers, asio::transfer_at_least(42), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data))); @@ -2980,8 +2980,8 @@ asio::async_read(s, buffers, asio::transfer_at_least(42), bindns::bind(async_read_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 42)); @@ -2992,8 +2992,8 @@ asio::async_read(s, buffers, asio::transfer_at_least(42), bindns::bind(async_read_handler, _1, _2, 50, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 50)); @@ -3003,8 +3003,8 @@ asio::async_read(s, buffers, asio::transfer_exactly(1), bindns::bind(async_read_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 1)); @@ -3015,8 +3015,8 @@ asio::async_read(s, buffers, asio::transfer_exactly(1), bindns::bind(async_read_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 1)); @@ -3027,8 +3027,8 @@ asio::async_read(s, buffers, asio::transfer_exactly(1), bindns::bind(async_read_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 1)); @@ -3038,8 +3038,8 @@ asio::async_read(s, buffers, asio::transfer_exactly(10), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 10)); @@ -3050,8 +3050,8 @@ asio::async_read(s, buffers, asio::transfer_exactly(10), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 10)); @@ -3062,8 +3062,8 @@ asio::async_read(s, buffers, asio::transfer_exactly(10), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 10)); @@ -3073,8 +3073,8 @@ asio::async_read(s, buffers, asio::transfer_exactly(42), bindns::bind(async_read_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 42)); @@ -3085,8 +3085,8 @@ asio::async_read(s, buffers, asio::transfer_exactly(42), bindns::bind(async_read_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 42)); @@ -3097,8 +3097,8 @@ asio::async_read(s, buffers, asio::transfer_exactly(42), bindns::bind(async_read_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 42)); @@ -3108,8 +3108,8 @@ asio::async_read(s, buffers, old_style_transfer_all, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data))); @@ -3120,8 +3120,8 @@ asio::async_read(s, buffers, old_style_transfer_all, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data))); @@ -3132,8 +3132,8 @@ asio::async_read(s, buffers, old_style_transfer_all, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data))); @@ -3143,8 +3143,8 @@ asio::async_read(s, buffers, short_transfer, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data))); @@ -3155,8 +3155,8 @@ asio::async_read(s, buffers, short_transfer, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data))); @@ -3167,8 +3167,8 @@ asio::async_read(s, buffers, short_transfer, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data))); @@ -3177,8 +3177,8 @@ int i = asio::async_read(s, buffers, short_transfer, archetypes::lazy_handler()); ASIO_CHECK(i == 42); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data))); #endif // defined(ASIO_HAS_STD_ARRAY) } @@ -3193,8 +3193,8 @@ using std::placeholders::_2; #endif // defined(ASIO_HAS_BOOST_BIND) - asio::io_service ios; - test_stream s(ios); + asio::io_context ioc; + test_stream s(ioc); char read_buf[sizeof(read_data)]; std::vector<asio::mutable_buffer> buffers; buffers.push_back(asio::buffer(read_buf, 32)); @@ -3206,8 +3206,8 @@ asio::async_read(s, buffers, asio::transfer_all(), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data))); @@ -3218,8 +3218,8 @@ asio::async_read(s, buffers, asio::transfer_all(), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data))); @@ -3230,8 +3230,8 @@ asio::async_read(s, buffers, asio::transfer_all(), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data))); @@ -3241,8 +3241,8 @@ asio::async_read(s, buffers, asio::transfer_at_least(1), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data))); @@ -3253,8 +3253,8 @@ asio::async_read(s, buffers, asio::transfer_at_least(1), bindns::bind(async_read_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 1)); @@ -3265,8 +3265,8 @@ asio::async_read(s, buffers, asio::transfer_at_least(1), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 10)); @@ -3276,8 +3276,8 @@ asio::async_read(s, buffers, asio::transfer_at_least(10), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data))); @@ -3288,8 +3288,8 @@ asio::async_read(s, buffers, asio::transfer_at_least(10), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 10)); @@ -3300,8 +3300,8 @@ asio::async_read(s, buffers, asio::transfer_at_least(10), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 10)); @@ -3311,8 +3311,8 @@ asio::async_read(s, buffers, asio::transfer_at_least(42), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data))); @@ -3323,8 +3323,8 @@ asio::async_read(s, buffers, asio::transfer_at_least(42), bindns::bind(async_read_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 42)); @@ -3335,8 +3335,8 @@ asio::async_read(s, buffers, asio::transfer_at_least(42), bindns::bind(async_read_handler, _1, _2, 50, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 50)); @@ -3346,8 +3346,8 @@ asio::async_read(s, buffers, asio::transfer_exactly(1), bindns::bind(async_read_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 1)); @@ -3358,8 +3358,8 @@ asio::async_read(s, buffers, asio::transfer_exactly(1), bindns::bind(async_read_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 1)); @@ -3370,8 +3370,8 @@ asio::async_read(s, buffers, asio::transfer_exactly(1), bindns::bind(async_read_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 1)); @@ -3381,8 +3381,8 @@ asio::async_read(s, buffers, asio::transfer_exactly(10), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 10)); @@ -3393,8 +3393,8 @@ asio::async_read(s, buffers, asio::transfer_exactly(10), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 10)); @@ -3405,8 +3405,8 @@ asio::async_read(s, buffers, asio::transfer_exactly(10), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 10)); @@ -3416,8 +3416,8 @@ asio::async_read(s, buffers, asio::transfer_exactly(42), bindns::bind(async_read_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 42)); @@ -3428,8 +3428,8 @@ asio::async_read(s, buffers, asio::transfer_exactly(42), bindns::bind(async_read_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 42)); @@ -3440,8 +3440,8 @@ asio::async_read(s, buffers, asio::transfer_exactly(42), bindns::bind(async_read_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 42)); @@ -3451,8 +3451,8 @@ asio::async_read(s, buffers, old_style_transfer_all, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data))); @@ -3463,8 +3463,8 @@ asio::async_read(s, buffers, old_style_transfer_all, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data))); @@ -3475,8 +3475,8 @@ asio::async_read(s, buffers, old_style_transfer_all, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data))); @@ -3486,8 +3486,8 @@ asio::async_read(s, buffers, short_transfer, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data))); @@ -3498,8 +3498,8 @@ asio::async_read(s, buffers, short_transfer, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data))); @@ -3510,8 +3510,8 @@ asio::async_read(s, buffers, short_transfer, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data))); @@ -3520,8 +3520,8 @@ int i = asio::async_read(s, buffers, short_transfer, archetypes::lazy_handler()); ASIO_CHECK(i == 42); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data))); } @@ -3535,8 +3535,8 @@ using std::placeholders::_2; #endif // defined(ASIO_HAS_BOOST_BIND) - asio::io_service ios; - test_stream s(ios); + asio::io_context ioc; + test_stream s(ioc); asio::streambuf sb(sizeof(read_data)); s.reset(read_data, sizeof(read_data)); @@ -3545,8 +3545,8 @@ asio::async_read(s, sb, asio::transfer_all(), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == sizeof(read_data)); ASIO_CHECK(s.check_buffers(sb.data(), sizeof(read_data))); @@ -3558,8 +3558,8 @@ asio::async_read(s, sb, asio::transfer_all(), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == sizeof(read_data)); ASIO_CHECK(s.check_buffers(sb.data(), sizeof(read_data))); @@ -3571,8 +3571,8 @@ asio::async_read(s, sb, asio::transfer_all(), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == sizeof(read_data)); ASIO_CHECK(s.check_buffers(sb.data(), sizeof(read_data))); @@ -3583,8 +3583,8 @@ asio::async_read(s, sb, asio::transfer_at_least(1), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == sizeof(read_data)); ASIO_CHECK(s.check_buffers(sb.data(), sizeof(read_data))); @@ -3596,8 +3596,8 @@ asio::async_read(s, sb, asio::transfer_at_least(1), bindns::bind(async_read_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == 1); ASIO_CHECK(s.check_buffers(sb.data(), 1)); @@ -3609,8 +3609,8 @@ asio::async_read(s, sb, asio::transfer_at_least(1), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == 10); ASIO_CHECK(s.check_buffers(sb.data(), 10)); @@ -3621,8 +3621,8 @@ asio::async_read(s, sb, asio::transfer_at_least(10), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == sizeof(read_data)); ASIO_CHECK(s.check_buffers(sb.data(), sizeof(read_data))); @@ -3634,8 +3634,8 @@ asio::async_read(s, sb, asio::transfer_at_least(10), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == 10); ASIO_CHECK(s.check_buffers(sb.data(), 10)); @@ -3647,8 +3647,8 @@ asio::async_read(s, sb, asio::transfer_at_least(10), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == 10); ASIO_CHECK(s.check_buffers(sb.data(), 10)); @@ -3659,8 +3659,8 @@ asio::async_read(s, sb, asio::transfer_at_least(42), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == sizeof(read_data)); ASIO_CHECK(s.check_buffers(sb.data(), sizeof(read_data))); @@ -3672,8 +3672,8 @@ asio::async_read(s, sb, asio::transfer_at_least(42), bindns::bind(async_read_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == 42); ASIO_CHECK(s.check_buffers(sb.data(), 42)); @@ -3685,8 +3685,8 @@ asio::async_read(s, sb, asio::transfer_at_least(42), bindns::bind(async_read_handler, _1, _2, 50, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == 50); ASIO_CHECK(s.check_buffers(sb.data(), 50)); @@ -3697,8 +3697,8 @@ asio::async_read(s, sb, asio::transfer_exactly(1), bindns::bind(async_read_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == 1); ASIO_CHECK(s.check_buffers(sb.data(), 1)); @@ -3710,8 +3710,8 @@ asio::async_read(s, sb, asio::transfer_exactly(1), bindns::bind(async_read_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == 1); ASIO_CHECK(s.check_buffers(sb.data(), 1)); @@ -3723,8 +3723,8 @@ asio::async_read(s, sb, asio::transfer_exactly(1), bindns::bind(async_read_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == 1); ASIO_CHECK(s.check_buffers(sb.data(), 1)); @@ -3735,8 +3735,8 @@ asio::async_read(s, sb, asio::transfer_exactly(10), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == 10); ASIO_CHECK(s.check_buffers(sb.data(), 10)); @@ -3748,8 +3748,8 @@ asio::async_read(s, sb, asio::transfer_exactly(10), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == 10); ASIO_CHECK(s.check_buffers(sb.data(), 10)); @@ -3761,8 +3761,8 @@ asio::async_read(s, sb, asio::transfer_exactly(10), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == 10); ASIO_CHECK(s.check_buffers(sb.data(), 10)); @@ -3773,8 +3773,8 @@ asio::async_read(s, sb, asio::transfer_exactly(42), bindns::bind(async_read_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == 42); ASIO_CHECK(s.check_buffers(sb.data(), 42)); @@ -3786,8 +3786,8 @@ asio::async_read(s, sb, asio::transfer_exactly(42), bindns::bind(async_read_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == 42); ASIO_CHECK(s.check_buffers(sb.data(), 42)); @@ -3799,8 +3799,8 @@ asio::async_read(s, sb, asio::transfer_exactly(42), bindns::bind(async_read_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == 42); ASIO_CHECK(s.check_buffers(sb.data(), 42)); @@ -3811,8 +3811,8 @@ asio::async_read(s, sb, old_style_transfer_all, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == sizeof(read_data)); ASIO_CHECK(s.check_buffers(sb.data(), sizeof(read_data))); @@ -3824,8 +3824,8 @@ asio::async_read(s, sb, old_style_transfer_all, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == sizeof(read_data)); ASIO_CHECK(s.check_buffers(sb.data(), sizeof(read_data))); @@ -3837,8 +3837,8 @@ asio::async_read(s, sb, old_style_transfer_all, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == sizeof(read_data)); ASIO_CHECK(s.check_buffers(sb.data(), sizeof(read_data))); @@ -3849,8 +3849,8 @@ asio::async_read(s, sb, short_transfer, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == sizeof(read_data)); ASIO_CHECK(s.check_buffers(sb.data(), sizeof(read_data))); @@ -3862,8 +3862,8 @@ asio::async_read(s, sb, short_transfer, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == sizeof(read_data)); ASIO_CHECK(s.check_buffers(sb.data(), sizeof(read_data))); @@ -3875,8 +3875,8 @@ asio::async_read(s, sb, short_transfer, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == sizeof(read_data)); ASIO_CHECK(s.check_buffers(sb.data(), sizeof(read_data))); @@ -3886,8 +3886,8 @@ int i = asio::async_read(s, sb, short_transfer, archetypes::lazy_handler()); ASIO_CHECK(i == 42); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(sb.size() == sizeof(read_data)); ASIO_CHECK(s.check_buffers(sb.data(), sizeof(read_data))); }
diff --git a/asio/src/tests/unit/read_at.cpp b/asio/src/tests/unit/read_at.cpp index 1649585..fec9716 100644 --- a/asio/src/tests/unit/read_at.cpp +++ b/asio/src/tests/unit/read_at.cpp
@@ -18,7 +18,7 @@ #include <cstring> #include "archetypes/async_result.hpp" -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #include "asio/post.hpp" #include "asio/streambuf.hpp" #include "unit_test.hpp" @@ -42,10 +42,10 @@ class test_random_access_device { public: - typedef asio::io_service::executor_type executor_type; + typedef asio::io_context::executor_type executor_type; - test_random_access_device(asio::io_service& io_service) - : io_service_(io_service), + test_random_access_device(asio::io_context& io_context) + : io_context_(io_context), length_(0), next_read_length_(0) { @@ -53,7 +53,7 @@ executor_type get_executor() ASIO_NOEXCEPT { - return io_service_.get_executor(); + return io_context_.get_executor(); } void reset(const void* data, size_t length) @@ -128,7 +128,7 @@ } private: - asio::io_service& io_service_; + asio::io_context& io_context_; enum { max_length = 8192 }; char data_[max_length]; size_t length_; @@ -140,8 +140,8 @@ void test_3_arg_mutable_buffers_1_read_at() { - asio::io_service ios; - test_random_access_device s(ios); + asio::io_context ioc; + test_random_access_device s(ioc); char read_buf[sizeof(read_data)]; asio::mutable_buffers_1 buffers = asio::buffer(read_buf, sizeof(read_buf)); @@ -189,8 +189,8 @@ void test_3_arg_vector_buffers_read_at() { - asio::io_service ios; - test_random_access_device s(ios); + asio::io_context ioc; + test_random_access_device s(ioc); char read_buf[sizeof(read_data)]; std::vector<asio::mutable_buffer> buffers; buffers.push_back(asio::buffer(read_buf, 32)); @@ -239,8 +239,8 @@ void test_3_arg_streambuf_read_at() { - asio::io_service ios; - test_random_access_device s(ios); + asio::io_context ioc; + test_random_access_device s(ioc); asio::streambuf sb(sizeof(read_data)); s.reset(read_data, sizeof(read_data)); @@ -292,8 +292,8 @@ void test_4_arg_nothrow_mutable_buffers_1_read_at() { - asio::io_service ios; - test_random_access_device s(ios); + asio::io_context ioc; + test_random_access_device s(ioc); char read_buf[sizeof(read_data)]; asio::mutable_buffers_1 buffers = asio::buffer(read_buf, sizeof(read_buf)); @@ -348,8 +348,8 @@ void test_4_arg_nothrow_vector_buffers_read_at() { - asio::io_service ios; - test_random_access_device s(ios); + asio::io_context ioc; + test_random_access_device s(ioc); char read_buf[sizeof(read_data)]; std::vector<asio::mutable_buffer> buffers; buffers.push_back(asio::buffer(read_buf, 32)); @@ -405,8 +405,8 @@ void test_4_arg_nothrow_streambuf_read_at() { - asio::io_service ios; - test_random_access_device s(ios); + asio::io_context ioc; + test_random_access_device s(ioc); asio::streambuf sb(sizeof(read_data)); s.reset(read_data, sizeof(read_data)); @@ -477,8 +477,8 @@ void test_4_arg_mutable_buffers_1_read_at() { - asio::io_service ios; - test_random_access_device s(ios); + asio::io_context ioc; + test_random_access_device s(ioc); char read_buf[sizeof(read_data)]; asio::mutable_buffers_1 buffers = asio::buffer(read_buf, sizeof(read_buf)); @@ -894,8 +894,8 @@ void test_4_arg_vector_buffers_read_at() { - asio::io_service ios; - test_random_access_device s(ios); + asio::io_context ioc; + test_random_access_device s(ioc); char read_buf[sizeof(read_data)]; std::vector<asio::mutable_buffer> buffers; buffers.push_back(asio::buffer(read_buf, 32)); @@ -1312,8 +1312,8 @@ void test_4_arg_streambuf_read_at() { - asio::io_service ios; - test_random_access_device s(ios); + asio::io_context ioc; + test_random_access_device s(ioc); asio::streambuf sb(sizeof(read_data)); s.reset(read_data, sizeof(read_data)); @@ -1781,8 +1781,8 @@ void test_5_arg_mutable_buffers_1_read_at() { - asio::io_service ios; - test_random_access_device s(ios); + asio::io_context ioc; + test_random_access_device s(ioc); char read_buf[sizeof(read_data)]; asio::mutable_buffers_1 buffers = asio::buffer(read_buf, sizeof(read_buf)); @@ -2307,8 +2307,8 @@ void test_5_arg_vector_buffers_read_at() { - asio::io_service ios; - test_random_access_device s(ios); + asio::io_context ioc; + test_random_access_device s(ioc); char read_buf[sizeof(read_data)]; std::vector<asio::mutable_buffer> buffers; buffers.push_back(asio::buffer(read_buf, 32)); @@ -2834,8 +2834,8 @@ void test_5_arg_streambuf_read_at() { - asio::io_service ios; - test_random_access_device s(ios); + asio::io_context ioc; + test_random_access_device s(ioc); asio::streambuf sb(sizeof(read_data)); s.reset(read_data, sizeof(read_data)); @@ -3428,8 +3428,8 @@ using std::placeholders::_2; #endif // defined(ASIO_HAS_BOOST_BIND) - asio::io_service ios; - test_random_access_device s(ios); + asio::io_context ioc; + test_random_access_device s(ioc); char read_buf[sizeof(read_data)]; asio::mutable_buffers_1 buffers = asio::buffer(read_buf, sizeof(read_buf)); @@ -3440,8 +3440,8 @@ asio::async_read_at(s, 0, buffers, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(read_data))); @@ -3451,8 +3451,8 @@ asio::async_read_at(s, 1234, buffers, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(read_data))); @@ -3463,8 +3463,8 @@ asio::async_read_at(s, 0, buffers, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(read_data))); @@ -3475,8 +3475,8 @@ asio::async_read_at(s, 1234, buffers, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(read_data))); @@ -3487,8 +3487,8 @@ asio::async_read_at(s, 0, buffers, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(read_data))); @@ -3499,8 +3499,8 @@ asio::async_read_at(s, 1234, buffers, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(read_data))); @@ -3509,8 +3509,8 @@ int i = asio::async_read_at(s, 1234, buffers, archetypes::lazy_handler()); ASIO_CHECK(i == 42); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(read_data))); } @@ -3525,8 +3525,8 @@ #endif // defined(ASIO_HAS_BOOST_BIND) #if defined(ASIO_HAS_BOOST_ARRAY) - asio::io_service ios; - test_random_access_device s(ios); + asio::io_context ioc; + test_random_access_device s(ioc); char read_buf[sizeof(read_data)]; boost::array<asio::mutable_buffer, 2> buffers = { { asio::buffer(read_buf, 32), @@ -3538,8 +3538,8 @@ asio::async_read_at(s, 0, buffers, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(read_data))); @@ -3549,8 +3549,8 @@ asio::async_read_at(s, 1234, buffers, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(read_data))); @@ -3561,8 +3561,8 @@ asio::async_read_at(s, 0, buffers, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(read_data))); @@ -3573,8 +3573,8 @@ asio::async_read_at(s, 1234, buffers, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(read_data))); @@ -3585,8 +3585,8 @@ asio::async_read_at(s, 0, buffers, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(read_data))); @@ -3597,8 +3597,8 @@ asio::async_read_at(s, 1234, buffers, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(read_data))); @@ -3607,8 +3607,8 @@ int i = asio::async_read_at(s, 1234, buffers, archetypes::lazy_handler()); ASIO_CHECK(i == 42); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(read_data))); #endif // defined(ASIO_HAS_BOOST_ARRAY) } @@ -3624,8 +3624,8 @@ #endif // defined(ASIO_HAS_BOOST_BIND) #if defined(ASIO_HAS_STD_ARRAY) - asio::io_service ios; - test_random_access_device s(ios); + asio::io_context ioc; + test_random_access_device s(ioc); char read_buf[sizeof(read_data)]; std::array<asio::mutable_buffer, 2> buffers = { { asio::buffer(read_buf, 32), @@ -3637,8 +3637,8 @@ asio::async_read_at(s, 0, buffers, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(read_data))); @@ -3648,8 +3648,8 @@ asio::async_read_at(s, 1234, buffers, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(read_data))); @@ -3660,8 +3660,8 @@ asio::async_read_at(s, 0, buffers, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(read_data))); @@ -3672,8 +3672,8 @@ asio::async_read_at(s, 1234, buffers, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(read_data))); @@ -3684,8 +3684,8 @@ asio::async_read_at(s, 0, buffers, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(read_data))); @@ -3696,8 +3696,8 @@ asio::async_read_at(s, 1234, buffers, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(read_data))); @@ -3706,8 +3706,8 @@ int i = asio::async_read_at(s, 1234, buffers, archetypes::lazy_handler()); ASIO_CHECK(i == 42); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(read_data))); #endif // defined(ASIO_HAS_STD_ARRAY) } @@ -3722,8 +3722,8 @@ using std::placeholders::_2; #endif // defined(ASIO_HAS_BOOST_BIND) - asio::io_service ios; - test_random_access_device s(ios); + asio::io_context ioc; + test_random_access_device s(ioc); char read_buf[sizeof(read_data)]; std::vector<asio::mutable_buffer> buffers; buffers.push_back(asio::buffer(read_buf, 32)); @@ -3735,8 +3735,8 @@ asio::async_read_at(s, 0, buffers, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(read_data))); @@ -3746,8 +3746,8 @@ asio::async_read_at(s, 1234, buffers, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(read_data))); @@ -3758,8 +3758,8 @@ asio::async_read_at(s, 0, buffers, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(read_data))); @@ -3770,8 +3770,8 @@ asio::async_read_at(s, 1234, buffers, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(read_data))); @@ -3782,8 +3782,8 @@ asio::async_read_at(s, 0, buffers, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(read_data))); @@ -3794,8 +3794,8 @@ asio::async_read_at(s, 1234, buffers, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(read_data))); @@ -3804,8 +3804,8 @@ int i = asio::async_read_at(s, 1234, buffers, archetypes::lazy_handler()); ASIO_CHECK(i == 42); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(read_data))); } @@ -3819,8 +3819,8 @@ using std::placeholders::_2; #endif // defined(ASIO_HAS_BOOST_BIND) - asio::io_service ios; - test_random_access_device s(ios); + asio::io_context ioc; + test_random_access_device s(ioc); asio::streambuf sb(sizeof(read_data)); s.reset(read_data, sizeof(read_data)); @@ -3829,8 +3829,8 @@ asio::async_read_at(s, 0, sb, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == sizeof(read_data)); ASIO_CHECK(s.check_buffers(0, sb.data(), sizeof(read_data))); @@ -3841,8 +3841,8 @@ asio::async_read_at(s, 1234, sb, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == sizeof(read_data)); ASIO_CHECK(s.check_buffers(1234, sb.data(), sizeof(read_data))); @@ -3854,8 +3854,8 @@ asio::async_read_at(s, 0, sb, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == sizeof(read_data)); ASIO_CHECK(s.check_buffers(0, sb.data(), sizeof(read_data))); @@ -3867,8 +3867,8 @@ asio::async_read_at(s, 1234, sb, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == sizeof(read_data)); ASIO_CHECK(s.check_buffers(1234, sb.data(), sizeof(read_data))); @@ -3880,8 +3880,8 @@ asio::async_read_at(s, 0, sb, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == sizeof(read_data)); ASIO_CHECK(s.check_buffers(0, sb.data(), sizeof(read_data))); @@ -3893,8 +3893,8 @@ asio::async_read_at(s, 1234, sb, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == sizeof(read_data)); ASIO_CHECK(s.check_buffers(1234, sb.data(), sizeof(read_data))); @@ -3904,8 +3904,8 @@ int i = asio::async_read_at(s, 1234, sb, archetypes::lazy_handler()); ASIO_CHECK(i == 42); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(s.check_buffers(1234, sb.data(), sizeof(read_data))); } @@ -3919,8 +3919,8 @@ using std::placeholders::_2; #endif // defined(ASIO_HAS_BOOST_BIND) - asio::io_service ios; - test_random_access_device s(ios); + asio::io_context ioc; + test_random_access_device s(ioc); char read_buf[sizeof(read_data)]; asio::mutable_buffers_1 buffers = asio::buffer(read_buf, sizeof(read_buf)); @@ -3932,8 +3932,8 @@ asio::transfer_all(), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(read_data))); @@ -3944,8 +3944,8 @@ asio::transfer_all(), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(read_data))); @@ -3957,8 +3957,8 @@ asio::transfer_all(), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(read_data))); @@ -3970,8 +3970,8 @@ asio::transfer_all(), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(read_data))); @@ -3983,8 +3983,8 @@ asio::transfer_all(), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(read_data))); @@ -3996,8 +3996,8 @@ asio::transfer_all(), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(read_data))); @@ -4008,8 +4008,8 @@ asio::transfer_at_least(1), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(read_data))); @@ -4020,8 +4020,8 @@ asio::transfer_at_least(1), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(read_data))); @@ -4033,8 +4033,8 @@ asio::transfer_at_least(1), bindns::bind(async_read_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 1)); @@ -4046,8 +4046,8 @@ asio::transfer_at_least(1), bindns::bind(async_read_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 1)); @@ -4059,8 +4059,8 @@ asio::transfer_at_least(1), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 10)); @@ -4072,8 +4072,8 @@ asio::transfer_at_least(1), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 10)); @@ -4084,8 +4084,8 @@ asio::transfer_at_least(10), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(read_data))); @@ -4096,8 +4096,8 @@ asio::transfer_at_least(10), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(read_data))); @@ -4109,8 +4109,8 @@ asio::transfer_at_least(10), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 10)); @@ -4122,8 +4122,8 @@ asio::transfer_at_least(10), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 10)); @@ -4135,8 +4135,8 @@ asio::transfer_at_least(10), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 10)); @@ -4148,8 +4148,8 @@ asio::transfer_at_least(10), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 10)); @@ -4160,8 +4160,8 @@ asio::transfer_at_least(42), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(read_data))); @@ -4172,8 +4172,8 @@ asio::transfer_at_least(42), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(read_data))); @@ -4185,8 +4185,8 @@ asio::transfer_at_least(42), bindns::bind(async_read_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 42)); @@ -4198,8 +4198,8 @@ asio::transfer_at_least(42), bindns::bind(async_read_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 42)); @@ -4211,8 +4211,8 @@ asio::transfer_at_least(42), bindns::bind(async_read_handler, _1, _2, 50, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 50)); @@ -4224,8 +4224,8 @@ asio::transfer_at_least(42), bindns::bind(async_read_handler, _1, _2, 50, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 50)); @@ -4236,8 +4236,8 @@ asio::transfer_exactly(1), bindns::bind(async_read_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 1)); @@ -4248,8 +4248,8 @@ asio::transfer_exactly(1), bindns::bind(async_read_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 1)); @@ -4261,8 +4261,8 @@ asio::transfer_exactly(1), bindns::bind(async_read_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 1)); @@ -4274,8 +4274,8 @@ asio::transfer_exactly(1), bindns::bind(async_read_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 1)); @@ -4287,8 +4287,8 @@ asio::transfer_exactly(1), bindns::bind(async_read_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 1)); @@ -4300,8 +4300,8 @@ asio::transfer_exactly(1), bindns::bind(async_read_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 1)); @@ -4312,8 +4312,8 @@ asio::transfer_exactly(10), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 10)); @@ -4324,8 +4324,8 @@ asio::transfer_exactly(10), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 10)); @@ -4337,8 +4337,8 @@ asio::transfer_exactly(10), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 10)); @@ -4350,8 +4350,8 @@ asio::transfer_exactly(10), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 10)); @@ -4363,8 +4363,8 @@ asio::transfer_exactly(10), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 10)); @@ -4376,8 +4376,8 @@ asio::transfer_exactly(10), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 10)); @@ -4388,8 +4388,8 @@ asio::transfer_exactly(42), bindns::bind(async_read_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 42)); @@ -4400,8 +4400,8 @@ asio::transfer_exactly(42), bindns::bind(async_read_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 42)); @@ -4413,8 +4413,8 @@ asio::transfer_exactly(42), bindns::bind(async_read_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 42)); @@ -4426,8 +4426,8 @@ asio::transfer_exactly(42), bindns::bind(async_read_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 42)); @@ -4439,8 +4439,8 @@ asio::transfer_exactly(42), bindns::bind(async_read_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 42)); @@ -4452,8 +4452,8 @@ asio::transfer_exactly(42), bindns::bind(async_read_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 42)); @@ -4463,8 +4463,8 @@ asio::async_read_at(s, 0, buffers, old_style_transfer_all, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(read_data))); @@ -4474,8 +4474,8 @@ asio::async_read_at(s, 1234, buffers, old_style_transfer_all, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(read_data))); @@ -4486,8 +4486,8 @@ asio::async_read_at(s, 0, buffers, old_style_transfer_all, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(read_data))); @@ -4498,8 +4498,8 @@ asio::async_read_at(s, 1234, buffers, old_style_transfer_all, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(read_data))); @@ -4510,8 +4510,8 @@ asio::async_read_at(s, 0, buffers, old_style_transfer_all, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(read_data))); @@ -4522,8 +4522,8 @@ asio::async_read_at(s, 1234, buffers, old_style_transfer_all, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(read_data))); @@ -4533,8 +4533,8 @@ asio::async_read_at(s, 0, buffers, short_transfer, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(read_data))); @@ -4544,8 +4544,8 @@ asio::async_read_at(s, 1234, buffers, short_transfer, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(read_data))); @@ -4556,8 +4556,8 @@ asio::async_read_at(s, 0, buffers, short_transfer, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(read_data))); @@ -4568,8 +4568,8 @@ asio::async_read_at(s, 1234, buffers, short_transfer, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(read_data))); @@ -4580,8 +4580,8 @@ asio::async_read_at(s, 0, buffers, short_transfer, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(read_data))); @@ -4592,8 +4592,8 @@ asio::async_read_at(s, 1234, buffers, short_transfer, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(read_data))); @@ -4602,8 +4602,8 @@ int i = asio::async_read_at(s, 1234, buffers, short_transfer, archetypes::lazy_handler()); ASIO_CHECK(i == 42); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(read_data))); } @@ -4618,8 +4618,8 @@ #endif // defined(ASIO_HAS_BOOST_BIND) #if defined(ASIO_HAS_BOOST_ARRAY) - asio::io_service ios; - test_random_access_device s(ios); + asio::io_context ioc; + test_random_access_device s(ioc); char read_buf[sizeof(read_data)]; boost::array<asio::mutable_buffer, 2> buffers = { { asio::buffer(read_buf, 32), @@ -4632,8 +4632,8 @@ asio::transfer_all(), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(read_data))); @@ -4644,8 +4644,8 @@ asio::transfer_all(), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(read_data))); @@ -4657,8 +4657,8 @@ asio::transfer_all(), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(read_data))); @@ -4670,8 +4670,8 @@ asio::transfer_all(), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(read_data))); @@ -4683,8 +4683,8 @@ asio::transfer_all(), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(read_data))); @@ -4696,8 +4696,8 @@ asio::transfer_all(), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(read_data))); @@ -4708,8 +4708,8 @@ asio::transfer_at_least(1), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(read_data))); @@ -4720,8 +4720,8 @@ asio::transfer_at_least(1), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(read_data))); @@ -4733,8 +4733,8 @@ asio::transfer_at_least(1), bindns::bind(async_read_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 1)); @@ -4746,8 +4746,8 @@ asio::transfer_at_least(1), bindns::bind(async_read_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 1)); @@ -4759,8 +4759,8 @@ asio::transfer_at_least(1), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 10)); @@ -4772,8 +4772,8 @@ asio::transfer_at_least(1), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 10)); @@ -4784,8 +4784,8 @@ asio::transfer_at_least(10), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(read_data))); @@ -4796,8 +4796,8 @@ asio::transfer_at_least(10), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(read_data))); @@ -4809,8 +4809,8 @@ asio::transfer_at_least(10), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 10)); @@ -4822,8 +4822,8 @@ asio::transfer_at_least(10), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 10)); @@ -4835,8 +4835,8 @@ asio::transfer_at_least(10), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 10)); @@ -4848,8 +4848,8 @@ asio::transfer_at_least(10), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 10)); @@ -4860,8 +4860,8 @@ asio::transfer_at_least(42), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(read_data))); @@ -4872,8 +4872,8 @@ asio::transfer_at_least(42), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(read_data))); @@ -4885,8 +4885,8 @@ asio::transfer_at_least(42), bindns::bind(async_read_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 42)); @@ -4898,8 +4898,8 @@ asio::transfer_at_least(42), bindns::bind(async_read_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 42)); @@ -4911,8 +4911,8 @@ asio::transfer_at_least(42), bindns::bind(async_read_handler, _1, _2, 50, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 50)); @@ -4924,8 +4924,8 @@ asio::transfer_at_least(42), bindns::bind(async_read_handler, _1, _2, 50, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 50)); @@ -4936,8 +4936,8 @@ asio::transfer_exactly(1), bindns::bind(async_read_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 1)); @@ -4948,8 +4948,8 @@ asio::transfer_exactly(1), bindns::bind(async_read_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 1)); @@ -4961,8 +4961,8 @@ asio::transfer_exactly(1), bindns::bind(async_read_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 1)); @@ -4974,8 +4974,8 @@ asio::transfer_exactly(1), bindns::bind(async_read_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 1)); @@ -4987,8 +4987,8 @@ asio::transfer_exactly(1), bindns::bind(async_read_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 1)); @@ -5000,8 +5000,8 @@ asio::transfer_exactly(1), bindns::bind(async_read_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 1)); @@ -5012,8 +5012,8 @@ asio::transfer_exactly(10), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 10)); @@ -5024,8 +5024,8 @@ asio::transfer_exactly(10), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 10)); @@ -5037,8 +5037,8 @@ asio::transfer_exactly(10), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 10)); @@ -5050,8 +5050,8 @@ asio::transfer_exactly(10), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 10)); @@ -5063,8 +5063,8 @@ asio::transfer_exactly(10), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 10)); @@ -5076,8 +5076,8 @@ asio::transfer_exactly(10), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 10)); @@ -5088,8 +5088,8 @@ asio::transfer_exactly(42), bindns::bind(async_read_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 42)); @@ -5100,8 +5100,8 @@ asio::transfer_exactly(42), bindns::bind(async_read_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 42)); @@ -5113,8 +5113,8 @@ asio::transfer_exactly(42), bindns::bind(async_read_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 42)); @@ -5126,8 +5126,8 @@ asio::transfer_exactly(42), bindns::bind(async_read_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 42)); @@ -5139,8 +5139,8 @@ asio::transfer_exactly(42), bindns::bind(async_read_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 42)); @@ -5152,8 +5152,8 @@ asio::transfer_exactly(42), bindns::bind(async_read_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 42)); @@ -5163,8 +5163,8 @@ asio::async_read_at(s, 0, buffers, old_style_transfer_all, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(read_data))); @@ -5174,8 +5174,8 @@ asio::async_read_at(s, 1234, buffers, old_style_transfer_all, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(read_data))); @@ -5186,8 +5186,8 @@ asio::async_read_at(s, 0, buffers, old_style_transfer_all, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(read_data))); @@ -5198,8 +5198,8 @@ asio::async_read_at(s, 1234, buffers, old_style_transfer_all, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(read_data))); @@ -5210,8 +5210,8 @@ asio::async_read_at(s, 0, buffers, old_style_transfer_all, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(read_data))); @@ -5222,8 +5222,8 @@ asio::async_read_at(s, 1234, buffers, old_style_transfer_all, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(read_data))); @@ -5233,8 +5233,8 @@ asio::async_read_at(s, 0, buffers, short_transfer, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(read_data))); @@ -5244,8 +5244,8 @@ asio::async_read_at(s, 1234, buffers, short_transfer, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(read_data))); @@ -5256,8 +5256,8 @@ asio::async_read_at(s, 0, buffers, short_transfer, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(read_data))); @@ -5268,8 +5268,8 @@ asio::async_read_at(s, 1234, buffers, short_transfer, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(read_data))); @@ -5280,8 +5280,8 @@ asio::async_read_at(s, 0, buffers, short_transfer, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(read_data))); @@ -5292,8 +5292,8 @@ asio::async_read_at(s, 1234, buffers, short_transfer, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(read_data))); @@ -5302,8 +5302,8 @@ int i = asio::async_read_at(s, 1234, buffers, short_transfer, archetypes::lazy_handler()); ASIO_CHECK(i == 42); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(read_data))); #endif // defined(ASIO_HAS_BOOST_ARRAY) } @@ -5319,8 +5319,8 @@ #endif // defined(ASIO_HAS_BOOST_BIND) #if defined(ASIO_HAS_STD_ARRAY) - asio::io_service ios; - test_random_access_device s(ios); + asio::io_context ioc; + test_random_access_device s(ioc); char read_buf[sizeof(read_data)]; std::array<asio::mutable_buffer, 2> buffers = { { asio::buffer(read_buf, 32), @@ -5333,8 +5333,8 @@ asio::transfer_all(), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(read_data))); @@ -5345,8 +5345,8 @@ asio::transfer_all(), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(read_data))); @@ -5358,8 +5358,8 @@ asio::transfer_all(), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(read_data))); @@ -5371,8 +5371,8 @@ asio::transfer_all(), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(read_data))); @@ -5384,8 +5384,8 @@ asio::transfer_all(), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(read_data))); @@ -5397,8 +5397,8 @@ asio::transfer_all(), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(read_data))); @@ -5409,8 +5409,8 @@ asio::transfer_at_least(1), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(read_data))); @@ -5421,8 +5421,8 @@ asio::transfer_at_least(1), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(read_data))); @@ -5434,8 +5434,8 @@ asio::transfer_at_least(1), bindns::bind(async_read_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 1)); @@ -5447,8 +5447,8 @@ asio::transfer_at_least(1), bindns::bind(async_read_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 1)); @@ -5460,8 +5460,8 @@ asio::transfer_at_least(1), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 10)); @@ -5473,8 +5473,8 @@ asio::transfer_at_least(1), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 10)); @@ -5485,8 +5485,8 @@ asio::transfer_at_least(10), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(read_data))); @@ -5497,8 +5497,8 @@ asio::transfer_at_least(10), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(read_data))); @@ -5510,8 +5510,8 @@ asio::transfer_at_least(10), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 10)); @@ -5523,8 +5523,8 @@ asio::transfer_at_least(10), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 10)); @@ -5536,8 +5536,8 @@ asio::transfer_at_least(10), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 10)); @@ -5549,8 +5549,8 @@ asio::transfer_at_least(10), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 10)); @@ -5561,8 +5561,8 @@ asio::transfer_at_least(42), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(read_data))); @@ -5573,8 +5573,8 @@ asio::transfer_at_least(42), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(read_data))); @@ -5586,8 +5586,8 @@ asio::transfer_at_least(42), bindns::bind(async_read_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 42)); @@ -5599,8 +5599,8 @@ asio::transfer_at_least(42), bindns::bind(async_read_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 42)); @@ -5612,8 +5612,8 @@ asio::transfer_at_least(42), bindns::bind(async_read_handler, _1, _2, 50, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 50)); @@ -5625,8 +5625,8 @@ asio::transfer_at_least(42), bindns::bind(async_read_handler, _1, _2, 50, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 50)); @@ -5637,8 +5637,8 @@ asio::transfer_exactly(1), bindns::bind(async_read_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 1)); @@ -5649,8 +5649,8 @@ asio::transfer_exactly(1), bindns::bind(async_read_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 1)); @@ -5662,8 +5662,8 @@ asio::transfer_exactly(1), bindns::bind(async_read_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 1)); @@ -5675,8 +5675,8 @@ asio::transfer_exactly(1), bindns::bind(async_read_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 1)); @@ -5688,8 +5688,8 @@ asio::transfer_exactly(1), bindns::bind(async_read_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 1)); @@ -5701,8 +5701,8 @@ asio::transfer_exactly(1), bindns::bind(async_read_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 1)); @@ -5713,8 +5713,8 @@ asio::transfer_exactly(10), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 10)); @@ -5725,8 +5725,8 @@ asio::transfer_exactly(10), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 10)); @@ -5738,8 +5738,8 @@ asio::transfer_exactly(10), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 10)); @@ -5751,8 +5751,8 @@ asio::transfer_exactly(10), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 10)); @@ -5764,8 +5764,8 @@ asio::transfer_exactly(10), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 10)); @@ -5777,8 +5777,8 @@ asio::transfer_exactly(10), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 10)); @@ -5789,8 +5789,8 @@ asio::transfer_exactly(42), bindns::bind(async_read_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 42)); @@ -5801,8 +5801,8 @@ asio::transfer_exactly(42), bindns::bind(async_read_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 42)); @@ -5814,8 +5814,8 @@ asio::transfer_exactly(42), bindns::bind(async_read_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 42)); @@ -5827,8 +5827,8 @@ asio::transfer_exactly(42), bindns::bind(async_read_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 42)); @@ -5840,8 +5840,8 @@ asio::transfer_exactly(42), bindns::bind(async_read_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 42)); @@ -5853,8 +5853,8 @@ asio::transfer_exactly(42), bindns::bind(async_read_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 42)); @@ -5864,8 +5864,8 @@ asio::async_read_at(s, 0, buffers, old_style_transfer_all, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(read_data))); @@ -5875,8 +5875,8 @@ asio::async_read_at(s, 1234, buffers, old_style_transfer_all, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(read_data))); @@ -5887,8 +5887,8 @@ asio::async_read_at(s, 0, buffers, old_style_transfer_all, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(read_data))); @@ -5899,8 +5899,8 @@ asio::async_read_at(s, 1234, buffers, old_style_transfer_all, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(read_data))); @@ -5911,8 +5911,8 @@ asio::async_read_at(s, 0, buffers, old_style_transfer_all, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(read_data))); @@ -5923,8 +5923,8 @@ asio::async_read_at(s, 1234, buffers, old_style_transfer_all, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(read_data))); @@ -5934,8 +5934,8 @@ asio::async_read_at(s, 0, buffers, short_transfer, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(read_data))); @@ -5945,8 +5945,8 @@ asio::async_read_at(s, 1234, buffers, short_transfer, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(read_data))); @@ -5957,8 +5957,8 @@ asio::async_read_at(s, 0, buffers, short_transfer, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(read_data))); @@ -5969,8 +5969,8 @@ asio::async_read_at(s, 1234, buffers, short_transfer, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(read_data))); @@ -5981,8 +5981,8 @@ asio::async_read_at(s, 0, buffers, short_transfer, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(read_data))); @@ -5993,8 +5993,8 @@ asio::async_read_at(s, 1234, buffers, short_transfer, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(read_data))); @@ -6003,8 +6003,8 @@ int i = asio::async_read_at(s, 1234, buffers, short_transfer, archetypes::lazy_handler()); ASIO_CHECK(i == 42); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(read_data))); #endif // defined(ASIO_HAS_STD_ARRAY) } @@ -6019,8 +6019,8 @@ using std::placeholders::_2; #endif // defined(ASIO_HAS_BOOST_BIND) - asio::io_service ios; - test_random_access_device s(ios); + asio::io_context ioc; + test_random_access_device s(ioc); char read_buf[sizeof(read_data)]; std::vector<asio::mutable_buffer> buffers; buffers.push_back(asio::buffer(read_buf, 32)); @@ -6033,8 +6033,8 @@ asio::transfer_all(), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(read_data))); @@ -6045,8 +6045,8 @@ asio::transfer_all(), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(read_data))); @@ -6058,8 +6058,8 @@ asio::transfer_all(), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(read_data))); @@ -6071,8 +6071,8 @@ asio::transfer_all(), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(read_data))); @@ -6084,8 +6084,8 @@ asio::transfer_all(), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(read_data))); @@ -6097,8 +6097,8 @@ asio::transfer_all(), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(read_data))); @@ -6109,8 +6109,8 @@ asio::transfer_at_least(1), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(read_data))); @@ -6121,8 +6121,8 @@ asio::transfer_at_least(1), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(read_data))); @@ -6134,8 +6134,8 @@ asio::transfer_at_least(1), bindns::bind(async_read_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 1)); @@ -6147,8 +6147,8 @@ asio::transfer_at_least(1), bindns::bind(async_read_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 1)); @@ -6160,8 +6160,8 @@ asio::transfer_at_least(1), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 10)); @@ -6173,8 +6173,8 @@ asio::transfer_at_least(1), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 10)); @@ -6185,8 +6185,8 @@ asio::transfer_at_least(10), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(read_data))); @@ -6197,8 +6197,8 @@ asio::transfer_at_least(10), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(read_data))); @@ -6210,8 +6210,8 @@ asio::transfer_at_least(10), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 10)); @@ -6223,8 +6223,8 @@ asio::transfer_at_least(10), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 10)); @@ -6236,8 +6236,8 @@ asio::transfer_at_least(10), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 10)); @@ -6249,8 +6249,8 @@ asio::transfer_at_least(10), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 10)); @@ -6261,8 +6261,8 @@ asio::transfer_at_least(42), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(read_data))); @@ -6273,8 +6273,8 @@ asio::transfer_at_least(42), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(read_data))); @@ -6286,8 +6286,8 @@ asio::transfer_at_least(42), bindns::bind(async_read_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 42)); @@ -6299,8 +6299,8 @@ asio::transfer_at_least(42), bindns::bind(async_read_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 42)); @@ -6312,8 +6312,8 @@ asio::transfer_at_least(42), bindns::bind(async_read_handler, _1, _2, 50, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 50)); @@ -6325,8 +6325,8 @@ asio::transfer_at_least(42), bindns::bind(async_read_handler, _1, _2, 50, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 50)); @@ -6337,8 +6337,8 @@ asio::transfer_exactly(1), bindns::bind(async_read_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 1)); @@ -6349,8 +6349,8 @@ asio::transfer_exactly(1), bindns::bind(async_read_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 1)); @@ -6362,8 +6362,8 @@ asio::transfer_exactly(1), bindns::bind(async_read_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 1)); @@ -6375,8 +6375,8 @@ asio::transfer_exactly(1), bindns::bind(async_read_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 1)); @@ -6388,8 +6388,8 @@ asio::transfer_exactly(1), bindns::bind(async_read_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 1)); @@ -6401,8 +6401,8 @@ asio::transfer_exactly(1), bindns::bind(async_read_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 1)); @@ -6413,8 +6413,8 @@ asio::transfer_exactly(10), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 10)); @@ -6425,8 +6425,8 @@ asio::transfer_exactly(10), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 10)); @@ -6438,8 +6438,8 @@ asio::transfer_exactly(10), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 10)); @@ -6451,8 +6451,8 @@ asio::transfer_exactly(10), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 10)); @@ -6464,8 +6464,8 @@ asio::transfer_exactly(10), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 10)); @@ -6477,8 +6477,8 @@ asio::transfer_exactly(10), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 10)); @@ -6489,8 +6489,8 @@ asio::transfer_exactly(42), bindns::bind(async_read_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 42)); @@ -6501,8 +6501,8 @@ asio::transfer_exactly(42), bindns::bind(async_read_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 42)); @@ -6514,8 +6514,8 @@ asio::transfer_exactly(42), bindns::bind(async_read_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 42)); @@ -6527,8 +6527,8 @@ asio::transfer_exactly(42), bindns::bind(async_read_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 42)); @@ -6540,8 +6540,8 @@ asio::transfer_exactly(42), bindns::bind(async_read_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 42)); @@ -6553,8 +6553,8 @@ asio::transfer_exactly(42), bindns::bind(async_read_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 42)); @@ -6564,8 +6564,8 @@ asio::async_read_at(s, 0, buffers, old_style_transfer_all, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(read_data))); @@ -6575,8 +6575,8 @@ asio::async_read_at(s, 1234, buffers, old_style_transfer_all, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(read_data))); @@ -6587,8 +6587,8 @@ asio::async_read_at(s, 0, buffers, old_style_transfer_all, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(read_data))); @@ -6599,8 +6599,8 @@ asio::async_read_at(s, 1234, buffers, old_style_transfer_all, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(read_data))); @@ -6611,8 +6611,8 @@ asio::async_read_at(s, 0, buffers, old_style_transfer_all, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(read_data))); @@ -6623,8 +6623,8 @@ asio::async_read_at(s, 1234, buffers, old_style_transfer_all, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(read_data))); @@ -6634,8 +6634,8 @@ asio::async_read_at(s, 0, buffers, short_transfer, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(read_data))); @@ -6645,8 +6645,8 @@ asio::async_read_at(s, 1234, buffers, short_transfer, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(read_data))); @@ -6657,8 +6657,8 @@ asio::async_read_at(s, 0, buffers, short_transfer, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(read_data))); @@ -6669,8 +6669,8 @@ asio::async_read_at(s, 1234, buffers, short_transfer, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(read_data))); @@ -6681,8 +6681,8 @@ asio::async_read_at(s, 0, buffers, short_transfer, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(read_data))); @@ -6693,8 +6693,8 @@ asio::async_read_at(s, 1234, buffers, short_transfer, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(read_data))); @@ -6703,8 +6703,8 @@ int i = asio::async_read_at(s, 1234, buffers, short_transfer, archetypes::lazy_handler()); ASIO_CHECK(i == 42); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(read_data))); } @@ -6718,8 +6718,8 @@ using std::placeholders::_2; #endif // defined(ASIO_HAS_BOOST_BIND) - asio::io_service ios; - test_random_access_device s(ios); + asio::io_context ioc; + test_random_access_device s(ioc); asio::streambuf sb(sizeof(read_data)); s.reset(read_data, sizeof(read_data)); @@ -6729,8 +6729,8 @@ asio::transfer_all(), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == sizeof(read_data)); ASIO_CHECK(s.check_buffers(0, sb.data(), sizeof(read_data))); @@ -6742,8 +6742,8 @@ asio::transfer_all(), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == sizeof(read_data)); ASIO_CHECK(s.check_buffers(1234, sb.data(), sizeof(read_data))); @@ -6756,8 +6756,8 @@ asio::transfer_all(), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == sizeof(read_data)); ASIO_CHECK(s.check_buffers(0, sb.data(), sizeof(read_data))); @@ -6770,8 +6770,8 @@ asio::transfer_all(), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == sizeof(read_data)); ASIO_CHECK(s.check_buffers(1234, sb.data(), sizeof(read_data))); @@ -6784,8 +6784,8 @@ asio::transfer_all(), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == sizeof(read_data)); ASIO_CHECK(s.check_buffers(0, sb.data(), sizeof(read_data))); @@ -6798,8 +6798,8 @@ asio::transfer_all(), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == sizeof(read_data)); ASIO_CHECK(s.check_buffers(1234, sb.data(), sizeof(read_data))); @@ -6811,8 +6811,8 @@ asio::transfer_at_least(1), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == sizeof(read_data)); ASIO_CHECK(s.check_buffers(0, sb.data(), sizeof(read_data))); @@ -6824,8 +6824,8 @@ asio::transfer_at_least(1), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == sizeof(read_data)); ASIO_CHECK(s.check_buffers(1234, sb.data(), sizeof(read_data))); @@ -6838,8 +6838,8 @@ asio::transfer_at_least(1), bindns::bind(async_read_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == 1); ASIO_CHECK(s.check_buffers(0, sb.data(), 1)); @@ -6852,8 +6852,8 @@ asio::transfer_at_least(1), bindns::bind(async_read_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == 1); ASIO_CHECK(s.check_buffers(1234, sb.data(), 1)); @@ -6866,8 +6866,8 @@ asio::transfer_at_least(1), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == 10); ASIO_CHECK(s.check_buffers(0, sb.data(), 10)); @@ -6880,8 +6880,8 @@ asio::transfer_at_least(1), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == 10); ASIO_CHECK(s.check_buffers(1234, sb.data(), 10)); @@ -6893,8 +6893,8 @@ asio::transfer_at_least(10), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == sizeof(read_data)); ASIO_CHECK(s.check_buffers(0, sb.data(), sizeof(read_data))); @@ -6906,8 +6906,8 @@ asio::transfer_at_least(10), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == sizeof(read_data)); ASIO_CHECK(s.check_buffers(1234, sb.data(), sizeof(read_data))); @@ -6920,8 +6920,8 @@ asio::transfer_at_least(10), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == 10); ASIO_CHECK(s.check_buffers(0, sb.data(), 10)); @@ -6934,8 +6934,8 @@ asio::transfer_at_least(10), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == 10); ASIO_CHECK(s.check_buffers(1234, sb.data(), 10)); @@ -6948,8 +6948,8 @@ asio::transfer_at_least(10), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == 10); ASIO_CHECK(s.check_buffers(0, sb.data(), 10)); @@ -6962,8 +6962,8 @@ asio::transfer_at_least(10), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == 10); ASIO_CHECK(s.check_buffers(1234, sb.data(), 10)); @@ -6975,8 +6975,8 @@ asio::transfer_at_least(42), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == sizeof(read_data)); ASIO_CHECK(s.check_buffers(0, sb.data(), sizeof(read_data))); @@ -6988,8 +6988,8 @@ asio::transfer_at_least(42), bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == sizeof(read_data)); ASIO_CHECK(s.check_buffers(1234, sb.data(), sizeof(read_data))); @@ -7002,8 +7002,8 @@ asio::transfer_at_least(42), bindns::bind(async_read_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == 42); ASIO_CHECK(s.check_buffers(0, sb.data(), 42)); @@ -7016,8 +7016,8 @@ asio::transfer_at_least(42), bindns::bind(async_read_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == 42); ASIO_CHECK(s.check_buffers(1234, sb.data(), 42)); @@ -7030,8 +7030,8 @@ asio::transfer_at_least(42), bindns::bind(async_read_handler, _1, _2, 50, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == 50); ASIO_CHECK(s.check_buffers(0, sb.data(), 50)); @@ -7044,8 +7044,8 @@ asio::transfer_at_least(42), bindns::bind(async_read_handler, _1, _2, 50, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == 50); ASIO_CHECK(s.check_buffers(1234, sb.data(), 50)); @@ -7057,8 +7057,8 @@ asio::transfer_exactly(1), bindns::bind(async_read_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == 1); ASIO_CHECK(s.check_buffers(0, sb.data(), 1)); @@ -7070,8 +7070,8 @@ asio::transfer_exactly(1), bindns::bind(async_read_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == 1); ASIO_CHECK(s.check_buffers(1234, sb.data(), 1)); @@ -7084,8 +7084,8 @@ asio::transfer_exactly(1), bindns::bind(async_read_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == 1); ASIO_CHECK(s.check_buffers(0, sb.data(), 1)); @@ -7098,8 +7098,8 @@ asio::transfer_exactly(1), bindns::bind(async_read_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == 1); ASIO_CHECK(s.check_buffers(1234, sb.data(), 1)); @@ -7112,8 +7112,8 @@ asio::transfer_exactly(1), bindns::bind(async_read_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == 1); ASIO_CHECK(s.check_buffers(0, sb.data(), 1)); @@ -7126,8 +7126,8 @@ asio::transfer_exactly(1), bindns::bind(async_read_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == 1); ASIO_CHECK(s.check_buffers(1234, sb.data(), 1)); @@ -7139,8 +7139,8 @@ asio::transfer_exactly(10), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == 10); ASIO_CHECK(s.check_buffers(0, sb.data(), 10)); @@ -7152,8 +7152,8 @@ asio::transfer_exactly(10), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == 10); ASIO_CHECK(s.check_buffers(1234, sb.data(), 10)); @@ -7166,8 +7166,8 @@ asio::transfer_exactly(10), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == 10); ASIO_CHECK(s.check_buffers(0, sb.data(), 10)); @@ -7180,8 +7180,8 @@ asio::transfer_exactly(10), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == 10); ASIO_CHECK(s.check_buffers(1234, sb.data(), 10)); @@ -7194,8 +7194,8 @@ asio::transfer_exactly(10), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == 10); ASIO_CHECK(s.check_buffers(0, sb.data(), 10)); @@ -7208,8 +7208,8 @@ asio::transfer_exactly(10), bindns::bind(async_read_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == 10); ASIO_CHECK(s.check_buffers(1234, sb.data(), 10)); @@ -7221,8 +7221,8 @@ asio::transfer_exactly(42), bindns::bind(async_read_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == 42); ASIO_CHECK(s.check_buffers(0, sb.data(), 42)); @@ -7234,8 +7234,8 @@ asio::transfer_exactly(42), bindns::bind(async_read_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == 42); ASIO_CHECK(s.check_buffers(1234, sb.data(), 42)); @@ -7248,8 +7248,8 @@ asio::transfer_exactly(42), bindns::bind(async_read_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == 42); ASIO_CHECK(s.check_buffers(0, sb.data(), 42)); @@ -7262,8 +7262,8 @@ asio::transfer_exactly(42), bindns::bind(async_read_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == 42); ASIO_CHECK(s.check_buffers(1234, sb.data(), 42)); @@ -7276,8 +7276,8 @@ asio::transfer_exactly(42), bindns::bind(async_read_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == 42); ASIO_CHECK(s.check_buffers(0, sb.data(), 42)); @@ -7290,8 +7290,8 @@ asio::transfer_exactly(42), bindns::bind(async_read_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == 42); ASIO_CHECK(s.check_buffers(1234, sb.data(), 42)); @@ -7302,8 +7302,8 @@ asio::async_read_at(s, 0, sb, old_style_transfer_all, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == sizeof(read_data)); ASIO_CHECK(s.check_buffers(0, sb.data(), sizeof(read_data))); @@ -7314,8 +7314,8 @@ asio::async_read_at(s, 1234, sb, old_style_transfer_all, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == sizeof(read_data)); ASIO_CHECK(s.check_buffers(1234, sb.data(), sizeof(read_data))); @@ -7327,8 +7327,8 @@ asio::async_read_at(s, 0, sb, old_style_transfer_all, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == sizeof(read_data)); ASIO_CHECK(s.check_buffers(0, sb.data(), sizeof(read_data))); @@ -7340,8 +7340,8 @@ asio::async_read_at(s, 1234, sb, old_style_transfer_all, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == sizeof(read_data)); ASIO_CHECK(s.check_buffers(1234, sb.data(), sizeof(read_data))); @@ -7353,8 +7353,8 @@ asio::async_read_at(s, 0, sb, old_style_transfer_all, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == sizeof(read_data)); ASIO_CHECK(s.check_buffers(0, sb.data(), sizeof(read_data))); @@ -7366,8 +7366,8 @@ asio::async_read_at(s, 1234, sb, old_style_transfer_all, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == sizeof(read_data)); ASIO_CHECK(s.check_buffers(1234, sb.data(), sizeof(read_data))); @@ -7378,8 +7378,8 @@ asio::async_read_at(s, 0, sb, short_transfer, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == sizeof(read_data)); ASIO_CHECK(s.check_buffers(0, sb.data(), sizeof(read_data))); @@ -7390,8 +7390,8 @@ asio::async_read_at(s, 1234, sb, short_transfer, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == sizeof(read_data)); ASIO_CHECK(s.check_buffers(1234, sb.data(), sizeof(read_data))); @@ -7403,8 +7403,8 @@ asio::async_read_at(s, 0, sb, short_transfer, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == sizeof(read_data)); ASIO_CHECK(s.check_buffers(0, sb.data(), sizeof(read_data))); @@ -7416,8 +7416,8 @@ asio::async_read_at(s, 1234, sb, short_transfer, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == sizeof(read_data)); ASIO_CHECK(s.check_buffers(1234, sb.data(), sizeof(read_data))); @@ -7429,8 +7429,8 @@ asio::async_read_at(s, 0, sb, short_transfer, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == sizeof(read_data)); ASIO_CHECK(s.check_buffers(0, sb.data(), sizeof(read_data))); @@ -7442,8 +7442,8 @@ asio::async_read_at(s, 1234, sb, short_transfer, bindns::bind(async_read_handler, _1, _2, sizeof(read_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(sb.size() == sizeof(read_data)); ASIO_CHECK(s.check_buffers(1234, sb.data(), sizeof(read_data))); @@ -7453,8 +7453,8 @@ int i = asio::async_read_at(s, 1234, sb, short_transfer, archetypes::lazy_handler()); ASIO_CHECK(i == 42); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(s.check_buffers(1234, sb.data(), sizeof(read_data))); }
diff --git a/asio/src/tests/unit/read_until.cpp b/asio/src/tests/unit/read_until.cpp index 6a380fc..a3bdf07 100644 --- a/asio/src/tests/unit/read_until.cpp +++ b/asio/src/tests/unit/read_until.cpp
@@ -18,7 +18,7 @@ #include <cstring> #include "archetypes/async_result.hpp" -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #include "asio/post.hpp" #include "asio/streambuf.hpp" #include "unit_test.hpp" @@ -32,10 +32,10 @@ class test_stream { public: - typedef asio::io_service::executor_type executor_type; + typedef asio::io_context::executor_type executor_type; - test_stream(asio::io_service& io_service) - : io_service_(io_service), + test_stream(asio::io_context& io_context) + : io_context_(io_context), length_(0), position_(0), next_read_length_(0) @@ -44,7 +44,7 @@ executor_type get_executor() ASIO_NOEXCEPT { - return io_service_.get_executor(); + return io_context_.get_executor(); } void reset(const void* data, size_t length) @@ -93,7 +93,7 @@ } private: - asio::io_service& io_service_; + asio::io_context& io_context_; enum { max_length = 8192 }; char data_[max_length]; size_t length_; @@ -106,8 +106,8 @@ void test_char_read_until() { - asio::io_service ios; - test_stream s(ios); + asio::io_context ioc; + test_stream s(ioc); asio::streambuf sb1; asio::streambuf sb2(25); asio::error_code ec; @@ -192,8 +192,8 @@ void test_string_read_until() { - asio::io_service ios; - test_stream s(ios); + asio::io_context ioc; + test_stream s(ioc); asio::streambuf sb1; asio::streambuf sb2(25); asio::error_code ec; @@ -305,8 +305,8 @@ void test_match_condition_read_until() { - asio::io_service ios; - test_stream s(ios); + asio::io_context ioc; + test_stream s(ioc); asio::streambuf sb1; asio::streambuf sb2(25); asio::error_code ec; @@ -408,8 +408,8 @@ using std::placeholders::_2; #endif // defined(ASIO_HAS_BOOST_BIND) - asio::io_service ios; - test_stream s(ios); + asio::io_context ioc; + test_stream s(ioc); asio::streambuf sb1; asio::streambuf sb2(25); asio::error_code ec; @@ -424,8 +424,8 @@ asio::async_read_until(s, sb1, 'Z', bindns::bind(async_read_handler, _1, &ec, _2, &length, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(!ec); ASIO_CHECK(length == 26); @@ -439,8 +439,8 @@ asio::async_read_until(s, sb1, 'Z', bindns::bind(async_read_handler, _1, &ec, _2, &length, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(!ec); ASIO_CHECK(length == 26); @@ -454,8 +454,8 @@ asio::async_read_until(s, sb1, 'Z', bindns::bind(async_read_handler, _1, &ec, _2, &length, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(!ec); ASIO_CHECK(length == 26); @@ -468,8 +468,8 @@ asio::async_read_until(s, sb2, 'Z', bindns::bind(async_read_handler, _1, &ec, _2, &length, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(ec == asio::error::not_found); ASIO_CHECK(length == 0); @@ -483,8 +483,8 @@ asio::async_read_until(s, sb2, 'Z', bindns::bind(async_read_handler, _1, &ec, _2, &length, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(ec == asio::error::not_found); ASIO_CHECK(length == 0); @@ -498,8 +498,8 @@ asio::async_read_until(s, sb2, 'Z', bindns::bind(async_read_handler, _1, &ec, _2, &length, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(ec == asio::error::not_found); ASIO_CHECK(length == 0); @@ -512,8 +512,8 @@ asio::async_read_until(s, sb2, 'Y', bindns::bind(async_read_handler, _1, &ec, _2, &length, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(!ec); ASIO_CHECK(length == 25); @@ -527,8 +527,8 @@ asio::async_read_until(s, sb2, 'Y', bindns::bind(async_read_handler, _1, &ec, _2, &length, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(!ec); ASIO_CHECK(length == 25); @@ -542,8 +542,8 @@ asio::async_read_until(s, sb2, 'Y', bindns::bind(async_read_handler, _1, &ec, _2, &length, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(!ec); ASIO_CHECK(length == 25); @@ -553,8 +553,8 @@ int i = asio::async_read_until(s, sb2, 'Y', archetypes::lazy_handler()); ASIO_CHECK(i == 42); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); } void test_string_async_read_until() @@ -567,8 +567,8 @@ using std::placeholders::_2; #endif // defined(ASIO_HAS_BOOST_BIND) - asio::io_service ios; - test_stream s(ios); + asio::io_context ioc; + test_stream s(ioc); asio::streambuf sb1; asio::streambuf sb2(25); asio::error_code ec; @@ -583,8 +583,8 @@ asio::async_read_until(s, sb1, "XYZ", bindns::bind(async_read_handler, _1, &ec, _2, &length, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(!ec); ASIO_CHECK(length == 26); @@ -598,8 +598,8 @@ asio::async_read_until(s, sb1, "XYZ", bindns::bind(async_read_handler, _1, &ec, _2, &length, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(!ec); ASIO_CHECK(length == 26); @@ -613,8 +613,8 @@ asio::async_read_until(s, sb1, "XYZ", bindns::bind(async_read_handler, _1, &ec, _2, &length, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(!ec); ASIO_CHECK(length == 26); @@ -627,8 +627,8 @@ asio::async_read_until(s, sb2, "XYZ", bindns::bind(async_read_handler, _1, &ec, _2, &length, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(ec == asio::error::not_found); ASIO_CHECK(length == 0); @@ -642,8 +642,8 @@ asio::async_read_until(s, sb2, "XYZ", bindns::bind(async_read_handler, _1, &ec, _2, &length, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(ec == asio::error::not_found); ASIO_CHECK(length == 0); @@ -657,8 +657,8 @@ asio::async_read_until(s, sb2, "XYZ", bindns::bind(async_read_handler, _1, &ec, _2, &length, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(ec == asio::error::not_found); ASIO_CHECK(length == 0); @@ -671,8 +671,8 @@ asio::async_read_until(s, sb2, "WXY", bindns::bind(async_read_handler, _1, &ec, _2, &length, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(!ec); ASIO_CHECK(length == 25); @@ -686,8 +686,8 @@ asio::async_read_until(s, sb2, "WXY", bindns::bind(async_read_handler, _1, &ec, _2, &length, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(!ec); ASIO_CHECK(length == 25); @@ -701,8 +701,8 @@ asio::async_read_until(s, sb2, "WXY", bindns::bind(async_read_handler, _1, &ec, _2, &length, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(!ec); ASIO_CHECK(length == 25); @@ -712,8 +712,8 @@ int i = asio::async_read_until(s, sb2, "WXY", archetypes::lazy_handler()); ASIO_CHECK(i == 42); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); } void test_match_condition_async_read_until() @@ -726,8 +726,8 @@ using std::placeholders::_2; #endif // defined(ASIO_HAS_BOOST_BIND) - asio::io_service ios; - test_stream s(ios); + asio::io_context ioc; + test_stream s(ioc); asio::streambuf sb1; asio::streambuf sb2(25); asio::error_code ec; @@ -742,8 +742,8 @@ asio::async_read_until(s, sb1, match_char('Z'), bindns::bind(async_read_handler, _1, &ec, _2, &length, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(!ec); ASIO_CHECK(length == 26); @@ -757,8 +757,8 @@ asio::async_read_until(s, sb1, match_char('Z'), bindns::bind(async_read_handler, _1, &ec, _2, &length, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(!ec); ASIO_CHECK(length == 26); @@ -772,8 +772,8 @@ asio::async_read_until(s, sb1, match_char('Z'), bindns::bind(async_read_handler, _1, &ec, _2, &length, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(!ec); ASIO_CHECK(length == 26); @@ -786,8 +786,8 @@ asio::async_read_until(s, sb2, match_char('Z'), bindns::bind(async_read_handler, _1, &ec, _2, &length, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(ec == asio::error::not_found); ASIO_CHECK(length == 0); @@ -801,8 +801,8 @@ asio::async_read_until(s, sb2, match_char('Z'), bindns::bind(async_read_handler, _1, &ec, _2, &length, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(ec == asio::error::not_found); ASIO_CHECK(length == 0); @@ -816,8 +816,8 @@ asio::async_read_until(s, sb2, match_char('Z'), bindns::bind(async_read_handler, _1, &ec, _2, &length, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(ec == asio::error::not_found); ASIO_CHECK(length == 0); @@ -830,8 +830,8 @@ asio::async_read_until(s, sb2, match_char('Y'), bindns::bind(async_read_handler, _1, &ec, _2, &length, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(!ec); ASIO_CHECK(length == 25); @@ -845,8 +845,8 @@ asio::async_read_until(s, sb2, match_char('Y'), bindns::bind(async_read_handler, _1, &ec, _2, &length, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(!ec); ASIO_CHECK(length == 25); @@ -860,8 +860,8 @@ asio::async_read_until(s, sb2, match_char('Y'), bindns::bind(async_read_handler, _1, &ec, _2, &length, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(!ec); ASIO_CHECK(length == 25); @@ -871,8 +871,8 @@ int i = asio::async_read_until(s, sb2, match_char('Y'), archetypes::lazy_handler()); ASIO_CHECK(i == 42); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); } ASIO_TEST_SUITE
diff --git a/asio/src/tests/unit/serial_port.cpp b/asio/src/tests/unit/serial_port.cpp index 1db8102..6171afc 100644 --- a/asio/src/tests/unit/serial_port.cpp +++ b/asio/src/tests/unit/serial_port.cpp
@@ -18,7 +18,7 @@ #include "asio/serial_port.hpp" #include "archetypes/async_result.hpp" -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #include "unit_test.hpp" //------------------------------------------------------------------------------ @@ -59,7 +59,7 @@ try { - io_service ios; + io_context ioc; char mutable_char_buffer[128] = ""; const char const_char_buffer[128] = ""; serial_port::baud_rate serial_port_option; @@ -68,10 +68,10 @@ // basic_serial_port constructors. - serial_port port1(ios); - serial_port port2(ios, "null"); + serial_port port1(ioc); + serial_port port2(ioc, "null"); serial_port::native_handle_type native_port1 = port1.native_handle(); - serial_port port3(ios, native_port1); + serial_port port3(ioc, native_port1); #if defined(ASIO_HAS_MOVE) serial_port port4(std::move(port3)); @@ -80,14 +80,14 @@ // basic_serial_port operators. #if defined(ASIO_HAS_MOVE) - port1 = serial_port(ios); + port1 = serial_port(ioc); port1 = std::move(port2); #endif // defined(ASIO_HAS_MOVE) // basic_io_object functions. - io_service& ios_ref = port1.get_io_service(); - (void)ios_ref; + io_context& ioc_ref = port1.get_io_context(); + (void)ioc_ref; // basic_serial_port functions.
diff --git a/asio/src/tests/unit/serial_port_base.cpp b/asio/src/tests/unit/serial_port_base.cpp index 42ab8ac..3949761 100644 --- a/asio/src/tests/unit/serial_port_base.cpp +++ b/asio/src/tests/unit/serial_port_base.cpp
@@ -17,7 +17,7 @@ // Test that header file is self-contained. #include "asio/serial_port_base.hpp" -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #include "asio/serial_port.hpp" #include "unit_test.hpp" @@ -37,8 +37,8 @@ try { - io_service ios; - serial_port port(ios); + io_context ioc; + serial_port port(ioc); // baud_rate class.
diff --git a/asio/src/tests/unit/signal_set.cpp b/asio/src/tests/unit/signal_set.cpp index d93830b..c0356d2 100644 --- a/asio/src/tests/unit/signal_set.cpp +++ b/asio/src/tests/unit/signal_set.cpp
@@ -17,7 +17,7 @@ #include "asio/signal_set.hpp" #include "archetypes/async_result.hpp" -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #include "unit_test.hpp" //------------------------------------------------------------------------------ @@ -39,21 +39,21 @@ try { - io_service ios; + io_context ioc; archetypes::lazy_handler lazy; asio::error_code ec; // basic_signal_set constructors. - signal_set set1(ios); - signal_set set2(ios, 1); - signal_set set3(ios, 1, 2); - signal_set set4(ios, 1, 2, 3); + signal_set set1(ioc); + signal_set set2(ioc, 1); + signal_set set3(ioc, 1, 2); + signal_set set4(ioc, 1, 2, 3); // basic_io_object functions. - io_service& ios_ref = set1.get_io_service(); - (void)ios_ref; + io_context& ioc_ref = set1.get_io_context(); + (void)ioc_ref; // basic_signal_set functions.
diff --git a/asio/src/tests/unit/socket_base.cpp b/asio/src/tests/unit/socket_base.cpp index 9762d57..0b0adf9 100644 --- a/asio/src/tests/unit/socket_base.cpp +++ b/asio/src/tests/unit/socket_base.cpp
@@ -16,7 +16,7 @@ // Test that header file is self-contained. #include "asio/socket_base.hpp" -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #include "asio/ip/tcp.hpp" #include "asio/ip/udp.hpp" #include "unit_test.hpp" @@ -37,8 +37,8 @@ try { - io_service ios; - ip::tcp::socket sock(ios); + io_context ioc; + ip::tcp::socket sock(ioc); char buf[1024]; // shutdown_type enumeration. @@ -194,10 +194,10 @@ using namespace asio; namespace ip = asio::ip; - io_service ios; - ip::udp::socket udp_sock(ios, ip::udp::v4()); - ip::tcp::socket tcp_sock(ios, ip::tcp::v4()); - ip::tcp::acceptor tcp_acceptor(ios, ip::tcp::v4()); + io_context ioc; + ip::udp::socket udp_sock(ioc, ip::udp::v4()); + ip::tcp::socket tcp_sock(ioc, ip::tcp::v4()); + ip::tcp::acceptor tcp_acceptor(ioc, ip::tcp::v4()); asio::error_code ec; // broadcast class.
diff --git a/asio/src/tests/unit/ssl/stream.cpp b/asio/src/tests/unit/ssl/stream.cpp index 7e27408..2020283 100644 --- a/asio/src/tests/unit/ssl/stream.cpp +++ b/asio/src/tests/unit/ssl/stream.cpp
@@ -62,7 +62,7 @@ try { - io_service ios; + io_context ioc; char mutable_char_buffer[128] = ""; const char const_char_buffer[128] = ""; asio::ssl::context context(asio::ssl::context::sslv23); @@ -71,14 +71,14 @@ // ssl::stream constructors. - ssl::stream<ip::tcp::socket> stream1(ios, context); - ip::tcp::socket socket1(ios, ip::tcp::v4()); + ssl::stream<ip::tcp::socket> stream1(ioc, context); + ip::tcp::socket socket1(ioc, ip::tcp::v4()); ssl::stream<ip::tcp::socket&> stream2(socket1, context); // basic_io_object functions. - io_service& ios_ref = stream1.get_io_service(); - (void)ios_ref; + io_context& ioc_ref = stream1.get_io_context(); + (void)ioc_ref; // ssl::stream functions.
diff --git a/asio/src/tests/unit/strand.cpp b/asio/src/tests/unit/strand.cpp index 639b411..5b01e2d 100644 --- a/asio/src/tests/unit/strand.cpp +++ b/asio/src/tests/unit/strand.cpp
@@ -17,7 +17,7 @@ #include "asio/strand.hpp" #include <sstream> -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #include "asio/post.hpp" #include "asio/thread.hpp" #include "unit_test.hpp" @@ -58,7 +58,7 @@ ++(*count); } -void increment_without_lock(io_service::strand* s, int* count) +void increment_without_lock(io_context::strand* s, int* count) { ASIO_CHECK(!s->running_in_this_thread()); @@ -71,7 +71,7 @@ ASIO_CHECK(*count == original_count + 1); } -void increment_with_lock(io_service::strand* s, int* count) +void increment_with_lock(io_context::strand* s, int* count) { ASIO_CHECK(s->running_in_this_thread()); @@ -84,24 +84,24 @@ ASIO_CHECK(*count == original_count + 1); } -void sleep_increment(io_service* ios, int* count) +void sleep_increment(io_context* ioc, int* count) { - timer t(*ios, chronons::seconds(2)); + timer t(*ioc, chronons::seconds(2)); t.wait(); ++(*count); } -void start_sleep_increments(io_service* ios, io_service::strand* s, int* count) +void start_sleep_increments(io_context* ioc, io_context::strand* s, int* count) { // Give all threads a chance to start. - timer t(*ios, chronons::seconds(2)); + timer t(*ioc, chronons::seconds(2)); t.wait(); // Start three increments. - s->post(bindns::bind(sleep_increment, ios, count)); - s->post(bindns::bind(sleep_increment, ios, count)); - s->post(bindns::bind(sleep_increment, ios, count)); + s->post(bindns::bind(sleep_increment, ioc, count)); + s->post(bindns::bind(sleep_increment, ioc, count)); + s->post(bindns::bind(sleep_increment, ioc, count)); } void throw_exception() @@ -109,47 +109,47 @@ throw 1; } -void io_service_run(io_service* ios) +void io_context_run(io_context* ioc) { - ios->run(); + ioc->run(); } void strand_test() { - io_service ios; - io_service::strand s(ios); + io_context ioc; + io_context::strand s(ioc); int count = 0; - post(ios, bindns::bind(increment_without_lock, &s, &count)); + post(ioc, bindns::bind(increment_without_lock, &s, &count)); // No handlers can be called until run() is called. ASIO_CHECK(count == 0); - ios.run(); + ioc.run(); // The run() call will not return until all work has finished. ASIO_CHECK(count == 1); count = 0; - ios.restart(); + ioc.restart(); post(s, bindns::bind(increment_with_lock, &s, &count)); // No handlers can be called until run() is called. ASIO_CHECK(count == 0); - ios.run(); + ioc.run(); // The run() call will not return until all work has finished. ASIO_CHECK(count == 1); count = 0; - ios.restart(); - post(ios, bindns::bind(start_sleep_increments, &ios, &s, &count)); - thread thread1(bindns::bind(io_service_run, &ios)); - thread thread2(bindns::bind(io_service_run, &ios)); + ioc.restart(); + post(ioc, bindns::bind(start_sleep_increments, &ioc, &s, &count)); + thread thread1(bindns::bind(io_context_run, &ioc)); + thread thread2(bindns::bind(io_context_run, &ioc)); // Check all events run one after another even though there are two threads. - timer timer1(ios, chronons::seconds(3)); + timer timer1(ioc, chronons::seconds(3)); timer1.wait(); ASIO_CHECK(count == 0); #if defined(ASIO_HAS_BOOST_DATE_TIME) @@ -175,7 +175,7 @@ count = 0; int exception_count = 0; - ios.restart(); + ioc.restart(); post(s, throw_exception); post(s, bindns::bind(increment, &count)); post(s, bindns::bind(increment, &count)); @@ -190,7 +190,7 @@ { try { - ios.run(); + ioc.run(); break; } catch (int) @@ -204,12 +204,12 @@ ASIO_CHECK(exception_count == 2); count = 0; - ios.restart(); + ioc.restart(); // Check for clean shutdown when handlers posted through an orphaned strand // are abandoned. { - io_service::strand s2(ios); + io_context::strand s2(ioc); post(s2, bindns::bind(increment, &count)); post(s2, bindns::bind(increment, &count)); post(s2, bindns::bind(increment, &count));
diff --git a/asio/src/tests/unit/system_timer.cpp b/asio/src/tests/unit/system_timer.cpp index 8228fe8..9aa41ce 100644 --- a/asio/src/tests/unit/system_timer.cpp +++ b/asio/src/tests/unit/system_timer.cpp
@@ -25,7 +25,7 @@ #if defined(ASIO_HAS_STD_CHRONO) -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #include "asio/thread.hpp" #if defined(ASIO_HAS_BOOST_BIND) @@ -96,12 +96,12 @@ using std::placeholders::_2; #endif // !defined(ASIO_HAS_BOOST_BIND) - asio::io_service ios; + asio::io_context ioc; int count = 0; asio::system_timer::time_point start = now(); - asio::system_timer t1(ios, seconds(1)); + asio::system_timer t1(ioc, seconds(1)); t1.wait(); // The timer must block until after its expiry time. @@ -111,7 +111,7 @@ start = now(); - asio::system_timer t2(ios, seconds(1) + microseconds(500000)); + asio::system_timer t2(ioc, seconds(1) + microseconds(500000)); t2.wait(); // The timer must block until after its expiry time. @@ -139,13 +139,13 @@ start = now(); - asio::system_timer t3(ios, seconds(5)); + asio::system_timer t3(ioc, seconds(5)); t3.async_wait(bindns::bind(increment, &count)); // No completions can be delivered until run() is called. ASIO_CHECK(count == 0); - ios.run(); + ioc.run(); // The run() call will not return until all operations have finished, and // this should not be until after the timer's expiry time. @@ -157,14 +157,14 @@ count = 3; start = now(); - asio::system_timer t4(ios, seconds(1)); + asio::system_timer t4(ioc, seconds(1)); t4.async_wait(bindns::bind(decrement_to_zero, &t4, &count)); // No completions can be delivered until run() is called. ASIO_CHECK(count == 3); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); // The run() call will not return until all operations have finished, and // this should not be until after the timer's final expiry time. @@ -176,16 +176,16 @@ count = 0; start = now(); - asio::system_timer t5(ios, seconds(10)); + asio::system_timer t5(ioc, seconds(10)); t5.async_wait(bindns::bind(increment_if_not_cancelled, &count, _1)); - asio::system_timer t6(ios, seconds(1)); + asio::system_timer t6(ioc, seconds(1)); t6.async_wait(bindns::bind(cancel_timer, &t5)); // No completions can be delivered until run() is called. ASIO_CHECK(count == 0); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); // The timer should have been cancelled, so count should not have changed. // The total run time should not have been much more than 1 second (and @@ -199,8 +199,8 @@ // wait should run to completion and increment the counter. t5.async_wait(bindns::bind(increment_if_not_cancelled, &count, _1)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); // The timer should not have been cancelled, so count should have changed. // The total time since the timer was created should be more than 10 seconds. @@ -215,14 +215,14 @@ // Start two waits on a timer, one of which will be cancelled. The one // which is not cancelled should still run to completion and increment the // counter. - asio::system_timer t7(ios, seconds(3)); + asio::system_timer t7(ioc, seconds(3)); t7.async_wait(bindns::bind(increment_if_not_cancelled, &count, _1)); t7.async_wait(bindns::bind(increment_if_not_cancelled, &count, _1)); - asio::system_timer t8(ios, seconds(1)); + asio::system_timer t8(ioc, seconds(1)); t8.async_wait(bindns::bind(cancel_one_timer, &t7)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); // One of the waits should not have been cancelled, so count should have // changed. The total time since the timer was created should be more than 3 @@ -246,11 +246,11 @@ void system_timer_cancel_test() { - static asio::io_service io_service; + static asio::io_context io_context; struct timer { asio::system_timer t; - timer() : t(io_service) + timer() : t(io_context) { t.expires_at((asio::system_timer::time_point::max)()); } @@ -290,11 +290,11 @@ void system_timer_custom_allocation_test() { - static asio::io_service io_service; + static asio::io_context io_context; struct timer { asio::system_timer t; - timer() : t(io_service) {} + timer() : t(io_context) {} } timers[100]; int allocation_count = 0; @@ -314,25 +314,25 @@ for (int i = 0; i < 50; ++i) timers[i].t.cancel(); - io_service.run(); + io_context.run(); ASIO_CHECK(allocation_count == 0); } -void io_service_run(asio::io_service* ios) +void io_context_run(asio::io_context* ioc) { - ios->run(); + ioc->run(); } void system_timer_thread_test() { - asio::io_service ios; - asio::io_service::work w(ios); - asio::system_timer t1(ios); - asio::system_timer t2(ios); + asio::io_context ioc; + asio::io_context::work w(ioc); + asio::system_timer t1(ioc); + asio::system_timer t2(ioc); int count = 0; - asio::thread th(bindns::bind(io_service_run, &ios)); + asio::thread th(bindns::bind(io_context_run, &ioc)); t2.expires_after(chronons::seconds(2)); t2.wait(); @@ -343,16 +343,16 @@ t2.expires_after(chronons::seconds(4)); t2.wait(); - ios.stop(); + ioc.stop(); th.join(); ASIO_CHECK(count == 1); } #if defined(ASIO_HAS_MOVE) -asio::system_timer make_timer(asio::io_service& ios, int* count) +asio::system_timer make_timer(asio::io_context& ioc, int* count) { - asio::system_timer t(ios); + asio::system_timer t(ioc); t.expires_after(std::chrono::seconds(1)); t.async_wait(bindns::bind(increment, count)); return t; @@ -362,21 +362,21 @@ void system_timer_move_test() { #if defined(ASIO_HAS_MOVE) - asio::io_service io_service1; - asio::io_service io_service2; + asio::io_context io_context1; + asio::io_context io_context2; int count = 0; - asio::system_timer t1 = make_timer(io_service1, &count); - asio::system_timer t2 = make_timer(io_service2, &count); + asio::system_timer t1 = make_timer(io_context1, &count); + asio::system_timer t2 = make_timer(io_context2, &count); asio::system_timer t3 = std::move(t1); t2 = std::move(t1); - io_service2.run(); + io_context2.run(); ASIO_CHECK(count == 1); - io_service1.run(); + io_context1.run(); ASIO_CHECK(count == 2); #endif // defined(ASIO_HAS_MOVE)
diff --git a/asio/src/tests/unit/windows/object_handle.cpp b/asio/src/tests/unit/windows/object_handle.cpp index 11b8b76..e35d62f 100644 --- a/asio/src/tests/unit/windows/object_handle.cpp +++ b/asio/src/tests/unit/windows/object_handle.cpp
@@ -16,7 +16,7 @@ // Test that header file is self-contained. #include "asio/windows/object_handle.hpp" -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #include "../archetypes/async_result.hpp" #include "../unit_test.hpp" @@ -42,15 +42,15 @@ try { - io_service ios; + io_context ioc; archetypes::lazy_handler lazy; asio::error_code ec; // basic_object_handle constructors. - win::object_handle handle1(ios); + win::object_handle handle1(ioc); HANDLE native_handle1 = INVALID_HANDLE_VALUE; - win::object_handle handle2(ios, native_handle1); + win::object_handle handle2(ioc, native_handle1); #if defined(ASIO_HAS_MOVE) win::object_handle handle3(std::move(handle2)); @@ -59,14 +59,14 @@ // basic_object_handle operators. #if defined(ASIO_HAS_MOVE) - handle1 = win::object_handle(ios); + handle1 = win::object_handle(ioc); handle1 = std::move(handle2); #endif // defined(ASIO_HAS_MOVE) // basic_io_object functions. - io_service& ios_ref = handle1.get_io_service(); - (void)ios_ref; + io_context& ioc_ref = handle1.get_io_context(); + (void)ioc_ref; // basic_handle functions.
diff --git a/asio/src/tests/unit/windows/overlapped_ptr.cpp b/asio/src/tests/unit/windows/overlapped_ptr.cpp index f86380b..33e443e 100644 --- a/asio/src/tests/unit/windows/overlapped_ptr.cpp +++ b/asio/src/tests/unit/windows/overlapped_ptr.cpp
@@ -16,7 +16,7 @@ // Test that header file is self-contained. #include "asio/windows/overlapped_ptr.hpp" -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #include "../unit_test.hpp" //------------------------------------------------------------------------------ @@ -48,21 +48,21 @@ try { - io_service ios; + io_context ioc; // basic_overlapped_ptr constructors. win::overlapped_ptr ptr1; - win::overlapped_ptr ptr2(ios, &overlapped_handler_1); - win::overlapped_ptr ptr3(ios, overlapped_handler_2()); + win::overlapped_ptr ptr2(ioc, &overlapped_handler_1); + win::overlapped_ptr ptr3(ioc, overlapped_handler_2()); // overlapped_ptr functions. ptr1.reset(); - ptr2.reset(ios, &overlapped_handler_1); - ptr3.reset(ios, overlapped_handler_2()); + ptr2.reset(ioc, &overlapped_handler_1); + ptr3.reset(ioc, overlapped_handler_2()); OVERLAPPED* ov1 = ptr1.get(); (void)ov1;
diff --git a/asio/src/tests/unit/windows/random_access_handle.cpp b/asio/src/tests/unit/windows/random_access_handle.cpp index a212269..210f06e 100644 --- a/asio/src/tests/unit/windows/random_access_handle.cpp +++ b/asio/src/tests/unit/windows/random_access_handle.cpp
@@ -16,7 +16,7 @@ // Test that header file is self-contained. #include "asio/windows/random_access_handle.hpp" -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #include "../archetypes/async_result.hpp" #include "../unit_test.hpp" @@ -46,7 +46,7 @@ try { - io_service ios; + io_context ioc; char mutable_char_buffer[128] = ""; const char const_char_buffer[128] = ""; asio::uint64_t offset = 0; @@ -55,9 +55,9 @@ // basic_random_access_handle constructors. - win::random_access_handle handle1(ios); + win::random_access_handle handle1(ioc); HANDLE native_handle1 = INVALID_HANDLE_VALUE; - win::random_access_handle handle2(ios, native_handle1); + win::random_access_handle handle2(ioc, native_handle1); #if defined(ASIO_HAS_MOVE) win::random_access_handle handle3(std::move(handle2)); @@ -66,14 +66,14 @@ // basic_random_access_handle operators. #if defined(ASIO_HAS_MOVE) - handle1 = win::random_access_handle(ios); + handle1 = win::random_access_handle(ioc); handle1 = std::move(handle2); #endif // defined(ASIO_HAS_MOVE) // basic_io_object functions. - io_service& ios_ref = handle1.get_io_service(); - (void)ios_ref; + io_context& ioc_ref = handle1.get_io_context(); + (void)ioc_ref; // basic_handle functions.
diff --git a/asio/src/tests/unit/windows/stream_handle.cpp b/asio/src/tests/unit/windows/stream_handle.cpp index 9ad8c3d..2f6bc80 100644 --- a/asio/src/tests/unit/windows/stream_handle.cpp +++ b/asio/src/tests/unit/windows/stream_handle.cpp
@@ -16,7 +16,7 @@ // Test that header file is self-contained. #include "asio/windows/stream_handle.hpp" -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #include "../archetypes/async_result.hpp" #include "../unit_test.hpp" @@ -46,7 +46,7 @@ try { - io_service ios; + io_context ioc; char mutable_char_buffer[128] = ""; const char const_char_buffer[128] = ""; archetypes::lazy_handler lazy; @@ -54,9 +54,9 @@ // basic_stream_handle constructors. - win::stream_handle handle1(ios); + win::stream_handle handle1(ioc); HANDLE native_handle1 = INVALID_HANDLE_VALUE; - win::stream_handle handle2(ios, native_handle1); + win::stream_handle handle2(ioc, native_handle1); #if defined(ASIO_HAS_MOVE) win::stream_handle handle3(std::move(handle2)); @@ -65,14 +65,14 @@ // basic_stream_handle operators. #if defined(ASIO_HAS_MOVE) - handle1 = win::stream_handle(ios); + handle1 = win::stream_handle(ioc); handle1 = std::move(handle2); #endif // defined(ASIO_HAS_MOVE) // basic_io_object functions. - io_service& ios_ref = handle1.get_io_service(); - (void)ios_ref; + io_context& ioc_ref = handle1.get_io_context(); + (void)ioc_ref; // basic_handle functions.
diff --git a/asio/src/tests/unit/write.cpp b/asio/src/tests/unit/write.cpp index dcbcc71..a747ad8 100644 --- a/asio/src/tests/unit/write.cpp +++ b/asio/src/tests/unit/write.cpp
@@ -19,7 +19,7 @@ #include <cstring> #include <vector> #include "archetypes/async_result.hpp" -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #include "asio/post.hpp" #include "asio/streambuf.hpp" #include "unit_test.hpp" @@ -43,10 +43,10 @@ class test_stream { public: - typedef asio::io_service::executor_type executor_type; + typedef asio::io_context::executor_type executor_type; - test_stream(asio::io_service& io_service) - : io_service_(io_service), + test_stream(asio::io_context& io_context) + : io_context_(io_context), length_(max_length), position_(0), next_write_length_(max_length) @@ -56,7 +56,7 @@ executor_type get_executor() ASIO_NOEXCEPT { - return io_service_.get_executor(); + return io_context_.get_executor(); } void reset(size_t length = max_length) @@ -125,7 +125,7 @@ } private: - asio::io_service& io_service_; + asio::io_context& io_context_; enum { max_length = 8192 }; char data_[max_length]; size_t length_; @@ -140,8 +140,8 @@ void test_2_arg_zero_buffers_write() { - asio::io_service ios; - test_stream s(ios); + asio::io_context ioc; + test_stream s(ioc); std::vector<asio::const_buffer> buffers; size_t bytes_transferred = asio::write(s, buffers); @@ -150,8 +150,8 @@ void test_2_arg_const_buffers_1_write() { - asio::io_service ios; - test_stream s(ios); + asio::io_context ioc; + test_stream s(ioc); asio::const_buffers_1 buffers = asio::buffer(write_data, sizeof(write_data)); @@ -175,8 +175,8 @@ void test_2_arg_mutable_buffers_1_write() { - asio::io_service ios; - test_stream s(ios); + asio::io_context ioc; + test_stream s(ioc); asio::mutable_buffers_1 buffers = asio::buffer(mutable_write_data, sizeof(mutable_write_data)); @@ -200,8 +200,8 @@ void test_2_arg_vector_buffers_write() { - asio::io_service ios; - test_stream s(ios); + asio::io_context ioc; + test_stream s(ioc); std::vector<asio::const_buffer> buffers; buffers.push_back(asio::buffer(write_data, 32)); buffers.push_back(asio::buffer(write_data) + 32); @@ -226,8 +226,8 @@ void test_3_arg_nothrow_zero_buffers_write() { - asio::io_service ios; - test_stream s(ios); + asio::io_context ioc; + test_stream s(ioc); std::vector<asio::const_buffer> buffers; asio::error_code error; @@ -238,8 +238,8 @@ void test_3_arg_nothrow_const_buffers_1_write() { - asio::io_service ios; - test_stream s(ios); + asio::io_context ioc; + test_stream s(ioc); asio::const_buffers_1 buffers = asio::buffer(write_data, sizeof(write_data)); @@ -267,8 +267,8 @@ void test_3_arg_nothrow_mutable_buffers_1_write() { - asio::io_service ios; - test_stream s(ios); + asio::io_context ioc; + test_stream s(ioc); asio::mutable_buffers_1 buffers = asio::buffer(mutable_write_data, sizeof(mutable_write_data)); @@ -296,8 +296,8 @@ void test_3_arg_nothrow_vector_buffers_write() { - asio::io_service ios; - test_stream s(ios); + asio::io_context ioc; + test_stream s(ioc); std::vector<asio::const_buffer> buffers; buffers.push_back(asio::buffer(write_data, 32)); buffers.push_back(asio::buffer(write_data) + 32); @@ -338,8 +338,8 @@ void test_3_arg_const_buffers_1_write() { - asio::io_service ios; - test_stream s(ios); + asio::io_context ioc; + test_stream s(ioc); asio::const_buffers_1 buffers = asio::buffer(write_data, sizeof(write_data)); @@ -520,8 +520,8 @@ void test_3_arg_mutable_buffers_1_write() { - asio::io_service ios; - test_stream s(ios); + asio::io_context ioc; + test_stream s(ioc); asio::mutable_buffers_1 buffers = asio::buffer(mutable_write_data, sizeof(mutable_write_data)); @@ -702,8 +702,8 @@ void test_3_arg_vector_buffers_write() { - asio::io_service ios; - test_stream s(ios); + asio::io_context ioc; + test_stream s(ioc); std::vector<asio::const_buffer> buffers; buffers.push_back(asio::buffer(write_data, 32)); buffers.push_back(asio::buffer(write_data) + 32); @@ -885,8 +885,8 @@ void test_4_arg_const_buffers_1_write() { - asio::io_service ios; - test_stream s(ios); + asio::io_context ioc; + test_stream s(ioc); asio::const_buffers_1 buffers = asio::buffer(write_data, sizeof(write_data)); @@ -1122,8 +1122,8 @@ void test_4_arg_mutable_buffers_1_write() { - asio::io_service ios; - test_stream s(ios); + asio::io_context ioc; + test_stream s(ioc); asio::mutable_buffers_1 buffers = asio::buffer(mutable_write_data, sizeof(mutable_write_data)); @@ -1359,8 +1359,8 @@ void test_4_arg_vector_buffers_write() { - asio::io_service ios; - test_stream s(ios); + asio::io_context ioc; + test_stream s(ioc); std::vector<asio::const_buffer> buffers; buffers.push_back(asio::buffer(write_data, 32)); buffers.push_back(asio::buffer(write_data) + 32); @@ -1613,8 +1613,8 @@ using std::placeholders::_2; #endif // defined(ASIO_HAS_BOOST_BIND) - asio::io_service ios; - test_stream s(ios); + asio::io_context ioc; + test_stream s(ioc); asio::const_buffers_1 buffers = asio::buffer(write_data, sizeof(write_data)); @@ -1623,8 +1623,8 @@ asio::async_write(s, buffers, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); @@ -1634,8 +1634,8 @@ asio::async_write(s, buffers, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); @@ -1645,16 +1645,16 @@ asio::async_write(s, buffers, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); s.reset(); int i = asio::async_write(s, buffers, archetypes::lazy_handler()); ASIO_CHECK(i == 42); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); } @@ -1668,8 +1668,8 @@ using std::placeholders::_2; #endif // defined(ASIO_HAS_BOOST_BIND) - asio::io_service ios; - test_stream s(ios); + asio::io_context ioc; + test_stream s(ioc); asio::mutable_buffers_1 buffers = asio::buffer(mutable_write_data, sizeof(mutable_write_data)); @@ -1678,8 +1678,8 @@ asio::async_write(s, buffers, bindns::bind(async_write_handler, _1, _2, sizeof(mutable_write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(mutable_write_data))); @@ -1689,8 +1689,8 @@ asio::async_write(s, buffers, bindns::bind(async_write_handler, _1, _2, sizeof(mutable_write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(mutable_write_data))); @@ -1700,16 +1700,16 @@ asio::async_write(s, buffers, bindns::bind(async_write_handler, _1, _2, sizeof(mutable_write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(mutable_write_data))); s.reset(); int i = asio::async_write(s, buffers, archetypes::lazy_handler()); ASIO_CHECK(i == 42); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(s.check_buffers(buffers, sizeof(mutable_write_data))); } @@ -1724,8 +1724,8 @@ #endif // defined(ASIO_HAS_BOOST_BIND) #if defined(ASIO_HAS_BOOST_ARRAY) - asio::io_service ios; - test_stream s(ios); + asio::io_context ioc; + test_stream s(ioc); boost::array<asio::const_buffer, 2> buffers = { { asio::buffer(write_data, 32), asio::buffer(write_data) + 32 } }; @@ -1735,8 +1735,8 @@ asio::async_write(s, buffers, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); @@ -1746,8 +1746,8 @@ asio::async_write(s, buffers, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); @@ -1757,16 +1757,16 @@ asio::async_write(s, buffers, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); s.reset(); int i = asio::async_write(s, buffers, archetypes::lazy_handler()); ASIO_CHECK(i == 42); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); #endif // defined(ASIO_HAS_BOOST_ARRAY) } @@ -1782,8 +1782,8 @@ #endif // defined(ASIO_HAS_BOOST_BIND) #if defined(ASIO_HAS_STD_ARRAY) - asio::io_service ios; - test_stream s(ios); + asio::io_context ioc; + test_stream s(ioc); std::array<asio::const_buffer, 2> buffers = { { asio::buffer(write_data, 32), asio::buffer(write_data) + 32 } }; @@ -1793,8 +1793,8 @@ asio::async_write(s, buffers, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); @@ -1804,8 +1804,8 @@ asio::async_write(s, buffers, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); @@ -1815,16 +1815,16 @@ asio::async_write(s, buffers, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); s.reset(); int i = asio::async_write(s, buffers, archetypes::lazy_handler()); ASIO_CHECK(i == 42); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); #endif // defined(ASIO_HAS_STD_ARRAY) } @@ -1839,8 +1839,8 @@ using std::placeholders::_2; #endif // defined(ASIO_HAS_BOOST_BIND) - asio::io_service ios; - test_stream s(ios); + asio::io_context ioc; + test_stream s(ioc); std::vector<asio::const_buffer> buffers; buffers.push_back(asio::buffer(write_data, 32)); buffers.push_back(asio::buffer(write_data) + 32); @@ -1850,8 +1850,8 @@ asio::async_write(s, buffers, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); @@ -1861,8 +1861,8 @@ asio::async_write(s, buffers, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); @@ -1872,16 +1872,16 @@ asio::async_write(s, buffers, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); s.reset(); int i = asio::async_write(s, buffers, archetypes::lazy_handler()); ASIO_CHECK(i == 42); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); } @@ -1895,8 +1895,8 @@ using std::placeholders::_2; #endif // defined(ASIO_HAS_BOOST_BIND) - asio::io_service ios; - test_stream s(ios); + asio::io_context ioc; + test_stream s(ioc); asio::streambuf sb; asio::const_buffers_1 buffers = asio::buffer(write_data, sizeof(write_data)); @@ -1908,8 +1908,8 @@ asio::async_write(s, sb, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); @@ -1921,8 +1921,8 @@ asio::async_write(s, sb, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); @@ -1934,8 +1934,8 @@ asio::async_write(s, sb, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); @@ -1944,8 +1944,8 @@ sb.sputn(write_data, sizeof(write_data)); int i = asio::async_write(s, sb, archetypes::lazy_handler()); ASIO_CHECK(i == 42); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); } @@ -1959,8 +1959,8 @@ using std::placeholders::_2; #endif // defined(ASIO_HAS_BOOST_BIND) - asio::io_service ios; - test_stream s(ios); + asio::io_context ioc; + test_stream s(ioc); asio::const_buffers_1 buffers = asio::buffer(write_data, sizeof(write_data)); @@ -1969,8 +1969,8 @@ asio::async_write(s, buffers, asio::transfer_all(), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); @@ -1980,8 +1980,8 @@ asio::async_write(s, buffers, asio::transfer_all(), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); @@ -1991,8 +1991,8 @@ asio::async_write(s, buffers, asio::transfer_all(), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); @@ -2001,8 +2001,8 @@ asio::async_write(s, buffers, asio::transfer_at_least(1), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); @@ -2012,8 +2012,8 @@ asio::async_write(s, buffers, asio::transfer_at_least(1), bindns::bind(async_write_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 1)); @@ -2023,8 +2023,8 @@ asio::async_write(s, buffers, asio::transfer_at_least(1), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 10)); @@ -2033,8 +2033,8 @@ asio::async_write(s, buffers, asio::transfer_at_least(10), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); @@ -2044,8 +2044,8 @@ asio::async_write(s, buffers, asio::transfer_at_least(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 10)); @@ -2055,8 +2055,8 @@ asio::async_write(s, buffers, asio::transfer_at_least(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 10)); @@ -2065,8 +2065,8 @@ asio::async_write(s, buffers, asio::transfer_at_least(42), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); @@ -2076,8 +2076,8 @@ asio::async_write(s, buffers, asio::transfer_at_least(42), bindns::bind(async_write_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 42)); @@ -2087,8 +2087,8 @@ asio::async_write(s, buffers, asio::transfer_at_least(42), bindns::bind(async_write_handler, _1, _2, 50, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 50)); @@ -2097,8 +2097,8 @@ asio::async_write(s, buffers, asio::transfer_exactly(1), bindns::bind(async_write_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 1)); @@ -2108,8 +2108,8 @@ asio::async_write(s, buffers, asio::transfer_exactly(1), bindns::bind(async_write_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 1)); @@ -2119,8 +2119,8 @@ asio::async_write(s, buffers, asio::transfer_exactly(1), bindns::bind(async_write_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 1)); @@ -2129,8 +2129,8 @@ asio::async_write(s, buffers, asio::transfer_exactly(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 10)); @@ -2140,8 +2140,8 @@ asio::async_write(s, buffers, asio::transfer_exactly(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 10)); @@ -2151,8 +2151,8 @@ asio::async_write(s, buffers, asio::transfer_exactly(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 10)); @@ -2161,8 +2161,8 @@ asio::async_write(s, buffers, asio::transfer_exactly(42), bindns::bind(async_write_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 42)); @@ -2172,8 +2172,8 @@ asio::async_write(s, buffers, asio::transfer_exactly(42), bindns::bind(async_write_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 42)); @@ -2183,8 +2183,8 @@ asio::async_write(s, buffers, asio::transfer_exactly(42), bindns::bind(async_write_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 42)); @@ -2193,8 +2193,8 @@ asio::async_write(s, buffers, old_style_transfer_all, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); @@ -2204,8 +2204,8 @@ asio::async_write(s, buffers, old_style_transfer_all, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); @@ -2215,8 +2215,8 @@ asio::async_write(s, buffers, old_style_transfer_all, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); @@ -2225,8 +2225,8 @@ asio::async_write(s, buffers, short_transfer, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); @@ -2236,8 +2236,8 @@ asio::async_write(s, buffers, short_transfer, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); @@ -2247,8 +2247,8 @@ asio::async_write(s, buffers, short_transfer, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); @@ -2256,8 +2256,8 @@ int i = asio::async_write(s, buffers, short_transfer, archetypes::lazy_handler()); ASIO_CHECK(i == 42); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); } @@ -2271,8 +2271,8 @@ using std::placeholders::_2; #endif // defined(ASIO_HAS_BOOST_BIND) - asio::io_service ios; - test_stream s(ios); + asio::io_context ioc; + test_stream s(ioc); asio::mutable_buffers_1 buffers = asio::buffer(mutable_write_data, sizeof(mutable_write_data)); @@ -2281,8 +2281,8 @@ asio::async_write(s, buffers, asio::transfer_all(), bindns::bind(async_write_handler, _1, _2, sizeof(mutable_write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(mutable_write_data))); @@ -2292,8 +2292,8 @@ asio::async_write(s, buffers, asio::transfer_all(), bindns::bind(async_write_handler, _1, _2, sizeof(mutable_write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(mutable_write_data))); @@ -2303,8 +2303,8 @@ asio::async_write(s, buffers, asio::transfer_all(), bindns::bind(async_write_handler, _1, _2, sizeof(mutable_write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(mutable_write_data))); @@ -2313,8 +2313,8 @@ asio::async_write(s, buffers, asio::transfer_at_least(1), bindns::bind(async_write_handler, _1, _2, sizeof(mutable_write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(mutable_write_data))); @@ -2324,8 +2324,8 @@ asio::async_write(s, buffers, asio::transfer_at_least(1), bindns::bind(async_write_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 1)); @@ -2335,8 +2335,8 @@ asio::async_write(s, buffers, asio::transfer_at_least(1), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 10)); @@ -2345,8 +2345,8 @@ asio::async_write(s, buffers, asio::transfer_at_least(10), bindns::bind(async_write_handler, _1, _2, sizeof(mutable_write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(mutable_write_data))); @@ -2356,8 +2356,8 @@ asio::async_write(s, buffers, asio::transfer_at_least(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 10)); @@ -2367,8 +2367,8 @@ asio::async_write(s, buffers, asio::transfer_at_least(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 10)); @@ -2377,8 +2377,8 @@ asio::async_write(s, buffers, asio::transfer_at_least(42), bindns::bind(async_write_handler, _1, _2, sizeof(mutable_write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(mutable_write_data))); @@ -2388,8 +2388,8 @@ asio::async_write(s, buffers, asio::transfer_at_least(42), bindns::bind(async_write_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 42)); @@ -2399,8 +2399,8 @@ asio::async_write(s, buffers, asio::transfer_at_least(42), bindns::bind(async_write_handler, _1, _2, 50, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 50)); @@ -2409,8 +2409,8 @@ asio::async_write(s, buffers, asio::transfer_exactly(1), bindns::bind(async_write_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 1)); @@ -2420,8 +2420,8 @@ asio::async_write(s, buffers, asio::transfer_exactly(1), bindns::bind(async_write_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 1)); @@ -2431,8 +2431,8 @@ asio::async_write(s, buffers, asio::transfer_exactly(1), bindns::bind(async_write_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 1)); @@ -2441,8 +2441,8 @@ asio::async_write(s, buffers, asio::transfer_exactly(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 10)); @@ -2452,8 +2452,8 @@ asio::async_write(s, buffers, asio::transfer_exactly(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 10)); @@ -2463,8 +2463,8 @@ asio::async_write(s, buffers, asio::transfer_exactly(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 10)); @@ -2473,8 +2473,8 @@ asio::async_write(s, buffers, asio::transfer_exactly(42), bindns::bind(async_write_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 42)); @@ -2484,8 +2484,8 @@ asio::async_write(s, buffers, asio::transfer_exactly(42), bindns::bind(async_write_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 42)); @@ -2495,8 +2495,8 @@ asio::async_write(s, buffers, asio::transfer_exactly(42), bindns::bind(async_write_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 42)); @@ -2505,8 +2505,8 @@ asio::async_write(s, buffers, old_style_transfer_all, bindns::bind(async_write_handler, _1, _2, sizeof(mutable_write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(mutable_write_data))); @@ -2516,8 +2516,8 @@ asio::async_write(s, buffers, old_style_transfer_all, bindns::bind(async_write_handler, _1, _2, sizeof(mutable_write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(mutable_write_data))); @@ -2527,8 +2527,8 @@ asio::async_write(s, buffers, old_style_transfer_all, bindns::bind(async_write_handler, _1, _2, sizeof(mutable_write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(mutable_write_data))); @@ -2537,8 +2537,8 @@ asio::async_write(s, buffers, short_transfer, bindns::bind(async_write_handler, _1, _2, sizeof(mutable_write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(mutable_write_data))); @@ -2548,8 +2548,8 @@ asio::async_write(s, buffers, short_transfer, bindns::bind(async_write_handler, _1, _2, sizeof(mutable_write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(mutable_write_data))); @@ -2559,8 +2559,8 @@ asio::async_write(s, buffers, short_transfer, bindns::bind(async_write_handler, _1, _2, sizeof(mutable_write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(mutable_write_data))); @@ -2568,8 +2568,8 @@ int i = asio::async_write(s, buffers, short_transfer, archetypes::lazy_handler()); ASIO_CHECK(i == 42); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); } @@ -2584,8 +2584,8 @@ #endif // defined(ASIO_HAS_BOOST_BIND) #if defined(ASIO_HAS_BOOST_ARRAY) - asio::io_service ios; - test_stream s(ios); + asio::io_context ioc; + test_stream s(ioc); boost::array<asio::const_buffer, 2> buffers = { { asio::buffer(write_data, 32), asio::buffer(write_data) + 32 } }; @@ -2595,8 +2595,8 @@ asio::async_write(s, buffers, asio::transfer_all(), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); @@ -2606,8 +2606,8 @@ asio::async_write(s, buffers, asio::transfer_all(), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); @@ -2617,8 +2617,8 @@ asio::async_write(s, buffers, asio::transfer_all(), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); @@ -2627,8 +2627,8 @@ asio::async_write(s, buffers, asio::transfer_at_least(1), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); @@ -2638,8 +2638,8 @@ asio::async_write(s, buffers, asio::transfer_at_least(1), bindns::bind(async_write_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 1)); @@ -2649,8 +2649,8 @@ asio::async_write(s, buffers, asio::transfer_at_least(1), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 10)); @@ -2659,8 +2659,8 @@ asio::async_write(s, buffers, asio::transfer_at_least(10), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); @@ -2670,8 +2670,8 @@ asio::async_write(s, buffers, asio::transfer_at_least(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 10)); @@ -2681,8 +2681,8 @@ asio::async_write(s, buffers, asio::transfer_at_least(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 10)); @@ -2691,8 +2691,8 @@ asio::async_write(s, buffers, asio::transfer_at_least(42), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); @@ -2702,8 +2702,8 @@ asio::async_write(s, buffers, asio::transfer_at_least(42), bindns::bind(async_write_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 42)); @@ -2713,8 +2713,8 @@ asio::async_write(s, buffers, asio::transfer_at_least(42), bindns::bind(async_write_handler, _1, _2, 50, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 50)); @@ -2723,8 +2723,8 @@ asio::async_write(s, buffers, asio::transfer_exactly(1), bindns::bind(async_write_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 1)); @@ -2734,8 +2734,8 @@ asio::async_write(s, buffers, asio::transfer_exactly(1), bindns::bind(async_write_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 1)); @@ -2745,8 +2745,8 @@ asio::async_write(s, buffers, asio::transfer_exactly(1), bindns::bind(async_write_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 1)); @@ -2755,8 +2755,8 @@ asio::async_write(s, buffers, asio::transfer_exactly(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 10)); @@ -2766,8 +2766,8 @@ asio::async_write(s, buffers, asio::transfer_exactly(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 10)); @@ -2777,8 +2777,8 @@ asio::async_write(s, buffers, asio::transfer_exactly(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 10)); @@ -2787,8 +2787,8 @@ asio::async_write(s, buffers, asio::transfer_exactly(42), bindns::bind(async_write_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 42)); @@ -2798,8 +2798,8 @@ asio::async_write(s, buffers, asio::transfer_exactly(42), bindns::bind(async_write_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 42)); @@ -2809,8 +2809,8 @@ asio::async_write(s, buffers, asio::transfer_exactly(42), bindns::bind(async_write_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 42)); @@ -2819,8 +2819,8 @@ asio::async_write(s, buffers, old_style_transfer_all, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); @@ -2830,8 +2830,8 @@ asio::async_write(s, buffers, old_style_transfer_all, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); @@ -2841,8 +2841,8 @@ asio::async_write(s, buffers, old_style_transfer_all, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); @@ -2851,8 +2851,8 @@ asio::async_write(s, buffers, short_transfer, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); @@ -2862,8 +2862,8 @@ asio::async_write(s, buffers, short_transfer, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); @@ -2873,8 +2873,8 @@ asio::async_write(s, buffers, short_transfer, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); @@ -2882,8 +2882,8 @@ int i = asio::async_write(s, buffers, short_transfer, archetypes::lazy_handler()); ASIO_CHECK(i == 42); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); #endif // defined(ASIO_HAS_BOOST_ARRAY) } @@ -2899,8 +2899,8 @@ #endif // defined(ASIO_HAS_BOOST_BIND) #if defined(ASIO_HAS_STD_ARRAY) - asio::io_service ios; - test_stream s(ios); + asio::io_context ioc; + test_stream s(ioc); std::array<asio::const_buffer, 2> buffers = { { asio::buffer(write_data, 32), asio::buffer(write_data) + 32 } }; @@ -2910,8 +2910,8 @@ asio::async_write(s, buffers, asio::transfer_all(), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); @@ -2921,8 +2921,8 @@ asio::async_write(s, buffers, asio::transfer_all(), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); @@ -2932,8 +2932,8 @@ asio::async_write(s, buffers, asio::transfer_all(), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); @@ -2942,8 +2942,8 @@ asio::async_write(s, buffers, asio::transfer_at_least(1), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); @@ -2953,8 +2953,8 @@ asio::async_write(s, buffers, asio::transfer_at_least(1), bindns::bind(async_write_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 1)); @@ -2964,8 +2964,8 @@ asio::async_write(s, buffers, asio::transfer_at_least(1), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 10)); @@ -2974,8 +2974,8 @@ asio::async_write(s, buffers, asio::transfer_at_least(10), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); @@ -2985,8 +2985,8 @@ asio::async_write(s, buffers, asio::transfer_at_least(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 10)); @@ -2996,8 +2996,8 @@ asio::async_write(s, buffers, asio::transfer_at_least(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 10)); @@ -3006,8 +3006,8 @@ asio::async_write(s, buffers, asio::transfer_at_least(42), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); @@ -3017,8 +3017,8 @@ asio::async_write(s, buffers, asio::transfer_at_least(42), bindns::bind(async_write_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 42)); @@ -3028,8 +3028,8 @@ asio::async_write(s, buffers, asio::transfer_at_least(42), bindns::bind(async_write_handler, _1, _2, 50, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 50)); @@ -3038,8 +3038,8 @@ asio::async_write(s, buffers, asio::transfer_exactly(1), bindns::bind(async_write_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 1)); @@ -3049,8 +3049,8 @@ asio::async_write(s, buffers, asio::transfer_exactly(1), bindns::bind(async_write_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 1)); @@ -3060,8 +3060,8 @@ asio::async_write(s, buffers, asio::transfer_exactly(1), bindns::bind(async_write_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 1)); @@ -3070,8 +3070,8 @@ asio::async_write(s, buffers, asio::transfer_exactly(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 10)); @@ -3081,8 +3081,8 @@ asio::async_write(s, buffers, asio::transfer_exactly(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 10)); @@ -3092,8 +3092,8 @@ asio::async_write(s, buffers, asio::transfer_exactly(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 10)); @@ -3102,8 +3102,8 @@ asio::async_write(s, buffers, asio::transfer_exactly(42), bindns::bind(async_write_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 42)); @@ -3113,8 +3113,8 @@ asio::async_write(s, buffers, asio::transfer_exactly(42), bindns::bind(async_write_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 42)); @@ -3124,8 +3124,8 @@ asio::async_write(s, buffers, asio::transfer_exactly(42), bindns::bind(async_write_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 42)); @@ -3134,8 +3134,8 @@ asio::async_write(s, buffers, old_style_transfer_all, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); @@ -3145,8 +3145,8 @@ asio::async_write(s, buffers, old_style_transfer_all, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); @@ -3156,8 +3156,8 @@ asio::async_write(s, buffers, old_style_transfer_all, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); @@ -3166,8 +3166,8 @@ asio::async_write(s, buffers, short_transfer, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); @@ -3177,8 +3177,8 @@ asio::async_write(s, buffers, short_transfer, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); @@ -3188,8 +3188,8 @@ asio::async_write(s, buffers, short_transfer, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); @@ -3197,8 +3197,8 @@ int i = asio::async_write(s, buffers, short_transfer, archetypes::lazy_handler()); ASIO_CHECK(i == 42); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); #endif // defined(ASIO_HAS_STD_ARRAY) } @@ -3213,8 +3213,8 @@ using std::placeholders::_2; #endif // defined(ASIO_HAS_BOOST_BIND) - asio::io_service ios; - test_stream s(ios); + asio::io_context ioc; + test_stream s(ioc); std::vector<asio::const_buffer> buffers; buffers.push_back(asio::buffer(write_data, 32)); buffers.push_back(asio::buffer(write_data) + 32); @@ -3224,8 +3224,8 @@ asio::async_write(s, buffers, asio::transfer_all(), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); @@ -3235,8 +3235,8 @@ asio::async_write(s, buffers, asio::transfer_all(), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); @@ -3246,8 +3246,8 @@ asio::async_write(s, buffers, asio::transfer_all(), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); @@ -3256,8 +3256,8 @@ asio::async_write(s, buffers, asio::transfer_at_least(1), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); @@ -3267,8 +3267,8 @@ asio::async_write(s, buffers, asio::transfer_at_least(1), bindns::bind(async_write_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 1)); @@ -3278,8 +3278,8 @@ asio::async_write(s, buffers, asio::transfer_at_least(1), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 10)); @@ -3288,8 +3288,8 @@ asio::async_write(s, buffers, asio::transfer_at_least(10), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); @@ -3299,8 +3299,8 @@ asio::async_write(s, buffers, asio::transfer_at_least(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 10)); @@ -3310,8 +3310,8 @@ asio::async_write(s, buffers, asio::transfer_at_least(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 10)); @@ -3320,8 +3320,8 @@ asio::async_write(s, buffers, asio::transfer_at_least(42), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); @@ -3331,8 +3331,8 @@ asio::async_write(s, buffers, asio::transfer_at_least(42), bindns::bind(async_write_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 42)); @@ -3342,8 +3342,8 @@ asio::async_write(s, buffers, asio::transfer_at_least(42), bindns::bind(async_write_handler, _1, _2, 50, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 50)); @@ -3352,8 +3352,8 @@ asio::async_write(s, buffers, asio::transfer_exactly(1), bindns::bind(async_write_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 1)); @@ -3363,8 +3363,8 @@ asio::async_write(s, buffers, asio::transfer_exactly(1), bindns::bind(async_write_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 1)); @@ -3374,8 +3374,8 @@ asio::async_write(s, buffers, asio::transfer_exactly(1), bindns::bind(async_write_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 1)); @@ -3384,8 +3384,8 @@ asio::async_write(s, buffers, asio::transfer_exactly(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 10)); @@ -3395,8 +3395,8 @@ asio::async_write(s, buffers, asio::transfer_exactly(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 10)); @@ -3406,8 +3406,8 @@ asio::async_write(s, buffers, asio::transfer_exactly(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 10)); @@ -3416,8 +3416,8 @@ asio::async_write(s, buffers, asio::transfer_exactly(42), bindns::bind(async_write_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 42)); @@ -3427,8 +3427,8 @@ asio::async_write(s, buffers, asio::transfer_exactly(42), bindns::bind(async_write_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 42)); @@ -3438,8 +3438,8 @@ asio::async_write(s, buffers, asio::transfer_exactly(42), bindns::bind(async_write_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 42)); @@ -3448,8 +3448,8 @@ asio::async_write(s, buffers, old_style_transfer_all, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); @@ -3459,8 +3459,8 @@ asio::async_write(s, buffers, old_style_transfer_all, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); @@ -3470,8 +3470,8 @@ asio::async_write(s, buffers, old_style_transfer_all, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); @@ -3480,8 +3480,8 @@ asio::async_write(s, buffers, short_transfer, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); @@ -3491,8 +3491,8 @@ asio::async_write(s, buffers, short_transfer, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); @@ -3502,8 +3502,8 @@ asio::async_write(s, buffers, short_transfer, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); @@ -3511,8 +3511,8 @@ int i = asio::async_write(s, buffers, short_transfer, archetypes::lazy_handler()); ASIO_CHECK(i == 42); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); } @@ -3526,8 +3526,8 @@ using std::placeholders::_2; #endif // defined(ASIO_HAS_BOOST_BIND) - asio::io_service ios; - test_stream s(ios); + asio::io_context ioc; + test_stream s(ioc); asio::streambuf sb; asio::const_buffers_1 buffers = asio::buffer(write_data, sizeof(write_data)); @@ -3539,8 +3539,8 @@ asio::async_write(s, sb, asio::transfer_all(), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); @@ -3552,8 +3552,8 @@ asio::async_write(s, sb, asio::transfer_all(), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); @@ -3565,8 +3565,8 @@ asio::async_write(s, sb, asio::transfer_all(), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); @@ -3577,8 +3577,8 @@ asio::async_write(s, sb, asio::transfer_at_least(1), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); @@ -3590,8 +3590,8 @@ asio::async_write(s, sb, asio::transfer_at_least(1), bindns::bind(async_write_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 1)); @@ -3603,8 +3603,8 @@ asio::async_write(s, sb, asio::transfer_at_least(1), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 10)); @@ -3615,8 +3615,8 @@ asio::async_write(s, sb, asio::transfer_at_least(10), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); @@ -3628,8 +3628,8 @@ asio::async_write(s, sb, asio::transfer_at_least(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 10)); @@ -3641,8 +3641,8 @@ asio::async_write(s, sb, asio::transfer_at_least(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 10)); @@ -3653,8 +3653,8 @@ asio::async_write(s, sb, asio::transfer_at_least(42), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); @@ -3666,8 +3666,8 @@ asio::async_write(s, sb, asio::transfer_at_least(42), bindns::bind(async_write_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 42)); @@ -3679,8 +3679,8 @@ asio::async_write(s, sb, asio::transfer_at_least(42), bindns::bind(async_write_handler, _1, _2, 50, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 50)); @@ -3691,8 +3691,8 @@ asio::async_write(s, sb, asio::transfer_exactly(1), bindns::bind(async_write_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 1)); @@ -3704,8 +3704,8 @@ asio::async_write(s, sb, asio::transfer_exactly(1), bindns::bind(async_write_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 1)); @@ -3717,8 +3717,8 @@ asio::async_write(s, sb, asio::transfer_exactly(1), bindns::bind(async_write_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 1)); @@ -3729,8 +3729,8 @@ asio::async_write(s, sb, asio::transfer_exactly(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 10)); @@ -3742,8 +3742,8 @@ asio::async_write(s, sb, asio::transfer_exactly(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 10)); @@ -3755,8 +3755,8 @@ asio::async_write(s, sb, asio::transfer_exactly(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 10)); @@ -3767,8 +3767,8 @@ asio::async_write(s, sb, asio::transfer_exactly(42), bindns::bind(async_write_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 42)); @@ -3780,8 +3780,8 @@ asio::async_write(s, sb, asio::transfer_exactly(42), bindns::bind(async_write_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 42)); @@ -3793,8 +3793,8 @@ asio::async_write(s, sb, asio::transfer_exactly(42), bindns::bind(async_write_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, 42)); @@ -3805,8 +3805,8 @@ asio::async_write(s, sb, old_style_transfer_all, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); @@ -3818,8 +3818,8 @@ asio::async_write(s, sb, old_style_transfer_all, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); @@ -3831,8 +3831,8 @@ asio::async_write(s, sb, old_style_transfer_all, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); @@ -3843,8 +3843,8 @@ asio::async_write(s, sb, short_transfer, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); @@ -3856,8 +3856,8 @@ asio::async_write(s, sb, short_transfer, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); @@ -3869,8 +3869,8 @@ asio::async_write(s, sb, short_transfer, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); @@ -3880,8 +3880,8 @@ int i = asio::async_write(s, sb, short_transfer, archetypes::lazy_handler()); ASIO_CHECK(i == 42); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(s.check_buffers(buffers, sizeof(write_data))); }
diff --git a/asio/src/tests/unit/write_at.cpp b/asio/src/tests/unit/write_at.cpp index 339011d..fcc7e26 100644 --- a/asio/src/tests/unit/write_at.cpp +++ b/asio/src/tests/unit/write_at.cpp
@@ -18,7 +18,7 @@ #include <cstring> #include "archetypes/async_result.hpp" -#include "asio/io_service.hpp" +#include "asio/io_context.hpp" #include "asio/post.hpp" #include "asio/streambuf.hpp" #include "unit_test.hpp" @@ -42,10 +42,10 @@ class test_random_access_device { public: - typedef asio::io_service::executor_type executor_type; + typedef asio::io_context::executor_type executor_type; - test_random_access_device(asio::io_service& io_service) - : io_service_(io_service), + test_random_access_device(asio::io_context& io_context) + : io_context_(io_context), length_(max_length), next_write_length_(max_length) { @@ -54,7 +54,7 @@ executor_type get_executor() ASIO_NOEXCEPT { - return io_service_.get_executor(); + return io_context_.get_executor(); } void reset() @@ -121,7 +121,7 @@ } private: - asio::io_service& io_service_; + asio::io_context& io_context_; enum { max_length = 8192 }; char data_[max_length]; size_t length_; @@ -135,8 +135,8 @@ void test_3_arg_const_buffers_1_write_at() { - asio::io_service ios; - test_random_access_device s(ios); + asio::io_context ioc; + test_random_access_device s(ioc); asio::const_buffers_1 buffers = asio::buffer(write_data, sizeof(write_data)); @@ -177,8 +177,8 @@ void test_3_arg_mutable_buffers_1_write_at() { - asio::io_service ios; - test_random_access_device s(ios); + asio::io_context ioc; + test_random_access_device s(ioc); asio::mutable_buffers_1 buffers = asio::buffer(mutable_write_data, sizeof(mutable_write_data)); @@ -219,8 +219,8 @@ void test_3_arg_vector_buffers_write_at() { - asio::io_service ios; - test_random_access_device s(ios); + asio::io_context ioc; + test_random_access_device s(ioc); std::vector<asio::const_buffer> buffers; buffers.push_back(asio::buffer(write_data, 32)); buffers.push_back(asio::buffer(write_data) + 32); @@ -262,8 +262,8 @@ void test_4_arg_nothrow_const_buffers_1_write_at() { - asio::io_service ios; - test_random_access_device s(ios); + asio::io_context ioc; + test_random_access_device s(ioc); asio::const_buffers_1 buffers = asio::buffer(write_data, sizeof(write_data)); @@ -311,8 +311,8 @@ void test_4_arg_nothrow_mutable_buffers_1_write_at() { - asio::io_service ios; - test_random_access_device s(ios); + asio::io_context ioc; + test_random_access_device s(ioc); asio::mutable_buffers_1 buffers = asio::buffer(mutable_write_data, sizeof(mutable_write_data)); @@ -360,8 +360,8 @@ void test_4_arg_nothrow_vector_buffers_write_at() { - asio::io_service ios; - test_random_access_device s(ios); + asio::io_context ioc; + test_random_access_device s(ioc); std::vector<asio::const_buffer> buffers; buffers.push_back(asio::buffer(write_data, 32)); buffers.push_back(asio::buffer(write_data) + 32); @@ -422,8 +422,8 @@ void test_4_arg_const_buffers_1_write_at() { - asio::io_service ios; - test_random_access_device s(ios); + asio::io_context ioc; + test_random_access_device s(ioc); asio::const_buffers_1 buffers = asio::buffer(write_data, sizeof(write_data)); @@ -784,8 +784,8 @@ void test_4_arg_mutable_buffers_1_write_at() { - asio::io_service ios; - test_random_access_device s(ios); + asio::io_context ioc; + test_random_access_device s(ioc); asio::mutable_buffers_1 buffers = asio::buffer(mutable_write_data, sizeof(mutable_write_data)); @@ -1146,8 +1146,8 @@ void test_4_arg_vector_buffers_write_at() { - asio::io_service ios; - test_random_access_device s(ios); + asio::io_context ioc; + test_random_access_device s(ioc); std::vector<asio::const_buffer> buffers; buffers.push_back(asio::buffer(write_data, 32)); buffers.push_back(asio::buffer(write_data) + 32); @@ -1509,8 +1509,8 @@ void test_5_arg_const_buffers_1_write_at() { - asio::io_service ios; - test_random_access_device s(ios); + asio::io_context ioc; + test_random_access_device s(ioc); asio::const_buffers_1 buffers = asio::buffer(write_data, sizeof(write_data)); @@ -1980,8 +1980,8 @@ void test_5_arg_mutable_buffers_1_write_at() { - asio::io_service ios; - test_random_access_device s(ios); + asio::io_context ioc; + test_random_access_device s(ioc); asio::mutable_buffers_1 buffers = asio::buffer(mutable_write_data, sizeof(mutable_write_data)); @@ -2451,8 +2451,8 @@ void test_5_arg_vector_buffers_write_at() { - asio::io_service ios; - test_random_access_device s(ios); + asio::io_context ioc; + test_random_access_device s(ioc); std::vector<asio::const_buffer> buffers; buffers.push_back(asio::buffer(write_data, 32)); buffers.push_back(asio::buffer(write_data) + 32); @@ -2939,8 +2939,8 @@ using std::placeholders::_2; #endif // defined(ASIO_HAS_BOOST_BIND) - asio::io_service ios; - test_random_access_device s(ios); + asio::io_context ioc; + test_random_access_device s(ioc); asio::const_buffers_1 buffers = asio::buffer(write_data, sizeof(write_data)); @@ -2949,8 +2949,8 @@ asio::async_write_at(s, 0, buffers, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); @@ -2959,8 +2959,8 @@ asio::async_write_at(s, 1234, buffers, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(write_data))); @@ -2970,8 +2970,8 @@ asio::async_write_at(s, 0, buffers, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); @@ -2981,8 +2981,8 @@ asio::async_write_at(s, 1234, buffers, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(write_data))); @@ -2992,8 +2992,8 @@ asio::async_write_at(s, 0, buffers, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); @@ -3003,8 +3003,8 @@ asio::async_write_at(s, 1234, buffers, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(write_data))); @@ -3014,8 +3014,8 @@ asio::async_write_at(s, 0, buffers, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); @@ -3023,8 +3023,8 @@ int i = asio::async_write_at(s, 0, buffers, archetypes::lazy_handler()); ASIO_CHECK(i == 42); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); } @@ -3038,8 +3038,8 @@ using std::placeholders::_2; #endif // defined(ASIO_HAS_BOOST_BIND) - asio::io_service ios; - test_random_access_device s(ios); + asio::io_context ioc; + test_random_access_device s(ioc); asio::mutable_buffers_1 buffers = asio::buffer(mutable_write_data, sizeof(mutable_write_data)); @@ -3048,8 +3048,8 @@ asio::async_write_at(s, 0, buffers, bindns::bind(async_write_handler, _1, _2, sizeof(mutable_write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(mutable_write_data))); @@ -3058,8 +3058,8 @@ asio::async_write_at(s, 1234, buffers, bindns::bind(async_write_handler, _1, _2, sizeof(mutable_write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(mutable_write_data))); @@ -3069,8 +3069,8 @@ asio::async_write_at(s, 0, buffers, bindns::bind(async_write_handler, _1, _2, sizeof(mutable_write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(mutable_write_data))); @@ -3080,8 +3080,8 @@ asio::async_write_at(s, 1234, buffers, bindns::bind(async_write_handler, _1, _2, sizeof(mutable_write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(mutable_write_data))); @@ -3091,8 +3091,8 @@ asio::async_write_at(s, 0, buffers, bindns::bind(async_write_handler, _1, _2, sizeof(mutable_write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(mutable_write_data))); @@ -3102,8 +3102,8 @@ asio::async_write_at(s, 1234, buffers, bindns::bind(async_write_handler, _1, _2, sizeof(mutable_write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(mutable_write_data))); @@ -3113,8 +3113,8 @@ asio::async_write_at(s, 0, buffers, bindns::bind(async_write_handler, _1, _2, sizeof(mutable_write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(mutable_write_data))); @@ -3122,8 +3122,8 @@ int i = asio::async_write_at(s, 0, buffers, archetypes::lazy_handler()); ASIO_CHECK(i == 42); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); } @@ -3138,8 +3138,8 @@ #endif // defined(ASIO_HAS_BOOST_BIND) #if defined(ASIO_HAS_BOOST_ARRAY) - asio::io_service ios; - test_random_access_device s(ios); + asio::io_context ioc; + test_random_access_device s(ioc); boost::array<asio::const_buffer, 2> buffers = { { asio::buffer(write_data, 32), asio::buffer(write_data) + 32 } }; @@ -3149,8 +3149,8 @@ asio::async_write_at(s, 0, buffers, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); @@ -3159,8 +3159,8 @@ asio::async_write_at(s, 1234, buffers, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(write_data))); @@ -3170,8 +3170,8 @@ asio::async_write_at(s, 0, buffers, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); @@ -3181,8 +3181,8 @@ asio::async_write_at(s, 1234, buffers, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(write_data))); @@ -3192,8 +3192,8 @@ asio::async_write_at(s, 0, buffers, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); @@ -3203,8 +3203,8 @@ asio::async_write_at(s, 1234, buffers, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(write_data))); @@ -3214,8 +3214,8 @@ asio::async_write_at(s, 0, buffers, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); @@ -3223,8 +3223,8 @@ int i = asio::async_write_at(s, 0, buffers, archetypes::lazy_handler()); ASIO_CHECK(i == 42); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); #endif // defined(ASIO_HAS_BOOST_ARRAY) } @@ -3240,8 +3240,8 @@ #endif // defined(ASIO_HAS_BOOST_BIND) #if defined(ASIO_HAS_STD_ARRAY) - asio::io_service ios; - test_random_access_device s(ios); + asio::io_context ioc; + test_random_access_device s(ioc); std::array<asio::const_buffer, 2> buffers = { { asio::buffer(write_data, 32), asio::buffer(write_data) + 32 } }; @@ -3251,8 +3251,8 @@ asio::async_write_at(s, 0, buffers, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); @@ -3261,8 +3261,8 @@ asio::async_write_at(s, 1234, buffers, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(write_data))); @@ -3272,8 +3272,8 @@ asio::async_write_at(s, 0, buffers, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); @@ -3283,8 +3283,8 @@ asio::async_write_at(s, 1234, buffers, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(write_data))); @@ -3294,8 +3294,8 @@ asio::async_write_at(s, 0, buffers, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); @@ -3305,8 +3305,8 @@ asio::async_write_at(s, 1234, buffers, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(write_data))); @@ -3316,8 +3316,8 @@ asio::async_write_at(s, 0, buffers, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); @@ -3325,8 +3325,8 @@ int i = asio::async_write_at(s, 0, buffers, archetypes::lazy_handler()); ASIO_CHECK(i == 42); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); #endif // defined(ASIO_HAS_STD_ARRAY) } @@ -3341,8 +3341,8 @@ using std::placeholders::_2; #endif // defined(ASIO_HAS_BOOST_BIND) - asio::io_service ios; - test_random_access_device s(ios); + asio::io_context ioc; + test_random_access_device s(ioc); std::vector<asio::const_buffer> buffers; buffers.push_back(asio::buffer(write_data, 32)); buffers.push_back(asio::buffer(write_data) + 32); @@ -3352,8 +3352,8 @@ asio::async_write_at(s, 0, buffers, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); @@ -3362,8 +3362,8 @@ asio::async_write_at(s, 1234, buffers, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(write_data))); @@ -3373,8 +3373,8 @@ asio::async_write_at(s, 0, buffers, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); @@ -3384,8 +3384,8 @@ asio::async_write_at(s, 1234, buffers, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(write_data))); @@ -3395,8 +3395,8 @@ asio::async_write_at(s, 0, buffers, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); @@ -3406,8 +3406,8 @@ asio::async_write_at(s, 1234, buffers, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(write_data))); @@ -3417,8 +3417,8 @@ asio::async_write_at(s, 0, buffers, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); @@ -3426,8 +3426,8 @@ int i = asio::async_write_at(s, 0, buffers, archetypes::lazy_handler()); ASIO_CHECK(i == 42); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); } @@ -3441,8 +3441,8 @@ using std::placeholders::_2; #endif // defined(ASIO_HAS_BOOST_BIND) - asio::io_service ios; - test_random_access_device s(ios); + asio::io_context ioc; + test_random_access_device s(ioc); asio::streambuf sb; asio::const_buffers_1 buffers = asio::buffer(write_data, sizeof(write_data)); @@ -3454,8 +3454,8 @@ asio::async_write_at(s, 0, sb, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); @@ -3466,8 +3466,8 @@ asio::async_write_at(s, 1234, sb, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(write_data))); @@ -3479,8 +3479,8 @@ asio::async_write_at(s, 0, sb, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); @@ -3492,8 +3492,8 @@ asio::async_write_at(s, 1234, sb, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(write_data))); @@ -3505,8 +3505,8 @@ asio::async_write_at(s, 0, sb, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); @@ -3518,8 +3518,8 @@ asio::async_write_at(s, 1234, sb, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(write_data))); @@ -3531,8 +3531,8 @@ asio::async_write_at(s, 0, sb, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); @@ -3542,8 +3542,8 @@ int i = asio::async_write_at(s, 0, sb, archetypes::lazy_handler()); ASIO_CHECK(i == 42); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); } @@ -3557,8 +3557,8 @@ using std::placeholders::_2; #endif // defined(ASIO_HAS_BOOST_BIND) - asio::io_service ios; - test_random_access_device s(ios); + asio::io_context ioc; + test_random_access_device s(ioc); asio::const_buffers_1 buffers = asio::buffer(write_data, sizeof(write_data)); @@ -3568,8 +3568,8 @@ asio::transfer_all(), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); @@ -3579,8 +3579,8 @@ asio::transfer_all(), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(write_data))); @@ -3591,8 +3591,8 @@ asio::transfer_all(), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); @@ -3603,8 +3603,8 @@ asio::transfer_all(), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(write_data))); @@ -3615,8 +3615,8 @@ asio::transfer_all(), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); @@ -3627,8 +3627,8 @@ asio::transfer_all(), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(write_data))); @@ -3638,8 +3638,8 @@ asio::transfer_at_least(1), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); @@ -3649,8 +3649,8 @@ asio::transfer_at_least(1), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(write_data))); @@ -3661,8 +3661,8 @@ asio::transfer_at_least(1), bindns::bind(async_write_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 1)); @@ -3673,8 +3673,8 @@ asio::transfer_at_least(1), bindns::bind(async_write_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 1)); @@ -3685,8 +3685,8 @@ asio::transfer_at_least(1), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 10)); @@ -3697,8 +3697,8 @@ asio::transfer_at_least(1), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 10)); @@ -3708,8 +3708,8 @@ asio::transfer_at_least(10), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); @@ -3719,8 +3719,8 @@ asio::transfer_at_least(10), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(write_data))); @@ -3731,8 +3731,8 @@ asio::transfer_at_least(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 10)); @@ -3743,8 +3743,8 @@ asio::transfer_at_least(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 10)); @@ -3755,8 +3755,8 @@ asio::transfer_at_least(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 10)); @@ -3767,8 +3767,8 @@ asio::transfer_at_least(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 10)); @@ -3778,8 +3778,8 @@ asio::transfer_at_least(42), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); @@ -3789,8 +3789,8 @@ asio::transfer_at_least(42), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(write_data))); @@ -3801,8 +3801,8 @@ asio::transfer_at_least(42), bindns::bind(async_write_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 42)); @@ -3813,8 +3813,8 @@ asio::transfer_at_least(42), bindns::bind(async_write_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 42)); @@ -3825,8 +3825,8 @@ asio::transfer_at_least(42), bindns::bind(async_write_handler, _1, _2, 50, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 50)); @@ -3837,8 +3837,8 @@ asio::transfer_at_least(42), bindns::bind(async_write_handler, _1, _2, 50, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 50)); @@ -3848,8 +3848,8 @@ asio::transfer_exactly(1), bindns::bind(async_write_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 1)); @@ -3859,8 +3859,8 @@ asio::transfer_exactly(1), bindns::bind(async_write_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 1)); @@ -3871,8 +3871,8 @@ asio::transfer_exactly(1), bindns::bind(async_write_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 1)); @@ -3883,8 +3883,8 @@ asio::transfer_exactly(1), bindns::bind(async_write_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 1)); @@ -3895,8 +3895,8 @@ asio::transfer_exactly(1), bindns::bind(async_write_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 1)); @@ -3907,8 +3907,8 @@ asio::transfer_exactly(1), bindns::bind(async_write_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 1)); @@ -3918,8 +3918,8 @@ asio::transfer_exactly(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 10)); @@ -3929,8 +3929,8 @@ asio::transfer_exactly(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 10)); @@ -3941,8 +3941,8 @@ asio::transfer_exactly(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 10)); @@ -3953,8 +3953,8 @@ asio::transfer_exactly(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 10)); @@ -3965,8 +3965,8 @@ asio::transfer_exactly(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 10)); @@ -3977,8 +3977,8 @@ asio::transfer_exactly(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 10)); @@ -3988,8 +3988,8 @@ asio::transfer_exactly(42), bindns::bind(async_write_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 42)); @@ -3999,8 +3999,8 @@ asio::transfer_exactly(42), bindns::bind(async_write_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 42)); @@ -4011,8 +4011,8 @@ asio::transfer_exactly(42), bindns::bind(async_write_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 42)); @@ -4023,8 +4023,8 @@ asio::transfer_exactly(42), bindns::bind(async_write_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 42)); @@ -4035,8 +4035,8 @@ asio::transfer_exactly(42), bindns::bind(async_write_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 42)); @@ -4047,8 +4047,8 @@ asio::transfer_exactly(42), bindns::bind(async_write_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 42)); @@ -4057,8 +4057,8 @@ asio::async_write_at(s, 0, buffers, old_style_transfer_all, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); @@ -4067,8 +4067,8 @@ asio::async_write_at(s, 1234, buffers, old_style_transfer_all, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(write_data))); @@ -4078,8 +4078,8 @@ asio::async_write_at(s, 0, buffers, old_style_transfer_all, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); @@ -4089,8 +4089,8 @@ asio::async_write_at(s, 1234, buffers, old_style_transfer_all, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(write_data))); @@ -4100,8 +4100,8 @@ asio::async_write_at(s, 0, buffers, old_style_transfer_all, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); @@ -4111,8 +4111,8 @@ asio::async_write_at(s, 1234, buffers, old_style_transfer_all, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(write_data))); @@ -4121,8 +4121,8 @@ asio::async_write_at(s, 0, buffers, short_transfer, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); @@ -4131,8 +4131,8 @@ asio::async_write_at(s, 1234, buffers, short_transfer, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(write_data))); @@ -4142,8 +4142,8 @@ asio::async_write_at(s, 0, buffers, short_transfer, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); @@ -4153,8 +4153,8 @@ asio::async_write_at(s, 1234, buffers, short_transfer, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(write_data))); @@ -4164,8 +4164,8 @@ asio::async_write_at(s, 0, buffers, short_transfer, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); @@ -4175,8 +4175,8 @@ asio::async_write_at(s, 1234, buffers, short_transfer, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(write_data))); @@ -4184,8 +4184,8 @@ int i = asio::async_write_at(s, 0, buffers, short_transfer, archetypes::lazy_handler()); ASIO_CHECK(i == 42); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); } @@ -4199,8 +4199,8 @@ using std::placeholders::_2; #endif // defined(ASIO_HAS_BOOST_BIND) - asio::io_service ios; - test_random_access_device s(ios); + asio::io_context ioc; + test_random_access_device s(ioc); asio::mutable_buffers_1 buffers = asio::buffer(mutable_write_data, sizeof(mutable_write_data)); @@ -4210,8 +4210,8 @@ asio::transfer_all(), bindns::bind(async_write_handler, _1, _2, sizeof(mutable_write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(mutable_write_data))); @@ -4221,8 +4221,8 @@ asio::transfer_all(), bindns::bind(async_write_handler, _1, _2, sizeof(mutable_write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(mutable_write_data))); @@ -4233,8 +4233,8 @@ asio::transfer_all(), bindns::bind(async_write_handler, _1, _2, sizeof(mutable_write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(mutable_write_data))); @@ -4245,8 +4245,8 @@ asio::transfer_all(), bindns::bind(async_write_handler, _1, _2, sizeof(mutable_write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(mutable_write_data))); @@ -4257,8 +4257,8 @@ asio::transfer_all(), bindns::bind(async_write_handler, _1, _2, sizeof(mutable_write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(mutable_write_data))); @@ -4269,8 +4269,8 @@ asio::transfer_all(), bindns::bind(async_write_handler, _1, _2, sizeof(mutable_write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(mutable_write_data))); @@ -4280,8 +4280,8 @@ asio::transfer_at_least(1), bindns::bind(async_write_handler, _1, _2, sizeof(mutable_write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(mutable_write_data))); @@ -4291,8 +4291,8 @@ asio::transfer_at_least(1), bindns::bind(async_write_handler, _1, _2, sizeof(mutable_write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(mutable_write_data))); @@ -4303,8 +4303,8 @@ asio::transfer_at_least(1), bindns::bind(async_write_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 1)); @@ -4315,8 +4315,8 @@ asio::transfer_at_least(1), bindns::bind(async_write_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 1)); @@ -4327,8 +4327,8 @@ asio::transfer_at_least(1), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 10)); @@ -4339,8 +4339,8 @@ asio::transfer_at_least(1), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 10)); @@ -4350,8 +4350,8 @@ asio::transfer_at_least(10), bindns::bind(async_write_handler, _1, _2, sizeof(mutable_write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(mutable_write_data))); @@ -4361,8 +4361,8 @@ asio::transfer_at_least(10), bindns::bind(async_write_handler, _1, _2, sizeof(mutable_write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(mutable_write_data))); @@ -4373,8 +4373,8 @@ asio::transfer_at_least(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 10)); @@ -4385,8 +4385,8 @@ asio::transfer_at_least(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 10)); @@ -4397,8 +4397,8 @@ asio::transfer_at_least(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 10)); @@ -4409,8 +4409,8 @@ asio::transfer_at_least(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 10)); @@ -4420,8 +4420,8 @@ asio::transfer_at_least(42), bindns::bind(async_write_handler, _1, _2, sizeof(mutable_write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(mutable_write_data))); @@ -4431,8 +4431,8 @@ asio::transfer_at_least(42), bindns::bind(async_write_handler, _1, _2, sizeof(mutable_write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(mutable_write_data))); @@ -4443,8 +4443,8 @@ asio::transfer_at_least(42), bindns::bind(async_write_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 42)); @@ -4455,8 +4455,8 @@ asio::transfer_at_least(42), bindns::bind(async_write_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 42)); @@ -4467,8 +4467,8 @@ asio::transfer_at_least(42), bindns::bind(async_write_handler, _1, _2, 50, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 50)); @@ -4479,8 +4479,8 @@ asio::transfer_at_least(42), bindns::bind(async_write_handler, _1, _2, 50, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 50)); @@ -4490,8 +4490,8 @@ asio::transfer_exactly(1), bindns::bind(async_write_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 1)); @@ -4501,8 +4501,8 @@ asio::transfer_exactly(1), bindns::bind(async_write_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 1)); @@ -4513,8 +4513,8 @@ asio::transfer_exactly(1), bindns::bind(async_write_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 1)); @@ -4525,8 +4525,8 @@ asio::transfer_exactly(1), bindns::bind(async_write_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 1)); @@ -4537,8 +4537,8 @@ asio::transfer_exactly(1), bindns::bind(async_write_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 1)); @@ -4549,8 +4549,8 @@ asio::transfer_exactly(1), bindns::bind(async_write_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 1)); @@ -4560,8 +4560,8 @@ asio::transfer_exactly(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 10)); @@ -4571,8 +4571,8 @@ asio::transfer_exactly(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 10)); @@ -4583,8 +4583,8 @@ asio::transfer_exactly(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 10)); @@ -4595,8 +4595,8 @@ asio::transfer_exactly(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 10)); @@ -4607,8 +4607,8 @@ asio::transfer_exactly(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 10)); @@ -4619,8 +4619,8 @@ asio::transfer_exactly(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 10)); @@ -4630,8 +4630,8 @@ asio::transfer_exactly(42), bindns::bind(async_write_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 42)); @@ -4641,8 +4641,8 @@ asio::transfer_exactly(42), bindns::bind(async_write_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 42)); @@ -4653,8 +4653,8 @@ asio::transfer_exactly(42), bindns::bind(async_write_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 42)); @@ -4665,8 +4665,8 @@ asio::transfer_exactly(42), bindns::bind(async_write_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 42)); @@ -4677,8 +4677,8 @@ asio::transfer_exactly(42), bindns::bind(async_write_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 42)); @@ -4689,8 +4689,8 @@ asio::transfer_exactly(42), bindns::bind(async_write_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 42)); @@ -4699,8 +4699,8 @@ asio::async_write_at(s, 0, buffers, old_style_transfer_all, bindns::bind(async_write_handler, _1, _2, sizeof(mutable_write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(mutable_write_data))); @@ -4709,8 +4709,8 @@ asio::async_write_at(s, 1234, buffers, old_style_transfer_all, bindns::bind(async_write_handler, _1, _2, sizeof(mutable_write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(mutable_write_data))); @@ -4720,8 +4720,8 @@ asio::async_write_at(s, 0, buffers, old_style_transfer_all, bindns::bind(async_write_handler, _1, _2, sizeof(mutable_write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(mutable_write_data))); @@ -4731,8 +4731,8 @@ asio::async_write_at(s, 1234, buffers, old_style_transfer_all, bindns::bind(async_write_handler, _1, _2, sizeof(mutable_write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(mutable_write_data))); @@ -4742,8 +4742,8 @@ asio::async_write_at(s, 0, buffers, old_style_transfer_all, bindns::bind(async_write_handler, _1, _2, sizeof(mutable_write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(mutable_write_data))); @@ -4753,8 +4753,8 @@ asio::async_write_at(s, 1234, buffers, old_style_transfer_all, bindns::bind(async_write_handler, _1, _2, sizeof(mutable_write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(mutable_write_data))); @@ -4763,8 +4763,8 @@ asio::async_write_at(s, 0, buffers, short_transfer, bindns::bind(async_write_handler, _1, _2, sizeof(mutable_write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(mutable_write_data))); @@ -4773,8 +4773,8 @@ asio::async_write_at(s, 1234, buffers, short_transfer, bindns::bind(async_write_handler, _1, _2, sizeof(mutable_write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(mutable_write_data))); @@ -4784,8 +4784,8 @@ asio::async_write_at(s, 0, buffers, short_transfer, bindns::bind(async_write_handler, _1, _2, sizeof(mutable_write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(mutable_write_data))); @@ -4795,8 +4795,8 @@ asio::async_write_at(s, 1234, buffers, short_transfer, bindns::bind(async_write_handler, _1, _2, sizeof(mutable_write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(mutable_write_data))); @@ -4806,8 +4806,8 @@ asio::async_write_at(s, 0, buffers, short_transfer, bindns::bind(async_write_handler, _1, _2, sizeof(mutable_write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(mutable_write_data))); @@ -4817,8 +4817,8 @@ asio::async_write_at(s, 1234, buffers, short_transfer, bindns::bind(async_write_handler, _1, _2, sizeof(mutable_write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(mutable_write_data))); @@ -4826,8 +4826,8 @@ int i = asio::async_write_at(s, 0, buffers, short_transfer, archetypes::lazy_handler()); ASIO_CHECK(i == 42); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); } @@ -4842,8 +4842,8 @@ #endif // defined(ASIO_HAS_BOOST_BIND) #if defined(ASIO_HAS_BOOST_ARRAY) - asio::io_service ios; - test_random_access_device s(ios); + asio::io_context ioc; + test_random_access_device s(ioc); boost::array<asio::const_buffer, 2> buffers = { { asio::buffer(write_data, 32), asio::buffer(write_data) + 32 } }; @@ -4854,8 +4854,8 @@ asio::transfer_all(), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); @@ -4865,8 +4865,8 @@ asio::transfer_all(), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(write_data))); @@ -4877,8 +4877,8 @@ asio::transfer_all(), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); @@ -4889,8 +4889,8 @@ asio::transfer_all(), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(write_data))); @@ -4901,8 +4901,8 @@ asio::transfer_all(), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); @@ -4913,8 +4913,8 @@ asio::transfer_all(), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(write_data))); @@ -4924,8 +4924,8 @@ asio::transfer_at_least(1), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); @@ -4935,8 +4935,8 @@ asio::transfer_at_least(1), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(write_data))); @@ -4947,8 +4947,8 @@ asio::transfer_at_least(1), bindns::bind(async_write_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 1)); @@ -4959,8 +4959,8 @@ asio::transfer_at_least(1), bindns::bind(async_write_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 1)); @@ -4971,8 +4971,8 @@ asio::transfer_at_least(1), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 10)); @@ -4983,8 +4983,8 @@ asio::transfer_at_least(1), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 10)); @@ -4994,8 +4994,8 @@ asio::transfer_at_least(10), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); @@ -5005,8 +5005,8 @@ asio::transfer_at_least(10), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(write_data))); @@ -5017,8 +5017,8 @@ asio::transfer_at_least(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 10)); @@ -5029,8 +5029,8 @@ asio::transfer_at_least(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 10)); @@ -5041,8 +5041,8 @@ asio::transfer_at_least(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 10)); @@ -5053,8 +5053,8 @@ asio::transfer_at_least(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 10)); @@ -5064,8 +5064,8 @@ asio::transfer_at_least(42), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); @@ -5075,8 +5075,8 @@ asio::transfer_at_least(42), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(write_data))); @@ -5087,8 +5087,8 @@ asio::transfer_at_least(42), bindns::bind(async_write_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 42)); @@ -5099,8 +5099,8 @@ asio::transfer_at_least(42), bindns::bind(async_write_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 42)); @@ -5111,8 +5111,8 @@ asio::transfer_at_least(42), bindns::bind(async_write_handler, _1, _2, 50, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 50)); @@ -5123,8 +5123,8 @@ asio::transfer_at_least(42), bindns::bind(async_write_handler, _1, _2, 50, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 50)); @@ -5134,8 +5134,8 @@ asio::transfer_exactly(1), bindns::bind(async_write_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 1)); @@ -5145,8 +5145,8 @@ asio::transfer_exactly(1), bindns::bind(async_write_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 1)); @@ -5157,8 +5157,8 @@ asio::transfer_exactly(1), bindns::bind(async_write_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 1)); @@ -5169,8 +5169,8 @@ asio::transfer_exactly(1), bindns::bind(async_write_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 1)); @@ -5181,8 +5181,8 @@ asio::transfer_exactly(1), bindns::bind(async_write_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 1)); @@ -5193,8 +5193,8 @@ asio::transfer_exactly(1), bindns::bind(async_write_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 1)); @@ -5204,8 +5204,8 @@ asio::transfer_exactly(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 10)); @@ -5215,8 +5215,8 @@ asio::transfer_exactly(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 10)); @@ -5227,8 +5227,8 @@ asio::transfer_exactly(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 10)); @@ -5239,8 +5239,8 @@ asio::transfer_exactly(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 10)); @@ -5251,8 +5251,8 @@ asio::transfer_exactly(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 10)); @@ -5263,8 +5263,8 @@ asio::transfer_exactly(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 10)); @@ -5274,8 +5274,8 @@ asio::transfer_exactly(42), bindns::bind(async_write_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 42)); @@ -5285,8 +5285,8 @@ asio::transfer_exactly(42), bindns::bind(async_write_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 42)); @@ -5297,8 +5297,8 @@ asio::transfer_exactly(42), bindns::bind(async_write_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 42)); @@ -5309,8 +5309,8 @@ asio::transfer_exactly(42), bindns::bind(async_write_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 42)); @@ -5321,8 +5321,8 @@ asio::transfer_exactly(42), bindns::bind(async_write_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 42)); @@ -5333,8 +5333,8 @@ asio::transfer_exactly(42), bindns::bind(async_write_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 42)); @@ -5343,8 +5343,8 @@ asio::async_write_at(s, 0, buffers, old_style_transfer_all, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); @@ -5353,8 +5353,8 @@ asio::async_write_at(s, 1234, buffers, old_style_transfer_all, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(write_data))); @@ -5364,8 +5364,8 @@ asio::async_write_at(s, 0, buffers, old_style_transfer_all, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); @@ -5375,8 +5375,8 @@ asio::async_write_at(s, 1234, buffers, old_style_transfer_all, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(write_data))); @@ -5386,8 +5386,8 @@ asio::async_write_at(s, 0, buffers, old_style_transfer_all, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); @@ -5397,8 +5397,8 @@ asio::async_write_at(s, 1234, buffers, old_style_transfer_all, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(write_data))); @@ -5407,8 +5407,8 @@ asio::async_write_at(s, 0, buffers, short_transfer, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); @@ -5417,8 +5417,8 @@ asio::async_write_at(s, 1234, buffers, short_transfer, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(write_data))); @@ -5428,8 +5428,8 @@ asio::async_write_at(s, 0, buffers, short_transfer, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); @@ -5439,8 +5439,8 @@ asio::async_write_at(s, 1234, buffers, short_transfer, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(write_data))); @@ -5450,8 +5450,8 @@ asio::async_write_at(s, 0, buffers, short_transfer, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); @@ -5461,8 +5461,8 @@ asio::async_write_at(s, 1234, buffers, short_transfer, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(write_data))); @@ -5470,8 +5470,8 @@ int i = asio::async_write_at(s, 0, buffers, short_transfer, archetypes::lazy_handler()); ASIO_CHECK(i == 42); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); #endif // defined(ASIO_HAS_BOOST_ARRAY) } @@ -5487,8 +5487,8 @@ #endif // defined(ASIO_HAS_BOOST_BIND) #if defined(ASIO_HAS_STD_ARRAY) - asio::io_service ios; - test_random_access_device s(ios); + asio::io_context ioc; + test_random_access_device s(ioc); std::array<asio::const_buffer, 2> buffers = { { asio::buffer(write_data, 32), asio::buffer(write_data) + 32 } }; @@ -5499,8 +5499,8 @@ asio::transfer_all(), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); @@ -5510,8 +5510,8 @@ asio::transfer_all(), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(write_data))); @@ -5522,8 +5522,8 @@ asio::transfer_all(), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); @@ -5534,8 +5534,8 @@ asio::transfer_all(), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(write_data))); @@ -5546,8 +5546,8 @@ asio::transfer_all(), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); @@ -5558,8 +5558,8 @@ asio::transfer_all(), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(write_data))); @@ -5569,8 +5569,8 @@ asio::transfer_at_least(1), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); @@ -5580,8 +5580,8 @@ asio::transfer_at_least(1), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(write_data))); @@ -5592,8 +5592,8 @@ asio::transfer_at_least(1), bindns::bind(async_write_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 1)); @@ -5604,8 +5604,8 @@ asio::transfer_at_least(1), bindns::bind(async_write_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 1)); @@ -5616,8 +5616,8 @@ asio::transfer_at_least(1), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 10)); @@ -5628,8 +5628,8 @@ asio::transfer_at_least(1), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 10)); @@ -5639,8 +5639,8 @@ asio::transfer_at_least(10), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); @@ -5650,8 +5650,8 @@ asio::transfer_at_least(10), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(write_data))); @@ -5662,8 +5662,8 @@ asio::transfer_at_least(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 10)); @@ -5674,8 +5674,8 @@ asio::transfer_at_least(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 10)); @@ -5686,8 +5686,8 @@ asio::transfer_at_least(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 10)); @@ -5698,8 +5698,8 @@ asio::transfer_at_least(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 10)); @@ -5709,8 +5709,8 @@ asio::transfer_at_least(42), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); @@ -5720,8 +5720,8 @@ asio::transfer_at_least(42), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(write_data))); @@ -5732,8 +5732,8 @@ asio::transfer_at_least(42), bindns::bind(async_write_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 42)); @@ -5744,8 +5744,8 @@ asio::transfer_at_least(42), bindns::bind(async_write_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 42)); @@ -5756,8 +5756,8 @@ asio::transfer_at_least(42), bindns::bind(async_write_handler, _1, _2, 50, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 50)); @@ -5768,8 +5768,8 @@ asio::transfer_at_least(42), bindns::bind(async_write_handler, _1, _2, 50, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 50)); @@ -5779,8 +5779,8 @@ asio::transfer_exactly(1), bindns::bind(async_write_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 1)); @@ -5790,8 +5790,8 @@ asio::transfer_exactly(1), bindns::bind(async_write_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 1)); @@ -5802,8 +5802,8 @@ asio::transfer_exactly(1), bindns::bind(async_write_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 1)); @@ -5814,8 +5814,8 @@ asio::transfer_exactly(1), bindns::bind(async_write_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 1)); @@ -5826,8 +5826,8 @@ asio::transfer_exactly(1), bindns::bind(async_write_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 1)); @@ -5838,8 +5838,8 @@ asio::transfer_exactly(1), bindns::bind(async_write_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 1)); @@ -5849,8 +5849,8 @@ asio::transfer_exactly(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 10)); @@ -5860,8 +5860,8 @@ asio::transfer_exactly(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 10)); @@ -5872,8 +5872,8 @@ asio::transfer_exactly(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 10)); @@ -5884,8 +5884,8 @@ asio::transfer_exactly(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 10)); @@ -5896,8 +5896,8 @@ asio::transfer_exactly(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 10)); @@ -5908,8 +5908,8 @@ asio::transfer_exactly(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 10)); @@ -5919,8 +5919,8 @@ asio::transfer_exactly(42), bindns::bind(async_write_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 42)); @@ -5930,8 +5930,8 @@ asio::transfer_exactly(42), bindns::bind(async_write_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 42)); @@ -5942,8 +5942,8 @@ asio::transfer_exactly(42), bindns::bind(async_write_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 42)); @@ -5954,8 +5954,8 @@ asio::transfer_exactly(42), bindns::bind(async_write_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 42)); @@ -5966,8 +5966,8 @@ asio::transfer_exactly(42), bindns::bind(async_write_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 42)); @@ -5978,8 +5978,8 @@ asio::transfer_exactly(42), bindns::bind(async_write_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 42)); @@ -5988,8 +5988,8 @@ asio::async_write_at(s, 0, buffers, old_style_transfer_all, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); @@ -5998,8 +5998,8 @@ asio::async_write_at(s, 1234, buffers, old_style_transfer_all, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(write_data))); @@ -6009,8 +6009,8 @@ asio::async_write_at(s, 0, buffers, old_style_transfer_all, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); @@ -6020,8 +6020,8 @@ asio::async_write_at(s, 1234, buffers, old_style_transfer_all, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(write_data))); @@ -6031,8 +6031,8 @@ asio::async_write_at(s, 0, buffers, old_style_transfer_all, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); @@ -6042,8 +6042,8 @@ asio::async_write_at(s, 1234, buffers, old_style_transfer_all, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(write_data))); @@ -6052,8 +6052,8 @@ asio::async_write_at(s, 0, buffers, short_transfer, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); @@ -6062,8 +6062,8 @@ asio::async_write_at(s, 1234, buffers, short_transfer, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(write_data))); @@ -6073,8 +6073,8 @@ asio::async_write_at(s, 0, buffers, short_transfer, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); @@ -6084,8 +6084,8 @@ asio::async_write_at(s, 1234, buffers, short_transfer, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(write_data))); @@ -6095,8 +6095,8 @@ asio::async_write_at(s, 0, buffers, short_transfer, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); @@ -6106,8 +6106,8 @@ asio::async_write_at(s, 1234, buffers, short_transfer, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(write_data))); @@ -6115,8 +6115,8 @@ int i = asio::async_write_at(s, 0, buffers, short_transfer, archetypes::lazy_handler()); ASIO_CHECK(i == 42); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); #endif // defined(ASIO_HAS_STD_ARRAY) } @@ -6131,8 +6131,8 @@ using std::placeholders::_2; #endif // defined(ASIO_HAS_BOOST_BIND) - asio::io_service ios; - test_random_access_device s(ios); + asio::io_context ioc; + test_random_access_device s(ioc); std::vector<asio::const_buffer> buffers; buffers.push_back(asio::buffer(write_data, 32)); buffers.push_back(asio::buffer(write_data) + 32); @@ -6143,8 +6143,8 @@ asio::transfer_all(), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); @@ -6154,8 +6154,8 @@ asio::transfer_all(), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(write_data))); @@ -6166,8 +6166,8 @@ asio::transfer_all(), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); @@ -6178,8 +6178,8 @@ asio::transfer_all(), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(write_data))); @@ -6190,8 +6190,8 @@ asio::transfer_all(), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); @@ -6202,8 +6202,8 @@ asio::transfer_all(), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(write_data))); @@ -6213,8 +6213,8 @@ asio::transfer_at_least(1), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); @@ -6224,8 +6224,8 @@ asio::transfer_at_least(1), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(write_data))); @@ -6236,8 +6236,8 @@ asio::transfer_at_least(1), bindns::bind(async_write_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 1)); @@ -6248,8 +6248,8 @@ asio::transfer_at_least(1), bindns::bind(async_write_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 1)); @@ -6260,8 +6260,8 @@ asio::transfer_at_least(1), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 10)); @@ -6272,8 +6272,8 @@ asio::transfer_at_least(1), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 10)); @@ -6283,8 +6283,8 @@ asio::transfer_at_least(10), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); @@ -6294,8 +6294,8 @@ asio::transfer_at_least(10), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(write_data))); @@ -6306,8 +6306,8 @@ asio::transfer_at_least(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 10)); @@ -6318,8 +6318,8 @@ asio::transfer_at_least(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 10)); @@ -6330,8 +6330,8 @@ asio::transfer_at_least(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 10)); @@ -6342,8 +6342,8 @@ asio::transfer_at_least(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 10)); @@ -6353,8 +6353,8 @@ asio::transfer_at_least(42), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); @@ -6364,8 +6364,8 @@ asio::transfer_at_least(42), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(write_data))); @@ -6376,8 +6376,8 @@ asio::transfer_at_least(42), bindns::bind(async_write_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 42)); @@ -6388,8 +6388,8 @@ asio::transfer_at_least(42), bindns::bind(async_write_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 42)); @@ -6400,8 +6400,8 @@ asio::transfer_at_least(42), bindns::bind(async_write_handler, _1, _2, 50, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 50)); @@ -6412,8 +6412,8 @@ asio::transfer_at_least(42), bindns::bind(async_write_handler, _1, _2, 50, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 50)); @@ -6423,8 +6423,8 @@ asio::transfer_exactly(1), bindns::bind(async_write_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 1)); @@ -6434,8 +6434,8 @@ asio::transfer_exactly(1), bindns::bind(async_write_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 1)); @@ -6446,8 +6446,8 @@ asio::transfer_exactly(1), bindns::bind(async_write_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 1)); @@ -6458,8 +6458,8 @@ asio::transfer_exactly(1), bindns::bind(async_write_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 1)); @@ -6470,8 +6470,8 @@ asio::transfer_exactly(1), bindns::bind(async_write_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 1)); @@ -6482,8 +6482,8 @@ asio::transfer_exactly(1), bindns::bind(async_write_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 1)); @@ -6493,8 +6493,8 @@ asio::transfer_exactly(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 10)); @@ -6504,8 +6504,8 @@ asio::transfer_exactly(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 10)); @@ -6516,8 +6516,8 @@ asio::transfer_exactly(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 10)); @@ -6528,8 +6528,8 @@ asio::transfer_exactly(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 10)); @@ -6540,8 +6540,8 @@ asio::transfer_exactly(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 10)); @@ -6552,8 +6552,8 @@ asio::transfer_exactly(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 10)); @@ -6563,8 +6563,8 @@ asio::transfer_exactly(42), bindns::bind(async_write_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 42)); @@ -6574,8 +6574,8 @@ asio::transfer_exactly(42), bindns::bind(async_write_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 42)); @@ -6586,8 +6586,8 @@ asio::transfer_exactly(42), bindns::bind(async_write_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 42)); @@ -6598,8 +6598,8 @@ asio::transfer_exactly(42), bindns::bind(async_write_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 42)); @@ -6610,8 +6610,8 @@ asio::transfer_exactly(42), bindns::bind(async_write_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 42)); @@ -6622,8 +6622,8 @@ asio::transfer_exactly(42), bindns::bind(async_write_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 42)); @@ -6632,8 +6632,8 @@ asio::async_write_at(s, 0, buffers, old_style_transfer_all, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); @@ -6642,8 +6642,8 @@ asio::async_write_at(s, 1234, buffers, old_style_transfer_all, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(write_data))); @@ -6653,8 +6653,8 @@ asio::async_write_at(s, 0, buffers, old_style_transfer_all, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); @@ -6664,8 +6664,8 @@ asio::async_write_at(s, 1234, buffers, old_style_transfer_all, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(write_data))); @@ -6675,8 +6675,8 @@ asio::async_write_at(s, 0, buffers, old_style_transfer_all, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); @@ -6686,8 +6686,8 @@ asio::async_write_at(s, 1234, buffers, old_style_transfer_all, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(write_data))); @@ -6696,8 +6696,8 @@ asio::async_write_at(s, 0, buffers, short_transfer, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); @@ -6706,8 +6706,8 @@ asio::async_write_at(s, 1234, buffers, short_transfer, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(write_data))); @@ -6717,8 +6717,8 @@ asio::async_write_at(s, 0, buffers, short_transfer, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); @@ -6728,8 +6728,8 @@ asio::async_write_at(s, 1234, buffers, short_transfer, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(write_data))); @@ -6739,8 +6739,8 @@ asio::async_write_at(s, 0, buffers, short_transfer, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); @@ -6750,8 +6750,8 @@ asio::async_write_at(s, 1234, buffers, short_transfer, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(write_data))); @@ -6759,8 +6759,8 @@ int i = asio::async_write_at(s, 0, buffers, short_transfer, archetypes::lazy_handler()); ASIO_CHECK(i == 42); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); } @@ -6774,8 +6774,8 @@ using std::placeholders::_2; #endif // defined(ASIO_HAS_BOOST_BIND) - asio::io_service ios; - test_random_access_device s(ios); + asio::io_context ioc; + test_random_access_device s(ioc); asio::streambuf sb; asio::const_buffers_1 buffers = asio::buffer(write_data, sizeof(write_data)); @@ -6788,8 +6788,8 @@ asio::transfer_all(), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); @@ -6801,8 +6801,8 @@ asio::transfer_all(), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(write_data))); @@ -6815,8 +6815,8 @@ asio::transfer_all(), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); @@ -6829,8 +6829,8 @@ asio::transfer_all(), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(write_data))); @@ -6843,8 +6843,8 @@ asio::transfer_all(), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); @@ -6857,8 +6857,8 @@ asio::transfer_all(), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(write_data))); @@ -6870,8 +6870,8 @@ asio::transfer_at_least(1), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); @@ -6883,8 +6883,8 @@ asio::transfer_at_least(1), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(write_data))); @@ -6897,8 +6897,8 @@ asio::transfer_at_least(1), bindns::bind(async_write_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 1)); @@ -6911,8 +6911,8 @@ asio::transfer_at_least(1), bindns::bind(async_write_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 1)); @@ -6925,8 +6925,8 @@ asio::transfer_at_least(1), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 10)); @@ -6939,8 +6939,8 @@ asio::transfer_at_least(1), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 10)); @@ -6952,8 +6952,8 @@ asio::transfer_at_least(10), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); @@ -6965,8 +6965,8 @@ asio::transfer_at_least(10), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(write_data))); @@ -6979,8 +6979,8 @@ asio::transfer_at_least(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 10)); @@ -6993,8 +6993,8 @@ asio::transfer_at_least(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 10)); @@ -7007,8 +7007,8 @@ asio::transfer_at_least(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 10)); @@ -7021,8 +7021,8 @@ asio::transfer_at_least(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 10)); @@ -7034,8 +7034,8 @@ asio::transfer_at_least(42), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); @@ -7047,8 +7047,8 @@ asio::transfer_at_least(42), bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(write_data))); @@ -7061,8 +7061,8 @@ asio::transfer_at_least(42), bindns::bind(async_write_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 42)); @@ -7075,8 +7075,8 @@ asio::transfer_at_least(42), bindns::bind(async_write_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 42)); @@ -7089,8 +7089,8 @@ asio::transfer_at_least(42), bindns::bind(async_write_handler, _1, _2, 50, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 50)); @@ -7103,8 +7103,8 @@ asio::transfer_at_least(42), bindns::bind(async_write_handler, _1, _2, 50, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 50)); @@ -7116,8 +7116,8 @@ asio::transfer_exactly(1), bindns::bind(async_write_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 1)); @@ -7129,8 +7129,8 @@ asio::transfer_exactly(1), bindns::bind(async_write_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 1)); @@ -7143,8 +7143,8 @@ asio::transfer_exactly(1), bindns::bind(async_write_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 1)); @@ -7157,8 +7157,8 @@ asio::transfer_exactly(1), bindns::bind(async_write_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 1)); @@ -7171,8 +7171,8 @@ asio::transfer_exactly(1), bindns::bind(async_write_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 1)); @@ -7185,8 +7185,8 @@ asio::transfer_exactly(1), bindns::bind(async_write_handler, _1, _2, 1, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 1)); @@ -7198,8 +7198,8 @@ asio::transfer_exactly(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 10)); @@ -7211,8 +7211,8 @@ asio::transfer_exactly(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 10)); @@ -7225,8 +7225,8 @@ asio::transfer_exactly(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 10)); @@ -7239,8 +7239,8 @@ asio::transfer_exactly(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 10)); @@ -7253,8 +7253,8 @@ asio::transfer_exactly(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 10)); @@ -7267,8 +7267,8 @@ asio::transfer_exactly(10), bindns::bind(async_write_handler, _1, _2, 10, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 10)); @@ -7280,8 +7280,8 @@ asio::transfer_exactly(42), bindns::bind(async_write_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 42)); @@ -7293,8 +7293,8 @@ asio::transfer_exactly(42), bindns::bind(async_write_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 42)); @@ -7307,8 +7307,8 @@ asio::transfer_exactly(42), bindns::bind(async_write_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 42)); @@ -7321,8 +7321,8 @@ asio::transfer_exactly(42), bindns::bind(async_write_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 42)); @@ -7335,8 +7335,8 @@ asio::transfer_exactly(42), bindns::bind(async_write_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, 42)); @@ -7349,8 +7349,8 @@ asio::transfer_exactly(42), bindns::bind(async_write_handler, _1, _2, 42, &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, 42)); @@ -7361,8 +7361,8 @@ asio::async_write_at(s, 0, sb, old_style_transfer_all, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); @@ -7373,8 +7373,8 @@ asio::async_write_at(s, 1234, sb, old_style_transfer_all, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(write_data))); @@ -7386,8 +7386,8 @@ asio::async_write_at(s, 0, sb, old_style_transfer_all, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); @@ -7399,8 +7399,8 @@ asio::async_write_at(s, 1234, sb, old_style_transfer_all, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(write_data))); @@ -7412,8 +7412,8 @@ asio::async_write_at(s, 0, sb, old_style_transfer_all, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); @@ -7425,8 +7425,8 @@ asio::async_write_at(s, 1234, sb, old_style_transfer_all, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(write_data))); @@ -7437,8 +7437,8 @@ asio::async_write_at(s, 0, sb, short_transfer, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); @@ -7449,8 +7449,8 @@ asio::async_write_at(s, 1234, sb, short_transfer, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(write_data))); @@ -7462,8 +7462,8 @@ asio::async_write_at(s, 0, sb, short_transfer, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); @@ -7475,8 +7475,8 @@ asio::async_write_at(s, 1234, sb, short_transfer, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(write_data))); @@ -7488,8 +7488,8 @@ asio::async_write_at(s, 0, sb, short_transfer, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); @@ -7501,8 +7501,8 @@ asio::async_write_at(s, 1234, sb, short_transfer, bindns::bind(async_write_handler, _1, _2, sizeof(write_data), &called)); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(called); ASIO_CHECK(s.check_buffers(1234, buffers, sizeof(write_data))); @@ -7512,8 +7512,8 @@ int i = asio::async_write_at(s, 0, sb, short_transfer, archetypes::lazy_handler()); ASIO_CHECK(i == 42); - ios.restart(); - ios.run(); + ioc.restart(); + ioc.run(); ASIO_CHECK(s.check_buffers(0, buffers, sizeof(write_data))); }