From 6f1fcb972a880cc429bbf32b2285328fecfab66b Mon Sep 17 00:00:00 2001 From: Sergey Abramchuk Date: Thu, 3 May 2018 12:28:44 +0300 Subject: [PATCH] Squashed 'OpenVPN Adapter/Vendors/asio/' changes from 524288cb4..82be891ba b3d2ab725 asio version 1.12.0 released d9161a36e Update release script to match new boost doc build. 54c7b85de Update revision history. 9eaa2a2e5 Update tutorial text to use 'io_context'. 41eb9dc20 Ignore tsified directory. 9229964dc Don't use inline namespace 'v1' in example code snippets. 10098abd6 Include inline namespace 'v1' in tsified code. 9bdbef19f Regenerate documentation. 8fa11a15d Exclude use_future_t implementation detail from documentation. 577b69806 Workaround broken doxygen typedef linking when primary template is undefined. ea1b39f04 Fix tsify.pl to work with latest code. 694ed5284 Document the new concurrency hints. 3834d7363 Some updates to 'Using' notes. 00873ce91 Document Networking TS changes. 8f25ea4b5 Remove spurious value_type from buffer sequence requirements. b33eb0219 gcc 4.7 is the minimum version required for std::allocator_traits. 036faf66a Use new move-enabled form of async_accept. f72304319 Ensure that use_future> is always constexpr default-constructible. 4ad7a397c Add missing variadic template emulation in use_future. 5c591a466 Disable buffer debugging for older MSVC, as it triggers compiler misbehaviour. f8bd903af Add assign() and clear() functions to error_code. db4c0e83f Disable boost.chrono error handling. cca13eefa Document the new handler tracking features. ff9d69e2f Add check for _DEFAULT_SOURCE in addition to _BSD_SOURCE. 52498bbc6 Suppress recv truncation errors on Windows, to match POSIX behaviour. e87c37ec9 Add documentation examples of using asio::post to submit work. ad52c82d2 Create C++11 versions of the fork, local, multicast and nonblocking examples. f16e39e78 Don't directly include , to keep header C++03-compatible. c016e1aec Boostify the TS headers. 559013298 Suppress MSVC dynamic initialisation warning. efa18153d Add tests to ensure the ts/* headers compile and are self-contained. 41fccd565 asio/use_future.hpp is already in the convenience header. 2e743f737 Add waitable timer headers to convenience header. fe5470f4f Use new post() in serialization example. 45dcb33c2 Use asio::coroutine in latency tests. e556aed8d Update invocation examples to use executors. 5a9d0721d Fix up reference to post(). 24050d5ea Show how to associate an executor using nested type and member function. b02c6c758 Update allocation overview and examples to use new form. 3218be74e Fix typo in strands overview. 3152e77f8 Increase number of buffers per operation for consuming_buffers. 5acae1971 Increase threshold for small memory block recycling to 1KB. 986ef7361 Make sure asio/system_context.hpp is self-contained. c80c1cbd5 Don't call memcpy with length 0, to avoid passing null pointers. ede4e7597 Fix description of std::getline's behaviour. 60170d625 Fix copy/paste error in comment. cff2b4998 Fix clang narrowing warning. a40570919 Fix incorrect hyperlink target. fcaf75700 Remove last remaining instance of auto_ptr. fddf89126 Restore binder support for 3, 4 and 5 arguments. 096660c47 Fix double delete issue introduced by 47b9319acbc45d3c1bcb805a4a03cd47df177c11. b44805ff0 Add backward compatibility for the old ConnectCondition form. 09c69982e Ensure make_network_vX error_code overload doesn't throw on invalid prefix length. f4fecdfe4 Fix the rights for event objects on UWP. 2943ee65f Suppress implicit fallthrough warning on newer gcc. b441bf70b Fix clang version detection for suppression of unused typedef warning. 565c6e8fa Fix compile errors in some asio::connect overloads. d52b81646 Bump minimum MSVC version required for C++11 allocators. 5618fadb1 Fix compile warning under Emscripten b2367dab2 Use proper SSL_version() function so that asio can build with BoringSSL. cfe47e71d Regenerate documentation. 6377b0466 Patch up some template links. 2bda4b85c Add new macros to doxygen configuration. 4a4d28b0d Qualify use of error_code. e39a95a73 Fix boostify.pl to work with latest code. 2ccb648f4 Only obtain associated allocator when handler is known to be valid. 230c0d2ae Asynchronous accept should not check user-set non-blocking flag. 862aed305 Require gcc >= 4.7 to use standard atomics. a0d28e5a7 Don't use auto_ptr. 15e136fa8 Use deregister_internal_descriptor in signal_set_service. 59330e825 Put detail/config.hpp include first in detail/string_view.hpp. d6144828b Only enable string_view with /std:c++17 on MSVC. c2cb5395e Use hook allocation strategy whenever associated allocator is std::allocator. 5b4aa5ef9 Make epoll_reactor resistant to events with duplicate user data. 47b9319ac Don't free the reactor's per-descriptor state until after close. cbf687653 Fix compile errors in dev_poll_reactor. 870124ab5 Add missing 'else' in epoll_reactor's handler tracking support. b37b9449e Clean up socket release() implementation for reactor-based platforms. f5c570826 Add out_of_band_inline socket option. 7f849376c Expose the system_executor's execution context as system_context. 9f62b6791 Update io_context run* documentation. ac89cf0ba Enable newer language features for recent MSVC versions. 64ae9bcae Add alias templates for associators. e502a6b36 Use shorter enum name resolver_errc::try_again. b3ebdd8f6 Use ADL for calls to buffer_size. c516cd591 Fix non-dereferencing pointer overflow in basic_streambuf::commit. b8a34a1dc Fix work counting issue in asynchronous resolver implementation. 48e7ef864 is_continuation misplaced in reactive socket service 5adce6e26 Use poll.h rather than sys/poll.h if possible. ddef4994f Avoid exception throwing from `make_network_v{4,6}(str, ec)` 0442bc922 Disable Boost.Chrono's dependency on Boost.System. 6c5b04eff Conditionally enable iostream move constructor and assignment. a3bba3394 Fix version check for string_view. 246f387e7 Fix compile error on gcc 4.8. fd024792c Add -lrt when linking on linux. 0921ab3db Simplify automatic detection of boost source distributions. 6b34f88a5 Make SSL/TLS version handling more consistent across OpenSSL versions. 1517bd1a1 Add travis and appveyor configuration. 70249b796 Use GetModuleHandleA rather than GetModuleHandle. 582ed12f7 Update copyright notices. b6ac42dde Remove unused error code variable. d52f28a09 Add missing rvalue cast in use_future implementation. b33b3ae01 Unlocked reactor I/O implies a concurrency hint of 1. cf351c44a Don't use non-portable sockaddr_storage member ss_len. bbe092b3d Simplify and improve performance of executor operations. e5acea17d Add shallow-constness to strands. 00a85845e Eliminate redundant copy as executors are now shallow-const. git-subtree-dir: OpenVPN Adapter/Vendors/asio git-subtree-split: 82be891ba69c65be4c684d709d78a225da69c3c5 --- .appveyor.yml | 24 + .travis.yml | 323 ++ asio/.gitignore | 1 + asio/COPYING | 2 +- asio/README | 4 +- asio/asio.manifest | 2460 +++++------- asio/boost_asio.manifest | 2929 ++++++++------- asio/boostify.pl | 17 +- asio/configure.ac | 140 +- asio/include/Makefile.am | 4 +- asio/include/asio.hpp | 6 +- asio/include/asio/associated_allocator.hpp | 10 +- asio/include/asio/associated_executor.hpp | 9 +- asio/include/asio/async_result.hpp | 2 +- asio/include/asio/basic_datagram_socket.hpp | 2 +- asio/include/asio/basic_deadline_timer.hpp | 2 +- asio/include/asio/basic_io_object.hpp | 2 +- asio/include/asio/basic_raw_socket.hpp | 2 +- asio/include/asio/basic_seq_packet_socket.hpp | 2 +- asio/include/asio/basic_serial_port.hpp | 2 +- asio/include/asio/basic_signal_set.hpp | 2 +- asio/include/asio/basic_socket.hpp | 2 +- asio/include/asio/basic_socket_acceptor.hpp | 2 +- asio/include/asio/basic_socket_iostream.hpp | 6 +- asio/include/asio/basic_socket_streambuf.hpp | 2 +- asio/include/asio/basic_stream_socket.hpp | 2 +- asio/include/asio/basic_streambuf.hpp | 5 +- asio/include/asio/basic_streambuf_fwd.hpp | 2 +- asio/include/asio/basic_waitable_timer.hpp | 2 +- asio/include/asio/bind_executor.hpp | 2 +- asio/include/asio/buffer.hpp | 9 +- asio/include/asio/buffered_read_stream.hpp | 2 +- .../include/asio/buffered_read_stream_fwd.hpp | 2 +- asio/include/asio/buffered_stream.hpp | 2 +- asio/include/asio/buffered_stream_fwd.hpp | 2 +- asio/include/asio/buffered_write_stream.hpp | 2 +- .../asio/buffered_write_stream_fwd.hpp | 2 +- asio/include/asio/buffers_iterator.hpp | 2 +- asio/include/asio/completion_condition.hpp | 2 +- asio/include/asio/connect.hpp | 2 +- asio/include/asio/coroutine.hpp | 10 +- asio/include/asio/datagram_socket_service.hpp | 2 +- asio/include/asio/deadline_timer.hpp | 2 +- asio/include/asio/deadline_timer_service.hpp | 2 +- asio/include/asio/defer.hpp | 2 +- asio/include/asio/detail/array.hpp | 2 +- asio/include/asio/detail/array_fwd.hpp | 2 +- asio/include/asio/detail/assert.hpp | 2 +- asio/include/asio/detail/atomic_count.hpp | 2 +- .../asio/detail/base_from_completion_cond.hpp | 2 +- asio/include/asio/detail/bind_handler.hpp | 359 +- .../asio/detail/buffer_resize_guard.hpp | 2 +- .../asio/detail/buffer_sequence_adapter.hpp | 2 +- .../asio/detail/buffered_stream_storage.hpp | 2 +- asio/include/asio/detail/call_stack.hpp | 2 +- asio/include/asio/detail/chrono.hpp | 2 +- .../asio/detail/chrono_time_traits.hpp | 2 +- .../asio/detail/completion_handler.hpp | 2 +- asio/include/asio/detail/concurrency_hint.hpp | 2 +- .../detail/conditionally_enabled_event.hpp | 2 +- .../detail/conditionally_enabled_mutex.hpp | 2 +- asio/include/asio/detail/config.hpp | 95 +- .../include/asio/detail/consuming_buffers.hpp | 42 +- asio/include/asio/detail/cstddef.hpp | 2 +- asio/include/asio/detail/cstdint.hpp | 2 +- asio/include/asio/detail/date_time_fwd.hpp | 2 +- .../asio/detail/deadline_timer_service.hpp | 2 +- asio/include/asio/detail/dependent_type.hpp | 2 +- asio/include/asio/detail/descriptor_ops.hpp | 2 +- .../asio/detail/descriptor_read_op.hpp | 2 +- .../asio/detail/descriptor_write_op.hpp | 2 +- asio/include/asio/detail/dev_poll_reactor.hpp | 16 +- asio/include/asio/detail/epoll_reactor.hpp | 15 +- asio/include/asio/detail/event.hpp | 2 +- .../detail/eventfd_select_interrupter.hpp | 2 +- asio/include/asio/detail/executor_op.hpp | 12 +- asio/include/asio/detail/fd_set_adapter.hpp | 2 +- asio/include/asio/detail/fenced_block.hpp | 2 +- asio/include/asio/detail/functional.hpp | 2 +- .../asio/detail/gcc_arm_fenced_block.hpp | 2 +- .../asio/detail/gcc_hppa_fenced_block.hpp | 2 +- .../asio/detail/gcc_sync_fenced_block.hpp | 2 +- .../asio/detail/gcc_x86_fenced_block.hpp | 2 +- asio/include/asio/detail/global.hpp | 2 +- .../asio/detail/handler_alloc_helpers.hpp | 70 +- .../asio/detail/handler_cont_helpers.hpp | 2 +- .../asio/detail/handler_invoke_helpers.hpp | 2 +- asio/include/asio/detail/handler_tracking.hpp | 2 +- .../asio/detail/handler_type_requirements.hpp | 6 +- asio/include/asio/detail/handler_work.hpp | 2 +- asio/include/asio/detail/hash_map.hpp | 2 +- .../detail/impl/buffer_sequence_adapter.ipp | 2 +- .../asio/detail/impl/descriptor_ops.ipp | 2 +- .../asio/detail/impl/dev_poll_reactor.hpp | 2 +- .../asio/detail/impl/dev_poll_reactor.ipp | 12 +- .../asio/detail/impl/epoll_reactor.hpp | 2 +- .../asio/detail/impl/epoll_reactor.ipp | 42 +- .../impl/eventfd_select_interrupter.ipp | 2 +- .../asio/detail/impl/handler_tracking.ipp | 2 +- .../asio/detail/impl/kqueue_reactor.hpp | 2 +- .../asio/detail/impl/kqueue_reactor.ipp | 30 +- asio/include/asio/detail/impl/null_event.ipp | 2 +- .../detail/impl/pipe_select_interrupter.ipp | 2 +- asio/include/asio/detail/impl/posix_event.ipp | 2 +- asio/include/asio/detail/impl/posix_mutex.ipp | 2 +- .../include/asio/detail/impl/posix_thread.ipp | 2 +- .../asio/detail/impl/posix_tss_ptr.ipp | 2 +- .../impl/reactive_descriptor_service.ipp | 21 +- .../impl/reactive_serial_port_service.ipp | 4 +- .../impl/reactive_socket_service_base.ipp | 36 +- .../detail/impl/resolver_service_base.ipp | 2 +- asio/include/asio/detail/impl/scheduler.ipp | 6 +- .../asio/detail/impl/select_reactor.hpp | 2 +- .../asio/detail/impl/select_reactor.ipp | 7 +- .../asio/detail/impl/service_registry.hpp | 2 +- .../asio/detail/impl/service_registry.ipp | 2 +- .../asio/detail/impl/signal_set_service.ipp | 8 +- asio/include/asio/detail/impl/socket_ops.ipp | 21 +- .../detail/impl/socket_select_interrupter.ipp | 2 +- .../detail/impl/strand_executor_service.hpp | 50 +- .../detail/impl/strand_executor_service.ipp | 2 +- .../asio/detail/impl/strand_service.hpp | 2 +- .../asio/detail/impl/strand_service.ipp | 2 +- asio/include/asio/detail/impl/throw_error.ipp | 2 +- .../asio/detail/impl/timer_queue_ptime.ipp | 2 +- .../asio/detail/impl/timer_queue_set.ipp | 2 +- asio/include/asio/detail/impl/win_event.ipp | 7 +- .../detail/impl/win_iocp_handle_service.ipp | 2 +- .../asio/detail/impl/win_iocp_io_context.hpp | 2 +- .../asio/detail/impl/win_iocp_io_context.ipp | 2 +- .../impl/win_iocp_serial_port_service.ipp | 2 +- .../impl/win_iocp_socket_service_base.ipp | 24 +- asio/include/asio/detail/impl/win_mutex.ipp | 2 +- .../detail/impl/win_object_handle_service.ipp | 2 +- .../asio/detail/impl/win_static_mutex.ipp | 2 +- asio/include/asio/detail/impl/win_thread.ipp | 2 +- asio/include/asio/detail/impl/win_tss_ptr.ipp | 6 +- .../impl/winrt_ssocket_service_base.ipp | 2 +- .../detail/impl/winrt_timer_scheduler.hpp | 2 +- .../detail/impl/winrt_timer_scheduler.ipp | 2 +- .../include/asio/detail/impl/winsock_init.ipp | 2 +- asio/include/asio/detail/io_control.hpp | 2 +- .../asio/detail/is_buffer_sequence.hpp | 2 +- asio/include/asio/detail/is_executor.hpp | 2 +- asio/include/asio/detail/keyword_tss_ptr.hpp | 2 +- asio/include/asio/detail/kqueue_reactor.hpp | 14 +- .../asio/detail/local_free_on_block_exit.hpp | 2 +- .../asio/detail/macos_fenced_block.hpp | 2 +- asio/include/asio/detail/memory.hpp | 2 +- asio/include/asio/detail/mutex.hpp | 2 +- asio/include/asio/detail/noncopyable.hpp | 2 +- asio/include/asio/detail/null_event.hpp | 2 +- .../include/asio/detail/null_fenced_block.hpp | 2 +- asio/include/asio/detail/null_global.hpp | 2 +- asio/include/asio/detail/null_mutex.hpp | 2 +- asio/include/asio/detail/null_reactor.hpp | 2 +- .../asio/detail/null_signal_blocker.hpp | 2 +- .../asio/detail/null_socket_service.hpp | 2 +- .../include/asio/detail/null_static_mutex.hpp | 2 +- asio/include/asio/detail/null_thread.hpp | 2 +- asio/include/asio/detail/null_tss_ptr.hpp | 2 +- asio/include/asio/detail/object_pool.hpp | 2 +- .../asio/detail/old_win_sdk_compat.hpp | 2 +- asio/include/asio/detail/op_queue.hpp | 8 +- asio/include/asio/detail/operation.hpp | 2 +- .../asio/detail/pipe_select_interrupter.hpp | 2 +- asio/include/asio/detail/pop_options.hpp | 6 +- asio/include/asio/detail/posix_event.hpp | 2 +- .../asio/detail/posix_fd_set_adapter.hpp | 2 +- asio/include/asio/detail/posix_global.hpp | 2 +- asio/include/asio/detail/posix_mutex.hpp | 2 +- .../asio/detail/posix_signal_blocker.hpp | 2 +- .../asio/detail/posix_static_mutex.hpp | 2 +- asio/include/asio/detail/posix_thread.hpp | 2 +- asio/include/asio/detail/posix_tss_ptr.hpp | 2 +- asio/include/asio/detail/push_options.hpp | 7 +- .../detail/reactive_descriptor_service.hpp | 2 +- .../asio/detail/reactive_null_buffers_op.hpp | 2 +- .../detail/reactive_serial_port_service.hpp | 2 +- .../asio/detail/reactive_socket_accept_op.hpp | 2 +- .../detail/reactive_socket_connect_op.hpp | 2 +- .../asio/detail/reactive_socket_recv_op.hpp | 2 +- .../detail/reactive_socket_recvfrom_op.hpp | 2 +- .../detail/reactive_socket_recvmsg_op.hpp | 2 +- .../asio/detail/reactive_socket_send_op.hpp | 2 +- .../asio/detail/reactive_socket_sendto_op.hpp | 2 +- .../asio/detail/reactive_socket_service.hpp | 2 +- .../detail/reactive_socket_service_base.hpp | 2 +- asio/include/asio/detail/reactive_wait_op.hpp | 2 +- asio/include/asio/detail/reactor.hpp | 2 +- asio/include/asio/detail/reactor_fwd.hpp | 2 +- asio/include/asio/detail/reactor_op.hpp | 2 +- asio/include/asio/detail/reactor_op_queue.hpp | 2 +- .../asio/detail/recycling_allocator.hpp | 2 +- asio/include/asio/detail/regex_fwd.hpp | 2 +- .../asio/detail/resolve_endpoint_op.hpp | 2 +- asio/include/asio/detail/resolve_op.hpp | 2 +- asio/include/asio/detail/resolve_query_op.hpp | 6 +- asio/include/asio/detail/resolver_service.hpp | 2 +- .../asio/detail/resolver_service_base.hpp | 2 +- asio/include/asio/detail/scheduler.hpp | 2 +- .../asio/detail/scheduler_operation.hpp | 2 +- .../asio/detail/scheduler_thread_info.hpp | 2 +- asio/include/asio/detail/scoped_lock.hpp | 2 +- asio/include/asio/detail/scoped_ptr.hpp | 2 +- .../asio/detail/select_interrupter.hpp | 2 +- asio/include/asio/detail/select_reactor.hpp | 15 +- asio/include/asio/detail/service_registry.hpp | 2 +- asio/include/asio/detail/signal_blocker.hpp | 2 +- asio/include/asio/detail/signal_handler.hpp | 2 +- asio/include/asio/detail/signal_init.hpp | 2 +- asio/include/asio/detail/signal_op.hpp | 2 +- .../asio/detail/signal_set_service.hpp | 2 +- asio/include/asio/detail/socket_holder.hpp | 2 +- asio/include/asio/detail/socket_ops.hpp | 2 +- asio/include/asio/detail/socket_option.hpp | 2 +- .../asio/detail/socket_select_interrupter.hpp | 2 +- asio/include/asio/detail/socket_types.hpp | 12 +- .../asio/detail/solaris_fenced_block.hpp | 2 +- asio/include/asio/detail/static_mutex.hpp | 2 +- asio/include/asio/detail/std_event.hpp | 2 +- asio/include/asio/detail/std_fenced_block.hpp | 2 +- asio/include/asio/detail/std_global.hpp | 2 +- asio/include/asio/detail/std_mutex.hpp | 2 +- asio/include/asio/detail/std_static_mutex.hpp | 2 +- asio/include/asio/detail/std_thread.hpp | 2 +- .../asio/detail/strand_executor_service.hpp | 2 +- asio/include/asio/detail/strand_service.hpp | 2 +- asio/include/asio/detail/string_view.hpp | 6 +- asio/include/asio/detail/thread.hpp | 2 +- asio/include/asio/detail/thread_context.hpp | 2 +- asio/include/asio/detail/thread_group.hpp | 2 +- asio/include/asio/detail/thread_info_base.hpp | 13 +- asio/include/asio/detail/throw_error.hpp | 2 +- asio/include/asio/detail/throw_exception.hpp | 2 +- asio/include/asio/detail/timer_queue.hpp | 2 +- asio/include/asio/detail/timer_queue_base.hpp | 2 +- .../include/asio/detail/timer_queue_ptime.hpp | 2 +- asio/include/asio/detail/timer_queue_set.hpp | 2 +- asio/include/asio/detail/timer_scheduler.hpp | 2 +- .../asio/detail/timer_scheduler_fwd.hpp | 2 +- asio/include/asio/detail/tss_ptr.hpp | 2 +- asio/include/asio/detail/type_traits.hpp | 2 +- .../asio/detail/variadic_templates.hpp | 2 +- asio/include/asio/detail/wait_handler.hpp | 2 +- asio/include/asio/detail/wait_op.hpp | 2 +- asio/include/asio/detail/win_event.hpp | 2 +- .../asio/detail/win_fd_set_adapter.hpp | 2 +- asio/include/asio/detail/win_fenced_block.hpp | 2 +- asio/include/asio/detail/win_global.hpp | 2 +- .../asio/detail/win_iocp_handle_read_op.hpp | 2 +- .../asio/detail/win_iocp_handle_service.hpp | 2 +- .../asio/detail/win_iocp_handle_write_op.hpp | 2 +- .../asio/detail/win_iocp_io_context.hpp | 2 +- .../asio/detail/win_iocp_null_buffers_op.hpp | 2 +- .../asio/detail/win_iocp_operation.hpp | 2 +- .../asio/detail/win_iocp_overlapped_op.hpp | 2 +- .../asio/detail/win_iocp_overlapped_ptr.hpp | 2 +- .../detail/win_iocp_serial_port_service.hpp | 2 +- .../asio/detail/win_iocp_socket_accept_op.hpp | 2 +- .../detail/win_iocp_socket_connect_op.hpp | 2 +- .../asio/detail/win_iocp_socket_recv_op.hpp | 2 +- .../detail/win_iocp_socket_recvfrom_op.hpp | 2 +- .../detail/win_iocp_socket_recvmsg_op.hpp | 2 +- .../asio/detail/win_iocp_socket_send_op.hpp | 2 +- .../asio/detail/win_iocp_socket_service.hpp | 2 +- .../detail/win_iocp_socket_service_base.hpp | 2 +- .../asio/detail/win_iocp_thread_info.hpp | 2 +- asio/include/asio/detail/win_iocp_wait_op.hpp | 2 +- asio/include/asio/detail/win_mutex.hpp | 2 +- .../asio/detail/win_object_handle_service.hpp | 2 +- asio/include/asio/detail/win_static_mutex.hpp | 2 +- asio/include/asio/detail/win_thread.hpp | 2 +- asio/include/asio/detail/win_tss_ptr.hpp | 2 +- asio/include/asio/detail/winapp_thread.hpp | 8 +- asio/include/asio/detail/wince_thread.hpp | 8 +- .../asio/detail/winrt_async_manager.hpp | 2 +- asio/include/asio/detail/winrt_async_op.hpp | 2 +- asio/include/asio/detail/winrt_resolve_op.hpp | 2 +- .../asio/detail/winrt_resolver_service.hpp | 2 +- .../asio/detail/winrt_socket_connect_op.hpp | 2 +- .../asio/detail/winrt_socket_recv_op.hpp | 2 +- .../asio/detail/winrt_socket_send_op.hpp | 2 +- .../asio/detail/winrt_ssocket_service.hpp | 2 +- .../detail/winrt_ssocket_service_base.hpp | 2 +- .../asio/detail/winrt_timer_scheduler.hpp | 2 +- asio/include/asio/detail/winrt_utils.hpp | 5 +- asio/include/asio/detail/winsock_init.hpp | 2 +- asio/include/asio/detail/work_dispatcher.hpp | 6 +- asio/include/asio/detail/wrapped_handler.hpp | 2 +- asio/include/asio/dispatch.hpp | 2 +- asio/include/asio/error.hpp | 4 +- asio/include/asio/error_code.hpp | 16 +- asio/include/asio/execution_context.hpp | 2 +- asio/include/asio/executor.hpp | 2 +- asio/include/asio/executor_work_guard.hpp | 2 +- asio/include/asio/generic/basic_endpoint.hpp | 2 +- .../asio/generic/datagram_protocol.hpp | 2 +- asio/include/asio/generic/detail/endpoint.hpp | 2 +- .../asio/generic/detail/impl/endpoint.ipp | 5 +- asio/include/asio/generic/raw_protocol.hpp | 2 +- .../asio/generic/seq_packet_protocol.hpp | 2 +- asio/include/asio/generic/stream_protocol.hpp | 2 +- asio/include/asio/handler_alloc_hook.hpp | 2 +- .../asio/handler_continuation_hook.hpp | 2 +- asio/include/asio/handler_invoke_hook.hpp | 2 +- asio/include/asio/handler_type.hpp | 2 +- asio/include/asio/high_resolution_timer.hpp | 2 +- .../asio/impl/buffered_read_stream.hpp | 11 +- .../asio/impl/buffered_write_stream.hpp | 17 +- asio/include/asio/impl/connect.hpp | 104 +- asio/include/asio/impl/defer.hpp | 6 +- asio/include/asio/impl/dispatch.hpp | 6 +- asio/include/asio/impl/error.ipp | 2 +- asio/include/asio/impl/error_code.ipp | 2 +- asio/include/asio/impl/execution_context.hpp | 2 +- asio/include/asio/impl/execution_context.ipp | 2 +- asio/include/asio/impl/executor.hpp | 13 +- asio/include/asio/impl/executor.ipp | 2 +- asio/include/asio/impl/handler_alloc_hook.ipp | 2 +- asio/include/asio/impl/io_context.hpp | 44 +- asio/include/asio/impl/io_context.ipp | 2 +- asio/include/asio/impl/post.hpp | 6 +- asio/include/asio/impl/read.hpp | 2 +- asio/include/asio/impl/read_at.hpp | 2 +- asio/include/asio/impl/read_until.hpp | 2 +- asio/include/asio/impl/serial_port_base.hpp | 2 +- asio/include/asio/impl/serial_port_base.ipp | 12 +- asio/include/asio/impl/spawn.hpp | 2 +- asio/include/asio/impl/src.cpp | 2 +- asio/include/asio/impl/src.hpp | 4 +- asio/include/asio/impl/system_context.hpp | 34 + ...system_executor.ipp => system_context.ipp} | 36 +- asio/include/asio/impl/system_executor.hpp | 38 +- asio/include/asio/impl/thread_pool.hpp | 44 +- asio/include/asio/impl/thread_pool.ipp | 2 +- asio/include/asio/impl/use_future.hpp | 32 +- asio/include/asio/impl/write.hpp | 2 +- asio/include/asio/impl/write_at.hpp | 2 +- asio/include/asio/io_context.hpp | 94 +- asio/include/asio/io_context_strand.hpp | 16 +- asio/include/asio/io_service.hpp | 2 +- asio/include/asio/io_service_strand.hpp | 2 +- asio/include/asio/ip/address.hpp | 2 +- asio/include/asio/ip/address_v4.hpp | 2 +- asio/include/asio/ip/address_v4_iterator.hpp | 2 +- asio/include/asio/ip/address_v4_range.hpp | 2 +- asio/include/asio/ip/address_v6.hpp | 2 +- asio/include/asio/ip/address_v6_iterator.hpp | 2 +- asio/include/asio/ip/address_v6_range.hpp | 2 +- asio/include/asio/ip/bad_address_cast.hpp | 2 +- asio/include/asio/ip/basic_endpoint.hpp | 2 +- asio/include/asio/ip/basic_resolver.hpp | 2 +- asio/include/asio/ip/basic_resolver_entry.hpp | 2 +- .../asio/ip/basic_resolver_iterator.hpp | 2 +- asio/include/asio/ip/basic_resolver_query.hpp | 2 +- .../asio/ip/basic_resolver_results.hpp | 2 +- asio/include/asio/ip/detail/endpoint.hpp | 2 +- asio/include/asio/ip/detail/impl/endpoint.ipp | 2 +- asio/include/asio/ip/detail/socket_option.hpp | 2 +- asio/include/asio/ip/host_name.hpp | 2 +- asio/include/asio/ip/icmp.hpp | 2 +- asio/include/asio/ip/impl/address.hpp | 2 +- asio/include/asio/ip/impl/address.ipp | 2 +- asio/include/asio/ip/impl/address_v4.hpp | 2 +- asio/include/asio/ip/impl/address_v4.ipp | 2 +- asio/include/asio/ip/impl/address_v6.hpp | 2 +- asio/include/asio/ip/impl/address_v6.ipp | 2 +- asio/include/asio/ip/impl/basic_endpoint.hpp | 2 +- asio/include/asio/ip/impl/host_name.ipp | 2 +- asio/include/asio/ip/impl/network_v4.hpp | 2 +- asio/include/asio/ip/impl/network_v4.ipp | 16 +- asio/include/asio/ip/impl/network_v6.hpp | 2 +- asio/include/asio/ip/impl/network_v6.ipp | 16 +- asio/include/asio/ip/multicast.hpp | 2 +- asio/include/asio/ip/network_v4.hpp | 2 +- asio/include/asio/ip/network_v6.hpp | 2 +- asio/include/asio/ip/resolver_base.hpp | 2 +- asio/include/asio/ip/resolver_query_base.hpp | 2 +- asio/include/asio/ip/resolver_service.hpp | 2 +- asio/include/asio/ip/tcp.hpp | 2 +- asio/include/asio/ip/udp.hpp | 2 +- asio/include/asio/ip/unicast.hpp | 2 +- asio/include/asio/ip/v6_only.hpp | 2 +- asio/include/asio/is_executor.hpp | 2 +- asio/include/asio/is_read_buffered.hpp | 2 +- asio/include/asio/is_write_buffered.hpp | 2 +- asio/include/asio/local/basic_endpoint.hpp | 2 +- asio/include/asio/local/connect_pair.hpp | 2 +- asio/include/asio/local/datagram_protocol.hpp | 2 +- asio/include/asio/local/detail/endpoint.hpp | 2 +- .../asio/local/detail/impl/endpoint.ipp | 5 +- asio/include/asio/local/stream_protocol.hpp | 2 +- asio/include/asio/packaged_task.hpp | 2 +- asio/include/asio/placeholders.hpp | 2 +- asio/include/asio/posix/basic_descriptor.hpp | 2 +- .../asio/posix/basic_stream_descriptor.hpp | 2 +- asio/include/asio/posix/descriptor.hpp | 2 +- asio/include/asio/posix/descriptor_base.hpp | 2 +- asio/include/asio/posix/stream_descriptor.hpp | 2 +- .../asio/posix/stream_descriptor_service.hpp | 2 +- asio/include/asio/post.hpp | 2 +- asio/include/asio/raw_socket_service.hpp | 2 +- asio/include/asio/read.hpp | 2 +- asio/include/asio/read_at.hpp | 2 +- asio/include/asio/read_until.hpp | 26 +- .../asio/seq_packet_socket_service.hpp | 2 +- asio/include/asio/serial_port.hpp | 2 +- asio/include/asio/serial_port_base.hpp | 2 +- asio/include/asio/serial_port_service.hpp | 2 +- asio/include/asio/signal_set.hpp | 2 +- asio/include/asio/signal_set_service.hpp | 2 +- asio/include/asio/socket_acceptor_service.hpp | 2 +- asio/include/asio/socket_base.hpp | 36 +- asio/include/asio/spawn.hpp | 2 +- asio/include/asio/ssl.hpp | 2 +- asio/include/asio/ssl/context.hpp | 2 +- asio/include/asio/ssl/context_base.hpp | 13 +- .../asio/ssl/detail/buffered_handshake_op.hpp | 2 +- asio/include/asio/ssl/detail/engine.hpp | 2 +- asio/include/asio/ssl/detail/handshake_op.hpp | 2 +- asio/include/asio/ssl/detail/impl/engine.ipp | 4 +- .../asio/ssl/detail/impl/openssl_init.ipp | 2 +- asio/include/asio/ssl/detail/io.hpp | 2 +- asio/include/asio/ssl/detail/openssl_init.hpp | 2 +- .../include/asio/ssl/detail/openssl_types.hpp | 2 +- .../asio/ssl/detail/password_callback.hpp | 2 +- asio/include/asio/ssl/detail/read_op.hpp | 2 +- asio/include/asio/ssl/detail/shutdown_op.hpp | 2 +- asio/include/asio/ssl/detail/stream_core.hpp | 2 +- .../asio/ssl/detail/verify_callback.hpp | 2 +- asio/include/asio/ssl/detail/write_op.hpp | 2 +- asio/include/asio/ssl/error.hpp | 2 +- asio/include/asio/ssl/impl/context.hpp | 2 +- asio/include/asio/ssl/impl/context.ipp | 202 +- asio/include/asio/ssl/impl/error.ipp | 2 +- .../asio/ssl/impl/rfc2818_verification.ipp | 2 +- asio/include/asio/ssl/impl/src.hpp | 2 +- .../include/asio/ssl/rfc2818_verification.hpp | 2 +- asio/include/asio/ssl/stream.hpp | 2 +- asio/include/asio/ssl/stream_base.hpp | 2 +- asio/include/asio/ssl/verify_context.hpp | 2 +- asio/include/asio/ssl/verify_mode.hpp | 2 +- asio/include/asio/steady_timer.hpp | 2 +- asio/include/asio/strand.hpp | 14 +- asio/include/asio/stream_socket_service.hpp | 2 +- asio/include/asio/streambuf.hpp | 2 +- asio/include/asio/system_context.hpp | 78 + asio/include/asio/system_error.hpp | 2 +- asio/include/asio/system_executor.hpp | 32 +- asio/include/asio/system_timer.hpp | 2 +- asio/include/asio/thread.hpp | 2 +- asio/include/asio/thread_pool.hpp | 32 +- asio/include/asio/time_traits.hpp | 2 +- asio/include/asio/ts/buffer.hpp | 2 +- asio/include/asio/ts/executor.hpp | 2 +- asio/include/asio/ts/internet.hpp | 2 +- asio/include/asio/ts/io_context.hpp | 2 +- asio/include/asio/ts/net.hpp | 2 +- asio/include/asio/ts/netfwd.hpp | 2 +- asio/include/asio/ts/socket.hpp | 2 +- asio/include/asio/ts/timer.hpp | 4 +- asio/include/asio/unyield.hpp | 2 +- asio/include/asio/use_future.hpp | 20 +- asio/include/asio/uses_executor.hpp | 2 +- asio/include/asio/version.hpp | 4 +- asio/include/asio/wait_traits.hpp | 2 +- asio/include/asio/waitable_timer_service.hpp | 2 +- asio/include/asio/windows/basic_handle.hpp | 2 +- .../asio/windows/basic_object_handle.hpp | 2 +- .../windows/basic_random_access_handle.hpp | 2 +- .../asio/windows/basic_stream_handle.hpp | 2 +- asio/include/asio/windows/object_handle.hpp | 2 +- .../asio/windows/object_handle_service.hpp | 2 +- .../asio/windows/overlapped_handle.hpp | 2 +- asio/include/asio/windows/overlapped_ptr.hpp | 2 +- .../asio/windows/random_access_handle.hpp | 2 +- .../windows/random_access_handle_service.hpp | 2 +- asio/include/asio/windows/stream_handle.hpp | 2 +- .../asio/windows/stream_handle_service.hpp | 2 +- asio/include/asio/write.hpp | 2 +- asio/include/asio/write_at.hpp | 2 +- asio/include/asio/yield.hpp | 2 +- asio/release.pl | 3 +- asio/src/Makefile.mgw | 10 + asio/src/Makefile.msc | 25 +- asio/src/asio.cpp | 2 +- asio/src/asio_ssl.cpp | 2 +- asio/src/doc/Jamfile.v2 | 2 +- asio/src/doc/asio.qbk | 14 +- asio/src/doc/asioref.xsl | 2 +- asio/src/doc/doxy2qbk.pl | 2 +- asio/src/doc/examples.qbk | 51 +- asio/src/doc/history.qbk | 27 +- asio/src/doc/index.xml | 2 +- asio/src/doc/makepdf.pl | 2 +- asio/src/doc/net_ts.qbk | 473 +++ asio/src/doc/overview.qbk | 5 +- asio/src/doc/overview/allocation.qbk | 57 +- asio/src/doc/overview/async.qbk | 2 +- asio/src/doc/overview/basics.qbk | 2 +- asio/src/doc/overview/bsd_sockets.qbk | 2 +- asio/src/doc/overview/buffers.qbk | 4 +- asio/src/doc/overview/concurrency_hint.qbk | 88 + asio/src/doc/overview/coroutine.qbk | 2 +- asio/src/doc/overview/cpp2011.qbk | 9 +- asio/src/doc/overview/handler_tracking.qbk | 160 +- asio/src/doc/overview/implementation.qbk | 2 +- asio/src/doc/overview/iostreams.qbk | 2 +- asio/src/doc/overview/line_based.qbk | 2 +- asio/src/doc/overview/other_protocols.qbk | 2 +- asio/src/doc/overview/posix.qbk | 2 +- asio/src/doc/overview/protocols.qbk | 2 +- asio/src/doc/overview/rationale.qbk | 2 +- asio/src/doc/overview/reactor.qbk | 2 +- asio/src/doc/overview/serial_ports.qbk | 2 +- asio/src/doc/overview/signals.qbk | 2 +- asio/src/doc/overview/spawn.qbk | 2 +- asio/src/doc/overview/ssl.qbk | 2 +- asio/src/doc/overview/strands.qbk | 43 +- asio/src/doc/overview/streams.qbk | 2 +- asio/src/doc/overview/threads.qbk | 9 +- asio/src/doc/overview/timers.qbk | 2 +- asio/src/doc/overview/windows.qbk | 2 +- asio/src/doc/quickref.xml | 2 +- asio/src/doc/reference.dox | 3 +- asio/src/doc/reference.qbk | 3311 ++++++++++++----- asio/src/doc/reference.xsl | 46 +- asio/src/doc/requirements/AcceptHandler.qbk | 2 +- .../doc/requirements/AcceptableProtocol.qbk | 2 +- .../AsyncRandomAccessReadDevice.qbk | 2 +- .../AsyncRandomAccessWriteDevice.qbk | 2 +- asio/src/doc/requirements/AsyncReadStream.qbk | 2 +- .../src/doc/requirements/AsyncWriteStream.qbk | 2 +- .../requirements/BufferedHandshakeHandler.qbk | 2 +- .../doc/requirements/CompletionCondition.qbk | 2 +- .../doc/requirements/CompletionHandler.qbk | 2 +- .../src/doc/requirements/ConnectCondition.qbk | 2 +- asio/src/doc/requirements/ConnectHandler.qbk | 2 +- .../doc/requirements/ConstBufferSequence.qbk | 8 +- asio/src/doc/requirements/DynamicBuffer.qbk | 2 +- asio/src/doc/requirements/Endpoint.qbk | 2 +- .../src/doc/requirements/EndpointSequence.qbk | 2 +- .../src/doc/requirements/ExecutionContext.qbk | 2 +- asio/src/doc/requirements/Executor.qbk | 2 +- .../requirements/GettableSerialPortOption.qbk | 2 +- .../doc/requirements/GettableSocketOption.qbk | 2 +- asio/src/doc/requirements/Handler.qbk | 2 +- .../src/doc/requirements/HandshakeHandler.qbk | 2 +- .../src/doc/requirements/InternetProtocol.qbk | 2 +- .../src/doc/requirements/IoControlCommand.qbk | 2 +- asio/src/doc/requirements/IoObjectService.qbk | 2 +- .../requirements/IteratorConnectHandler.qbk | 2 +- .../doc/requirements/MoveAcceptHandler.qbk | 2 +- .../requirements/MutableBufferSequence.qbk | 8 +- asio/src/doc/requirements/ProtoAllocator.qbk | 2 +- asio/src/doc/requirements/Protocol.qbk | 2 +- .../doc/requirements/RangeConnectHandler.qbk | 2 +- asio/src/doc/requirements/ReadHandler.qbk | 2 +- asio/src/doc/requirements/ResolveHandler.qbk | 2 +- asio/src/doc/requirements/Service.qbk | 2 +- .../requirements/SettableSerialPortOption.qbk | 2 +- .../doc/requirements/SettableSocketOption.qbk | 2 +- asio/src/doc/requirements/ShutdownHandler.qbk | 2 +- asio/src/doc/requirements/SignalHandler.qbk | 2 +- .../SyncRandomAccessReadDevice.qbk | 2 +- .../SyncRandomAccessWriteDevice.qbk | 2 +- asio/src/doc/requirements/SyncReadStream.qbk | 2 +- asio/src/doc/requirements/SyncWriteStream.qbk | 2 +- asio/src/doc/requirements/TimeTraits.qbk | 2 +- asio/src/doc/requirements/WaitHandler.qbk | 2 +- asio/src/doc/requirements/WaitTraits.qbk | 2 +- asio/src/doc/requirements/WriteHandler.qbk | 2 +- .../requirements/asynchronous_operations.qbk | 2 +- .../asynchronous_socket_operations.qbk | 2 +- .../requirements/read_write_operations.qbk | 2 +- .../synchronous_socket_operations.qbk | 2 +- asio/src/doc/tutorial.qbk | 222 +- asio/src/doc/tutorial.xsl | 4 +- asio/src/doc/using.qbk | 71 +- asio/src/examples/cpp03/allocation/server.cpp | 101 +- .../cpp03/buffers/reference_counted.cpp | 2 +- asio/src/examples/cpp03/chat/chat_client.cpp | 2 +- asio/src/examples/cpp03/chat/chat_message.hpp | 2 +- asio/src/examples/cpp03/chat/chat_server.cpp | 2 +- .../examples/cpp03/chat/posix_chat_client.cpp | 2 +- .../cpp03/echo/async_tcp_echo_server.cpp | 2 +- .../cpp03/echo/async_udp_echo_server.cpp | 2 +- .../cpp03/echo/blocking_tcp_echo_client.cpp | 2 +- .../cpp03/echo/blocking_tcp_echo_server.cpp | 2 +- .../cpp03/echo/blocking_udp_echo_client.cpp | 2 +- .../cpp03/echo/blocking_udp_echo_server.cpp | 2 +- asio/src/examples/cpp03/fork/daemon.cpp | 4 +- .../cpp03/fork/process_per_connection.cpp | 2 +- .../cpp03/http/client/async_client.cpp | 2 +- .../cpp03/http/client/sync_client.cpp | 2 +- .../examples/cpp03/http/doc_root/data_1K.html | 2 +- .../examples/cpp03/http/doc_root/data_2K.html | 2 +- .../examples/cpp03/http/doc_root/data_4K.html | 2 +- .../examples/cpp03/http/doc_root/data_8K.html | 2 +- .../examples/cpp03/http/server/connection.cpp | 2 +- .../examples/cpp03/http/server/connection.hpp | 2 +- .../cpp03/http/server/connection_manager.cpp | 2 +- .../cpp03/http/server/connection_manager.hpp | 2 +- .../src/examples/cpp03/http/server/header.hpp | 2 +- asio/src/examples/cpp03/http/server/main.cpp | 2 +- .../examples/cpp03/http/server/mime_types.cpp | 2 +- .../examples/cpp03/http/server/mime_types.hpp | 2 +- asio/src/examples/cpp03/http/server/reply.cpp | 2 +- asio/src/examples/cpp03/http/server/reply.hpp | 2 +- .../examples/cpp03/http/server/request.hpp | 2 +- .../cpp03/http/server/request_handler.cpp | 2 +- .../cpp03/http/server/request_handler.hpp | 2 +- .../cpp03/http/server/request_parser.cpp | 2 +- .../cpp03/http/server/request_parser.hpp | 2 +- .../src/examples/cpp03/http/server/server.cpp | 2 +- .../src/examples/cpp03/http/server/server.hpp | 2 +- .../cpp03/http/server2/connection.cpp | 2 +- .../cpp03/http/server2/connection.hpp | 2 +- .../examples/cpp03/http/server2/header.hpp | 2 +- .../cpp03/http/server2/io_context_pool.cpp | 2 +- .../cpp03/http/server2/io_context_pool.hpp | 5 +- asio/src/examples/cpp03/http/server2/main.cpp | 2 +- .../cpp03/http/server2/mime_types.cpp | 2 +- .../cpp03/http/server2/mime_types.hpp | 2 +- .../src/examples/cpp03/http/server2/reply.cpp | 2 +- .../src/examples/cpp03/http/server2/reply.hpp | 2 +- .../examples/cpp03/http/server2/request.hpp | 2 +- .../cpp03/http/server2/request_handler.cpp | 2 +- .../cpp03/http/server2/request_handler.hpp | 2 +- .../cpp03/http/server2/request_parser.cpp | 2 +- .../cpp03/http/server2/request_parser.hpp | 2 +- .../examples/cpp03/http/server2/server.cpp | 2 +- .../examples/cpp03/http/server2/server.hpp | 2 +- .../cpp03/http/server3/connection.cpp | 2 +- .../cpp03/http/server3/connection.hpp | 2 +- .../examples/cpp03/http/server3/header.hpp | 2 +- asio/src/examples/cpp03/http/server3/main.cpp | 2 +- .../cpp03/http/server3/mime_types.cpp | 2 +- .../cpp03/http/server3/mime_types.hpp | 2 +- .../src/examples/cpp03/http/server3/reply.cpp | 2 +- .../src/examples/cpp03/http/server3/reply.hpp | 2 +- .../examples/cpp03/http/server3/request.hpp | 2 +- .../cpp03/http/server3/request_handler.cpp | 2 +- .../cpp03/http/server3/request_handler.hpp | 2 +- .../cpp03/http/server3/request_parser.cpp | 2 +- .../cpp03/http/server3/request_parser.hpp | 2 +- .../examples/cpp03/http/server3/server.cpp | 2 +- .../examples/cpp03/http/server3/server.hpp | 2 +- .../cpp03/http/server4/file_handler.cpp | 2 +- .../cpp03/http/server4/file_handler.hpp | 2 +- .../examples/cpp03/http/server4/header.hpp | 2 +- asio/src/examples/cpp03/http/server4/main.cpp | 2 +- .../cpp03/http/server4/mime_types.cpp | 2 +- .../cpp03/http/server4/mime_types.hpp | 2 +- .../src/examples/cpp03/http/server4/reply.cpp | 2 +- .../src/examples/cpp03/http/server4/reply.hpp | 2 +- .../examples/cpp03/http/server4/request.hpp | 2 +- .../cpp03/http/server4/request_parser.cpp | 2 +- .../cpp03/http/server4/request_parser.hpp | 2 +- .../examples/cpp03/http/server4/server.cpp | 2 +- .../examples/cpp03/http/server4/server.hpp | 2 +- asio/src/examples/cpp03/icmp/icmp_header.hpp | 2 +- asio/src/examples/cpp03/icmp/ipv4_header.hpp | 2 +- asio/src/examples/cpp03/icmp/ping.cpp | 2 +- .../cpp03/invocation/prioritised_handlers.cpp | 65 +- .../cpp03/iostreams/daytime_client.cpp | 2 +- .../cpp03/iostreams/daytime_server.cpp | 2 +- .../examples/cpp03/iostreams/http_client.cpp | 2 +- .../src/examples/cpp03/local/connect_pair.cpp | 2 +- .../examples/cpp03/local/iostream_client.cpp | 2 +- .../examples/cpp03/local/stream_client.cpp | 2 +- .../examples/cpp03/local/stream_server.cpp | 2 +- .../src/examples/cpp03/multicast/receiver.cpp | 2 +- asio/src/examples/cpp03/multicast/sender.cpp | 2 +- .../cpp03/nonblocking/third_party_lib.cpp | 2 +- asio/src/examples/cpp03/porthopper/client.cpp | 2 +- .../examples/cpp03/porthopper/protocol.hpp | 2 +- asio/src/examples/cpp03/porthopper/server.cpp | 2 +- .../examples/cpp03/serialization/client.cpp | 2 +- .../cpp03/serialization/connection.hpp | 4 +- .../examples/cpp03/serialization/server.cpp | 2 +- .../examples/cpp03/serialization/stock.hpp | 2 +- .../examples/cpp03/services/basic_logger.hpp | 2 +- .../cpp03/services/daytime_client.cpp | 2 +- asio/src/examples/cpp03/services/logger.hpp | 2 +- .../cpp03/services/logger_service.cpp | 2 +- .../cpp03/services/logger_service.hpp | 4 +- asio/src/examples/cpp03/socks4/socks4.hpp | 2 +- .../src/examples/cpp03/socks4/sync_client.cpp | 2 +- asio/src/examples/cpp03/spawn/echo_server.cpp | 2 +- .../examples/cpp03/spawn/parallel_grep.cpp | 2 +- asio/src/examples/cpp03/ssl/README | 2 +- asio/src/examples/cpp03/ssl/client.cpp | 2 +- asio/src/examples/cpp03/ssl/server.cpp | 2 +- .../cpp03/timeouts/async_tcp_client.cpp | 2 +- .../cpp03/timeouts/blocking_tcp_client.cpp | 2 +- .../cpp03/timeouts/blocking_udp_client.cpp | 2 +- asio/src/examples/cpp03/timeouts/server.cpp | 2 +- .../cpp03/timers/tick_count_timer.cpp | 2 +- .../examples/cpp03/timers/time_t_timer.cpp | 2 +- .../cpp03/tutorial/daytime1/client.cpp | 2 +- .../cpp03/tutorial/daytime2/server.cpp | 2 +- .../cpp03/tutorial/daytime3/server.cpp | 2 +- .../cpp03/tutorial/daytime4/client.cpp | 2 +- .../cpp03/tutorial/daytime5/server.cpp | 8 +- .../cpp03/tutorial/daytime6/server.cpp | 4 +- .../cpp03/tutorial/daytime7/server.cpp | 4 +- .../examples/cpp03/tutorial/daytime_dox.txt | 26 +- .../src/examples/cpp03/tutorial/index_dox.txt | 2 +- .../examples/cpp03/tutorial/timer1/timer.cpp | 2 +- .../examples/cpp03/tutorial/timer2/timer.cpp | 2 +- .../examples/cpp03/tutorial/timer3/timer.cpp | 2 +- .../examples/cpp03/tutorial/timer4/timer.cpp | 2 +- .../examples/cpp03/tutorial/timer5/timer.cpp | 2 +- .../src/examples/cpp03/tutorial/timer_dox.txt | 68 +- .../examples/cpp03/windows/transmit_file.cpp | 2 +- asio/src/examples/cpp11/Makefile.am | 29 +- asio/src/examples/cpp11/allocation/server.cpp | 98 +- .../cpp11/buffers/reference_counted.cpp | 2 +- asio/src/examples/cpp11/chat/chat_client.cpp | 2 +- asio/src/examples/cpp11/chat/chat_message.hpp | 2 +- asio/src/examples/cpp11/chat/chat_server.cpp | 2 +- .../cpp11/echo/async_tcp_echo_server.cpp | 2 +- .../cpp11/echo/async_udp_echo_server.cpp | 2 +- .../cpp11/echo/blocking_tcp_echo_client.cpp | 2 +- .../cpp11/echo/blocking_tcp_echo_server.cpp | 2 +- .../cpp11/echo/blocking_udp_echo_client.cpp | 2 +- .../cpp11/echo/blocking_udp_echo_server.cpp | 2 +- asio/src/examples/cpp11/fork/.gitignore | 11 + asio/src/examples/cpp11/fork/daemon.cpp | 189 + .../cpp11/fork/process_per_connection.cpp | 162 + .../examples/cpp11/futures/daytime_client.cpp | 2 +- .../handler_tracking/custom_tracking.hpp | 6 +- .../examples/cpp11/http/server/connection.cpp | 2 +- .../examples/cpp11/http/server/connection.hpp | 2 +- .../cpp11/http/server/connection_manager.cpp | 2 +- .../cpp11/http/server/connection_manager.hpp | 2 +- .../src/examples/cpp11/http/server/header.hpp | 2 +- asio/src/examples/cpp11/http/server/main.cpp | 2 +- .../examples/cpp11/http/server/mime_types.cpp | 2 +- .../examples/cpp11/http/server/mime_types.hpp | 2 +- asio/src/examples/cpp11/http/server/reply.cpp | 2 +- asio/src/examples/cpp11/http/server/reply.hpp | 2 +- .../examples/cpp11/http/server/request.hpp | 2 +- .../cpp11/http/server/request_handler.cpp | 2 +- .../cpp11/http/server/request_handler.hpp | 2 +- .../cpp11/http/server/request_parser.cpp | 2 +- .../cpp11/http/server/request_parser.hpp | 2 +- .../src/examples/cpp11/http/server/server.cpp | 2 +- .../src/examples/cpp11/http/server/server.hpp | 2 +- asio/src/examples/cpp11/invocation/.gitignore | 10 + .../cpp11/invocation/prioritised_handlers.cpp | 202 + .../examples/cpp11/iostreams/http_client.cpp | 2 +- asio/src/examples/cpp11/local/.gitignore | 13 + .../src/examples/cpp11/local/connect_pair.cpp | 129 + .../examples/cpp11/local/iostream_client.cpp | 61 + .../examples/cpp11/local/stream_client.cpp | 60 + .../examples/cpp11/local/stream_server.cpp | 121 + asio/src/examples/cpp11/multicast/.gitignore | 11 + .../src/examples/cpp11/multicast/receiver.cpp | 88 + asio/src/examples/cpp11/multicast/sender.cpp | 91 + .../src/examples/cpp11/nonblocking/.gitignore | 10 + .../cpp11/nonblocking/third_party_lib.cpp | 212 ++ asio/src/examples/cpp11/spawn/echo_server.cpp | 2 +- .../examples/cpp11/spawn/parallel_grep.cpp | 2 +- .../cpp14/echo/async_tcp_echo_server.cpp | 2 +- .../cpp14/echo/async_udp_echo_server.cpp | 2 +- .../cpp14/echo/blocking_tcp_echo_client.cpp | 2 +- .../cpp14/echo/blocking_tcp_echo_server.cpp | 2 +- .../cpp14/echo/blocking_udp_echo_client.cpp | 2 +- .../cpp14/echo/blocking_udp_echo_server.cpp | 2 +- .../examples/cpp14/iostreams/http_client.cpp | 2 +- asio/src/tests/Makefile.am | 33 +- asio/src/tests/latency/allocator.hpp | 2 +- asio/src/tests/latency/coroutine.hpp | 87 - asio/src/tests/latency/high_res_clock.hpp | 2 +- asio/src/tests/latency/tcp_client.cpp | 2 +- asio/src/tests/latency/tcp_server.cpp | 8 +- asio/src/tests/latency/udp_client.cpp | 2 +- asio/src/tests/latency/udp_server.cpp | 8 +- asio/src/tests/latency/unyield.hpp | 21 - asio/src/tests/latency/yield.hpp | 23 - asio/src/tests/performance/client.cpp | 2 +- .../tests/performance/handler_allocator.hpp | 2 +- asio/src/tests/performance/server.cpp | 2 +- asio/src/tests/unit/.gitignore | 2 + asio/src/tests/unit/archetypes/async_ops.hpp | 2 +- .../tests/unit/archetypes/async_result.hpp | 2 +- .../unit/archetypes/deprecated_async_ops.hpp | 2 +- .../archetypes/deprecated_async_result.hpp | 2 +- .../archetypes/gettable_socket_option.hpp | 2 +- .../unit/archetypes/io_control_command.hpp | 2 +- .../archetypes/settable_socket_option.hpp | 2 +- asio/src/tests/unit/associated_allocator.cpp | 2 +- asio/src/tests/unit/associated_executor.cpp | 2 +- asio/src/tests/unit/async_result.cpp | 2 +- asio/src/tests/unit/basic_datagram_socket.cpp | 2 +- asio/src/tests/unit/basic_deadline_timer.cpp | 2 +- asio/src/tests/unit/basic_raw_socket.cpp | 2 +- .../tests/unit/basic_seq_packet_socket.cpp | 2 +- asio/src/tests/unit/basic_serial_port.cpp | 2 +- asio/src/tests/unit/basic_signal_set.cpp | 2 +- asio/src/tests/unit/basic_socket_acceptor.cpp | 2 +- asio/src/tests/unit/basic_stream_socket.cpp | 2 +- asio/src/tests/unit/basic_streambuf.cpp | 2 +- asio/src/tests/unit/basic_waitable_timer.cpp | 2 +- asio/src/tests/unit/bind_executor.cpp | 2 +- asio/src/tests/unit/buffer.cpp | 2 +- asio/src/tests/unit/buffered_read_stream.cpp | 2 +- asio/src/tests/unit/buffered_stream.cpp | 2 +- asio/src/tests/unit/buffered_write_stream.cpp | 2 +- asio/src/tests/unit/buffers_iterator.cpp | 2 +- asio/src/tests/unit/completion_condition.cpp | 2 +- asio/src/tests/unit/connect.cpp | 1169 +++++- asio/src/tests/unit/coroutine.cpp | 2 +- .../tests/unit/datagram_socket_service.cpp | 2 +- asio/src/tests/unit/deadline_timer.cpp | 2 +- .../src/tests/unit/deadline_timer_service.cpp | 2 +- asio/src/tests/unit/defer.cpp | 2 +- asio/src/tests/unit/dispatch.cpp | 2 +- asio/src/tests/unit/error.cpp | 2 +- asio/src/tests/unit/execution_context.cpp | 2 +- asio/src/tests/unit/executor.cpp | 2 +- asio/src/tests/unit/executor_work_guard.cpp | 2 +- .../src/tests/unit/generic/basic_endpoint.cpp | 2 +- .../tests/unit/generic/datagram_protocol.cpp | 2 +- asio/src/tests/unit/generic/raw_protocol.cpp | 2 +- .../unit/generic/seq_packet_protocol.cpp | 2 +- .../tests/unit/generic/stream_protocol.cpp | 2 +- asio/src/tests/unit/high_resolution_timer.cpp | 2 +- asio/src/tests/unit/io_context.cpp | 2 +- asio/src/tests/unit/ip/address.cpp | 2 +- asio/src/tests/unit/ip/address_v4.cpp | 2 +- .../src/tests/unit/ip/address_v4_iterator.cpp | 2 +- asio/src/tests/unit/ip/address_v4_range.cpp | 2 +- asio/src/tests/unit/ip/address_v6.cpp | 2 +- .../src/tests/unit/ip/address_v6_iterator.cpp | 2 +- asio/src/tests/unit/ip/address_v6_range.cpp | 2 +- asio/src/tests/unit/ip/basic_endpoint.cpp | 2 +- asio/src/tests/unit/ip/basic_resolver.cpp | 2 +- .../tests/unit/ip/basic_resolver_entry.cpp | 2 +- .../tests/unit/ip/basic_resolver_iterator.cpp | 2 +- .../tests/unit/ip/basic_resolver_query.cpp | 2 +- asio/src/tests/unit/ip/host_name.cpp | 2 +- asio/src/tests/unit/ip/icmp.cpp | 2 +- asio/src/tests/unit/ip/multicast.cpp | 2 +- asio/src/tests/unit/ip/network_v4.cpp | 15 +- asio/src/tests/unit/ip/network_v6.cpp | 15 +- .../src/tests/unit/ip/resolver_query_base.cpp | 2 +- asio/src/tests/unit/ip/resolver_service.cpp | 2 +- asio/src/tests/unit/ip/tcp.cpp | 32 +- asio/src/tests/unit/ip/udp.cpp | 2 +- asio/src/tests/unit/ip/unicast.cpp | 2 +- asio/src/tests/unit/ip/v6_only.cpp | 2 +- asio/src/tests/unit/is_read_buffered.cpp | 2 +- asio/src/tests/unit/is_write_buffered.cpp | 2 +- asio/src/tests/unit/local/basic_endpoint.cpp | 2 +- asio/src/tests/unit/local/connect_pair.cpp | 2 +- .../tests/unit/local/datagram_protocol.cpp | 2 +- asio/src/tests/unit/local/stream_protocol.cpp | 2 +- asio/src/tests/unit/packaged_task.cpp | 2 +- asio/src/tests/unit/placeholders.cpp | 2 +- .../src/tests/unit/posix/basic_descriptor.cpp | 2 +- .../unit/posix/basic_stream_descriptor.cpp | 2 +- asio/src/tests/unit/posix/descriptor.cpp | 2 +- asio/src/tests/unit/posix/descriptor_base.cpp | 2 +- .../tests/unit/posix/stream_descriptor.cpp | 2 +- .../unit/posix/stream_descriptor_service.cpp | 2 +- asio/src/tests/unit/post.cpp | 2 +- asio/src/tests/unit/raw_socket_service.cpp | 2 +- asio/src/tests/unit/read.cpp | 2 +- asio/src/tests/unit/read_at.cpp | 2 +- asio/src/tests/unit/read_until.cpp | 2 +- .../tests/unit/seq_packet_socket_service.cpp | 2 +- asio/src/tests/unit/serial_port.cpp | 2 +- asio/src/tests/unit/serial_port_base.cpp | 2 +- asio/src/tests/unit/serial_port_service.cpp | 2 +- asio/src/tests/unit/signal_set.cpp | 2 +- asio/src/tests/unit/signal_set_service.cpp | 2 +- .../tests/unit/socket_acceptor_service.cpp | 2 +- asio/src/tests/unit/socket_base.cpp | 13 +- asio/src/tests/unit/ssl/context.cpp | 2 +- asio/src/tests/unit/ssl/context_base.cpp | 2 +- .../tests/unit/ssl/rfc2818_verification.cpp | 2 +- asio/src/tests/unit/ssl/stream.cpp | 2 +- asio/src/tests/unit/ssl/stream_base.cpp | 2 +- asio/src/tests/unit/steady_timer.cpp | 2 +- asio/src/tests/unit/strand.cpp | 101 +- asio/src/tests/unit/stream_socket_service.cpp | 2 +- asio/src/tests/unit/streambuf.cpp | 2 +- asio/src/tests/unit/system_context.cpp | 30 + asio/src/tests/unit/system_executor.cpp | 30 + asio/src/tests/unit/system_timer.cpp | 2 +- asio/src/tests/unit/thread.cpp | 2 +- asio/src/tests/unit/time_traits.cpp | 2 +- asio/src/tests/unit/ts/.gitignore | 17 + asio/src/tests/unit/ts/buffer.cpp | 30 + asio/src/tests/unit/ts/executor.cpp | 30 + asio/src/tests/unit/ts/internet.cpp | 30 + asio/src/tests/unit/ts/io_context.cpp | 30 + asio/src/tests/unit/ts/net.cpp | 30 + asio/src/tests/unit/ts/netfwd.cpp | 33 + asio/src/tests/unit/ts/socket.cpp | 30 + asio/src/tests/unit/ts/timer.cpp | 30 + asio/src/tests/unit/unit_test.hpp | 2 +- asio/src/tests/unit/use_future.cpp | 2 +- asio/src/tests/unit/uses_executor.cpp | 2 +- asio/src/tests/unit/wait_traits.cpp | 2 +- .../src/tests/unit/waitable_timer_service.cpp | 2 +- asio/src/tests/unit/windows/basic_handle.cpp | 2 +- .../unit/windows/basic_object_handle.cpp | 2 +- .../windows/basic_random_access_handle.cpp | 2 +- .../unit/windows/basic_stream_handle.cpp | 2 +- asio/src/tests/unit/windows/object_handle.cpp | 2 +- .../unit/windows/object_handle_service.cpp | 2 +- .../tests/unit/windows/overlapped_handle.cpp | 2 +- .../src/tests/unit/windows/overlapped_ptr.cpp | 2 +- .../unit/windows/random_access_handle.cpp | 2 +- .../windows/random_access_handle_service.cpp | 2 +- asio/src/tests/unit/windows/stream_handle.cpp | 2 +- .../unit/windows/stream_handle_service.cpp | 2 +- asio/src/tests/unit/write.cpp | 2 +- asio/src/tests/unit/write_at.cpp | 2 +- asio/tsify.pl | 37 +- 925 files changed, 12259 insertions(+), 5600 deletions(-) create mode 100644 .appveyor.yml create mode 100644 .travis.yml create mode 100644 asio/include/asio/impl/system_context.hpp rename asio/include/asio/impl/{system_executor.ipp => system_context.ipp} (60%) create mode 100644 asio/include/asio/system_context.hpp create mode 100644 asio/src/doc/net_ts.qbk create mode 100644 asio/src/doc/overview/concurrency_hint.qbk create mode 100644 asio/src/examples/cpp11/fork/.gitignore create mode 100644 asio/src/examples/cpp11/fork/daemon.cpp create mode 100644 asio/src/examples/cpp11/fork/process_per_connection.cpp create mode 100644 asio/src/examples/cpp11/invocation/.gitignore create mode 100644 asio/src/examples/cpp11/invocation/prioritised_handlers.cpp create mode 100644 asio/src/examples/cpp11/local/.gitignore create mode 100644 asio/src/examples/cpp11/local/connect_pair.cpp create mode 100644 asio/src/examples/cpp11/local/iostream_client.cpp create mode 100644 asio/src/examples/cpp11/local/stream_client.cpp create mode 100644 asio/src/examples/cpp11/local/stream_server.cpp create mode 100644 asio/src/examples/cpp11/multicast/.gitignore create mode 100644 asio/src/examples/cpp11/multicast/receiver.cpp create mode 100644 asio/src/examples/cpp11/multicast/sender.cpp create mode 100644 asio/src/examples/cpp11/nonblocking/.gitignore create mode 100644 asio/src/examples/cpp11/nonblocking/third_party_lib.cpp delete mode 100644 asio/src/tests/latency/coroutine.hpp delete mode 100644 asio/src/tests/latency/unyield.hpp delete mode 100644 asio/src/tests/latency/yield.hpp create mode 100644 asio/src/tests/unit/system_context.cpp create mode 100644 asio/src/tests/unit/system_executor.cpp create mode 100644 asio/src/tests/unit/ts/.gitignore create mode 100644 asio/src/tests/unit/ts/buffer.cpp create mode 100644 asio/src/tests/unit/ts/executor.cpp create mode 100644 asio/src/tests/unit/ts/internet.cpp create mode 100644 asio/src/tests/unit/ts/io_context.cpp create mode 100644 asio/src/tests/unit/ts/net.cpp create mode 100644 asio/src/tests/unit/ts/netfwd.cpp create mode 100644 asio/src/tests/unit/ts/socket.cpp create mode 100644 asio/src/tests/unit/ts/timer.cpp diff --git a/.appveyor.yml b/.appveyor.yml new file mode 100644 index 0000000..e910586 --- /dev/null +++ b/.appveyor.yml @@ -0,0 +1,24 @@ +version: "{branch} (#{build})" + +image: + - Visual Studio 2015 + +environment: + matrix: + - DEBUG: 1 + STANDALONE: 1 + WARNINGS: 1 + - DEBUG: 1 + STANDALONE: 1 + WARNINGS: 1 + WIN9X: 1 + - DEBUG: 1 + BOOSTDIR: C:\Libraries\boost_1_63_0 + WARNINGS: 1 + +build_script: + - call "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x64 + - call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86_amd64 + - cd asio\src + - nmake -f Makefile.msc + - nmake -f Makefile.msc check diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..cd16690 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,323 @@ +language: cpp +sudo: false + +cache: + directories: + - ${TRAVIS_BUILD_DIR}/boost_1_64_0 + +matrix: + include: + # + #--------------------------------------------------------------------------- + # Linux / g++-6 + #--------------------------------------------------------------------------- + # + # Linux / g++-6 / -O2 / standalone + # + - os: linux + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - g++-6 + env: + - CXXFLAGS="-Wall -Wextra -O2" + - CONFIGFLAGS="--with-boost=no" + - MATRIX_EVAL="CC=gcc-6 CXX=g++-6" + compiler: gcc + # + # Linux / g++-6 / -O0 / standalone / handler tracking + # + - os: linux + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - g++-6 + env: + - CXXFLAGS="-Wall -Wextra -O0 -fno-inline -DASIO_ENABLE_HANDLER_TRACKING" + - CONFIGFLAGS="--with-boost=no" + - MATRIX_EVAL="CC=gcc-6 CXX=g++-6" + compiler: gcc + # + # Linux / g++-6 / -O0 / standalone / epoll disabled + # + - os: linux + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - g++-6 + env: + - CXXFLAGS="-Wall -Wextra -O0 -fno-inline -DASIO_DISABLE_EPOLL" + - CONFIGFLAGS="--with-boost=no" + - MATRIX_EVAL="CC=gcc-6 CXX=g++-6" + compiler: gcc + # + # Linux / g++-6 / -O0 / standalone / separate compilation + # + - os: linux + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - g++-6 + env: + - CXXFLAGS="-Wall -Wextra -O0 -fno-inline" + - CONFIGFLAGS="--with-boost=no --enable-separate-compilation" + - MATRIX_EVAL="CC=gcc-6 CXX=g++-6" + compiler: gcc + # + # Linux / g++-6 / -O0 / standalone / separate compilation / handler tracking + # + - os: linux + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - g++-6 + env: + - CXXFLAGS="-Wall -Wextra -O0 -fno-inline -DASIO_ENABLE_HANDLER_TRACKING" + - CONFIGFLAGS="--with-boost=no --enable-separate-compilation" + - MATRIX_EVAL="CC=gcc-6 CXX=g++-6" + compiler: gcc + # + # Linux / g++-6 / -O0 / standalone / separate compilation / epoll disabled + # + - os: linux + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - g++-6 + env: + - CXXFLAGS="-Wall -Wextra -O0 -fno-inline -DASIO_DISABLE_EPOLL" + - CONFIGFLAGS="--with-boost=no --enable-separate-compilation" + - MATRIX_EVAL="CC=gcc-6 CXX=g++-6" + compiler: gcc + # + # Linux / g++-6 / -O2 / boost 1.64 + # + - os: linux + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - g++-6 + env: + - BOOST_DIR="boost_1_64_0" + - BOOST_URL="https://dl.bintray.com/boostorg/release/1.64.0/source/boost_1_64_0.tar.bz2" + - CXXFLAGS="-Wall -Wextra -O2" + - CONFIGFLAGS="" + - MATRIX_EVAL="CC=gcc-6 CXX=g++-6" + compiler: gcc + # + # Linux / g++-6 / -O0 / boost 1.64 / epoll disabled + # + - os: linux + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - g++-6 + env: + - BOOST_DIR="boost_1_64_0" + - BOOST_URL="https://dl.bintray.com/boostorg/release/1.64.0/source/boost_1_64_0.tar.bz2" + - CXXFLAGS="-Wall -Wextra -O0 -fno-inline -DASIO_DISABLE_EPOLL" + - CONFIGFLAGS="" + - MATRIX_EVAL="CC=gcc-6 CXX=g++-6" + compiler: gcc + # + # Linux / g++-6 / -O0 / boost 1.64 / separate compilation + # + - os: linux + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - g++-6 + env: + - BOOST_DIR="boost_1_64_0" + - BOOST_URL="https://dl.bintray.com/boostorg/release/1.64.0/source/boost_1_64_0.tar.bz2" + - CXXFLAGS="-Wall -Wextra -O0 -fno-inline" + - CONFIGFLAGS="--enable-separate-compilation" + - MATRIX_EVAL="CC=gcc-6 CXX=g++-6" + compiler: gcc + # + #--------------------------------------------------------------------------- + # Linux / g++-4.8 + #--------------------------------------------------------------------------- + # + # Linux / g++-4.8 / -O2 / standalone + # + - os: linux + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - g++-4.8 + env: + - CXXFLAGS="-Wall -Wextra -O2" + - CONFIGFLAGS="--with-boost=no" + - MATRIX_EVAL="CC=gcc-4.8 CXX=g++-4.8" + compiler: gcc + # + # Linux / g++-4.8 / -O0 / standalone / separate compilation + # + - os: linux + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - g++-4.8 + env: + - CXXFLAGS="-Wall -Wextra -O0 -fno-inline" + - CONFIGFLAGS="--with-boost=no --enable-separate-compilation" + - MATRIX_EVAL="CC=gcc-4.8 CXX=g++-4.8" + compiler: gcc + # + # Linux / g++-4.8 / -O2 / boost 1.64 + # + - os: linux + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - g++-4.8 + env: + - BOOST_DIR="boost_1_64_0" + - BOOST_URL="https://dl.bintray.com/boostorg/release/1.64.0/source/boost_1_64_0.tar.bz2" + - CXXFLAGS="-Wall -Wextra -O2" + - CONFIGFLAGS="" + - MATRIX_EVAL="CC=gcc-4.8 CXX=g++-4.8" + compiler: gcc + # + # Linux / g++-4.8 -std=c++11 / -O2 / boost 1.64 + # + - os: linux + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - g++-4.8 + env: + - BOOST_DIR="boost_1_64_0" + - BOOST_URL="https://dl.bintray.com/boostorg/release/1.64.0/source/boost_1_64_0.tar.bz2" + - CXXFLAGS="-std=c++11 -Wall -Wextra -O2" + - CONFIGFLAGS="" + - MATRIX_EVAL="CC=gcc-4.8 CXX=g++-4.8" + compiler: gcc + # + #--------------------------------------------------------------------------- + # Linux / clang-3.8 + #--------------------------------------------------------------------------- + # + # Linux / clang-3.8 / -O2 / standalone" + # + - os: linux + addons: + apt: + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-precise-3.8 + packages: + - clang-3.8 + env: + - CXXFLAGS="-Wall -Wextra -O2" + - CONFIGFLAGS="--with-boost=no" + - MATRIX_EVAL="CC=clang-3.8 CXX=clang++-3.8" + compiler: clang + # + # Linux / clang-3.8 / -O0 / standalone / separate compilation + # + - os: linux + addons: + apt: + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-precise-3.8 + packages: + - clang-3.8 + env: + - CXXFLAGS="-Wall -Wextra -O0 -fno-inline" + - CONFIGFLAGS="--with-boost=no --enable-separate-compilation" + - MATRIX_EVAL="CC=clang-3.8 CXX=clang++-3.8" + compiler: clang + # + #--------------------------------------------------------------------------- + # macOS / xcode8 + #--------------------------------------------------------------------------- + # + # macOS / xcode8 / -O2 / standalone + # + - os: osx + env: + - CXXFLAGS="-Wall -Wextra -O0 -fno-inline" + - CONFIGFLAGS="--with-boost=no" + osx_image: xcode8 + # + # macOS / xcode8 / -O0 / standalone / kqueue disabled + # + - os: osx + env: + - CXXFLAGS="-Wall -Wextra -O0 -fno-inline -DASIO_DISABLE_KQUEUE" + - CONFIGFLAGS="--with-boost=no" + osx_image: xcode8 + # + # macOS / xcode8 / -O0 / standalone / separate compilation + # + - os: osx + env: + - CXXFLAGS="-Wall -Wextra -O0 -fno-inline" + - CONFIGFLAGS="--with-boost=no --enable-separate-compilation" + osx_image: xcode8 + # + # macOS / xcode8 / -O2 / boost 1.64 + # + - os: osx + env: + - BOOST_DIR="boost_1_64_0" + - BOOST_URL="https://dl.bintray.com/boostorg/release/1.64.0/source/boost_1_64_0.tar.bz2" + - CXXFLAGS="-Wall -Wextra -O2" + - CONFIGFLAGS="" + osx_image: xcode8 + # + # macOS / xcode8 / -O0 / boost 1.64 / separate compilation + # + - os: osx + env: + - BOOST_DIR="boost_1_64_0" + - BOOST_URL="https://dl.bintray.com/boostorg/release/1.64.0/source/boost_1_64_0.tar.bz2" + - CXXFLAGS="-Wall -Wextra -O0 -fno-inline" + - CONFIGFLAGS="--enable-separate-compilation" + osx_image: xcode8 + +before_install: + - eval "${MATRIX_EVAL}" + +install: + - | + if [[ "${BOOST_URL}" != "" ]]; then + if [[ -z "$(ls -A ${BOOST_DIR})" ]]; then + { travis_retry wget --quiet -O - ${BOOST_URL} | tar -xj; } || exit 1 + fi + fi + +script: + - cd asio && ./autogen.sh && ./configure $CONFIGFLAGS && make && make check + +notifications: + email: false diff --git a/asio/.gitignore b/asio/.gitignore index 5ef5e3a..55db118 100644 --- a/asio/.gitignore +++ b/asio/.gitignore @@ -15,6 +15,7 @@ test-driver /doc /lib /boostified +/tsified *.gz *.bz2 *.zip diff --git a/asio/COPYING b/asio/COPYING index 5a0dd10..cca5444 100644 --- a/asio/COPYING +++ b/asio/COPYING @@ -1,4 +1,4 @@ -Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +Copyright (c) 2003-2017 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) diff --git a/asio/README b/asio/README index a7f2a3d..661e726 100644 --- a/asio/README +++ b/asio/README @@ -1,4 +1,4 @@ -asio version 1.11.0 -Released Monday, 16 February 2015. +asio version 1.12.0 +Released Sunday, 04 March 2018. See doc/index.html for API documentation and a tutorial. diff --git a/asio/asio.manifest b/asio/asio.manifest index cc113eb..e69d476 100644 --- a/asio/asio.manifest +++ b/asio/asio.manifest @@ -15,12 +15,14 @@ /doc/asio/examples.html /doc/asio/history.html /doc/asio/index.html +/doc/asio/net_ts.html /doc/asio/overview/ /doc/asio/overview/core/ /doc/asio/overview/core/allocation.html /doc/asio/overview/core/async.html /doc/asio/overview/core/basics.html /doc/asio/overview/core/buffers.html +/doc/asio/overview/core/concurrency_hint.html /doc/asio/overview/core/coroutine.html /doc/asio/overview/core/handler_tracking.html /doc/asio/overview/core.html @@ -66,6 +68,7 @@ /doc/asio/overview/windows/stream_handle.html /doc/asio.png /doc/asio/reference/ +/doc/asio/reference/AcceptableProtocol.html /doc/asio/reference/AcceptHandler.html /doc/asio/reference/add_service.html /doc/asio/reference/asio_handler_allocate.html @@ -85,8 +88,8 @@ /doc/asio/reference/associated_executor/type.html /doc/asio/reference/async_completion/ /doc/asio/reference/async_completion/async_completion.html -/doc/asio/reference/async_completion/handler.html -/doc/asio/reference/async_completion/handler_type.html +/doc/asio/reference/async_completion/completion_handler.html +/doc/asio/reference/async_completion/completion_handler_type.html /doc/asio/reference/async_completion.html /doc/asio/reference/async_completion/result.html /doc/asio/reference/async_connect/ @@ -95,7 +98,24 @@ /doc/asio/reference/async_connect/overload2.html /doc/asio/reference/async_connect/overload3.html /doc/asio/reference/async_connect/overload4.html +/doc/asio/reference/async_connect/overload5.html +/doc/asio/reference/async_connect/overload6.html +/doc/asio/reference/asynchronous_operations/ +/doc/asio/reference/asynchronous_operations/allocation_of_intermediate_storage.html +/doc/asio/reference/asynchronous_operations/associated_executor.html +/doc/asio/reference/asynchronous_operations/automatic_deduction_of_initiating_function_return_type.html +/doc/asio/reference/asynchronous_operations/completion_handler_executor.html +/doc/asio/reference/asynchronous_operations/completion_handlers_and_exceptions.html +/doc/asio/reference/asynchronous_operations/completion_token.html +/doc/asio/reference/asynchronous_operations/execution_of_completion_handler_on_completion_of_asynchronous_operation.html +/doc/asio/reference/asynchronous_operations/general_asynchronous_operation_concepts.html /doc/asio/reference/asynchronous_operations.html +/doc/asio/reference/asynchronous_operations/i_o_executor.html +/doc/asio/reference/asynchronous_operations/lifetime_of_initiating_function_arguments.html +/doc/asio/reference/asynchronous_operations/non_blocking_requirements_on_initiating_functions.html +/doc/asio/reference/asynchronous_operations/outstanding_work.html +/doc/asio/reference/asynchronous_operations/production_of_initiating_function_return_value.html +/doc/asio/reference/asynchronous_socket_operations.html /doc/asio/reference/AsyncRandomAccessReadDevice.html /doc/asio/reference/AsyncRandomAccessWriteDevice.html /doc/asio/reference/async_read/ @@ -125,9 +145,21 @@ /doc/asio/reference/async_read_until/overload8.html /doc/asio/reference/async_result/ /doc/asio/reference/async_result/async_result.html +/doc/asio/reference/async_result/completion_handler_type.html /doc/asio/reference/async_result/get.html /doc/asio/reference/async_result.html -/doc/asio/reference/async_result/type.html +/doc/asio/reference/async_result_lt__Handler__gt_/ +/doc/asio/reference/async_result_lt__Handler__gt_/async_result.html +/doc/asio/reference/async_result_lt__Handler__gt_/get.html +/doc/asio/reference/async_result_lt__Handler__gt_.html +/doc/asio/reference/async_result_lt__Handler__gt_/type.html +/doc/asio/reference/async_result_lt__std__packaged_task_lt__Result_lp_Args_ellipsis__rp__gt__comma__Signature__gt_/ +/doc/asio/reference/async_result_lt__std__packaged_task_lt__Result_lp_Args_ellipsis__rp__gt__comma__Signature__gt_/async_result.html +/doc/asio/reference/async_result_lt__std__packaged_task_lt__Result_lp_Args_ellipsis__rp__gt__comma__Signature__gt_/completion_handler_type.html +/doc/asio/reference/async_result_lt__std__packaged_task_lt__Result_lp_Args_ellipsis__rp__gt__comma__Signature__gt_/get.html +/doc/asio/reference/async_result_lt__std__packaged_task_lt__Result_lp_Args_ellipsis__rp__gt__comma__Signature__gt_.html +/doc/asio/reference/async_result_lt__std__packaged_task_lt__Result_lp_Args_ellipsis__rp__gt__comma__Signature__gt_/return_type.html +/doc/asio/reference/async_result/return_type.html /doc/asio/reference/async_write/ /doc/asio/reference/async_write_at/ /doc/asio/reference/async_write_at.html @@ -179,6 +211,7 @@ /doc/asio/reference/basic_datagram_socket/available/overload1.html /doc/asio/reference/basic_datagram_socket/available/overload2.html /doc/asio/reference/basic_datagram_socket/basic_datagram_socket/ +/doc/asio/reference/basic_datagram_socket/_basic_datagram_socket.html /doc/asio/reference/basic_datagram_socket/basic_datagram_socket.html /doc/asio/reference/basic_datagram_socket/basic_datagram_socket/overload1.html /doc/asio/reference/basic_datagram_socket/basic_datagram_socket/overload2.html @@ -210,21 +243,13 @@ /doc/asio/reference/basic_datagram_socket/endpoint_type.html /doc/asio/reference/basic_datagram_socket/executor_type.html /doc/asio/reference/basic_datagram_socket/get_executor.html -/doc/asio/reference/basic_datagram_socket/get_implementation/ -/doc/asio/reference/basic_datagram_socket/get_implementation.html -/doc/asio/reference/basic_datagram_socket/get_implementation/overload1.html -/doc/asio/reference/basic_datagram_socket/get_implementation/overload2.html +/doc/asio/reference/basic_datagram_socket/get_io_context.html /doc/asio/reference/basic_datagram_socket/get_io_service.html /doc/asio/reference/basic_datagram_socket/get_option/ /doc/asio/reference/basic_datagram_socket/get_option.html /doc/asio/reference/basic_datagram_socket/get_option/overload1.html /doc/asio/reference/basic_datagram_socket/get_option/overload2.html -/doc/asio/reference/basic_datagram_socket/get_service/ -/doc/asio/reference/basic_datagram_socket/get_service.html -/doc/asio/reference/basic_datagram_socket/get_service/overload1.html -/doc/asio/reference/basic_datagram_socket/get_service/overload2.html /doc/asio/reference/basic_datagram_socket.html -/doc/asio/reference/basic_datagram_socket/implementation_type.html /doc/asio/reference/basic_datagram_socket/io_control/ /doc/asio/reference/basic_datagram_socket/io_control.html /doc/asio/reference/basic_datagram_socket/io_control/overload1.html @@ -242,6 +267,7 @@ /doc/asio/reference/basic_datagram_socket/lowest_layer/overload2.html /doc/asio/reference/basic_datagram_socket/lowest_layer_type.html /doc/asio/reference/basic_datagram_socket/max_connections.html +/doc/asio/reference/basic_datagram_socket/max_listen_connections.html /doc/asio/reference/basic_datagram_socket/message_do_not_route.html /doc/asio/reference/basic_datagram_socket/message_end_of_record.html /doc/asio/reference/basic_datagram_socket/message_flags.html @@ -267,6 +293,7 @@ /doc/asio/reference/basic_datagram_socket/operator_eq_.html /doc/asio/reference/basic_datagram_socket/operator_eq_/overload1.html /doc/asio/reference/basic_datagram_socket/operator_eq_/overload2.html +/doc/asio/reference/basic_datagram_socket/out_of_band_inline.html /doc/asio/reference/basic_datagram_socket/protocol_type.html /doc/asio/reference/basic_datagram_socket/receive/ /doc/asio/reference/basic_datagram_socket/receive_buffer_size.html @@ -280,6 +307,10 @@ /doc/asio/reference/basic_datagram_socket/receive/overload1.html /doc/asio/reference/basic_datagram_socket/receive/overload2.html /doc/asio/reference/basic_datagram_socket/receive/overload3.html +/doc/asio/reference/basic_datagram_socket/release/ +/doc/asio/reference/basic_datagram_socket/release.html +/doc/asio/reference/basic_datagram_socket/release/overload1.html +/doc/asio/reference/basic_datagram_socket/release/overload2.html /doc/asio/reference/basic_datagram_socket/remote_endpoint/ /doc/asio/reference/basic_datagram_socket/remote_endpoint.html /doc/asio/reference/basic_datagram_socket/remote_endpoint/overload1.html @@ -297,7 +328,6 @@ /doc/asio/reference/basic_datagram_socket/send_to/overload1.html /doc/asio/reference/basic_datagram_socket/send_to/overload2.html /doc/asio/reference/basic_datagram_socket/send_to/overload3.html -/doc/asio/reference/basic_datagram_socket/service_type.html /doc/asio/reference/basic_datagram_socket/set_option/ /doc/asio/reference/basic_datagram_socket/set_option.html /doc/asio/reference/basic_datagram_socket/set_option/overload1.html @@ -315,10 +345,12 @@ /doc/asio/reference/basic_deadline_timer/ /doc/asio/reference/basic_deadline_timer/async_wait.html /doc/asio/reference/basic_deadline_timer/basic_deadline_timer/ +/doc/asio/reference/basic_deadline_timer/_basic_deadline_timer.html /doc/asio/reference/basic_deadline_timer/basic_deadline_timer.html /doc/asio/reference/basic_deadline_timer/basic_deadline_timer/overload1.html /doc/asio/reference/basic_deadline_timer/basic_deadline_timer/overload2.html /doc/asio/reference/basic_deadline_timer/basic_deadline_timer/overload3.html +/doc/asio/reference/basic_deadline_timer/basic_deadline_timer/overload4.html /doc/asio/reference/basic_deadline_timer/cancel/ /doc/asio/reference/basic_deadline_timer/cancel.html /doc/asio/reference/basic_deadline_timer/cancel_one/ @@ -340,18 +372,10 @@ /doc/asio/reference/basic_deadline_timer/expires_from_now/overload2.html /doc/asio/reference/basic_deadline_timer/expires_from_now/overload3.html /doc/asio/reference/basic_deadline_timer/get_executor.html -/doc/asio/reference/basic_deadline_timer/get_implementation/ -/doc/asio/reference/basic_deadline_timer/get_implementation.html -/doc/asio/reference/basic_deadline_timer/get_implementation/overload1.html -/doc/asio/reference/basic_deadline_timer/get_implementation/overload2.html +/doc/asio/reference/basic_deadline_timer/get_io_context.html /doc/asio/reference/basic_deadline_timer/get_io_service.html -/doc/asio/reference/basic_deadline_timer/get_service/ -/doc/asio/reference/basic_deadline_timer/get_service.html -/doc/asio/reference/basic_deadline_timer/get_service/overload1.html -/doc/asio/reference/basic_deadline_timer/get_service/overload2.html /doc/asio/reference/basic_deadline_timer.html -/doc/asio/reference/basic_deadline_timer/implementation_type.html -/doc/asio/reference/basic_deadline_timer/service_type.html +/doc/asio/reference/basic_deadline_timer/operator_eq_.html /doc/asio/reference/basic_deadline_timer/time_type.html /doc/asio/reference/basic_deadline_timer/traits_type.html /doc/asio/reference/basic_deadline_timer/wait/ @@ -364,12 +388,14 @@ /doc/asio/reference/basic_io_object/basic_io_object.html /doc/asio/reference/basic_io_object/basic_io_object/overload1.html /doc/asio/reference/basic_io_object/basic_io_object/overload2.html +/doc/asio/reference/basic_io_object/basic_io_object/overload3.html /doc/asio/reference/basic_io_object/executor_type.html /doc/asio/reference/basic_io_object/get_executor.html /doc/asio/reference/basic_io_object/get_implementation/ /doc/asio/reference/basic_io_object/get_implementation.html /doc/asio/reference/basic_io_object/get_implementation/overload1.html /doc/asio/reference/basic_io_object/get_implementation/overload2.html +/doc/asio/reference/basic_io_object/get_io_context.html /doc/asio/reference/basic_io_object/get_io_service.html /doc/asio/reference/basic_io_object/get_service/ /doc/asio/reference/basic_io_object/get_service.html @@ -411,6 +437,7 @@ /doc/asio/reference/basic_raw_socket/available/overload1.html /doc/asio/reference/basic_raw_socket/available/overload2.html /doc/asio/reference/basic_raw_socket/basic_raw_socket/ +/doc/asio/reference/basic_raw_socket/_basic_raw_socket.html /doc/asio/reference/basic_raw_socket/basic_raw_socket.html /doc/asio/reference/basic_raw_socket/basic_raw_socket/overload1.html /doc/asio/reference/basic_raw_socket/basic_raw_socket/overload2.html @@ -442,21 +469,13 @@ /doc/asio/reference/basic_raw_socket/endpoint_type.html /doc/asio/reference/basic_raw_socket/executor_type.html /doc/asio/reference/basic_raw_socket/get_executor.html -/doc/asio/reference/basic_raw_socket/get_implementation/ -/doc/asio/reference/basic_raw_socket/get_implementation.html -/doc/asio/reference/basic_raw_socket/get_implementation/overload1.html -/doc/asio/reference/basic_raw_socket/get_implementation/overload2.html +/doc/asio/reference/basic_raw_socket/get_io_context.html /doc/asio/reference/basic_raw_socket/get_io_service.html /doc/asio/reference/basic_raw_socket/get_option/ /doc/asio/reference/basic_raw_socket/get_option.html /doc/asio/reference/basic_raw_socket/get_option/overload1.html /doc/asio/reference/basic_raw_socket/get_option/overload2.html -/doc/asio/reference/basic_raw_socket/get_service/ -/doc/asio/reference/basic_raw_socket/get_service.html -/doc/asio/reference/basic_raw_socket/get_service/overload1.html -/doc/asio/reference/basic_raw_socket/get_service/overload2.html /doc/asio/reference/basic_raw_socket.html -/doc/asio/reference/basic_raw_socket/implementation_type.html /doc/asio/reference/basic_raw_socket/io_control/ /doc/asio/reference/basic_raw_socket/io_control.html /doc/asio/reference/basic_raw_socket/io_control/overload1.html @@ -474,6 +493,7 @@ /doc/asio/reference/basic_raw_socket/lowest_layer/overload2.html /doc/asio/reference/basic_raw_socket/lowest_layer_type.html /doc/asio/reference/basic_raw_socket/max_connections.html +/doc/asio/reference/basic_raw_socket/max_listen_connections.html /doc/asio/reference/basic_raw_socket/message_do_not_route.html /doc/asio/reference/basic_raw_socket/message_end_of_record.html /doc/asio/reference/basic_raw_socket/message_flags.html @@ -499,6 +519,7 @@ /doc/asio/reference/basic_raw_socket/operator_eq_.html /doc/asio/reference/basic_raw_socket/operator_eq_/overload1.html /doc/asio/reference/basic_raw_socket/operator_eq_/overload2.html +/doc/asio/reference/basic_raw_socket/out_of_band_inline.html /doc/asio/reference/basic_raw_socket/protocol_type.html /doc/asio/reference/basic_raw_socket/receive/ /doc/asio/reference/basic_raw_socket/receive_buffer_size.html @@ -512,6 +533,10 @@ /doc/asio/reference/basic_raw_socket/receive/overload1.html /doc/asio/reference/basic_raw_socket/receive/overload2.html /doc/asio/reference/basic_raw_socket/receive/overload3.html +/doc/asio/reference/basic_raw_socket/release/ +/doc/asio/reference/basic_raw_socket/release.html +/doc/asio/reference/basic_raw_socket/release/overload1.html +/doc/asio/reference/basic_raw_socket/release/overload2.html /doc/asio/reference/basic_raw_socket/remote_endpoint/ /doc/asio/reference/basic_raw_socket/remote_endpoint.html /doc/asio/reference/basic_raw_socket/remote_endpoint/overload1.html @@ -529,7 +554,6 @@ /doc/asio/reference/basic_raw_socket/send_to/overload1.html /doc/asio/reference/basic_raw_socket/send_to/overload2.html /doc/asio/reference/basic_raw_socket/send_to/overload3.html -/doc/asio/reference/basic_raw_socket/service_type.html /doc/asio/reference/basic_raw_socket/set_option/ /doc/asio/reference/basic_raw_socket/set_option.html /doc/asio/reference/basic_raw_socket/set_option/overload1.html @@ -565,6 +589,7 @@ /doc/asio/reference/basic_seq_packet_socket/available/overload1.html /doc/asio/reference/basic_seq_packet_socket/available/overload2.html /doc/asio/reference/basic_seq_packet_socket/basic_seq_packet_socket/ +/doc/asio/reference/basic_seq_packet_socket/_basic_seq_packet_socket.html /doc/asio/reference/basic_seq_packet_socket/basic_seq_packet_socket.html /doc/asio/reference/basic_seq_packet_socket/basic_seq_packet_socket/overload1.html /doc/asio/reference/basic_seq_packet_socket/basic_seq_packet_socket/overload2.html @@ -596,21 +621,13 @@ /doc/asio/reference/basic_seq_packet_socket/endpoint_type.html /doc/asio/reference/basic_seq_packet_socket/executor_type.html /doc/asio/reference/basic_seq_packet_socket/get_executor.html -/doc/asio/reference/basic_seq_packet_socket/get_implementation/ -/doc/asio/reference/basic_seq_packet_socket/get_implementation.html -/doc/asio/reference/basic_seq_packet_socket/get_implementation/overload1.html -/doc/asio/reference/basic_seq_packet_socket/get_implementation/overload2.html +/doc/asio/reference/basic_seq_packet_socket/get_io_context.html /doc/asio/reference/basic_seq_packet_socket/get_io_service.html /doc/asio/reference/basic_seq_packet_socket/get_option/ /doc/asio/reference/basic_seq_packet_socket/get_option.html /doc/asio/reference/basic_seq_packet_socket/get_option/overload1.html /doc/asio/reference/basic_seq_packet_socket/get_option/overload2.html -/doc/asio/reference/basic_seq_packet_socket/get_service/ -/doc/asio/reference/basic_seq_packet_socket/get_service.html -/doc/asio/reference/basic_seq_packet_socket/get_service/overload1.html -/doc/asio/reference/basic_seq_packet_socket/get_service/overload2.html /doc/asio/reference/basic_seq_packet_socket.html -/doc/asio/reference/basic_seq_packet_socket/implementation_type.html /doc/asio/reference/basic_seq_packet_socket/io_control/ /doc/asio/reference/basic_seq_packet_socket/io_control.html /doc/asio/reference/basic_seq_packet_socket/io_control/overload1.html @@ -628,6 +645,7 @@ /doc/asio/reference/basic_seq_packet_socket/lowest_layer/overload2.html /doc/asio/reference/basic_seq_packet_socket/lowest_layer_type.html /doc/asio/reference/basic_seq_packet_socket/max_connections.html +/doc/asio/reference/basic_seq_packet_socket/max_listen_connections.html /doc/asio/reference/basic_seq_packet_socket/message_do_not_route.html /doc/asio/reference/basic_seq_packet_socket/message_end_of_record.html /doc/asio/reference/basic_seq_packet_socket/message_flags.html @@ -653,6 +671,7 @@ /doc/asio/reference/basic_seq_packet_socket/operator_eq_.html /doc/asio/reference/basic_seq_packet_socket/operator_eq_/overload1.html /doc/asio/reference/basic_seq_packet_socket/operator_eq_/overload2.html +/doc/asio/reference/basic_seq_packet_socket/out_of_band_inline.html /doc/asio/reference/basic_seq_packet_socket/protocol_type.html /doc/asio/reference/basic_seq_packet_socket/receive/ /doc/asio/reference/basic_seq_packet_socket/receive_buffer_size.html @@ -661,6 +680,10 @@ /doc/asio/reference/basic_seq_packet_socket/receive/overload1.html /doc/asio/reference/basic_seq_packet_socket/receive/overload2.html /doc/asio/reference/basic_seq_packet_socket/receive/overload3.html +/doc/asio/reference/basic_seq_packet_socket/release/ +/doc/asio/reference/basic_seq_packet_socket/release.html +/doc/asio/reference/basic_seq_packet_socket/release/overload1.html +/doc/asio/reference/basic_seq_packet_socket/release/overload2.html /doc/asio/reference/basic_seq_packet_socket/remote_endpoint/ /doc/asio/reference/basic_seq_packet_socket/remote_endpoint.html /doc/asio/reference/basic_seq_packet_socket/remote_endpoint/overload1.html @@ -672,7 +695,6 @@ /doc/asio/reference/basic_seq_packet_socket/send_low_watermark.html /doc/asio/reference/basic_seq_packet_socket/send/overload1.html /doc/asio/reference/basic_seq_packet_socket/send/overload2.html -/doc/asio/reference/basic_seq_packet_socket/service_type.html /doc/asio/reference/basic_seq_packet_socket/set_option/ /doc/asio/reference/basic_seq_packet_socket/set_option.html /doc/asio/reference/basic_seq_packet_socket/set_option/overload1.html @@ -687,121 +709,22 @@ /doc/asio/reference/basic_seq_packet_socket/wait/overload1.html /doc/asio/reference/basic_seq_packet_socket/wait/overload2.html /doc/asio/reference/basic_seq_packet_socket/wait_type.html -/doc/asio/reference/basic_serial_port/ -/doc/asio/reference/basic_serial_port/assign/ -/doc/asio/reference/basic_serial_port/assign.html -/doc/asio/reference/basic_serial_port/assign/overload1.html -/doc/asio/reference/basic_serial_port/assign/overload2.html -/doc/asio/reference/basic_serial_port/async_read_some.html -/doc/asio/reference/basic_serial_port/async_write_some.html -/doc/asio/reference/basic_serial_port/basic_serial_port/ -/doc/asio/reference/basic_serial_port/basic_serial_port.html -/doc/asio/reference/basic_serial_port/basic_serial_port/overload1.html -/doc/asio/reference/basic_serial_port/basic_serial_port/overload2.html -/doc/asio/reference/basic_serial_port/basic_serial_port/overload3.html -/doc/asio/reference/basic_serial_port/basic_serial_port/overload4.html -/doc/asio/reference/basic_serial_port/basic_serial_port/overload5.html -/doc/asio/reference/basic_serial_port/cancel/ -/doc/asio/reference/basic_serial_port/cancel.html -/doc/asio/reference/basic_serial_port/cancel/overload1.html -/doc/asio/reference/basic_serial_port/cancel/overload2.html -/doc/asio/reference/basic_serial_port/close/ -/doc/asio/reference/basic_serial_port/close.html -/doc/asio/reference/basic_serial_port/close/overload1.html -/doc/asio/reference/basic_serial_port/close/overload2.html -/doc/asio/reference/basic_serial_port/executor_type.html -/doc/asio/reference/basic_serial_port/get_executor.html -/doc/asio/reference/basic_serial_port/get_implementation/ -/doc/asio/reference/basic_serial_port/get_implementation.html -/doc/asio/reference/basic_serial_port/get_implementation/overload1.html -/doc/asio/reference/basic_serial_port/get_implementation/overload2.html -/doc/asio/reference/basic_serial_port/get_io_service.html -/doc/asio/reference/basic_serial_port/get_option/ -/doc/asio/reference/basic_serial_port/get_option.html -/doc/asio/reference/basic_serial_port/get_option/overload1.html -/doc/asio/reference/basic_serial_port/get_option/overload2.html -/doc/asio/reference/basic_serial_port/get_service/ -/doc/asio/reference/basic_serial_port/get_service.html -/doc/asio/reference/basic_serial_port/get_service/overload1.html -/doc/asio/reference/basic_serial_port/get_service/overload2.html -/doc/asio/reference/basic_serial_port.html -/doc/asio/reference/basic_serial_port/implementation_type.html -/doc/asio/reference/basic_serial_port/is_open.html -/doc/asio/reference/basic_serial_port/lowest_layer/ -/doc/asio/reference/basic_serial_port/lowest_layer.html -/doc/asio/reference/basic_serial_port/lowest_layer/overload1.html -/doc/asio/reference/basic_serial_port/lowest_layer/overload2.html -/doc/asio/reference/basic_serial_port/lowest_layer_type.html -/doc/asio/reference/basic_serial_port/native_handle.html -/doc/asio/reference/basic_serial_port/native_handle_type.html -/doc/asio/reference/basic_serial_port/open/ -/doc/asio/reference/basic_serial_port/open.html -/doc/asio/reference/basic_serial_port/open/overload1.html -/doc/asio/reference/basic_serial_port/open/overload2.html -/doc/asio/reference/basic_serial_port/operator_eq_.html -/doc/asio/reference/basic_serial_port/read_some/ -/doc/asio/reference/basic_serial_port/read_some.html -/doc/asio/reference/basic_serial_port/read_some/overload1.html -/doc/asio/reference/basic_serial_port/read_some/overload2.html -/doc/asio/reference/basic_serial_port/send_break/ -/doc/asio/reference/basic_serial_port/send_break.html -/doc/asio/reference/basic_serial_port/send_break/overload1.html -/doc/asio/reference/basic_serial_port/send_break/overload2.html -/doc/asio/reference/basic_serial_port/service_type.html -/doc/asio/reference/basic_serial_port/set_option/ -/doc/asio/reference/basic_serial_port/set_option.html -/doc/asio/reference/basic_serial_port/set_option/overload1.html -/doc/asio/reference/basic_serial_port/set_option/overload2.html -/doc/asio/reference/basic_serial_port/write_some/ -/doc/asio/reference/basic_serial_port/write_some.html -/doc/asio/reference/basic_serial_port/write_some/overload1.html -/doc/asio/reference/basic_serial_port/write_some/overload2.html -/doc/asio/reference/basic_signal_set/ -/doc/asio/reference/basic_signal_set/add/ -/doc/asio/reference/basic_signal_set/add.html -/doc/asio/reference/basic_signal_set/add/overload1.html -/doc/asio/reference/basic_signal_set/add/overload2.html -/doc/asio/reference/basic_signal_set/async_wait.html -/doc/asio/reference/basic_signal_set/basic_signal_set/ -/doc/asio/reference/basic_signal_set/basic_signal_set.html -/doc/asio/reference/basic_signal_set/basic_signal_set/overload1.html -/doc/asio/reference/basic_signal_set/basic_signal_set/overload2.html -/doc/asio/reference/basic_signal_set/basic_signal_set/overload3.html -/doc/asio/reference/basic_signal_set/basic_signal_set/overload4.html -/doc/asio/reference/basic_signal_set/cancel/ -/doc/asio/reference/basic_signal_set/cancel.html -/doc/asio/reference/basic_signal_set/cancel/overload1.html -/doc/asio/reference/basic_signal_set/cancel/overload2.html -/doc/asio/reference/basic_signal_set/clear/ -/doc/asio/reference/basic_signal_set/clear.html -/doc/asio/reference/basic_signal_set/clear/overload1.html -/doc/asio/reference/basic_signal_set/clear/overload2.html -/doc/asio/reference/basic_signal_set/executor_type.html -/doc/asio/reference/basic_signal_set/get_executor.html -/doc/asio/reference/basic_signal_set/get_implementation/ -/doc/asio/reference/basic_signal_set/get_implementation.html -/doc/asio/reference/basic_signal_set/get_implementation/overload1.html -/doc/asio/reference/basic_signal_set/get_implementation/overload2.html -/doc/asio/reference/basic_signal_set/get_io_service.html -/doc/asio/reference/basic_signal_set/get_service/ -/doc/asio/reference/basic_signal_set/get_service.html -/doc/asio/reference/basic_signal_set/get_service/overload1.html -/doc/asio/reference/basic_signal_set/get_service/overload2.html -/doc/asio/reference/basic_signal_set.html -/doc/asio/reference/basic_signal_set/implementation_type.html -/doc/asio/reference/basic_signal_set/remove/ -/doc/asio/reference/basic_signal_set/remove.html -/doc/asio/reference/basic_signal_set/remove/overload1.html -/doc/asio/reference/basic_signal_set/remove/overload2.html -/doc/asio/reference/basic_signal_set/service_type.html /doc/asio/reference/basic_socket/ /doc/asio/reference/basic_socket_acceptor/ /doc/asio/reference/basic_socket_acceptor/accept/ /doc/asio/reference/basic_socket_acceptor/accept.html +/doc/asio/reference/basic_socket_acceptor/accept/overload10.html +/doc/asio/reference/basic_socket_acceptor/accept/overload11.html +/doc/asio/reference/basic_socket_acceptor/accept/overload12.html /doc/asio/reference/basic_socket_acceptor/accept/overload1.html /doc/asio/reference/basic_socket_acceptor/accept/overload2.html /doc/asio/reference/basic_socket_acceptor/accept/overload3.html /doc/asio/reference/basic_socket_acceptor/accept/overload4.html +/doc/asio/reference/basic_socket_acceptor/accept/overload5.html +/doc/asio/reference/basic_socket_acceptor/accept/overload6.html +/doc/asio/reference/basic_socket_acceptor/accept/overload7.html +/doc/asio/reference/basic_socket_acceptor/accept/overload8.html +/doc/asio/reference/basic_socket_acceptor/accept/overload9.html /doc/asio/reference/basic_socket_acceptor/assign/ /doc/asio/reference/basic_socket_acceptor/assign.html /doc/asio/reference/basic_socket_acceptor/assign/overload1.html @@ -810,8 +733,13 @@ /doc/asio/reference/basic_socket_acceptor/async_accept.html /doc/asio/reference/basic_socket_acceptor/async_accept/overload1.html /doc/asio/reference/basic_socket_acceptor/async_accept/overload2.html +/doc/asio/reference/basic_socket_acceptor/async_accept/overload3.html +/doc/asio/reference/basic_socket_acceptor/async_accept/overload4.html +/doc/asio/reference/basic_socket_acceptor/async_accept/overload5.html +/doc/asio/reference/basic_socket_acceptor/async_accept/overload6.html /doc/asio/reference/basic_socket_acceptor/async_wait.html /doc/asio/reference/basic_socket_acceptor/basic_socket_acceptor/ +/doc/asio/reference/basic_socket_acceptor/_basic_socket_acceptor.html /doc/asio/reference/basic_socket_acceptor/basic_socket_acceptor.html /doc/asio/reference/basic_socket_acceptor/basic_socket_acceptor/overload1.html /doc/asio/reference/basic_socket_acceptor/basic_socket_acceptor/overload2.html @@ -839,21 +767,13 @@ /doc/asio/reference/basic_socket_acceptor/endpoint_type.html /doc/asio/reference/basic_socket_acceptor/executor_type.html /doc/asio/reference/basic_socket_acceptor/get_executor.html -/doc/asio/reference/basic_socket_acceptor/get_implementation/ -/doc/asio/reference/basic_socket_acceptor/get_implementation.html -/doc/asio/reference/basic_socket_acceptor/get_implementation/overload1.html -/doc/asio/reference/basic_socket_acceptor/get_implementation/overload2.html +/doc/asio/reference/basic_socket_acceptor/get_io_context.html /doc/asio/reference/basic_socket_acceptor/get_io_service.html /doc/asio/reference/basic_socket_acceptor/get_option/ /doc/asio/reference/basic_socket_acceptor/get_option.html /doc/asio/reference/basic_socket_acceptor/get_option/overload1.html /doc/asio/reference/basic_socket_acceptor/get_option/overload2.html -/doc/asio/reference/basic_socket_acceptor/get_service/ -/doc/asio/reference/basic_socket_acceptor/get_service.html -/doc/asio/reference/basic_socket_acceptor/get_service/overload1.html -/doc/asio/reference/basic_socket_acceptor/get_service/overload2.html /doc/asio/reference/basic_socket_acceptor.html -/doc/asio/reference/basic_socket_acceptor/implementation_type.html /doc/asio/reference/basic_socket_acceptor/io_control/ /doc/asio/reference/basic_socket_acceptor/io_control.html /doc/asio/reference/basic_socket_acceptor/io_control/overload1.html @@ -870,6 +790,7 @@ /doc/asio/reference/basic_socket_acceptor/local_endpoint/overload1.html /doc/asio/reference/basic_socket_acceptor/local_endpoint/overload2.html /doc/asio/reference/basic_socket_acceptor/max_connections.html +/doc/asio/reference/basic_socket_acceptor/max_listen_connections.html /doc/asio/reference/basic_socket_acceptor/message_do_not_route.html /doc/asio/reference/basic_socket_acceptor/message_end_of_record.html /doc/asio/reference/basic_socket_acceptor/message_flags.html @@ -895,13 +816,17 @@ /doc/asio/reference/basic_socket_acceptor/operator_eq_.html /doc/asio/reference/basic_socket_acceptor/operator_eq_/overload1.html /doc/asio/reference/basic_socket_acceptor/operator_eq_/overload2.html +/doc/asio/reference/basic_socket_acceptor/out_of_band_inline.html /doc/asio/reference/basic_socket_acceptor/protocol_type.html /doc/asio/reference/basic_socket_acceptor/receive_buffer_size.html /doc/asio/reference/basic_socket_acceptor/receive_low_watermark.html +/doc/asio/reference/basic_socket_acceptor/release/ +/doc/asio/reference/basic_socket_acceptor/release.html +/doc/asio/reference/basic_socket_acceptor/release/overload1.html +/doc/asio/reference/basic_socket_acceptor/release/overload2.html /doc/asio/reference/basic_socket_acceptor/reuse_address.html /doc/asio/reference/basic_socket_acceptor/send_buffer_size.html /doc/asio/reference/basic_socket_acceptor/send_low_watermark.html -/doc/asio/reference/basic_socket_acceptor/service_type.html /doc/asio/reference/basic_socket_acceptor/set_option/ /doc/asio/reference/basic_socket_acceptor/set_option.html /doc/asio/reference/basic_socket_acceptor/set_option/overload1.html @@ -959,21 +884,13 @@ /doc/asio/reference/basic_socket/endpoint_type.html /doc/asio/reference/basic_socket/executor_type.html /doc/asio/reference/basic_socket/get_executor.html -/doc/asio/reference/basic_socket/get_implementation/ -/doc/asio/reference/basic_socket/get_implementation.html -/doc/asio/reference/basic_socket/get_implementation/overload1.html -/doc/asio/reference/basic_socket/get_implementation/overload2.html +/doc/asio/reference/basic_socket/get_io_context.html /doc/asio/reference/basic_socket/get_io_service.html /doc/asio/reference/basic_socket/get_option/ /doc/asio/reference/basic_socket/get_option.html /doc/asio/reference/basic_socket/get_option/overload1.html /doc/asio/reference/basic_socket/get_option/overload2.html -/doc/asio/reference/basic_socket/get_service/ -/doc/asio/reference/basic_socket/get_service.html -/doc/asio/reference/basic_socket/get_service/overload1.html -/doc/asio/reference/basic_socket/get_service/overload2.html /doc/asio/reference/basic_socket.html -/doc/asio/reference/basic_socket/implementation_type.html /doc/asio/reference/basic_socket/io_control/ /doc/asio/reference/basic_socket/io_control.html /doc/asio/reference/basic_socket/io_control/overload1.html @@ -983,6 +900,9 @@ /doc/asio/reference/basic_socket_iostream/basic_socket_iostream.html /doc/asio/reference/basic_socket_iostream/basic_socket_iostream/overload1.html /doc/asio/reference/basic_socket_iostream/basic_socket_iostream/overload2.html +/doc/asio/reference/basic_socket_iostream/basic_socket_iostream/overload3.html +/doc/asio/reference/basic_socket_iostream/basic_socket_iostream/overload4.html +/doc/asio/reference/basic_socket_iostream/clock_type.html /doc/asio/reference/basic_socket_iostream/close.html /doc/asio/reference/basic_socket_iostream/connect.html /doc/asio/reference/basic_socket_iostream/duration.html @@ -1000,7 +920,10 @@ /doc/asio/reference/basic_socket_iostream/expires_from_now/overload2.html /doc/asio/reference/basic_socket_iostream/expiry.html /doc/asio/reference/basic_socket_iostream.html +/doc/asio/reference/basic_socket_iostream/operator_eq_.html +/doc/asio/reference/basic_socket_iostream/protocol_type.html /doc/asio/reference/basic_socket_iostream/rdbuf.html +/doc/asio/reference/basic_socket_iostream/socket.html /doc/asio/reference/basic_socket_iostream/time_point.html /doc/asio/reference/basic_socket_iostream/time_type.html /doc/asio/reference/basic_socket/is_open.html @@ -1016,6 +939,7 @@ /doc/asio/reference/basic_socket/lowest_layer/overload2.html /doc/asio/reference/basic_socket/lowest_layer_type.html /doc/asio/reference/basic_socket/max_connections.html +/doc/asio/reference/basic_socket/max_listen_connections.html /doc/asio/reference/basic_socket/message_do_not_route.html /doc/asio/reference/basic_socket/message_end_of_record.html /doc/asio/reference/basic_socket/message_flags.html @@ -1041,9 +965,14 @@ /doc/asio/reference/basic_socket/operator_eq_.html /doc/asio/reference/basic_socket/operator_eq_/overload1.html /doc/asio/reference/basic_socket/operator_eq_/overload2.html +/doc/asio/reference/basic_socket/out_of_band_inline.html /doc/asio/reference/basic_socket/protocol_type.html /doc/asio/reference/basic_socket/receive_buffer_size.html /doc/asio/reference/basic_socket/receive_low_watermark.html +/doc/asio/reference/basic_socket/release/ +/doc/asio/reference/basic_socket/release.html +/doc/asio/reference/basic_socket/release/overload1.html +/doc/asio/reference/basic_socket/release/overload2.html /doc/asio/reference/basic_socket/remote_endpoint/ /doc/asio/reference/basic_socket/remote_endpoint.html /doc/asio/reference/basic_socket/remote_endpoint/overload1.html @@ -1051,7 +980,6 @@ /doc/asio/reference/basic_socket/reuse_address.html /doc/asio/reference/basic_socket/send_buffer_size.html /doc/asio/reference/basic_socket/send_low_watermark.html -/doc/asio/reference/basic_socket/service_type.html /doc/asio/reference/basic_socket/set_option/ /doc/asio/reference/basic_socket/set_option.html /doc/asio/reference/basic_socket/set_option/overload1.html @@ -1062,148 +990,43 @@ /doc/asio/reference/basic_socket/shutdown/overload2.html /doc/asio/reference/basic_socket/shutdown_type.html /doc/asio/reference/basic_socket_streambuf/ -/doc/asio/reference/basic_socket_streambuf/assign/ -/doc/asio/reference/basic_socket_streambuf/assign.html -/doc/asio/reference/basic_socket_streambuf/assign/overload1.html -/doc/asio/reference/basic_socket_streambuf/assign/overload2.html -/doc/asio/reference/basic_socket_streambuf/async_connect.html -/doc/asio/reference/basic_socket_streambuf/async_wait.html -/doc/asio/reference/basic_socket_streambuf/at_mark/ -/doc/asio/reference/basic_socket_streambuf/at_mark.html -/doc/asio/reference/basic_socket_streambuf/at_mark/overload1.html -/doc/asio/reference/basic_socket_streambuf/at_mark/overload2.html -/doc/asio/reference/basic_socket_streambuf/available/ -/doc/asio/reference/basic_socket_streambuf/available.html -/doc/asio/reference/basic_socket_streambuf/available/overload1.html -/doc/asio/reference/basic_socket_streambuf/available/overload2.html +/doc/asio/reference/basic_socket_streambuf/basic_socket_streambuf/ /doc/asio/reference/basic_socket_streambuf/_basic_socket_streambuf.html /doc/asio/reference/basic_socket_streambuf/basic_socket_streambuf.html -/doc/asio/reference/basic_socket_streambuf/bind/ -/doc/asio/reference/basic_socket_streambuf/bind.html -/doc/asio/reference/basic_socket_streambuf/bind/overload1.html -/doc/asio/reference/basic_socket_streambuf/bind/overload2.html -/doc/asio/reference/basic_socket_streambuf/broadcast.html -/doc/asio/reference/basic_socket_streambuf/bytes_readable.html -/doc/asio/reference/basic_socket_streambuf/cancel/ -/doc/asio/reference/basic_socket_streambuf/cancel.html -/doc/asio/reference/basic_socket_streambuf/cancel/overload1.html -/doc/asio/reference/basic_socket_streambuf/cancel/overload2.html -/doc/asio/reference/basic_socket_streambuf/close/ +/doc/asio/reference/basic_socket_streambuf/basic_socket_streambuf/overload1.html +/doc/asio/reference/basic_socket_streambuf/basic_socket_streambuf/overload2.html +/doc/asio/reference/basic_socket_streambuf/basic_socket_streambuf/overload3.html +/doc/asio/reference/basic_socket_streambuf/clock_type.html /doc/asio/reference/basic_socket_streambuf/close.html -/doc/asio/reference/basic_socket_streambuf/close/overload1.html -/doc/asio/reference/basic_socket_streambuf/close/overload2.html /doc/asio/reference/basic_socket_streambuf/connect/ /doc/asio/reference/basic_socket_streambuf/connect.html /doc/asio/reference/basic_socket_streambuf/connect/overload1.html /doc/asio/reference/basic_socket_streambuf/connect/overload2.html -/doc/asio/reference/basic_socket_streambuf/connect/overload3.html -/doc/asio/reference/basic_socket_streambuf/debug.html -/doc/asio/reference/basic_socket_streambuf/do_not_route.html /doc/asio/reference/basic_socket_streambuf/duration.html /doc/asio/reference/basic_socket_streambuf/duration_type.html -/doc/asio/reference/basic_socket_streambuf/enable_connection_aborted.html /doc/asio/reference/basic_socket_streambuf/endpoint_type.html /doc/asio/reference/basic_socket_streambuf/error.html -/doc/asio/reference/basic_socket_streambuf/executor_type.html /doc/asio/reference/basic_socket_streambuf/expires_after.html /doc/asio/reference/basic_socket_streambuf/expires_at/ /doc/asio/reference/basic_socket_streambuf/expires_at.html /doc/asio/reference/basic_socket_streambuf/expires_at/overload1.html /doc/asio/reference/basic_socket_streambuf/expires_at/overload2.html -/doc/asio/reference/basic_socket_streambuf/expires_at/overload3.html /doc/asio/reference/basic_socket_streambuf/expires_from_now/ /doc/asio/reference/basic_socket_streambuf/expires_from_now.html /doc/asio/reference/basic_socket_streambuf/expires_from_now/overload1.html /doc/asio/reference/basic_socket_streambuf/expires_from_now/overload2.html /doc/asio/reference/basic_socket_streambuf/expiry.html -/doc/asio/reference/basic_socket_streambuf/get_executor.html -/doc/asio/reference/basic_socket_streambuf/get_implementation/ -/doc/asio/reference/basic_socket_streambuf/get_implementation.html -/doc/asio/reference/basic_socket_streambuf/get_implementation/overload1.html -/doc/asio/reference/basic_socket_streambuf/get_implementation/overload2.html -/doc/asio/reference/basic_socket_streambuf/get_io_service.html -/doc/asio/reference/basic_socket_streambuf/get_option/ -/doc/asio/reference/basic_socket_streambuf/get_option.html -/doc/asio/reference/basic_socket_streambuf/get_option/overload1.html -/doc/asio/reference/basic_socket_streambuf/get_option/overload2.html -/doc/asio/reference/basic_socket_streambuf/get_service/ -/doc/asio/reference/basic_socket_streambuf/get_service.html -/doc/asio/reference/basic_socket_streambuf/get_service/overload1.html -/doc/asio/reference/basic_socket_streambuf/get_service/overload2.html /doc/asio/reference/basic_socket_streambuf.html -/doc/asio/reference/basic_socket_streambuf/implementation_type.html -/doc/asio/reference/basic_socket_streambuf/io_control/ -/doc/asio/reference/basic_socket_streambuf/io_control.html -/doc/asio/reference/basic_socket_streambuf/io_control/overload1.html -/doc/asio/reference/basic_socket_streambuf/io_control/overload2.html -/doc/asio/reference/basic_socket_streambuf/io_handler.html -/doc/asio/reference/basic_socket_streambuf/is_open.html -/doc/asio/reference/basic_socket_streambuf/keep_alive.html -/doc/asio/reference/basic_socket_streambuf/linger.html -/doc/asio/reference/basic_socket_streambuf/local_endpoint/ -/doc/asio/reference/basic_socket_streambuf/local_endpoint.html -/doc/asio/reference/basic_socket_streambuf/local_endpoint/overload1.html -/doc/asio/reference/basic_socket_streambuf/local_endpoint/overload2.html -/doc/asio/reference/basic_socket_streambuf/lowest_layer/ -/doc/asio/reference/basic_socket_streambuf/lowest_layer.html -/doc/asio/reference/basic_socket_streambuf/lowest_layer/overload1.html -/doc/asio/reference/basic_socket_streambuf/lowest_layer/overload2.html -/doc/asio/reference/basic_socket_streambuf/lowest_layer_type.html -/doc/asio/reference/basic_socket_streambuf/max_connections.html -/doc/asio/reference/basic_socket_streambuf/message_do_not_route.html -/doc/asio/reference/basic_socket_streambuf/message_end_of_record.html -/doc/asio/reference/basic_socket_streambuf/message_flags.html -/doc/asio/reference/basic_socket_streambuf/message_out_of_band.html -/doc/asio/reference/basic_socket_streambuf/message_peek.html -/doc/asio/reference/basic_socket_streambuf/native_handle.html -/doc/asio/reference/basic_socket_streambuf/native_handle_type.html -/doc/asio/reference/basic_socket_streambuf/native_non_blocking/ -/doc/asio/reference/basic_socket_streambuf/native_non_blocking.html -/doc/asio/reference/basic_socket_streambuf/native_non_blocking/overload1.html -/doc/asio/reference/basic_socket_streambuf/native_non_blocking/overload2.html -/doc/asio/reference/basic_socket_streambuf/native_non_blocking/overload3.html -/doc/asio/reference/basic_socket_streambuf/non_blocking/ -/doc/asio/reference/basic_socket_streambuf/non_blocking.html -/doc/asio/reference/basic_socket_streambuf/non_blocking/overload1.html -/doc/asio/reference/basic_socket_streambuf/non_blocking/overload2.html -/doc/asio/reference/basic_socket_streambuf/non_blocking/overload3.html -/doc/asio/reference/basic_socket_streambuf/open/ -/doc/asio/reference/basic_socket_streambuf/open.html -/doc/asio/reference/basic_socket_streambuf/open/overload1.html -/doc/asio/reference/basic_socket_streambuf/open/overload2.html +/doc/asio/reference/basic_socket_streambuf/operator_eq_.html /doc/asio/reference/basic_socket_streambuf/overflow.html /doc/asio/reference/basic_socket_streambuf/protocol_type.html /doc/asio/reference/basic_socket_streambuf/puberror.html -/doc/asio/reference/basic_socket_streambuf/receive_buffer_size.html -/doc/asio/reference/basic_socket_streambuf/receive_low_watermark.html -/doc/asio/reference/basic_socket_streambuf/remote_endpoint/ -/doc/asio/reference/basic_socket_streambuf/remote_endpoint.html -/doc/asio/reference/basic_socket_streambuf/remote_endpoint/overload1.html -/doc/asio/reference/basic_socket_streambuf/remote_endpoint/overload2.html -/doc/asio/reference/basic_socket_streambuf/reuse_address.html -/doc/asio/reference/basic_socket_streambuf/send_buffer_size.html -/doc/asio/reference/basic_socket_streambuf/send_low_watermark.html -/doc/asio/reference/basic_socket_streambuf/service_type.html /doc/asio/reference/basic_socket_streambuf/setbuf.html -/doc/asio/reference/basic_socket_streambuf/set_option/ -/doc/asio/reference/basic_socket_streambuf/set_option.html -/doc/asio/reference/basic_socket_streambuf/set_option/overload1.html -/doc/asio/reference/basic_socket_streambuf/set_option/overload2.html -/doc/asio/reference/basic_socket_streambuf/shutdown/ -/doc/asio/reference/basic_socket_streambuf/shutdown.html -/doc/asio/reference/basic_socket_streambuf/shutdown/overload1.html -/doc/asio/reference/basic_socket_streambuf/shutdown/overload2.html -/doc/asio/reference/basic_socket_streambuf/shutdown_type.html +/doc/asio/reference/basic_socket_streambuf/socket.html /doc/asio/reference/basic_socket_streambuf/sync.html /doc/asio/reference/basic_socket_streambuf/time_point.html -/doc/asio/reference/basic_socket_streambuf/timer_handler.html /doc/asio/reference/basic_socket_streambuf/time_type.html /doc/asio/reference/basic_socket_streambuf/underflow.html -/doc/asio/reference/basic_socket_streambuf/wait/ -/doc/asio/reference/basic_socket_streambuf/wait.html -/doc/asio/reference/basic_socket_streambuf/wait/overload1.html -/doc/asio/reference/basic_socket_streambuf/wait/overload2.html -/doc/asio/reference/basic_socket_streambuf/wait_type.html /doc/asio/reference/basic_socket/wait/ /doc/asio/reference/basic_socket/wait.html /doc/asio/reference/basic_socket/wait/overload1.html @@ -1266,6 +1089,7 @@ /doc/asio/reference/basic_stream_socket/available/overload1.html /doc/asio/reference/basic_stream_socket/available/overload2.html /doc/asio/reference/basic_stream_socket/basic_stream_socket/ +/doc/asio/reference/basic_stream_socket/_basic_stream_socket.html /doc/asio/reference/basic_stream_socket/basic_stream_socket.html /doc/asio/reference/basic_stream_socket/basic_stream_socket/overload1.html /doc/asio/reference/basic_stream_socket/basic_stream_socket/overload2.html @@ -1297,21 +1121,13 @@ /doc/asio/reference/basic_stream_socket/endpoint_type.html /doc/asio/reference/basic_stream_socket/executor_type.html /doc/asio/reference/basic_stream_socket/get_executor.html -/doc/asio/reference/basic_stream_socket/get_implementation/ -/doc/asio/reference/basic_stream_socket/get_implementation.html -/doc/asio/reference/basic_stream_socket/get_implementation/overload1.html -/doc/asio/reference/basic_stream_socket/get_implementation/overload2.html +/doc/asio/reference/basic_stream_socket/get_io_context.html /doc/asio/reference/basic_stream_socket/get_io_service.html /doc/asio/reference/basic_stream_socket/get_option/ /doc/asio/reference/basic_stream_socket/get_option.html /doc/asio/reference/basic_stream_socket/get_option/overload1.html /doc/asio/reference/basic_stream_socket/get_option/overload2.html -/doc/asio/reference/basic_stream_socket/get_service/ -/doc/asio/reference/basic_stream_socket/get_service.html -/doc/asio/reference/basic_stream_socket/get_service/overload1.html -/doc/asio/reference/basic_stream_socket/get_service/overload2.html /doc/asio/reference/basic_stream_socket.html -/doc/asio/reference/basic_stream_socket/implementation_type.html /doc/asio/reference/basic_stream_socket/io_control/ /doc/asio/reference/basic_stream_socket/io_control.html /doc/asio/reference/basic_stream_socket/io_control/overload1.html @@ -1329,6 +1145,7 @@ /doc/asio/reference/basic_stream_socket/lowest_layer/overload2.html /doc/asio/reference/basic_stream_socket/lowest_layer_type.html /doc/asio/reference/basic_stream_socket/max_connections.html +/doc/asio/reference/basic_stream_socket/max_listen_connections.html /doc/asio/reference/basic_stream_socket/message_do_not_route.html /doc/asio/reference/basic_stream_socket/message_end_of_record.html /doc/asio/reference/basic_stream_socket/message_flags.html @@ -1354,6 +1171,7 @@ /doc/asio/reference/basic_stream_socket/operator_eq_.html /doc/asio/reference/basic_stream_socket/operator_eq_/overload1.html /doc/asio/reference/basic_stream_socket/operator_eq_/overload2.html +/doc/asio/reference/basic_stream_socket/out_of_band_inline.html /doc/asio/reference/basic_stream_socket/protocol_type.html /doc/asio/reference/basic_stream_socket/read_some/ /doc/asio/reference/basic_stream_socket/read_some.html @@ -1366,6 +1184,10 @@ /doc/asio/reference/basic_stream_socket/receive/overload1.html /doc/asio/reference/basic_stream_socket/receive/overload2.html /doc/asio/reference/basic_stream_socket/receive/overload3.html +/doc/asio/reference/basic_stream_socket/release/ +/doc/asio/reference/basic_stream_socket/release.html +/doc/asio/reference/basic_stream_socket/release/overload1.html +/doc/asio/reference/basic_stream_socket/release/overload2.html /doc/asio/reference/basic_stream_socket/remote_endpoint/ /doc/asio/reference/basic_stream_socket/remote_endpoint.html /doc/asio/reference/basic_stream_socket/remote_endpoint/overload1.html @@ -1378,7 +1200,6 @@ /doc/asio/reference/basic_stream_socket/send/overload1.html /doc/asio/reference/basic_stream_socket/send/overload2.html /doc/asio/reference/basic_stream_socket/send/overload3.html -/doc/asio/reference/basic_stream_socket/service_type.html /doc/asio/reference/basic_stream_socket/set_option/ /doc/asio/reference/basic_stream_socket/set_option.html /doc/asio/reference/basic_stream_socket/set_option/overload1.html @@ -1400,6 +1221,7 @@ /doc/asio/reference/basic_waitable_timer/ /doc/asio/reference/basic_waitable_timer/async_wait.html /doc/asio/reference/basic_waitable_timer/basic_waitable_timer/ +/doc/asio/reference/basic_waitable_timer/_basic_waitable_timer.html /doc/asio/reference/basic_waitable_timer/basic_waitable_timer.html /doc/asio/reference/basic_waitable_timer/basic_waitable_timer/overload1.html /doc/asio/reference/basic_waitable_timer/basic_waitable_timer/overload2.html @@ -1416,10 +1238,7 @@ /doc/asio/reference/basic_waitable_timer/clock_type.html /doc/asio/reference/basic_waitable_timer/duration.html /doc/asio/reference/basic_waitable_timer/executor_type.html -/doc/asio/reference/basic_waitable_timer/expires_after/ /doc/asio/reference/basic_waitable_timer/expires_after.html -/doc/asio/reference/basic_waitable_timer/expires_after/overload1.html -/doc/asio/reference/basic_waitable_timer/expires_after/overload2.html /doc/asio/reference/basic_waitable_timer/expires_at/ /doc/asio/reference/basic_waitable_timer/expires_at.html /doc/asio/reference/basic_waitable_timer/expires_at/overload1.html @@ -1432,19 +1251,10 @@ /doc/asio/reference/basic_waitable_timer/expires_from_now/overload3.html /doc/asio/reference/basic_waitable_timer/expiry.html /doc/asio/reference/basic_waitable_timer/get_executor.html -/doc/asio/reference/basic_waitable_timer/get_implementation/ -/doc/asio/reference/basic_waitable_timer/get_implementation.html -/doc/asio/reference/basic_waitable_timer/get_implementation/overload1.html -/doc/asio/reference/basic_waitable_timer/get_implementation/overload2.html +/doc/asio/reference/basic_waitable_timer/get_io_context.html /doc/asio/reference/basic_waitable_timer/get_io_service.html -/doc/asio/reference/basic_waitable_timer/get_service/ -/doc/asio/reference/basic_waitable_timer/get_service.html -/doc/asio/reference/basic_waitable_timer/get_service/overload1.html -/doc/asio/reference/basic_waitable_timer/get_service/overload2.html /doc/asio/reference/basic_waitable_timer.html -/doc/asio/reference/basic_waitable_timer/implementation_type.html /doc/asio/reference/basic_waitable_timer/operator_eq_.html -/doc/asio/reference/basic_waitable_timer/service_type.html /doc/asio/reference/basic_waitable_timer/time_point.html /doc/asio/reference/basic_waitable_timer/traits_type.html /doc/asio/reference/basic_waitable_timer/wait/ @@ -1460,6 +1270,10 @@ /doc/asio/reference/basic_yield_context/caller_type.html /doc/asio/reference/basic_yield_context.html /doc/asio/reference/basic_yield_context/operator_lb__rb_.html +/doc/asio/reference/bind_executor/ +/doc/asio/reference/bind_executor.html +/doc/asio/reference/bind_executor/overload1.html +/doc/asio/reference/bind_executor/overload2.html /doc/asio/reference/buffer/ /doc/asio/reference/buffer_cast/ /doc/asio/reference/buffer_cast.html @@ -1467,36 +1281,8 @@ /doc/asio/reference/buffer_cast/overload2.html /doc/asio/reference/buffer_copy/ /doc/asio/reference/buffer_copy.html -/doc/asio/reference/buffer_copy/overload10.html -/doc/asio/reference/buffer_copy/overload11.html -/doc/asio/reference/buffer_copy/overload12.html -/doc/asio/reference/buffer_copy/overload13.html -/doc/asio/reference/buffer_copy/overload14.html -/doc/asio/reference/buffer_copy/overload15.html -/doc/asio/reference/buffer_copy/overload16.html -/doc/asio/reference/buffer_copy/overload17.html -/doc/asio/reference/buffer_copy/overload18.html -/doc/asio/reference/buffer_copy/overload19.html /doc/asio/reference/buffer_copy/overload1.html -/doc/asio/reference/buffer_copy/overload20.html -/doc/asio/reference/buffer_copy/overload21.html -/doc/asio/reference/buffer_copy/overload22.html -/doc/asio/reference/buffer_copy/overload23.html -/doc/asio/reference/buffer_copy/overload24.html -/doc/asio/reference/buffer_copy/overload25.html -/doc/asio/reference/buffer_copy/overload26.html -/doc/asio/reference/buffer_copy/overload27.html -/doc/asio/reference/buffer_copy/overload28.html -/doc/asio/reference/buffer_copy/overload29.html /doc/asio/reference/buffer_copy/overload2.html -/doc/asio/reference/buffer_copy/overload30.html -/doc/asio/reference/buffer_copy/overload3.html -/doc/asio/reference/buffer_copy/overload4.html -/doc/asio/reference/buffer_copy/overload5.html -/doc/asio/reference/buffer_copy/overload6.html -/doc/asio/reference/buffer_copy/overload7.html -/doc/asio/reference/buffer_copy/overload8.html -/doc/asio/reference/buffer_copy/overload9.html /doc/asio/reference/BufferedHandshakeHandler.html /doc/asio/reference/buffered_read_stream/ /doc/asio/reference/buffered_read_stream/async_fill.html @@ -1511,10 +1297,13 @@ /doc/asio/reference/buffered_read_stream/close/overload1.html /doc/asio/reference/buffered_read_stream/close/overload2.html /doc/asio/reference/buffered_read_stream/default_buffer_size.html +/doc/asio/reference/buffered_read_stream/executor_type.html /doc/asio/reference/buffered_read_stream/fill/ /doc/asio/reference/buffered_read_stream/fill.html /doc/asio/reference/buffered_read_stream/fill/overload1.html /doc/asio/reference/buffered_read_stream/fill/overload2.html +/doc/asio/reference/buffered_read_stream/get_executor.html +/doc/asio/reference/buffered_read_stream/get_io_context.html /doc/asio/reference/buffered_read_stream/get_io_service.html /doc/asio/reference/buffered_read_stream.html /doc/asio/reference/buffered_read_stream/in_avail/ @@ -1553,6 +1342,7 @@ /doc/asio/reference/buffered_stream/close.html /doc/asio/reference/buffered_stream/close/overload1.html /doc/asio/reference/buffered_stream/close/overload2.html +/doc/asio/reference/buffered_stream/executor_type.html /doc/asio/reference/buffered_stream/fill/ /doc/asio/reference/buffered_stream/fill.html /doc/asio/reference/buffered_stream/fill/overload1.html @@ -1561,6 +1351,8 @@ /doc/asio/reference/buffered_stream/flush.html /doc/asio/reference/buffered_stream/flush/overload1.html /doc/asio/reference/buffered_stream/flush/overload2.html +/doc/asio/reference/buffered_stream/get_executor.html +/doc/asio/reference/buffered_stream/get_io_context.html /doc/asio/reference/buffered_stream/get_io_service.html /doc/asio/reference/buffered_stream.html /doc/asio/reference/buffered_stream/in_avail/ @@ -1599,10 +1391,13 @@ /doc/asio/reference/buffered_write_stream/close/overload1.html /doc/asio/reference/buffered_write_stream/close/overload2.html /doc/asio/reference/buffered_write_stream/default_buffer_size.html +/doc/asio/reference/buffered_write_stream/executor_type.html /doc/asio/reference/buffered_write_stream/flush/ /doc/asio/reference/buffered_write_stream/flush.html /doc/asio/reference/buffered_write_stream/flush/overload1.html /doc/asio/reference/buffered_write_stream/flush/overload2.html +/doc/asio/reference/buffered_write_stream/get_executor.html +/doc/asio/reference/buffered_write_stream/get_io_context.html /doc/asio/reference/buffered_write_stream/get_io_service.html /doc/asio/reference/buffered_write_stream.html /doc/asio/reference/buffered_write_stream/in_avail/ @@ -1652,6 +1447,8 @@ /doc/asio/reference/buffer/overload29.html /doc/asio/reference/buffer/overload2.html /doc/asio/reference/buffer/overload30.html +/doc/asio/reference/buffer/overload31.html +/doc/asio/reference/buffer/overload32.html /doc/asio/reference/buffer/overload3.html /doc/asio/reference/buffer/overload4.html /doc/asio/reference/buffer/overload5.html @@ -1661,6 +1458,18 @@ /doc/asio/reference/buffer/overload9.html /doc/asio/reference/buffers_begin.html /doc/asio/reference/buffers_end.html +/doc/asio/reference/buffer_sequence_begin/ +/doc/asio/reference/buffer_sequence_begin.html +/doc/asio/reference/buffer_sequence_begin/overload1.html +/doc/asio/reference/buffer_sequence_begin/overload2.html +/doc/asio/reference/buffer_sequence_begin/overload3.html +/doc/asio/reference/buffer_sequence_begin/overload4.html +/doc/asio/reference/buffer_sequence_end/ +/doc/asio/reference/buffer_sequence_end.html +/doc/asio/reference/buffer_sequence_end/overload1.html +/doc/asio/reference/buffer_sequence_end/overload2.html +/doc/asio/reference/buffer_sequence_end/overload3.html +/doc/asio/reference/buffer_sequence_end/overload4.html /doc/asio/reference/buffers_iterator/ /doc/asio/reference/buffers_iterator/begin.html /doc/asio/reference/buffers_iterator/buffers_iterator.html @@ -1698,18 +1507,16 @@ /doc/asio/reference/buffers_iterator/pointer.html /doc/asio/reference/buffers_iterator/reference.html /doc/asio/reference/buffers_iterator/value_type.html -/doc/asio/reference/buffer_size/ /doc/asio/reference/buffer_size.html -/doc/asio/reference/buffer_size/overload1.html -/doc/asio/reference/buffer_size/overload2.html -/doc/asio/reference/buffer_size/overload3.html -/doc/asio/reference/buffer_size/overload4.html -/doc/asio/reference/buffer_size/overload5.html +/doc/asio/reference/CompletionCondition.html /doc/asio/reference/CompletionHandler.html -/doc/asio/reference/ComposedConnectHandler.html /doc/asio/reference/connect/ +/doc/asio/reference/ConnectCondition.html /doc/asio/reference/ConnectHandler.html /doc/asio/reference/connect.html +/doc/asio/reference/connect/overload10.html +/doc/asio/reference/connect/overload11.html +/doc/asio/reference/connect/overload12.html /doc/asio/reference/connect/overload1.html /doc/asio/reference/connect/overload2.html /doc/asio/reference/connect/overload3.html @@ -1718,14 +1525,17 @@ /doc/asio/reference/connect/overload6.html /doc/asio/reference/connect/overload7.html /doc/asio/reference/connect/overload8.html +/doc/asio/reference/connect/overload9.html /doc/asio/reference/const_buffer/ /doc/asio/reference/const_buffer/const_buffer/ /doc/asio/reference/const_buffer/const_buffer.html /doc/asio/reference/const_buffer/const_buffer/overload1.html /doc/asio/reference/const_buffer/const_buffer/overload2.html /doc/asio/reference/const_buffer/const_buffer/overload3.html +/doc/asio/reference/const_buffer/data.html /doc/asio/reference/const_buffer.html /doc/asio/reference/const_buffer/operator_plus_/ +/doc/asio/reference/const_buffer/operator_plus__eq_.html /doc/asio/reference/const_buffer/operator_plus_.html /doc/asio/reference/const_buffer/operator_plus_/overload1.html /doc/asio/reference/const_buffer/operator_plus_/overload2.html @@ -1736,102 +1546,30 @@ /doc/asio/reference/const_buffers_1/const_buffers_1/overload1.html /doc/asio/reference/const_buffers_1/const_buffers_1/overload2.html /doc/asio/reference/const_buffers_1/const_iterator.html +/doc/asio/reference/const_buffers_1/data.html /doc/asio/reference/const_buffers_1/end.html /doc/asio/reference/const_buffers_1.html /doc/asio/reference/const_buffers_1/operator_plus_/ +/doc/asio/reference/const_buffers_1/operator_plus__eq_.html /doc/asio/reference/const_buffers_1/operator_plus_.html /doc/asio/reference/const_buffers_1/operator_plus_/overload1.html /doc/asio/reference/const_buffers_1/operator_plus_/overload2.html +/doc/asio/reference/const_buffers_1/size.html /doc/asio/reference/const_buffers_1/value_type.html /doc/asio/reference/ConstBufferSequence.html -/doc/asio/reference/ConvertibleToConstBuffer.html -/doc/asio/reference/ConvertibleToMutableBuffer.html +/doc/asio/reference/const_buffer/size.html /doc/asio/reference/coroutine/ /doc/asio/reference/coroutine/coroutine.html /doc/asio/reference/coroutine.html /doc/asio/reference/coroutine/is_child.html /doc/asio/reference/coroutine/is_complete.html /doc/asio/reference/coroutine/is_parent.html -/doc/asio/reference/datagram_socket_service/ -/doc/asio/reference/datagram_socket_service/assign.html -/doc/asio/reference/datagram_socket_service/async_connect.html -/doc/asio/reference/datagram_socket_service/async_receive_from.html -/doc/asio/reference/datagram_socket_service/async_receive.html -/doc/asio/reference/datagram_socket_service/async_send.html -/doc/asio/reference/datagram_socket_service/async_send_to.html -/doc/asio/reference/datagram_socket_service/async_wait.html -/doc/asio/reference/datagram_socket_service/at_mark.html -/doc/asio/reference/datagram_socket_service/available.html -/doc/asio/reference/datagram_socket_service/bind.html -/doc/asio/reference/datagram_socket_service/cancel.html -/doc/asio/reference/datagram_socket_service/close.html -/doc/asio/reference/datagram_socket_service/connect.html -/doc/asio/reference/datagram_socket_service/construct.html -/doc/asio/reference/datagram_socket_service/converting_move_construct.html -/doc/asio/reference/datagram_socket_service/datagram_socket_service.html -/doc/asio/reference/datagram_socket_service/destroy.html -/doc/asio/reference/datagram_socket_service/endpoint_type.html -/doc/asio/reference/datagram_socket_service/get_io_service.html -/doc/asio/reference/datagram_socket_service/get_option.html -/doc/asio/reference/datagram_socket_service.html -/doc/asio/reference/DatagramSocketService.html -/doc/asio/reference/datagram_socket_service/id.html -/doc/asio/reference/datagram_socket_service/implementation_type.html -/doc/asio/reference/datagram_socket_service/io_control.html -/doc/asio/reference/datagram_socket_service/is_open.html -/doc/asio/reference/datagram_socket_service/local_endpoint.html -/doc/asio/reference/datagram_socket_service/move_assign.html -/doc/asio/reference/datagram_socket_service/move_construct.html -/doc/asio/reference/datagram_socket_service/native_handle.html -/doc/asio/reference/datagram_socket_service/native_handle_type.html -/doc/asio/reference/datagram_socket_service/native_non_blocking/ -/doc/asio/reference/datagram_socket_service/native_non_blocking.html -/doc/asio/reference/datagram_socket_service/native_non_blocking/overload1.html -/doc/asio/reference/datagram_socket_service/native_non_blocking/overload2.html -/doc/asio/reference/datagram_socket_service/non_blocking/ -/doc/asio/reference/datagram_socket_service/non_blocking.html -/doc/asio/reference/datagram_socket_service/non_blocking/overload1.html -/doc/asio/reference/datagram_socket_service/non_blocking/overload2.html -/doc/asio/reference/datagram_socket_service/open.html -/doc/asio/reference/datagram_socket_service/protocol_type.html -/doc/asio/reference/datagram_socket_service/receive_from.html -/doc/asio/reference/datagram_socket_service/receive.html -/doc/asio/reference/datagram_socket_service/remote_endpoint.html -/doc/asio/reference/datagram_socket_service/send.html -/doc/asio/reference/datagram_socket_service/send_to.html -/doc/asio/reference/datagram_socket_service/set_option.html -/doc/asio/reference/datagram_socket_service/shutdown.html -/doc/asio/reference/datagram_socket_service/wait.html /doc/asio/reference/deadline_timer.html -/doc/asio/reference/deadline_timer_service/ -/doc/asio/reference/deadline_timer_service/async_wait.html -/doc/asio/reference/deadline_timer_service/cancel.html -/doc/asio/reference/deadline_timer_service/cancel_one.html -/doc/asio/reference/deadline_timer_service/construct.html -/doc/asio/reference/deadline_timer_service/deadline_timer_service.html -/doc/asio/reference/deadline_timer_service/destroy.html -/doc/asio/reference/deadline_timer_service/duration_type.html -/doc/asio/reference/deadline_timer_service/expires_at/ -/doc/asio/reference/deadline_timer_service/expires_at.html -/doc/asio/reference/deadline_timer_service/expires_at/overload1.html -/doc/asio/reference/deadline_timer_service/expires_at/overload2.html -/doc/asio/reference/deadline_timer_service/expires_from_now/ -/doc/asio/reference/deadline_timer_service/expires_from_now.html -/doc/asio/reference/deadline_timer_service/expires_from_now/overload1.html -/doc/asio/reference/deadline_timer_service/expires_from_now/overload2.html -/doc/asio/reference/deadline_timer_service/get_io_service.html -/doc/asio/reference/deadline_timer_service.html -/doc/asio/reference/deadline_timer_service/id.html -/doc/asio/reference/deadline_timer_service/implementation_type.html -/doc/asio/reference/deadline_timer_service/time_type.html -/doc/asio/reference/deadline_timer_service/traits_type.html -/doc/asio/reference/deadline_timer_service/wait.html /doc/asio/reference/defer/ /doc/asio/reference/defer.html /doc/asio/reference/defer/overload1.html /doc/asio/reference/defer/overload2.html /doc/asio/reference/defer/overload3.html -/doc/asio/reference/DescriptorService.html /doc/asio/reference/dispatch/ /doc/asio/reference/dispatch.html /doc/asio/reference/dispatch/overload1.html @@ -1839,11 +1577,11 @@ /doc/asio/reference/dispatch/overload3.html /doc/asio/reference/dynamic_buffer/ /doc/asio/reference/dynamic_buffer.html +/doc/asio/reference/DynamicBuffer.html /doc/asio/reference/dynamic_buffer/overload1.html /doc/asio/reference/dynamic_buffer/overload2.html /doc/asio/reference/dynamic_buffer/overload3.html /doc/asio/reference/dynamic_buffer/overload4.html -/doc/asio/reference/DynamicBufferSequence.html /doc/asio/reference/dynamic_string_buffer/ /doc/asio/reference/dynamic_string_buffer/capacity.html /doc/asio/reference/dynamic_string_buffer/commit.html @@ -1875,6 +1613,7 @@ /doc/asio/reference/dynamic_vector_buffer/prepare.html /doc/asio/reference/dynamic_vector_buffer/size.html /doc/asio/reference/Endpoint.html +/doc/asio/reference/EndpointSequence.html /doc/asio/reference/error__addrinfo_category.html /doc/asio/reference/error__addrinfo_errors.html /doc/asio/reference/error__basic_errors.html @@ -1886,7 +1625,9 @@ /doc/asio/reference/error_category/operator_eq__eq_.html /doc/asio/reference/error_category/operator_not__eq_.html /doc/asio/reference/error_code/ +/doc/asio/reference/error_code/assign.html /doc/asio/reference/error_code/category.html +/doc/asio/reference/error_code/clear.html /doc/asio/reference/error_code/error_code/ /doc/asio/reference/error_code/error_code.html /doc/asio/reference/error_code/error_code/overload1.html @@ -1923,12 +1664,13 @@ /doc/asio/reference/error__system_category.html /doc/asio/reference/execution_context/ /doc/asio/reference/execution_context/add_service.html -/doc/asio/reference/execution_context/destroy_context.html +/doc/asio/reference/execution_context/destroy.html /doc/asio/reference/execution_context/_execution_context.html /doc/asio/reference/execution_context/execution_context.html /doc/asio/reference/execution_context/fork_event.html /doc/asio/reference/execution_context/has_service.html /doc/asio/reference/execution_context.html +/doc/asio/reference/ExecutionContext.html /doc/asio/reference/execution_context__id/ /doc/asio/reference/execution_context__id.html /doc/asio/reference/execution_context__id/id.html @@ -1936,12 +1678,12 @@ /doc/asio/reference/execution_context/notify_fork.html /doc/asio/reference/execution_context__service/ /doc/asio/reference/execution_context__service/context.html -/doc/asio/reference/execution_context__service/fork_service.html /doc/asio/reference/execution_context__service.html +/doc/asio/reference/execution_context__service/notify_fork.html /doc/asio/reference/execution_context__service/_service.html /doc/asio/reference/execution_context__service/service.html -/doc/asio/reference/execution_context__service/shutdown_service.html -/doc/asio/reference/execution_context/shutdown_context.html +/doc/asio/reference/execution_context__service/shutdown.html +/doc/asio/reference/execution_context/shutdown.html /doc/asio/reference/execution_context/use_service/ /doc/asio/reference/execution_context/use_service.html /doc/asio/reference/execution_context/use_service/overload1.html @@ -1952,6 +1694,35 @@ /doc/asio/reference/executor_arg_t/ /doc/asio/reference/executor_arg_t/executor_arg_t.html /doc/asio/reference/executor_arg_t.html +/doc/asio/reference/executor_binder/ +/doc/asio/reference/executor_binder/argument_type.html +/doc/asio/reference/executor_binder/executor_binder/ +/doc/asio/reference/executor_binder/_executor_binder.html +/doc/asio/reference/executor_binder/executor_binder.html +/doc/asio/reference/executor_binder/executor_binder/overload1.html +/doc/asio/reference/executor_binder/executor_binder/overload2.html +/doc/asio/reference/executor_binder/executor_binder/overload3.html +/doc/asio/reference/executor_binder/executor_binder/overload4.html +/doc/asio/reference/executor_binder/executor_binder/overload5.html +/doc/asio/reference/executor_binder/executor_binder/overload6.html +/doc/asio/reference/executor_binder/executor_binder/overload7.html +/doc/asio/reference/executor_binder/executor_binder/overload8.html +/doc/asio/reference/executor_binder/executor_binder/overload9.html +/doc/asio/reference/executor_binder/executor_type.html +/doc/asio/reference/executor_binder/first_argument_type.html +/doc/asio/reference/executor_binder/get/ +/doc/asio/reference/executor_binder/get_executor.html +/doc/asio/reference/executor_binder/get.html +/doc/asio/reference/executor_binder/get/overload1.html +/doc/asio/reference/executor_binder/get/overload2.html +/doc/asio/reference/executor_binder.html +/doc/asio/reference/executor_binder/operator_lp__rp_/ +/doc/asio/reference/executor_binder/operator_lp__rp_.html +/doc/asio/reference/executor_binder/operator_lp__rp_/overload1.html +/doc/asio/reference/executor_binder/operator_lp__rp_/overload2.html +/doc/asio/reference/executor_binder/result_type.html +/doc/asio/reference/executor_binder/second_argument_type.html +/doc/asio/reference/executor_binder/target_type.html /doc/asio/reference/executor/context.html /doc/asio/reference/executor/defer.html /doc/asio/reference/executor/dispatch.html @@ -1985,47 +1756,18 @@ /doc/asio/reference/executor/unspecified_bool_true.html /doc/asio/reference/executor/unspecified_bool_type.html /doc/asio/reference/executor__unspecified_bool_type_t.html -/doc/asio/reference/executor_work/ -/doc/asio/reference/executor_work/executor_type.html -/doc/asio/reference/executor_work/executor_work/ -/doc/asio/reference/executor_work/_executor_work.html -/doc/asio/reference/executor_work/executor_work.html -/doc/asio/reference/executor_work/executor_work/overload1.html -/doc/asio/reference/executor_work/executor_work/overload2.html -/doc/asio/reference/executor_work/executor_work/overload3.html -/doc/asio/reference/executor_work/get_executor.html -/doc/asio/reference/executor_work.html -/doc/asio/reference/executor_work/owns_work.html -/doc/asio/reference/executor_work/reset.html -/doc/asio/reference/executor_wrapper/ -/doc/asio/reference/executor_wrapper/argument_type.html -/doc/asio/reference/executor_wrapper/executor_type.html -/doc/asio/reference/executor_wrapper/executor_wrapper/ -/doc/asio/reference/executor_wrapper/_executor_wrapper.html -/doc/asio/reference/executor_wrapper/executor_wrapper.html -/doc/asio/reference/executor_wrapper/executor_wrapper/overload1.html -/doc/asio/reference/executor_wrapper/executor_wrapper/overload2.html -/doc/asio/reference/executor_wrapper/executor_wrapper/overload3.html -/doc/asio/reference/executor_wrapper/executor_wrapper/overload4.html -/doc/asio/reference/executor_wrapper/executor_wrapper/overload5.html -/doc/asio/reference/executor_wrapper/executor_wrapper/overload6.html -/doc/asio/reference/executor_wrapper/executor_wrapper/overload7.html -/doc/asio/reference/executor_wrapper/executor_wrapper/overload8.html -/doc/asio/reference/executor_wrapper/executor_wrapper/overload9.html -/doc/asio/reference/executor_wrapper/first_argument_type.html -/doc/asio/reference/executor_wrapper/get_executor.html -/doc/asio/reference/executor_wrapper.html -/doc/asio/reference/executor_wrapper/operator_lp__rp_/ -/doc/asio/reference/executor_wrapper/operator_lp__rp_.html -/doc/asio/reference/executor_wrapper/operator_lp__rp_/overload1.html -/doc/asio/reference/executor_wrapper/operator_lp__rp_/overload2.html -/doc/asio/reference/executor_wrapper/result_type.html -/doc/asio/reference/executor_wrapper/second_argument_type.html -/doc/asio/reference/executor_wrapper/unwrap/ -/doc/asio/reference/executor_wrapper/unwrap.html -/doc/asio/reference/executor_wrapper/unwrap/overload1.html -/doc/asio/reference/executor_wrapper/unwrap/overload2.html -/doc/asio/reference/executor_wrapper/wrapped_type.html +/doc/asio/reference/executor_work_guard/ +/doc/asio/reference/executor_work_guard/executor_type.html +/doc/asio/reference/executor_work_guard/executor_work_guard/ +/doc/asio/reference/executor_work_guard/_executor_work_guard.html +/doc/asio/reference/executor_work_guard/executor_work_guard.html +/doc/asio/reference/executor_work_guard/executor_work_guard/overload1.html +/doc/asio/reference/executor_work_guard/executor_work_guard/overload2.html +/doc/asio/reference/executor_work_guard/executor_work_guard/overload3.html +/doc/asio/reference/executor_work_guard/get_executor.html +/doc/asio/reference/executor_work_guard.html +/doc/asio/reference/executor_work_guard/owns_work.html +/doc/asio/reference/executor_work_guard/reset.html /doc/asio/reference/generic__basic_endpoint/ /doc/asio/reference/generic__basic_endpoint/basic_endpoint/ /doc/asio/reference/generic__basic_endpoint/basic_endpoint.html @@ -2119,7 +1861,6 @@ /doc/asio/reference/handler_type/ /doc/asio/reference/handler_type.html /doc/asio/reference/handler_type/type.html -/doc/asio/reference/HandleService.html /doc/asio/reference/HandshakeHandler.html /doc/asio/reference/has_service.html /doc/asio/reference/high_resolution_timer.html @@ -2128,95 +1869,104 @@ /doc/asio/reference/invalid_service_owner/ /doc/asio/reference/invalid_service_owner.html /doc/asio/reference/invalid_service_owner/invalid_service_owner.html +/doc/asio/reference/io_context/ +/doc/asio/reference/io_context/add_service.html +/doc/asio/reference/io_context/count_type.html +/doc/asio/reference/io_context/destroy.html +/doc/asio/reference/io_context/dispatch.html +/doc/asio/reference/io_context__executor_type/ +/doc/asio/reference/io_context__executor_type/context.html +/doc/asio/reference/io_context__executor_type/defer.html +/doc/asio/reference/io_context__executor_type/dispatch.html +/doc/asio/reference/io_context__executor_type.html +/doc/asio/reference/io_context__executor_type/on_work_finished.html +/doc/asio/reference/io_context__executor_type/on_work_started.html +/doc/asio/reference/io_context__executor_type/operator_eq__eq_.html +/doc/asio/reference/io_context__executor_type/operator_not__eq_.html +/doc/asio/reference/io_context__executor_type/post.html +/doc/asio/reference/io_context__executor_type/running_in_this_thread.html +/doc/asio/reference/io_context/fork_event.html +/doc/asio/reference/io_context/get_executor.html +/doc/asio/reference/io_context/has_service.html +/doc/asio/reference/io_context.html +/doc/asio/reference/io_context/io_context/ +/doc/asio/reference/io_context/_io_context.html +/doc/asio/reference/io_context/io_context.html +/doc/asio/reference/io_context/io_context/overload1.html +/doc/asio/reference/io_context/io_context/overload2.html +/doc/asio/reference/io_context/make_service.html +/doc/asio/reference/io_context/notify_fork.html +/doc/asio/reference/io_context/poll/ +/doc/asio/reference/io_context/poll.html +/doc/asio/reference/io_context/poll_one/ +/doc/asio/reference/io_context/poll_one.html +/doc/asio/reference/io_context/poll_one/overload1.html +/doc/asio/reference/io_context/poll_one/overload2.html +/doc/asio/reference/io_context/poll/overload1.html +/doc/asio/reference/io_context/poll/overload2.html +/doc/asio/reference/io_context/post.html +/doc/asio/reference/io_context/reset.html +/doc/asio/reference/io_context/restart.html +/doc/asio/reference/io_context/run/ +/doc/asio/reference/io_context/run_for.html +/doc/asio/reference/io_context/run.html +/doc/asio/reference/io_context/run_one/ +/doc/asio/reference/io_context/run_one_for.html +/doc/asio/reference/io_context/run_one.html +/doc/asio/reference/io_context/run_one/overload1.html +/doc/asio/reference/io_context/run_one/overload2.html +/doc/asio/reference/io_context/run_one_until.html +/doc/asio/reference/io_context/run/overload1.html +/doc/asio/reference/io_context/run/overload2.html +/doc/asio/reference/io_context/run_until.html +/doc/asio/reference/io_context__service/ +/doc/asio/reference/io_context__service/get_io_context.html +/doc/asio/reference/io_context__service/get_io_service.html +/doc/asio/reference/io_context__service.html +/doc/asio/reference/io_context__service/_service.html +/doc/asio/reference/io_context__service/service.html +/doc/asio/reference/io_context/shutdown.html +/doc/asio/reference/io_context/stop.html +/doc/asio/reference/io_context/stopped.html +/doc/asio/reference/io_context__strand/ +/doc/asio/reference/io_context__strand/context.html +/doc/asio/reference/io_context__strand/defer.html +/doc/asio/reference/io_context__strand/dispatch/ +/doc/asio/reference/io_context__strand/dispatch.html +/doc/asio/reference/io_context__strand/dispatch/overload1.html +/doc/asio/reference/io_context__strand/dispatch/overload2.html +/doc/asio/reference/io_context__strand/get_io_context.html +/doc/asio/reference/io_context__strand/get_io_service.html +/doc/asio/reference/io_context__strand.html +/doc/asio/reference/io_context__strand/on_work_finished.html +/doc/asio/reference/io_context__strand/on_work_started.html +/doc/asio/reference/io_context__strand/operator_eq__eq_.html +/doc/asio/reference/io_context__strand/operator_not__eq_.html +/doc/asio/reference/io_context__strand/post/ +/doc/asio/reference/io_context__strand/post.html +/doc/asio/reference/io_context__strand/post/overload1.html +/doc/asio/reference/io_context__strand/post/overload2.html +/doc/asio/reference/io_context__strand/running_in_this_thread.html +/doc/asio/reference/io_context__strand/_strand.html +/doc/asio/reference/io_context__strand/strand.html +/doc/asio/reference/io_context__strand/wrap.html +/doc/asio/reference/io_context/use_service/ +/doc/asio/reference/io_context/use_service.html +/doc/asio/reference/io_context/use_service/overload1.html +/doc/asio/reference/io_context/use_service/overload2.html +/doc/asio/reference/io_context__work/ +/doc/asio/reference/io_context__work/get_io_context.html +/doc/asio/reference/io_context__work/get_io_service.html +/doc/asio/reference/io_context__work.html +/doc/asio/reference/io_context__work/work/ +/doc/asio/reference/io_context__work/_work.html +/doc/asio/reference/io_context__work/work.html +/doc/asio/reference/io_context__work/work/overload1.html +/doc/asio/reference/io_context__work/work/overload2.html +/doc/asio/reference/io_context/wrap.html /doc/asio/reference/IoControlCommand.html /doc/asio/reference/IoObjectService.html -/doc/asio/reference/io_service/ -/doc/asio/reference/io_service/add_service.html -/doc/asio/reference/io_service/destroy_context.html -/doc/asio/reference/io_service/dispatch.html -/doc/asio/reference/io_service__executor_type/ -/doc/asio/reference/io_service__executor_type/context.html -/doc/asio/reference/io_service__executor_type/defer.html -/doc/asio/reference/io_service__executor_type/dispatch.html -/doc/asio/reference/io_service__executor_type.html -/doc/asio/reference/io_service__executor_type/on_work_finished.html -/doc/asio/reference/io_service__executor_type/on_work_started.html -/doc/asio/reference/io_service__executor_type/operator_eq__eq_.html -/doc/asio/reference/io_service__executor_type/operator_not__eq_.html -/doc/asio/reference/io_service__executor_type/post.html -/doc/asio/reference/io_service__executor_type/running_in_this_thread.html -/doc/asio/reference/io_service/fork_event.html -/doc/asio/reference/io_service/get_executor.html -/doc/asio/reference/io_service/has_service.html /doc/asio/reference/io_service.html -/doc/asio/reference/io_service/io_service/ -/doc/asio/reference/io_service/_io_service.html -/doc/asio/reference/io_service/io_service.html -/doc/asio/reference/io_service/io_service/overload1.html -/doc/asio/reference/io_service/io_service/overload2.html -/doc/asio/reference/io_service/make_service.html -/doc/asio/reference/io_service/notify_fork.html -/doc/asio/reference/io_service/poll/ -/doc/asio/reference/io_service/poll.html -/doc/asio/reference/io_service/poll_one/ -/doc/asio/reference/io_service/poll_one.html -/doc/asio/reference/io_service/poll_one/overload1.html -/doc/asio/reference/io_service/poll_one/overload2.html -/doc/asio/reference/io_service/poll/overload1.html -/doc/asio/reference/io_service/poll/overload2.html -/doc/asio/reference/io_service/post.html -/doc/asio/reference/io_service/reset.html -/doc/asio/reference/io_service/restart.html -/doc/asio/reference/io_service/run/ -/doc/asio/reference/io_service/run.html -/doc/asio/reference/io_service/run_one/ -/doc/asio/reference/io_service/run_one.html -/doc/asio/reference/io_service/run_one/overload1.html -/doc/asio/reference/io_service/run_one/overload2.html -/doc/asio/reference/io_service/run/overload1.html -/doc/asio/reference/io_service/run/overload2.html -/doc/asio/reference/io_service__service/ -/doc/asio/reference/io_service__service/get_io_service.html -/doc/asio/reference/io_service__service.html -/doc/asio/reference/io_service__service/_service.html -/doc/asio/reference/io_service__service/service.html -/doc/asio/reference/io_service/shutdown_context.html -/doc/asio/reference/io_service/stop.html -/doc/asio/reference/io_service/stopped.html -/doc/asio/reference/io_service__strand/ -/doc/asio/reference/io_service__strand/context.html -/doc/asio/reference/io_service__strand/defer.html -/doc/asio/reference/io_service__strand/dispatch/ -/doc/asio/reference/io_service__strand/dispatch.html -/doc/asio/reference/io_service__strand/dispatch/overload1.html -/doc/asio/reference/io_service__strand/dispatch/overload2.html -/doc/asio/reference/io_service__strand/get_io_service.html -/doc/asio/reference/io_service__strand.html -/doc/asio/reference/io_service__strand/on_work_finished.html -/doc/asio/reference/io_service__strand/on_work_started.html -/doc/asio/reference/io_service__strand/operator_eq__eq_.html -/doc/asio/reference/io_service__strand/operator_not__eq_.html -/doc/asio/reference/io_service__strand/post/ -/doc/asio/reference/io_service__strand/post.html -/doc/asio/reference/io_service__strand/post/overload1.html -/doc/asio/reference/io_service__strand/post/overload2.html -/doc/asio/reference/io_service__strand/running_in_this_thread.html -/doc/asio/reference/io_service__strand/_strand.html -/doc/asio/reference/io_service__strand/strand.html -/doc/asio/reference/io_service__strand/wrap.html -/doc/asio/reference/io_service/use_service/ -/doc/asio/reference/io_service/use_service.html -/doc/asio/reference/io_service/use_service/overload1.html -/doc/asio/reference/io_service/use_service/overload2.html -/doc/asio/reference/io_service__work/ -/doc/asio/reference/io_service__work/get_io_service.html -/doc/asio/reference/io_service__work.html -/doc/asio/reference/io_service__work/work/ -/doc/asio/reference/io_service__work/_work.html -/doc/asio/reference/io_service__work/work.html -/doc/asio/reference/io_service__work/work/overload1.html -/doc/asio/reference/io_service__work/work/overload2.html -/doc/asio/reference/io_service/wrap.html /doc/asio/reference/ip__address/ /doc/asio/reference/ip__address/address/ /doc/asio/reference/ip__address/address.html @@ -2224,17 +1974,6 @@ /doc/asio/reference/ip__address/address/overload2.html /doc/asio/reference/ip__address/address/overload3.html /doc/asio/reference/ip__address/address/overload4.html -/doc/asio/reference/ip__address_cast/ -/doc/asio/reference/ip__address_cast.html -/doc/asio/reference/ip__address_cast/overload1.html -/doc/asio/reference/ip__address_cast/overload2.html -/doc/asio/reference/ip__address_cast/overload3.html -/doc/asio/reference/ip__address_cast/overload4.html -/doc/asio/reference/ip__address_cast/overload5.html -/doc/asio/reference/ip__address_cast/overload6.html -/doc/asio/reference/ip__address_cast/overload7.html -/doc/asio/reference/ip__address_cast/overload8.html -/doc/asio/reference/ip__address_cast/overload9.html /doc/asio/reference/ip__address/from_string/ /doc/asio/reference/ip__address/from_string.html /doc/asio/reference/ip__address/from_string/overload1.html @@ -2247,60 +1986,14 @@ /doc/asio/reference/ip__address/is_unspecified.html /doc/asio/reference/ip__address/is_v4.html /doc/asio/reference/ip__address/is_v6.html -/doc/asio/reference/ip__address_iterator_v4/ -/doc/asio/reference/ip__address_iterator_v4/address_iterator_v4/ -/doc/asio/reference/ip__address_iterator_v4/address_iterator_v4.html -/doc/asio/reference/ip__address_iterator_v4/address_iterator_v4/overload1.html -/doc/asio/reference/ip__address_iterator_v4/address_iterator_v4/overload2.html -/doc/asio/reference/ip__address_iterator_v4/difference_type.html -/doc/asio/reference/ip__address_iterator_v4.html -/doc/asio/reference/ip__address_iterator_v4/iterator_category.html -/doc/asio/reference/ip__address_iterator_v4/operator_arrow_.html -/doc/asio/reference/ip__address_iterator_v4/operator_eq__eq_.html -/doc/asio/reference/ip__address_iterator_v4/operator_eq_.html -/doc/asio/reference/ip__address_iterator_v4/operator_minus__minus_/ -/doc/asio/reference/ip__address_iterator_v4/operator_minus__minus_.html -/doc/asio/reference/ip__address_iterator_v4/operator_minus__minus_/overload1.html -/doc/asio/reference/ip__address_iterator_v4/operator_minus__minus_/overload2.html -/doc/asio/reference/ip__address_iterator_v4/operator_not__eq_.html -/doc/asio/reference/ip__address_iterator_v4/operator_plus__plus_/ -/doc/asio/reference/ip__address_iterator_v4/operator_plus__plus_.html -/doc/asio/reference/ip__address_iterator_v4/operator_plus__plus_/overload1.html -/doc/asio/reference/ip__address_iterator_v4/operator_plus__plus_/overload2.html -/doc/asio/reference/ip__address_iterator_v4/operator__star_.html -/doc/asio/reference/ip__address_iterator_v4/pointer.html -/doc/asio/reference/ip__address_iterator_v4/reference.html -/doc/asio/reference/ip__address_iterator_v4/value_type.html -/doc/asio/reference/ip__address_iterator_v6/ -/doc/asio/reference/ip__address_iterator_v6/address_iterator_v6/ -/doc/asio/reference/ip__address_iterator_v6/address_iterator_v6.html -/doc/asio/reference/ip__address_iterator_v6/address_iterator_v6/overload1.html -/doc/asio/reference/ip__address_iterator_v6/address_iterator_v6/overload2.html -/doc/asio/reference/ip__address_iterator_v6/difference_type.html -/doc/asio/reference/ip__address_iterator_v6.html -/doc/asio/reference/ip__address_iterator_v6/iterator_category.html -/doc/asio/reference/ip__address_iterator_v6/operator_arrow_.html -/doc/asio/reference/ip__address_iterator_v6/operator_eq__eq_.html -/doc/asio/reference/ip__address_iterator_v6/operator_eq_.html -/doc/asio/reference/ip__address_iterator_v6/operator_minus__minus_/ -/doc/asio/reference/ip__address_iterator_v6/operator_minus__minus_.html -/doc/asio/reference/ip__address_iterator_v6/operator_minus__minus_/overload1.html -/doc/asio/reference/ip__address_iterator_v6/operator_minus__minus_/overload2.html -/doc/asio/reference/ip__address_iterator_v6/operator_not__eq_.html -/doc/asio/reference/ip__address_iterator_v6/operator_plus__plus_/ -/doc/asio/reference/ip__address_iterator_v6/operator_plus__plus_.html -/doc/asio/reference/ip__address_iterator_v6/operator_plus__plus_/overload1.html -/doc/asio/reference/ip__address_iterator_v6/operator_plus__plus_/overload2.html -/doc/asio/reference/ip__address_iterator_v6/operator__star_.html -/doc/asio/reference/ip__address_iterator_v6/pointer.html -/doc/asio/reference/ip__address_iterator_v6/reference.html -/doc/asio/reference/ip__address_iterator_v6/value_type.html /doc/asio/reference/ip__address/make_address/ /doc/asio/reference/ip__address/make_address.html /doc/asio/reference/ip__address/make_address/overload1.html /doc/asio/reference/ip__address/make_address/overload2.html /doc/asio/reference/ip__address/make_address/overload3.html /doc/asio/reference/ip__address/make_address/overload4.html +/doc/asio/reference/ip__address/make_address/overload5.html +/doc/asio/reference/ip__address/make_address/overload6.html /doc/asio/reference/ip__address/operator_eq_/ /doc/asio/reference/ip__address/operator_eq__eq_.html /doc/asio/reference/ip__address/operator_eq_.html @@ -2313,33 +2006,6 @@ /doc/asio/reference/ip__address/operator_lt_.html /doc/asio/reference/ip__address/operator_lt__lt_.html /doc/asio/reference/ip__address/operator_not__eq_.html -/doc/asio/reference/ip__address_range_v4/ -/doc/asio/reference/ip__address_range_v4/address_range_v4/ -/doc/asio/reference/ip__address_range_v4/address_range_v4.html -/doc/asio/reference/ip__address_range_v4/address_range_v4/overload1.html -/doc/asio/reference/ip__address_range_v4/address_range_v4/overload2.html -/doc/asio/reference/ip__address_range_v4/address_range_v4/overload3.html -/doc/asio/reference/ip__address_range_v4/begin.html -/doc/asio/reference/ip__address_range_v4/empty.html -/doc/asio/reference/ip__address_range_v4/end.html -/doc/asio/reference/ip__address_range_v4/find.html -/doc/asio/reference/ip__address_range_v4.html -/doc/asio/reference/ip__address_range_v4/iterator.html -/doc/asio/reference/ip__address_range_v4/operator_eq_.html -/doc/asio/reference/ip__address_range_v4/size.html -/doc/asio/reference/ip__address_range_v6/ -/doc/asio/reference/ip__address_range_v6/address_range_v6/ -/doc/asio/reference/ip__address_range_v6/address_range_v6.html -/doc/asio/reference/ip__address_range_v6/address_range_v6/overload1.html -/doc/asio/reference/ip__address_range_v6/address_range_v6/overload2.html -/doc/asio/reference/ip__address_range_v6/address_range_v6/overload3.html -/doc/asio/reference/ip__address_range_v6/begin.html -/doc/asio/reference/ip__address_range_v6/empty.html -/doc/asio/reference/ip__address_range_v6/end.html -/doc/asio/reference/ip__address_range_v6/find.html -/doc/asio/reference/ip__address_range_v6.html -/doc/asio/reference/ip__address_range_v6/iterator.html -/doc/asio/reference/ip__address_range_v6/operator_eq_.html /doc/asio/reference/ip__address/to_string/ /doc/asio/reference/ip__address/to_string.html /doc/asio/reference/ip__address/to_string/overload1.html @@ -2372,6 +2038,7 @@ /doc/asio/reference/ip__address_v4/is_loopback.html /doc/asio/reference/ip__address_v4/is_multicast.html /doc/asio/reference/ip__address_v4/is_unspecified.html +/doc/asio/reference/ip__address_v4_iterator.html /doc/asio/reference/ip__address_v4/loopback.html /doc/asio/reference/ip__address_v4/make_address_v4/ /doc/asio/reference/ip__address_v4/make_address_v4.html @@ -2382,6 +2049,8 @@ /doc/asio/reference/ip__address_v4/make_address_v4/overload5.html /doc/asio/reference/ip__address_v4/make_address_v4/overload6.html /doc/asio/reference/ip__address_v4/make_address_v4/overload7.html +/doc/asio/reference/ip__address_v4/make_address_v4/overload8.html +/doc/asio/reference/ip__address_v4/make_address_v4/overload9.html /doc/asio/reference/ip__address_v4/make_network_v4/ /doc/asio/reference/ip__address_v4/make_network_v4.html /doc/asio/reference/ip__address_v4/make_network_v4/overload1.html @@ -2398,12 +2067,15 @@ /doc/asio/reference/ip__address_v4/operator_lt__lt_/overload1.html /doc/asio/reference/ip__address_v4/operator_lt__lt_/overload2.html /doc/asio/reference/ip__address_v4/operator_not__eq_.html +/doc/asio/reference/ip__address_v4_range.html /doc/asio/reference/ip__address_v4/to_bytes.html /doc/asio/reference/ip__address_v4/to_string/ /doc/asio/reference/ip__address_v4/to_string.html /doc/asio/reference/ip__address_v4/to_string/overload1.html /doc/asio/reference/ip__address_v4/to_string/overload2.html +/doc/asio/reference/ip__address_v4/to_uint.html /doc/asio/reference/ip__address_v4/to_ulong.html +/doc/asio/reference/ip__address_v4/uint_type.html /doc/asio/reference/ip__address_v6/ /doc/asio/reference/ip__address_v6/address_v6/ /doc/asio/reference/ip__address_v6/address_v6.html @@ -2431,6 +2103,7 @@ /doc/asio/reference/ip__address_v6/is_unspecified.html /doc/asio/reference/ip__address_v6/is_v4_compatible.html /doc/asio/reference/ip__address_v6/is_v4_mapped.html +/doc/asio/reference/ip__address_v6_iterator.html /doc/asio/reference/ip__address_v6/loopback.html /doc/asio/reference/ip__address_v6/make_address_v6/ /doc/asio/reference/ip__address_v6/make_address_v6.html @@ -2440,6 +2113,8 @@ /doc/asio/reference/ip__address_v6/make_address_v6/overload4.html /doc/asio/reference/ip__address_v6/make_address_v6/overload5.html /doc/asio/reference/ip__address_v6/make_address_v6/overload6.html +/doc/asio/reference/ip__address_v6/make_address_v6/overload7.html +/doc/asio/reference/ip__address_v6/make_address_v6/overload8.html /doc/asio/reference/ip__address_v6/make_network_v6.html /doc/asio/reference/ip__address_v6/operator_eq__eq_.html /doc/asio/reference/ip__address_v6/operator_eq_.html @@ -2452,6 +2127,7 @@ /doc/asio/reference/ip__address_v6/operator_lt__lt_/overload1.html /doc/asio/reference/ip__address_v6/operator_lt__lt_/overload2.html /doc/asio/reference/ip__address_v6/operator_not__eq_.html +/doc/asio/reference/ip__address_v6_range.html /doc/asio/reference/ip__address_v6/scope_id/ /doc/asio/reference/ip__address_v6/scope_id.html /doc/asio/reference/ip__address_v6/scope_id/overload1.html @@ -2469,6 +2145,81 @@ /doc/asio/reference/ip__bad_address_cast/bad_address_cast.html /doc/asio/reference/ip__bad_address_cast.html /doc/asio/reference/ip__bad_address_cast/what.html +/doc/asio/reference/ip__basic_address_iterator_lt__address_v4__gt_/ +/doc/asio/reference/ip__basic_address_iterator_lt__address_v4__gt_/basic_address_iterator/ +/doc/asio/reference/ip__basic_address_iterator_lt__address_v4__gt_/basic_address_iterator.html +/doc/asio/reference/ip__basic_address_iterator_lt__address_v4__gt_/basic_address_iterator/overload1.html +/doc/asio/reference/ip__basic_address_iterator_lt__address_v4__gt_/basic_address_iterator/overload2.html +/doc/asio/reference/ip__basic_address_iterator_lt__address_v4__gt_/difference_type.html +/doc/asio/reference/ip__basic_address_iterator_lt__address_v4__gt_.html +/doc/asio/reference/ip__basic_address_iterator_lt__address_v4__gt_/iterator_category.html +/doc/asio/reference/ip__basic_address_iterator_lt__address_v4__gt_/operator_arrow_.html +/doc/asio/reference/ip__basic_address_iterator_lt__address_v4__gt_/operator_eq__eq_.html +/doc/asio/reference/ip__basic_address_iterator_lt__address_v4__gt_/operator_eq_.html +/doc/asio/reference/ip__basic_address_iterator_lt__address_v4__gt_/operator_minus__minus_/ +/doc/asio/reference/ip__basic_address_iterator_lt__address_v4__gt_/operator_minus__minus_.html +/doc/asio/reference/ip__basic_address_iterator_lt__address_v4__gt_/operator_minus__minus_/overload1.html +/doc/asio/reference/ip__basic_address_iterator_lt__address_v4__gt_/operator_minus__minus_/overload2.html +/doc/asio/reference/ip__basic_address_iterator_lt__address_v4__gt_/operator_not__eq_.html +/doc/asio/reference/ip__basic_address_iterator_lt__address_v4__gt_/operator_plus__plus_/ +/doc/asio/reference/ip__basic_address_iterator_lt__address_v4__gt_/operator_plus__plus_.html +/doc/asio/reference/ip__basic_address_iterator_lt__address_v4__gt_/operator_plus__plus_/overload1.html +/doc/asio/reference/ip__basic_address_iterator_lt__address_v4__gt_/operator_plus__plus_/overload2.html +/doc/asio/reference/ip__basic_address_iterator_lt__address_v4__gt_/operator__star_.html +/doc/asio/reference/ip__basic_address_iterator_lt__address_v4__gt_/pointer.html +/doc/asio/reference/ip__basic_address_iterator_lt__address_v4__gt_/reference.html +/doc/asio/reference/ip__basic_address_iterator_lt__address_v4__gt_/value_type.html +/doc/asio/reference/ip__basic_address_iterator_lt__address_v6__gt_/ +/doc/asio/reference/ip__basic_address_iterator_lt__address_v6__gt_/basic_address_iterator/ +/doc/asio/reference/ip__basic_address_iterator_lt__address_v6__gt_/basic_address_iterator.html +/doc/asio/reference/ip__basic_address_iterator_lt__address_v6__gt_/basic_address_iterator/overload1.html +/doc/asio/reference/ip__basic_address_iterator_lt__address_v6__gt_/basic_address_iterator/overload2.html +/doc/asio/reference/ip__basic_address_iterator_lt__address_v6__gt_/difference_type.html +/doc/asio/reference/ip__basic_address_iterator_lt__address_v6__gt_.html +/doc/asio/reference/ip__basic_address_iterator_lt__address_v6__gt_/iterator_category.html +/doc/asio/reference/ip__basic_address_iterator_lt__address_v6__gt_/operator_arrow_.html +/doc/asio/reference/ip__basic_address_iterator_lt__address_v6__gt_/operator_eq__eq_.html +/doc/asio/reference/ip__basic_address_iterator_lt__address_v6__gt_/operator_eq_.html +/doc/asio/reference/ip__basic_address_iterator_lt__address_v6__gt_/operator_minus__minus_/ +/doc/asio/reference/ip__basic_address_iterator_lt__address_v6__gt_/operator_minus__minus_.html +/doc/asio/reference/ip__basic_address_iterator_lt__address_v6__gt_/operator_minus__minus_/overload1.html +/doc/asio/reference/ip__basic_address_iterator_lt__address_v6__gt_/operator_minus__minus_/overload2.html +/doc/asio/reference/ip__basic_address_iterator_lt__address_v6__gt_/operator_not__eq_.html +/doc/asio/reference/ip__basic_address_iterator_lt__address_v6__gt_/operator_plus__plus_/ +/doc/asio/reference/ip__basic_address_iterator_lt__address_v6__gt_/operator_plus__plus_.html +/doc/asio/reference/ip__basic_address_iterator_lt__address_v6__gt_/operator_plus__plus_/overload1.html +/doc/asio/reference/ip__basic_address_iterator_lt__address_v6__gt_/operator_plus__plus_/overload2.html +/doc/asio/reference/ip__basic_address_iterator_lt__address_v6__gt_/operator__star_.html +/doc/asio/reference/ip__basic_address_iterator_lt__address_v6__gt_/pointer.html +/doc/asio/reference/ip__basic_address_iterator_lt__address_v6__gt_/reference.html +/doc/asio/reference/ip__basic_address_iterator_lt__address_v6__gt_/value_type.html +/doc/asio/reference/ip__basic_address_range_lt__address_v4__gt_/ +/doc/asio/reference/ip__basic_address_range_lt__address_v4__gt_/basic_address_range/ +/doc/asio/reference/ip__basic_address_range_lt__address_v4__gt_/basic_address_range.html +/doc/asio/reference/ip__basic_address_range_lt__address_v4__gt_/basic_address_range/overload1.html +/doc/asio/reference/ip__basic_address_range_lt__address_v4__gt_/basic_address_range/overload2.html +/doc/asio/reference/ip__basic_address_range_lt__address_v4__gt_/basic_address_range/overload3.html +/doc/asio/reference/ip__basic_address_range_lt__address_v4__gt_/begin.html +/doc/asio/reference/ip__basic_address_range_lt__address_v4__gt_/empty.html +/doc/asio/reference/ip__basic_address_range_lt__address_v4__gt_/end.html +/doc/asio/reference/ip__basic_address_range_lt__address_v4__gt_/find.html +/doc/asio/reference/ip__basic_address_range_lt__address_v4__gt_.html +/doc/asio/reference/ip__basic_address_range_lt__address_v4__gt_/iterator.html +/doc/asio/reference/ip__basic_address_range_lt__address_v4__gt_/operator_eq_.html +/doc/asio/reference/ip__basic_address_range_lt__address_v4__gt_/size.html +/doc/asio/reference/ip__basic_address_range_lt__address_v6__gt_/ +/doc/asio/reference/ip__basic_address_range_lt__address_v6__gt_/basic_address_range/ +/doc/asio/reference/ip__basic_address_range_lt__address_v6__gt_/basic_address_range.html +/doc/asio/reference/ip__basic_address_range_lt__address_v6__gt_/basic_address_range/overload1.html +/doc/asio/reference/ip__basic_address_range_lt__address_v6__gt_/basic_address_range/overload2.html +/doc/asio/reference/ip__basic_address_range_lt__address_v6__gt_/basic_address_range/overload3.html +/doc/asio/reference/ip__basic_address_range_lt__address_v6__gt_/begin.html +/doc/asio/reference/ip__basic_address_range_lt__address_v6__gt_/empty.html +/doc/asio/reference/ip__basic_address_range_lt__address_v6__gt_/end.html +/doc/asio/reference/ip__basic_address_range_lt__address_v6__gt_/find.html +/doc/asio/reference/ip__basic_address_range_lt__address_v6__gt_.html +/doc/asio/reference/ip__basic_address_range_lt__address_v6__gt_/iterator.html +/doc/asio/reference/ip__basic_address_range_lt__address_v6__gt_/operator_eq_.html /doc/asio/reference/ip__basic_endpoint/ /doc/asio/reference/ip__basic_endpoint/address/ /doc/asio/reference/ip__basic_endpoint/address.html @@ -2480,6 +2231,7 @@ /doc/asio/reference/ip__basic_endpoint/basic_endpoint/overload2.html /doc/asio/reference/ip__basic_endpoint/basic_endpoint/overload3.html /doc/asio/reference/ip__basic_endpoint/basic_endpoint/overload4.html +/doc/asio/reference/ip__basic_endpoint/basic_endpoint/overload5.html /doc/asio/reference/ip__basic_endpoint/capacity.html /doc/asio/reference/ip__basic_endpoint/data/ /doc/asio/reference/ip__basic_endpoint/data.html @@ -2487,8 +2239,11 @@ /doc/asio/reference/ip__basic_endpoint/data/overload2.html /doc/asio/reference/ip__basic_endpoint/data_type.html /doc/asio/reference/ip__basic_endpoint.html +/doc/asio/reference/ip__basic_endpoint/operator_eq_/ /doc/asio/reference/ip__basic_endpoint/operator_eq__eq_.html /doc/asio/reference/ip__basic_endpoint/operator_eq_.html +/doc/asio/reference/ip__basic_endpoint/operator_eq_/overload1.html +/doc/asio/reference/ip__basic_endpoint/operator_eq_/overload2.html /doc/asio/reference/ip__basic_endpoint/operator_gt__eq_.html /doc/asio/reference/ip__basic_endpoint/operator_gt_.html /doc/asio/reference/ip__basic_endpoint/operator_lt__eq_.html @@ -2504,12 +2259,23 @@ /doc/asio/reference/ip__basic_endpoint/resize.html /doc/asio/reference/ip__basic_endpoint/size.html /doc/asio/reference/ip__basic_resolver/ +/doc/asio/reference/ip__basic_resolver/address_configured.html +/doc/asio/reference/ip__basic_resolver/all_matching.html /doc/asio/reference/ip__basic_resolver/async_resolve/ /doc/asio/reference/ip__basic_resolver/async_resolve.html /doc/asio/reference/ip__basic_resolver/async_resolve/overload1.html /doc/asio/reference/ip__basic_resolver/async_resolve/overload2.html +/doc/asio/reference/ip__basic_resolver/async_resolve/overload3.html +/doc/asio/reference/ip__basic_resolver/async_resolve/overload4.html +/doc/asio/reference/ip__basic_resolver/async_resolve/overload5.html +/doc/asio/reference/ip__basic_resolver/async_resolve/overload6.html +/doc/asio/reference/ip__basic_resolver/basic_resolver/ +/doc/asio/reference/ip__basic_resolver/_basic_resolver.html /doc/asio/reference/ip__basic_resolver/basic_resolver.html +/doc/asio/reference/ip__basic_resolver/basic_resolver/overload1.html +/doc/asio/reference/ip__basic_resolver/basic_resolver/overload2.html /doc/asio/reference/ip__basic_resolver/cancel.html +/doc/asio/reference/ip__basic_resolver/canonical_name.html /doc/asio/reference/ip__basic_resolver/endpoint_type.html /doc/asio/reference/ip__basic_resolver_entry/ /doc/asio/reference/ip__basic_resolver_entry/basic_resolver_entry/ @@ -2518,37 +2284,43 @@ /doc/asio/reference/ip__basic_resolver_entry/basic_resolver_entry/overload2.html /doc/asio/reference/ip__basic_resolver_entry/endpoint.html /doc/asio/reference/ip__basic_resolver_entry/endpoint_type.html +/doc/asio/reference/ip__basic_resolver_entry/host_name/ /doc/asio/reference/ip__basic_resolver_entry/host_name.html +/doc/asio/reference/ip__basic_resolver_entry/host_name/overload1.html +/doc/asio/reference/ip__basic_resolver_entry/host_name/overload2.html /doc/asio/reference/ip__basic_resolver_entry.html /doc/asio/reference/ip__basic_resolver_entry/operator_endpoint_type.html /doc/asio/reference/ip__basic_resolver_entry/protocol_type.html +/doc/asio/reference/ip__basic_resolver_entry/service_name/ /doc/asio/reference/ip__basic_resolver_entry/service_name.html +/doc/asio/reference/ip__basic_resolver_entry/service_name/overload1.html +/doc/asio/reference/ip__basic_resolver_entry/service_name/overload2.html /doc/asio/reference/ip__basic_resolver/executor_type.html +/doc/asio/reference/ip__basic_resolver/flags.html /doc/asio/reference/ip__basic_resolver/get_executor.html -/doc/asio/reference/ip__basic_resolver/get_implementation/ -/doc/asio/reference/ip__basic_resolver/get_implementation.html -/doc/asio/reference/ip__basic_resolver/get_implementation/overload1.html -/doc/asio/reference/ip__basic_resolver/get_implementation/overload2.html +/doc/asio/reference/ip__basic_resolver/get_io_context.html /doc/asio/reference/ip__basic_resolver/get_io_service.html -/doc/asio/reference/ip__basic_resolver/get_service/ -/doc/asio/reference/ip__basic_resolver/get_service.html -/doc/asio/reference/ip__basic_resolver/get_service/overload1.html -/doc/asio/reference/ip__basic_resolver/get_service/overload2.html /doc/asio/reference/ip__basic_resolver.html -/doc/asio/reference/ip__basic_resolver/implementation_type.html /doc/asio/reference/ip__basic_resolver_iterator/ +/doc/asio/reference/ip__basic_resolver_iterator/basic_resolver_iterator/ /doc/asio/reference/ip__basic_resolver_iterator/basic_resolver_iterator.html -/doc/asio/reference/ip__basic_resolver_iterator/create/ -/doc/asio/reference/ip__basic_resolver_iterator/create.html -/doc/asio/reference/ip__basic_resolver_iterator/create/overload1.html -/doc/asio/reference/ip__basic_resolver_iterator/create/overload2.html -/doc/asio/reference/ip__basic_resolver_iterator/create/overload3.html +/doc/asio/reference/ip__basic_resolver_iterator/basic_resolver_iterator/overload1.html +/doc/asio/reference/ip__basic_resolver_iterator/basic_resolver_iterator/overload2.html +/doc/asio/reference/ip__basic_resolver_iterator/basic_resolver_iterator/overload3.html +/doc/asio/reference/ip__basic_resolver_iterator/dereference.html /doc/asio/reference/ip__basic_resolver_iterator/difference_type.html +/doc/asio/reference/ip__basic_resolver_iterator/equal.html /doc/asio/reference/ip__basic_resolver_iterator.html /doc/asio/reference/ip__basic_resolver/iterator.html +/doc/asio/reference/ip__basic_resolver_iterator/increment.html +/doc/asio/reference/ip__basic_resolver_iterator/index_.html /doc/asio/reference/ip__basic_resolver_iterator/iterator_category.html /doc/asio/reference/ip__basic_resolver_iterator/operator_arrow_.html +/doc/asio/reference/ip__basic_resolver_iterator/operator_eq_/ /doc/asio/reference/ip__basic_resolver_iterator/operator_eq__eq_.html +/doc/asio/reference/ip__basic_resolver_iterator/operator_eq_.html +/doc/asio/reference/ip__basic_resolver_iterator/operator_eq_/overload1.html +/doc/asio/reference/ip__basic_resolver_iterator/operator_eq_/overload2.html /doc/asio/reference/ip__basic_resolver_iterator/operator_not__eq_.html /doc/asio/reference/ip__basic_resolver_iterator/operator_plus__plus_/ /doc/asio/reference/ip__basic_resolver_iterator/operator_plus__plus_.html @@ -2557,7 +2329,12 @@ /doc/asio/reference/ip__basic_resolver_iterator/operator__star_.html /doc/asio/reference/ip__basic_resolver_iterator/pointer.html /doc/asio/reference/ip__basic_resolver_iterator/reference.html +/doc/asio/reference/ip__basic_resolver_iterator/values_.html /doc/asio/reference/ip__basic_resolver_iterator/value_type.html +/doc/asio/reference/ip__basic_resolver/numeric_host.html +/doc/asio/reference/ip__basic_resolver/numeric_service.html +/doc/asio/reference/ip__basic_resolver/operator_eq_.html +/doc/asio/reference/ip__basic_resolver/passive.html /doc/asio/reference/ip__basic_resolver/protocol_type.html /doc/asio/reference/ip__basic_resolver_query/ /doc/asio/reference/ip__basic_resolver_query/address_configured.html @@ -2582,11 +2359,69 @@ /doc/asio/reference/ip__basic_resolver_query/v4_mapped.html /doc/asio/reference/ip__basic_resolver/resolve/ /doc/asio/reference/ip__basic_resolver/resolve.html +/doc/asio/reference/ip__basic_resolver/resolve/overload10.html +/doc/asio/reference/ip__basic_resolver/resolve/overload11.html +/doc/asio/reference/ip__basic_resolver/resolve/overload12.html /doc/asio/reference/ip__basic_resolver/resolve/overload1.html /doc/asio/reference/ip__basic_resolver/resolve/overload2.html /doc/asio/reference/ip__basic_resolver/resolve/overload3.html /doc/asio/reference/ip__basic_resolver/resolve/overload4.html -/doc/asio/reference/ip__basic_resolver/service_type.html +/doc/asio/reference/ip__basic_resolver/resolve/overload5.html +/doc/asio/reference/ip__basic_resolver/resolve/overload6.html +/doc/asio/reference/ip__basic_resolver/resolve/overload7.html +/doc/asio/reference/ip__basic_resolver/resolve/overload8.html +/doc/asio/reference/ip__basic_resolver/resolve/overload9.html +/doc/asio/reference/ip__basic_resolver_results/ +/doc/asio/reference/ip__basic_resolver_results/basic_resolver_results/ +/doc/asio/reference/ip__basic_resolver_results/basic_resolver_results.html +/doc/asio/reference/ip__basic_resolver_results/basic_resolver_results/overload1.html +/doc/asio/reference/ip__basic_resolver_results/basic_resolver_results/overload2.html +/doc/asio/reference/ip__basic_resolver_results/basic_resolver_results/overload3.html +/doc/asio/reference/ip__basic_resolver_results/begin.html +/doc/asio/reference/ip__basic_resolver_results/cbegin.html +/doc/asio/reference/ip__basic_resolver_results/cend.html +/doc/asio/reference/ip__basic_resolver_results/const_iterator.html +/doc/asio/reference/ip__basic_resolver_results/const_reference.html +/doc/asio/reference/ip__basic_resolver_results/dereference.html +/doc/asio/reference/ip__basic_resolver_results/difference_type.html +/doc/asio/reference/ip__basic_resolver_results/empty.html +/doc/asio/reference/ip__basic_resolver_results/end.html +/doc/asio/reference/ip__basic_resolver_results/endpoint_type.html +/doc/asio/reference/ip__basic_resolver_results/equal.html +/doc/asio/reference/ip__basic_resolver_results.html +/doc/asio/reference/ip__basic_resolver_results/increment.html +/doc/asio/reference/ip__basic_resolver_results/index_.html +/doc/asio/reference/ip__basic_resolver_results/iterator_category.html +/doc/asio/reference/ip__basic_resolver_results/iterator.html +/doc/asio/reference/ip__basic_resolver_results/max_size.html +/doc/asio/reference/ip__basic_resolver_results/operator_arrow_.html +/doc/asio/reference/ip__basic_resolver_results/operator_eq_/ +/doc/asio/reference/ip__basic_resolver_results/operator_eq__eq_/ +/doc/asio/reference/ip__basic_resolver_results/operator_eq__eq_.html +/doc/asio/reference/ip__basic_resolver_results/operator_eq__eq_/overload1.html +/doc/asio/reference/ip__basic_resolver_results/operator_eq__eq_/overload2.html +/doc/asio/reference/ip__basic_resolver_results/operator_eq_.html +/doc/asio/reference/ip__basic_resolver_results/operator_eq_/overload1.html +/doc/asio/reference/ip__basic_resolver_results/operator_eq_/overload2.html +/doc/asio/reference/ip__basic_resolver_results/operator_not__eq_/ +/doc/asio/reference/ip__basic_resolver_results/operator_not__eq_.html +/doc/asio/reference/ip__basic_resolver_results/operator_not__eq_/overload1.html +/doc/asio/reference/ip__basic_resolver_results/operator_not__eq_/overload2.html +/doc/asio/reference/ip__basic_resolver_results/operator_plus__plus_/ +/doc/asio/reference/ip__basic_resolver_results/operator_plus__plus_.html +/doc/asio/reference/ip__basic_resolver_results/operator_plus__plus_/overload1.html +/doc/asio/reference/ip__basic_resolver_results/operator_plus__plus_/overload2.html +/doc/asio/reference/ip__basic_resolver_results/operator__star_.html +/doc/asio/reference/ip__basic_resolver_results/pointer.html +/doc/asio/reference/ip__basic_resolver_results/protocol_type.html +/doc/asio/reference/ip__basic_resolver_results/reference.html +/doc/asio/reference/ip__basic_resolver_results/size.html +/doc/asio/reference/ip__basic_resolver_results/size_type.html +/doc/asio/reference/ip__basic_resolver_results/swap.html +/doc/asio/reference/ip__basic_resolver/results_type.html +/doc/asio/reference/ip__basic_resolver_results/values_.html +/doc/asio/reference/ip__basic_resolver_results/value_type.html +/doc/asio/reference/ip__basic_resolver/v4_mapped.html /doc/asio/reference/ip__host_name/ /doc/asio/reference/ip__host_name.html /doc/asio/reference/ip__host_name/overload1.html @@ -2622,6 +2457,8 @@ /doc/asio/reference/ip__network_v4/make_network_v4/overload2.html /doc/asio/reference/ip__network_v4/make_network_v4/overload3.html /doc/asio/reference/ip__network_v4/make_network_v4/overload4.html +/doc/asio/reference/ip__network_v4/make_network_v4/overload5.html +/doc/asio/reference/ip__network_v4/make_network_v4/overload6.html /doc/asio/reference/ip__network_v4/netmask.html /doc/asio/reference/ip__network_v4/network.html /doc/asio/reference/ip__network_v4/network_v4/ @@ -2651,6 +2488,8 @@ /doc/asio/reference/ip__network_v6/make_network_v6/overload2.html /doc/asio/reference/ip__network_v6/make_network_v6/overload3.html /doc/asio/reference/ip__network_v6/make_network_v6/overload4.html +/doc/asio/reference/ip__network_v6/make_network_v6/overload5.html +/doc/asio/reference/ip__network_v6/make_network_v6/overload6.html /doc/asio/reference/ip__network_v6/network.html /doc/asio/reference/ip__network_v6/network_v6/ /doc/asio/reference/ip__network_v6/network_v6.html @@ -2665,6 +2504,17 @@ /doc/asio/reference/ip__network_v6/to_string.html /doc/asio/reference/ip__network_v6/to_string/overload1.html /doc/asio/reference/ip__network_v6/to_string/overload2.html +/doc/asio/reference/ip__resolver_base/ +/doc/asio/reference/ip__resolver_base/address_configured.html +/doc/asio/reference/ip__resolver_base/all_matching.html +/doc/asio/reference/ip__resolver_base/canonical_name.html +/doc/asio/reference/ip__resolver_base/flags.html +/doc/asio/reference/ip__resolver_base.html +/doc/asio/reference/ip__resolver_base/numeric_host.html +/doc/asio/reference/ip__resolver_base/numeric_service.html +/doc/asio/reference/ip__resolver_base/passive.html +/doc/asio/reference/ip__resolver_base/_resolver_base.html +/doc/asio/reference/ip__resolver_base/v4_mapped.html /doc/asio/reference/ip__resolver_query_base/ /doc/asio/reference/ip__resolver_query_base/address_configured.html /doc/asio/reference/ip__resolver_query_base/all_matching.html @@ -2676,27 +2526,6 @@ /doc/asio/reference/ip__resolver_query_base/passive.html /doc/asio/reference/ip__resolver_query_base/_resolver_query_base.html /doc/asio/reference/ip__resolver_query_base/v4_mapped.html -/doc/asio/reference/ip__resolver_service/ -/doc/asio/reference/ip__resolver_service/async_resolve/ -/doc/asio/reference/ip__resolver_service/async_resolve.html -/doc/asio/reference/ip__resolver_service/async_resolve/overload1.html -/doc/asio/reference/ip__resolver_service/async_resolve/overload2.html -/doc/asio/reference/ip__resolver_service/cancel.html -/doc/asio/reference/ip__resolver_service/construct.html -/doc/asio/reference/ip__resolver_service/destroy.html -/doc/asio/reference/ip__resolver_service/endpoint_type.html -/doc/asio/reference/ip__resolver_service/get_io_service.html -/doc/asio/reference/ip__resolver_service.html -/doc/asio/reference/ip__resolver_service/id.html -/doc/asio/reference/ip__resolver_service/implementation_type.html -/doc/asio/reference/ip__resolver_service/iterator_type.html -/doc/asio/reference/ip__resolver_service/protocol_type.html -/doc/asio/reference/ip__resolver_service/query_type.html -/doc/asio/reference/ip__resolver_service/resolve/ -/doc/asio/reference/ip__resolver_service/resolve.html -/doc/asio/reference/ip__resolver_service/resolve/overload1.html -/doc/asio/reference/ip__resolver_service/resolve/overload2.html -/doc/asio/reference/ip__resolver_service/resolver_service.html /doc/asio/reference/ip__tcp/ /doc/asio/reference/ip__tcp/acceptor.html /doc/asio/reference/ip__tcp/endpoint.html @@ -2728,7 +2557,10 @@ /doc/asio/reference/ip__v4_mapped_t.html /doc/asio/reference/ip__v6_only.html /doc/asio/reference/is_const_buffer_sequence.html -/doc/asio/reference/is_dynamic_buffer_sequence.html +/doc/asio/reference/is_dynamic_buffer.html +/doc/asio/reference/is_endpoint_sequence/ +/doc/asio/reference/is_endpoint_sequence.html +/doc/asio/reference/is_endpoint_sequence/value.html /doc/asio/reference/is_executor.html /doc/asio/reference/is_match_condition/ /doc/asio/reference/is_match_condition.html @@ -2740,6 +2572,7 @@ /doc/asio/reference/is_write_buffered/ /doc/asio/reference/is_write_buffered.html /doc/asio/reference/is_write_buffered/value.html +/doc/asio/reference/IteratorConnectHandler.html /doc/asio/reference/local__basic_endpoint/ /doc/asio/reference/local__basic_endpoint/basic_endpoint/ /doc/asio/reference/local__basic_endpoint/basic_endpoint.html @@ -2791,26 +2624,30 @@ /doc/asio/reference/local__stream_protocol/protocol.html /doc/asio/reference/local__stream_protocol/socket.html /doc/asio/reference/local__stream_protocol/type.html -/doc/asio/reference/make_work/ -/doc/asio/reference/make_work.html -/doc/asio/reference/make_work/overload1.html -/doc/asio/reference/make_work/overload2.html -/doc/asio/reference/make_work/overload3.html -/doc/asio/reference/make_work/overload4.html -/doc/asio/reference/make_work/overload5.html +/doc/asio/reference/make_work_guard/ +/doc/asio/reference/make_work_guard.html +/doc/asio/reference/make_work_guard/overload1.html +/doc/asio/reference/make_work_guard/overload2.html +/doc/asio/reference/make_work_guard/overload3.html +/doc/asio/reference/make_work_guard/overload4.html +/doc/asio/reference/make_work_guard/overload5.html +/doc/asio/reference/MoveAcceptHandler.html /doc/asio/reference/mutable_buffer/ +/doc/asio/reference/mutable_buffer/data.html /doc/asio/reference/mutable_buffer.html /doc/asio/reference/mutable_buffer/mutable_buffer/ /doc/asio/reference/mutable_buffer/mutable_buffer.html /doc/asio/reference/mutable_buffer/mutable_buffer/overload1.html /doc/asio/reference/mutable_buffer/mutable_buffer/overload2.html /doc/asio/reference/mutable_buffer/operator_plus_/ +/doc/asio/reference/mutable_buffer/operator_plus__eq_.html /doc/asio/reference/mutable_buffer/operator_plus_.html /doc/asio/reference/mutable_buffer/operator_plus_/overload1.html /doc/asio/reference/mutable_buffer/operator_plus_/overload2.html /doc/asio/reference/mutable_buffers_1/ /doc/asio/reference/mutable_buffers_1/begin.html /doc/asio/reference/mutable_buffers_1/const_iterator.html +/doc/asio/reference/mutable_buffers_1/data.html /doc/asio/reference/mutable_buffers_1/end.html /doc/asio/reference/mutable_buffers_1.html /doc/asio/reference/mutable_buffers_1/mutable_buffers_1/ @@ -2818,275 +2655,159 @@ /doc/asio/reference/mutable_buffers_1/mutable_buffers_1/overload1.html /doc/asio/reference/mutable_buffers_1/mutable_buffers_1/overload2.html /doc/asio/reference/mutable_buffers_1/operator_plus_/ +/doc/asio/reference/mutable_buffers_1/operator_plus__eq_.html /doc/asio/reference/mutable_buffers_1/operator_plus_.html /doc/asio/reference/mutable_buffers_1/operator_plus_/overload1.html /doc/asio/reference/mutable_buffers_1/operator_plus_/overload2.html +/doc/asio/reference/mutable_buffers_1/size.html /doc/asio/reference/mutable_buffers_1/value_type.html /doc/asio/reference/MutableBufferSequence.html +/doc/asio/reference/mutable_buffer/size.html /doc/asio/reference/null_buffers/ /doc/asio/reference/null_buffers/begin.html /doc/asio/reference/null_buffers/const_iterator.html /doc/asio/reference/null_buffers/end.html /doc/asio/reference/null_buffers.html /doc/asio/reference/null_buffers/value_type.html -/doc/asio/reference/ObjectHandleService.html /doc/asio/reference/operator_lt__lt_.html -/doc/asio/reference/package/ -/doc/asio/reference/packaged_handler/ -/doc/asio/reference/packaged_handler/allocator_type.html -/doc/asio/reference/packaged_handler/get_allocator.html -/doc/asio/reference/packaged_handler.html -/doc/asio/reference/packaged_handler/packaged_handler/ -/doc/asio/reference/packaged_handler/packaged_handler.html -/doc/asio/reference/packaged_handler/packaged_handler/overload1.html -/doc/asio/reference/packaged_handler/packaged_handler/overload2.html -/doc/asio/reference/packaged_token/ -/doc/asio/reference/packaged_token/allocator_type.html -/doc/asio/reference/packaged_token/get_allocator.html -/doc/asio/reference/packaged_token.html -/doc/asio/reference/packaged_token/packaged_token/ -/doc/asio/reference/packaged_token/packaged_token.html -/doc/asio/reference/packaged_token/packaged_token/overload1.html -/doc/asio/reference/packaged_token/packaged_token/overload2.html -/doc/asio/reference/package.html -/doc/asio/reference/package/overload1.html -/doc/asio/reference/package/overload2.html /doc/asio/reference/placeholders__bytes_transferred.html +/doc/asio/reference/placeholders__endpoint.html /doc/asio/reference/placeholders__error.html /doc/asio/reference/placeholders__iterator.html +/doc/asio/reference/placeholders__results.html /doc/asio/reference/placeholders__signal_number.html -/doc/asio/reference/posix__basic_descriptor/ -/doc/asio/reference/posix__basic_descriptor/assign/ -/doc/asio/reference/posix__basic_descriptor/assign.html -/doc/asio/reference/posix__basic_descriptor/assign/overload1.html -/doc/asio/reference/posix__basic_descriptor/assign/overload2.html -/doc/asio/reference/posix__basic_descriptor/async_wait.html -/doc/asio/reference/posix__basic_descriptor/basic_descriptor/ -/doc/asio/reference/posix__basic_descriptor/_basic_descriptor.html -/doc/asio/reference/posix__basic_descriptor/basic_descriptor.html -/doc/asio/reference/posix__basic_descriptor/basic_descriptor/overload1.html -/doc/asio/reference/posix__basic_descriptor/basic_descriptor/overload2.html -/doc/asio/reference/posix__basic_descriptor/basic_descriptor/overload3.html -/doc/asio/reference/posix__basic_descriptor/bytes_readable.html -/doc/asio/reference/posix__basic_descriptor/cancel/ -/doc/asio/reference/posix__basic_descriptor/cancel.html -/doc/asio/reference/posix__basic_descriptor/cancel/overload1.html -/doc/asio/reference/posix__basic_descriptor/cancel/overload2.html -/doc/asio/reference/posix__basic_descriptor/close/ -/doc/asio/reference/posix__basic_descriptor/close.html -/doc/asio/reference/posix__basic_descriptor/close/overload1.html -/doc/asio/reference/posix__basic_descriptor/close/overload2.html -/doc/asio/reference/posix__basic_descriptor/executor_type.html -/doc/asio/reference/posix__basic_descriptor/get_executor.html -/doc/asio/reference/posix__basic_descriptor/get_implementation/ -/doc/asio/reference/posix__basic_descriptor/get_implementation.html -/doc/asio/reference/posix__basic_descriptor/get_implementation/overload1.html -/doc/asio/reference/posix__basic_descriptor/get_implementation/overload2.html -/doc/asio/reference/posix__basic_descriptor/get_io_service.html -/doc/asio/reference/posix__basic_descriptor/get_service/ -/doc/asio/reference/posix__basic_descriptor/get_service.html -/doc/asio/reference/posix__basic_descriptor/get_service/overload1.html -/doc/asio/reference/posix__basic_descriptor/get_service/overload2.html -/doc/asio/reference/posix__basic_descriptor.html -/doc/asio/reference/posix__basic_descriptor/implementation_type.html -/doc/asio/reference/posix__basic_descriptor/io_control/ -/doc/asio/reference/posix__basic_descriptor/io_control.html -/doc/asio/reference/posix__basic_descriptor/io_control/overload1.html -/doc/asio/reference/posix__basic_descriptor/io_control/overload2.html -/doc/asio/reference/posix__basic_descriptor/is_open.html -/doc/asio/reference/posix__basic_descriptor/lowest_layer/ -/doc/asio/reference/posix__basic_descriptor/lowest_layer.html -/doc/asio/reference/posix__basic_descriptor/lowest_layer/overload1.html -/doc/asio/reference/posix__basic_descriptor/lowest_layer/overload2.html -/doc/asio/reference/posix__basic_descriptor/lowest_layer_type.html -/doc/asio/reference/posix__basic_descriptor/native_handle.html -/doc/asio/reference/posix__basic_descriptor/native_handle_type.html -/doc/asio/reference/posix__basic_descriptor/native_non_blocking/ -/doc/asio/reference/posix__basic_descriptor/native_non_blocking.html -/doc/asio/reference/posix__basic_descriptor/native_non_blocking/overload1.html -/doc/asio/reference/posix__basic_descriptor/native_non_blocking/overload2.html -/doc/asio/reference/posix__basic_descriptor/native_non_blocking/overload3.html -/doc/asio/reference/posix__basic_descriptor/non_blocking/ -/doc/asio/reference/posix__basic_descriptor/non_blocking.html -/doc/asio/reference/posix__basic_descriptor/non_blocking/overload1.html -/doc/asio/reference/posix__basic_descriptor/non_blocking/overload2.html -/doc/asio/reference/posix__basic_descriptor/non_blocking/overload3.html -/doc/asio/reference/posix__basic_descriptor/operator_eq_.html -/doc/asio/reference/posix__basic_descriptor/release.html -/doc/asio/reference/posix__basic_descriptor/service_type.html -/doc/asio/reference/posix__basic_descriptor/wait/ -/doc/asio/reference/posix__basic_descriptor/wait.html -/doc/asio/reference/posix__basic_descriptor/wait/overload1.html -/doc/asio/reference/posix__basic_descriptor/wait/overload2.html -/doc/asio/reference/posix__basic_descriptor/wait_type.html -/doc/asio/reference/posix__basic_stream_descriptor/ -/doc/asio/reference/posix__basic_stream_descriptor/assign/ -/doc/asio/reference/posix__basic_stream_descriptor/assign.html -/doc/asio/reference/posix__basic_stream_descriptor/assign/overload1.html -/doc/asio/reference/posix__basic_stream_descriptor/assign/overload2.html -/doc/asio/reference/posix__basic_stream_descriptor/async_read_some.html -/doc/asio/reference/posix__basic_stream_descriptor/async_wait.html -/doc/asio/reference/posix__basic_stream_descriptor/async_write_some.html -/doc/asio/reference/posix__basic_stream_descriptor/basic_stream_descriptor/ -/doc/asio/reference/posix__basic_stream_descriptor/basic_stream_descriptor.html -/doc/asio/reference/posix__basic_stream_descriptor/basic_stream_descriptor/overload1.html -/doc/asio/reference/posix__basic_stream_descriptor/basic_stream_descriptor/overload2.html -/doc/asio/reference/posix__basic_stream_descriptor/basic_stream_descriptor/overload3.html -/doc/asio/reference/posix__basic_stream_descriptor/bytes_readable.html -/doc/asio/reference/posix__basic_stream_descriptor/cancel/ -/doc/asio/reference/posix__basic_stream_descriptor/cancel.html -/doc/asio/reference/posix__basic_stream_descriptor/cancel/overload1.html -/doc/asio/reference/posix__basic_stream_descriptor/cancel/overload2.html -/doc/asio/reference/posix__basic_stream_descriptor/close/ -/doc/asio/reference/posix__basic_stream_descriptor/close.html -/doc/asio/reference/posix__basic_stream_descriptor/close/overload1.html -/doc/asio/reference/posix__basic_stream_descriptor/close/overload2.html -/doc/asio/reference/posix__basic_stream_descriptor/executor_type.html -/doc/asio/reference/posix__basic_stream_descriptor/get_executor.html -/doc/asio/reference/posix__basic_stream_descriptor/get_implementation/ -/doc/asio/reference/posix__basic_stream_descriptor/get_implementation.html -/doc/asio/reference/posix__basic_stream_descriptor/get_implementation/overload1.html -/doc/asio/reference/posix__basic_stream_descriptor/get_implementation/overload2.html -/doc/asio/reference/posix__basic_stream_descriptor/get_io_service.html -/doc/asio/reference/posix__basic_stream_descriptor/get_service/ -/doc/asio/reference/posix__basic_stream_descriptor/get_service.html -/doc/asio/reference/posix__basic_stream_descriptor/get_service/overload1.html -/doc/asio/reference/posix__basic_stream_descriptor/get_service/overload2.html -/doc/asio/reference/posix__basic_stream_descriptor.html -/doc/asio/reference/posix__basic_stream_descriptor/implementation_type.html -/doc/asio/reference/posix__basic_stream_descriptor/io_control/ -/doc/asio/reference/posix__basic_stream_descriptor/io_control.html -/doc/asio/reference/posix__basic_stream_descriptor/io_control/overload1.html -/doc/asio/reference/posix__basic_stream_descriptor/io_control/overload2.html -/doc/asio/reference/posix__basic_stream_descriptor/is_open.html -/doc/asio/reference/posix__basic_stream_descriptor/lowest_layer/ -/doc/asio/reference/posix__basic_stream_descriptor/lowest_layer.html -/doc/asio/reference/posix__basic_stream_descriptor/lowest_layer/overload1.html -/doc/asio/reference/posix__basic_stream_descriptor/lowest_layer/overload2.html -/doc/asio/reference/posix__basic_stream_descriptor/lowest_layer_type.html -/doc/asio/reference/posix__basic_stream_descriptor/native_handle.html -/doc/asio/reference/posix__basic_stream_descriptor/native_handle_type.html -/doc/asio/reference/posix__basic_stream_descriptor/native_non_blocking/ -/doc/asio/reference/posix__basic_stream_descriptor/native_non_blocking.html -/doc/asio/reference/posix__basic_stream_descriptor/native_non_blocking/overload1.html -/doc/asio/reference/posix__basic_stream_descriptor/native_non_blocking/overload2.html -/doc/asio/reference/posix__basic_stream_descriptor/native_non_blocking/overload3.html -/doc/asio/reference/posix__basic_stream_descriptor/non_blocking/ -/doc/asio/reference/posix__basic_stream_descriptor/non_blocking.html -/doc/asio/reference/posix__basic_stream_descriptor/non_blocking/overload1.html -/doc/asio/reference/posix__basic_stream_descriptor/non_blocking/overload2.html -/doc/asio/reference/posix__basic_stream_descriptor/non_blocking/overload3.html -/doc/asio/reference/posix__basic_stream_descriptor/operator_eq_.html -/doc/asio/reference/posix__basic_stream_descriptor/read_some/ -/doc/asio/reference/posix__basic_stream_descriptor/read_some.html -/doc/asio/reference/posix__basic_stream_descriptor/read_some/overload1.html -/doc/asio/reference/posix__basic_stream_descriptor/read_some/overload2.html -/doc/asio/reference/posix__basic_stream_descriptor/release.html -/doc/asio/reference/posix__basic_stream_descriptor/service_type.html -/doc/asio/reference/posix__basic_stream_descriptor/wait/ -/doc/asio/reference/posix__basic_stream_descriptor/wait.html -/doc/asio/reference/posix__basic_stream_descriptor/wait/overload1.html -/doc/asio/reference/posix__basic_stream_descriptor/wait/overload2.html -/doc/asio/reference/posix__basic_stream_descriptor/wait_type.html -/doc/asio/reference/posix__basic_stream_descriptor/write_some/ -/doc/asio/reference/posix__basic_stream_descriptor/write_some.html -/doc/asio/reference/posix__basic_stream_descriptor/write_some/overload1.html -/doc/asio/reference/posix__basic_stream_descriptor/write_some/overload2.html +/doc/asio/reference/posix__descriptor/ +/doc/asio/reference/posix__descriptor/assign/ +/doc/asio/reference/posix__descriptor/assign.html +/doc/asio/reference/posix__descriptor/assign/overload1.html +/doc/asio/reference/posix__descriptor/assign/overload2.html +/doc/asio/reference/posix__descriptor/async_wait.html /doc/asio/reference/posix__descriptor_base/ /doc/asio/reference/posix__descriptor_base/bytes_readable.html /doc/asio/reference/posix__descriptor_base/_descriptor_base.html /doc/asio/reference/posix__descriptor_base.html /doc/asio/reference/posix__descriptor_base/wait_type.html +/doc/asio/reference/posix__descriptor/bytes_readable.html +/doc/asio/reference/posix__descriptor/cancel/ +/doc/asio/reference/posix__descriptor/cancel.html +/doc/asio/reference/posix__descriptor/cancel/overload1.html +/doc/asio/reference/posix__descriptor/cancel/overload2.html +/doc/asio/reference/posix__descriptor/close/ +/doc/asio/reference/posix__descriptor/close.html +/doc/asio/reference/posix__descriptor/close/overload1.html +/doc/asio/reference/posix__descriptor/close/overload2.html +/doc/asio/reference/posix__descriptor/descriptor/ +/doc/asio/reference/posix__descriptor/_descriptor.html +/doc/asio/reference/posix__descriptor/descriptor.html +/doc/asio/reference/posix__descriptor/descriptor/overload1.html +/doc/asio/reference/posix__descriptor/descriptor/overload2.html +/doc/asio/reference/posix__descriptor/descriptor/overload3.html +/doc/asio/reference/posix__descriptor/executor_type.html +/doc/asio/reference/posix__descriptor/get_executor.html +/doc/asio/reference/posix__descriptor/get_io_context.html +/doc/asio/reference/posix__descriptor/get_io_service.html +/doc/asio/reference/posix__descriptor.html +/doc/asio/reference/posix__descriptor/io_control/ +/doc/asio/reference/posix__descriptor/io_control.html +/doc/asio/reference/posix__descriptor/io_control/overload1.html +/doc/asio/reference/posix__descriptor/io_control/overload2.html +/doc/asio/reference/posix__descriptor/is_open.html +/doc/asio/reference/posix__descriptor/lowest_layer/ +/doc/asio/reference/posix__descriptor/lowest_layer.html +/doc/asio/reference/posix__descriptor/lowest_layer/overload1.html +/doc/asio/reference/posix__descriptor/lowest_layer/overload2.html +/doc/asio/reference/posix__descriptor/lowest_layer_type.html +/doc/asio/reference/posix__descriptor/native_handle.html +/doc/asio/reference/posix__descriptor/native_handle_type.html +/doc/asio/reference/posix__descriptor/native_non_blocking/ +/doc/asio/reference/posix__descriptor/native_non_blocking.html +/doc/asio/reference/posix__descriptor/native_non_blocking/overload1.html +/doc/asio/reference/posix__descriptor/native_non_blocking/overload2.html +/doc/asio/reference/posix__descriptor/native_non_blocking/overload3.html +/doc/asio/reference/posix__descriptor/non_blocking/ +/doc/asio/reference/posix__descriptor/non_blocking.html +/doc/asio/reference/posix__descriptor/non_blocking/overload1.html +/doc/asio/reference/posix__descriptor/non_blocking/overload2.html +/doc/asio/reference/posix__descriptor/non_blocking/overload3.html +/doc/asio/reference/posix__descriptor/operator_eq_.html +/doc/asio/reference/posix__descriptor/release.html +/doc/asio/reference/posix__descriptor/wait/ +/doc/asio/reference/posix__descriptor/wait.html +/doc/asio/reference/posix__descriptor/wait/overload1.html +/doc/asio/reference/posix__descriptor/wait/overload2.html +/doc/asio/reference/posix__descriptor/wait_type.html +/doc/asio/reference/posix__stream_descriptor/ +/doc/asio/reference/posix__stream_descriptor/assign/ +/doc/asio/reference/posix__stream_descriptor/assign.html +/doc/asio/reference/posix__stream_descriptor/assign/overload1.html +/doc/asio/reference/posix__stream_descriptor/assign/overload2.html +/doc/asio/reference/posix__stream_descriptor/async_read_some.html +/doc/asio/reference/posix__stream_descriptor/async_wait.html +/doc/asio/reference/posix__stream_descriptor/async_write_some.html +/doc/asio/reference/posix__stream_descriptor/bytes_readable.html +/doc/asio/reference/posix__stream_descriptor/cancel/ +/doc/asio/reference/posix__stream_descriptor/cancel.html +/doc/asio/reference/posix__stream_descriptor/cancel/overload1.html +/doc/asio/reference/posix__stream_descriptor/cancel/overload2.html +/doc/asio/reference/posix__stream_descriptor/close/ +/doc/asio/reference/posix__stream_descriptor/close.html +/doc/asio/reference/posix__stream_descriptor/close/overload1.html +/doc/asio/reference/posix__stream_descriptor/close/overload2.html +/doc/asio/reference/posix__stream_descriptor/executor_type.html +/doc/asio/reference/posix__stream_descriptor/get_executor.html +/doc/asio/reference/posix__stream_descriptor/get_io_context.html +/doc/asio/reference/posix__stream_descriptor/get_io_service.html /doc/asio/reference/posix__stream_descriptor.html -/doc/asio/reference/posix__stream_descriptor_service/ -/doc/asio/reference/posix__stream_descriptor_service/assign.html -/doc/asio/reference/posix__stream_descriptor_service/async_read_some.html -/doc/asio/reference/posix__stream_descriptor_service/async_wait.html -/doc/asio/reference/posix__stream_descriptor_service/async_write_some.html -/doc/asio/reference/posix__stream_descriptor_service/cancel.html -/doc/asio/reference/posix__stream_descriptor_service/close.html -/doc/asio/reference/posix__stream_descriptor_service/construct.html -/doc/asio/reference/posix__stream_descriptor_service/destroy.html -/doc/asio/reference/posix__stream_descriptor_service/get_io_service.html -/doc/asio/reference/posix__stream_descriptor_service.html -/doc/asio/reference/posix__stream_descriptor_service/id.html -/doc/asio/reference/posix__stream_descriptor_service/implementation_type.html -/doc/asio/reference/posix__stream_descriptor_service/io_control.html -/doc/asio/reference/posix__stream_descriptor_service/is_open.html -/doc/asio/reference/posix__stream_descriptor_service/move_assign.html -/doc/asio/reference/posix__stream_descriptor_service/move_construct.html -/doc/asio/reference/posix__stream_descriptor_service/native_handle.html -/doc/asio/reference/posix__stream_descriptor_service/native_handle_type.html -/doc/asio/reference/posix__stream_descriptor_service/native_non_blocking/ -/doc/asio/reference/posix__stream_descriptor_service/native_non_blocking.html -/doc/asio/reference/posix__stream_descriptor_service/native_non_blocking/overload1.html -/doc/asio/reference/posix__stream_descriptor_service/native_non_blocking/overload2.html -/doc/asio/reference/posix__stream_descriptor_service/non_blocking/ -/doc/asio/reference/posix__stream_descriptor_service/non_blocking.html -/doc/asio/reference/posix__stream_descriptor_service/non_blocking/overload1.html -/doc/asio/reference/posix__stream_descriptor_service/non_blocking/overload2.html -/doc/asio/reference/posix__stream_descriptor_service/read_some.html -/doc/asio/reference/posix__stream_descriptor_service/release.html -/doc/asio/reference/posix__stream_descriptor_service/stream_descriptor_service.html -/doc/asio/reference/posix__stream_descriptor_service/wait.html -/doc/asio/reference/posix__stream_descriptor_service/write_some.html +/doc/asio/reference/posix__stream_descriptor/io_control/ +/doc/asio/reference/posix__stream_descriptor/io_control.html +/doc/asio/reference/posix__stream_descriptor/io_control/overload1.html +/doc/asio/reference/posix__stream_descriptor/io_control/overload2.html +/doc/asio/reference/posix__stream_descriptor/is_open.html +/doc/asio/reference/posix__stream_descriptor/lowest_layer/ +/doc/asio/reference/posix__stream_descriptor/lowest_layer.html +/doc/asio/reference/posix__stream_descriptor/lowest_layer/overload1.html +/doc/asio/reference/posix__stream_descriptor/lowest_layer/overload2.html +/doc/asio/reference/posix__stream_descriptor/lowest_layer_type.html +/doc/asio/reference/posix__stream_descriptor/native_handle.html +/doc/asio/reference/posix__stream_descriptor/native_handle_type.html +/doc/asio/reference/posix__stream_descriptor/native_non_blocking/ +/doc/asio/reference/posix__stream_descriptor/native_non_blocking.html +/doc/asio/reference/posix__stream_descriptor/native_non_blocking/overload1.html +/doc/asio/reference/posix__stream_descriptor/native_non_blocking/overload2.html +/doc/asio/reference/posix__stream_descriptor/native_non_blocking/overload3.html +/doc/asio/reference/posix__stream_descriptor/non_blocking/ +/doc/asio/reference/posix__stream_descriptor/non_blocking.html +/doc/asio/reference/posix__stream_descriptor/non_blocking/overload1.html +/doc/asio/reference/posix__stream_descriptor/non_blocking/overload2.html +/doc/asio/reference/posix__stream_descriptor/non_blocking/overload3.html +/doc/asio/reference/posix__stream_descriptor/operator_eq_.html +/doc/asio/reference/posix__stream_descriptor/read_some/ +/doc/asio/reference/posix__stream_descriptor/read_some.html +/doc/asio/reference/posix__stream_descriptor/read_some/overload1.html +/doc/asio/reference/posix__stream_descriptor/read_some/overload2.html +/doc/asio/reference/posix__stream_descriptor/release.html +/doc/asio/reference/posix__stream_descriptor/stream_descriptor/ +/doc/asio/reference/posix__stream_descriptor/stream_descriptor.html +/doc/asio/reference/posix__stream_descriptor/stream_descriptor/overload1.html +/doc/asio/reference/posix__stream_descriptor/stream_descriptor/overload2.html +/doc/asio/reference/posix__stream_descriptor/stream_descriptor/overload3.html +/doc/asio/reference/posix__stream_descriptor/wait/ +/doc/asio/reference/posix__stream_descriptor/wait.html +/doc/asio/reference/posix__stream_descriptor/wait/overload1.html +/doc/asio/reference/posix__stream_descriptor/wait/overload2.html +/doc/asio/reference/posix__stream_descriptor/wait_type.html +/doc/asio/reference/posix__stream_descriptor/write_some/ +/doc/asio/reference/posix__stream_descriptor/write_some.html +/doc/asio/reference/posix__stream_descriptor/write_some/overload1.html +/doc/asio/reference/posix__stream_descriptor/write_some/overload2.html /doc/asio/reference/post/ /doc/asio/reference/post.html /doc/asio/reference/post/overload1.html /doc/asio/reference/post/overload2.html /doc/asio/reference/post/overload3.html +/doc/asio/reference/ProtoAllocator.html /doc/asio/reference/Protocol.html -/doc/asio/reference/RandomAccessHandleService.html -/doc/asio/reference/raw_socket_service/ -/doc/asio/reference/raw_socket_service/assign.html -/doc/asio/reference/raw_socket_service/async_connect.html -/doc/asio/reference/raw_socket_service/async_receive_from.html -/doc/asio/reference/raw_socket_service/async_receive.html -/doc/asio/reference/raw_socket_service/async_send.html -/doc/asio/reference/raw_socket_service/async_send_to.html -/doc/asio/reference/raw_socket_service/async_wait.html -/doc/asio/reference/raw_socket_service/at_mark.html -/doc/asio/reference/raw_socket_service/available.html -/doc/asio/reference/raw_socket_service/bind.html -/doc/asio/reference/raw_socket_service/cancel.html -/doc/asio/reference/raw_socket_service/close.html -/doc/asio/reference/raw_socket_service/connect.html -/doc/asio/reference/raw_socket_service/construct.html -/doc/asio/reference/raw_socket_service/converting_move_construct.html -/doc/asio/reference/raw_socket_service/destroy.html -/doc/asio/reference/raw_socket_service/endpoint_type.html -/doc/asio/reference/raw_socket_service/get_io_service.html -/doc/asio/reference/raw_socket_service/get_option.html -/doc/asio/reference/raw_socket_service.html -/doc/asio/reference/RawSocketService.html -/doc/asio/reference/raw_socket_service/id.html -/doc/asio/reference/raw_socket_service/implementation_type.html -/doc/asio/reference/raw_socket_service/io_control.html -/doc/asio/reference/raw_socket_service/is_open.html -/doc/asio/reference/raw_socket_service/local_endpoint.html -/doc/asio/reference/raw_socket_service/move_assign.html -/doc/asio/reference/raw_socket_service/move_construct.html -/doc/asio/reference/raw_socket_service/native_handle.html -/doc/asio/reference/raw_socket_service/native_handle_type.html -/doc/asio/reference/raw_socket_service/native_non_blocking/ -/doc/asio/reference/raw_socket_service/native_non_blocking.html -/doc/asio/reference/raw_socket_service/native_non_blocking/overload1.html -/doc/asio/reference/raw_socket_service/native_non_blocking/overload2.html -/doc/asio/reference/raw_socket_service/non_blocking/ -/doc/asio/reference/raw_socket_service/non_blocking.html -/doc/asio/reference/raw_socket_service/non_blocking/overload1.html -/doc/asio/reference/raw_socket_service/non_blocking/overload2.html -/doc/asio/reference/raw_socket_service/open.html -/doc/asio/reference/raw_socket_service/protocol_type.html -/doc/asio/reference/raw_socket_service/raw_socket_service.html -/doc/asio/reference/raw_socket_service/receive_from.html -/doc/asio/reference/raw_socket_service/receive.html -/doc/asio/reference/raw_socket_service/remote_endpoint.html -/doc/asio/reference/raw_socket_service/send.html -/doc/asio/reference/raw_socket_service/send_to.html -/doc/asio/reference/raw_socket_service/set_option.html -/doc/asio/reference/raw_socket_service/shutdown.html -/doc/asio/reference/raw_socket_service/wait.html +/doc/asio/reference/RangeConnectHandler.html /doc/asio/reference/read/ /doc/asio/reference/read_at/ /doc/asio/reference/read_at.html @@ -3121,8 +2842,6 @@ /doc/asio/reference/read_until/overload14.html /doc/asio/reference/read_until/overload15.html /doc/asio/reference/read_until/overload16.html -/doc/asio/reference/read_until/overload17.html -/doc/asio/reference/read_until/overload18.html /doc/asio/reference/read_until/overload1.html /doc/asio/reference/read_until/overload2.html /doc/asio/reference/read_until/overload3.html @@ -3132,54 +2851,16 @@ /doc/asio/reference/read_until/overload7.html /doc/asio/reference/read_until/overload8.html /doc/asio/reference/read_until/overload9.html +/doc/asio/reference/read_write_operations.html /doc/asio/reference/ResolveHandler.html -/doc/asio/reference/ResolverService.html -/doc/asio/reference/seq_packet_socket_service/ -/doc/asio/reference/seq_packet_socket_service/assign.html -/doc/asio/reference/seq_packet_socket_service/async_connect.html -/doc/asio/reference/seq_packet_socket_service/async_receive.html -/doc/asio/reference/seq_packet_socket_service/async_send.html -/doc/asio/reference/seq_packet_socket_service/async_wait.html -/doc/asio/reference/seq_packet_socket_service/at_mark.html -/doc/asio/reference/seq_packet_socket_service/available.html -/doc/asio/reference/seq_packet_socket_service/bind.html -/doc/asio/reference/seq_packet_socket_service/cancel.html -/doc/asio/reference/seq_packet_socket_service/close.html -/doc/asio/reference/seq_packet_socket_service/connect.html -/doc/asio/reference/seq_packet_socket_service/construct.html -/doc/asio/reference/seq_packet_socket_service/converting_move_construct.html -/doc/asio/reference/seq_packet_socket_service/destroy.html -/doc/asio/reference/seq_packet_socket_service/endpoint_type.html -/doc/asio/reference/seq_packet_socket_service/get_io_service.html -/doc/asio/reference/seq_packet_socket_service/get_option.html -/doc/asio/reference/seq_packet_socket_service.html -/doc/asio/reference/SeqPacketSocketService.html -/doc/asio/reference/seq_packet_socket_service/id.html -/doc/asio/reference/seq_packet_socket_service/implementation_type.html -/doc/asio/reference/seq_packet_socket_service/io_control.html -/doc/asio/reference/seq_packet_socket_service/is_open.html -/doc/asio/reference/seq_packet_socket_service/local_endpoint.html -/doc/asio/reference/seq_packet_socket_service/move_assign.html -/doc/asio/reference/seq_packet_socket_service/move_construct.html -/doc/asio/reference/seq_packet_socket_service/native_handle.html -/doc/asio/reference/seq_packet_socket_service/native_handle_type.html -/doc/asio/reference/seq_packet_socket_service/native_non_blocking/ -/doc/asio/reference/seq_packet_socket_service/native_non_blocking.html -/doc/asio/reference/seq_packet_socket_service/native_non_blocking/overload1.html -/doc/asio/reference/seq_packet_socket_service/native_non_blocking/overload2.html -/doc/asio/reference/seq_packet_socket_service/non_blocking/ -/doc/asio/reference/seq_packet_socket_service/non_blocking.html -/doc/asio/reference/seq_packet_socket_service/non_blocking/overload1.html -/doc/asio/reference/seq_packet_socket_service/non_blocking/overload2.html -/doc/asio/reference/seq_packet_socket_service/open.html -/doc/asio/reference/seq_packet_socket_service/protocol_type.html -/doc/asio/reference/seq_packet_socket_service/receive.html -/doc/asio/reference/seq_packet_socket_service/remote_endpoint.html -/doc/asio/reference/seq_packet_socket_service/send.html -/doc/asio/reference/seq_packet_socket_service/seq_packet_socket_service.html -/doc/asio/reference/seq_packet_socket_service/set_option.html -/doc/asio/reference/seq_packet_socket_service/shutdown.html -/doc/asio/reference/seq_packet_socket_service/wait.html +/doc/asio/reference/resolver_errc__try_again.html +/doc/asio/reference/serial_port/ +/doc/asio/reference/serial_port/assign/ +/doc/asio/reference/serial_port/assign.html +/doc/asio/reference/serial_port/assign/overload1.html +/doc/asio/reference/serial_port/assign/overload2.html +/doc/asio/reference/serial_port/async_read_some.html +/doc/asio/reference/serial_port/async_write_some.html /doc/asio/reference/serial_port_base/ /doc/asio/reference/serial_port_base__baud_rate/ /doc/asio/reference/serial_port_base__baud_rate/baud_rate.html @@ -3216,32 +2897,60 @@ /doc/asio/reference/serial_port_base__stop_bits/store.html /doc/asio/reference/serial_port_base__stop_bits/type.html /doc/asio/reference/serial_port_base__stop_bits/value.html +/doc/asio/reference/serial_port/cancel/ +/doc/asio/reference/serial_port/cancel.html +/doc/asio/reference/serial_port/cancel/overload1.html +/doc/asio/reference/serial_port/cancel/overload2.html +/doc/asio/reference/serial_port/close/ +/doc/asio/reference/serial_port/close.html +/doc/asio/reference/serial_port/close/overload1.html +/doc/asio/reference/serial_port/close/overload2.html +/doc/asio/reference/serial_port/executor_type.html +/doc/asio/reference/serial_port/get_executor.html +/doc/asio/reference/serial_port/get_io_context.html +/doc/asio/reference/serial_port/get_io_service.html +/doc/asio/reference/serial_port/get_option/ +/doc/asio/reference/serial_port/get_option.html +/doc/asio/reference/serial_port/get_option/overload1.html +/doc/asio/reference/serial_port/get_option/overload2.html /doc/asio/reference/serial_port.html -/doc/asio/reference/serial_port_service/ -/doc/asio/reference/serial_port_service/assign.html -/doc/asio/reference/serial_port_service/async_read_some.html -/doc/asio/reference/serial_port_service/async_write_some.html -/doc/asio/reference/serial_port_service/cancel.html -/doc/asio/reference/serial_port_service/close.html -/doc/asio/reference/serial_port_service/construct.html -/doc/asio/reference/serial_port_service/destroy.html -/doc/asio/reference/serial_port_service/get_io_service.html -/doc/asio/reference/serial_port_service/get_option.html -/doc/asio/reference/serial_port_service.html -/doc/asio/reference/SerialPortService.html -/doc/asio/reference/serial_port_service/id.html -/doc/asio/reference/serial_port_service/implementation_type.html -/doc/asio/reference/serial_port_service/is_open.html -/doc/asio/reference/serial_port_service/move_assign.html -/doc/asio/reference/serial_port_service/move_construct.html -/doc/asio/reference/serial_port_service/native_handle.html -/doc/asio/reference/serial_port_service/native_handle_type.html -/doc/asio/reference/serial_port_service/open.html -/doc/asio/reference/serial_port_service/read_some.html -/doc/asio/reference/serial_port_service/send_break.html -/doc/asio/reference/serial_port_service/serial_port_service.html -/doc/asio/reference/serial_port_service/set_option.html -/doc/asio/reference/serial_port_service/write_some.html +/doc/asio/reference/serial_port/is_open.html +/doc/asio/reference/serial_port/lowest_layer/ +/doc/asio/reference/serial_port/lowest_layer.html +/doc/asio/reference/serial_port/lowest_layer/overload1.html +/doc/asio/reference/serial_port/lowest_layer/overload2.html +/doc/asio/reference/serial_port/lowest_layer_type.html +/doc/asio/reference/serial_port/native_handle.html +/doc/asio/reference/serial_port/native_handle_type.html +/doc/asio/reference/serial_port/open/ +/doc/asio/reference/serial_port/open.html +/doc/asio/reference/serial_port/open/overload1.html +/doc/asio/reference/serial_port/open/overload2.html +/doc/asio/reference/serial_port/operator_eq_.html +/doc/asio/reference/serial_port/read_some/ +/doc/asio/reference/serial_port/read_some.html +/doc/asio/reference/serial_port/read_some/overload1.html +/doc/asio/reference/serial_port/read_some/overload2.html +/doc/asio/reference/serial_port/send_break/ +/doc/asio/reference/serial_port/send_break.html +/doc/asio/reference/serial_port/send_break/overload1.html +/doc/asio/reference/serial_port/send_break/overload2.html +/doc/asio/reference/serial_port/serial_port/ +/doc/asio/reference/serial_port/_serial_port.html +/doc/asio/reference/serial_port/serial_port.html +/doc/asio/reference/serial_port/serial_port/overload1.html +/doc/asio/reference/serial_port/serial_port/overload2.html +/doc/asio/reference/serial_port/serial_port/overload3.html +/doc/asio/reference/serial_port/serial_port/overload4.html +/doc/asio/reference/serial_port/serial_port/overload5.html +/doc/asio/reference/serial_port/set_option/ +/doc/asio/reference/serial_port/set_option.html +/doc/asio/reference/serial_port/set_option/overload1.html +/doc/asio/reference/serial_port/set_option/overload2.html +/doc/asio/reference/serial_port/write_some/ +/doc/asio/reference/serial_port/write_some.html +/doc/asio/reference/serial_port/write_some/overload1.html +/doc/asio/reference/serial_port/write_some/overload2.html /doc/asio/reference/service_already_exists/ /doc/asio/reference/service_already_exists.html /doc/asio/reference/service_already_exists/service_already_exists.html @@ -3250,60 +2959,36 @@ /doc/asio/reference/SettableSocketOption.html /doc/asio/reference/ShutdownHandler.html /doc/asio/reference/SignalHandler.html +/doc/asio/reference/signal_set/ +/doc/asio/reference/signal_set/add/ +/doc/asio/reference/signal_set/add.html +/doc/asio/reference/signal_set/add/overload1.html +/doc/asio/reference/signal_set/add/overload2.html +/doc/asio/reference/signal_set/async_wait.html +/doc/asio/reference/signal_set/cancel/ +/doc/asio/reference/signal_set/cancel.html +/doc/asio/reference/signal_set/cancel/overload1.html +/doc/asio/reference/signal_set/cancel/overload2.html +/doc/asio/reference/signal_set/clear/ +/doc/asio/reference/signal_set/clear.html +/doc/asio/reference/signal_set/clear/overload1.html +/doc/asio/reference/signal_set/clear/overload2.html +/doc/asio/reference/signal_set/executor_type.html +/doc/asio/reference/signal_set/get_executor.html +/doc/asio/reference/signal_set/get_io_context.html +/doc/asio/reference/signal_set/get_io_service.html /doc/asio/reference/signal_set.html -/doc/asio/reference/signal_set_service/ -/doc/asio/reference/signal_set_service/add.html -/doc/asio/reference/signal_set_service/async_wait.html -/doc/asio/reference/signal_set_service/cancel.html -/doc/asio/reference/signal_set_service/clear.html -/doc/asio/reference/signal_set_service/construct.html -/doc/asio/reference/signal_set_service/destroy.html -/doc/asio/reference/signal_set_service/get_io_service.html -/doc/asio/reference/signal_set_service.html -/doc/asio/reference/SignalSetService.html -/doc/asio/reference/signal_set_service/id.html -/doc/asio/reference/signal_set_service/implementation_type.html -/doc/asio/reference/signal_set_service/remove.html -/doc/asio/reference/signal_set_service/signal_set_service.html -/doc/asio/reference/socket_acceptor_service/ -/doc/asio/reference/socket_acceptor_service/accept.html -/doc/asio/reference/socket_acceptor_service/assign.html -/doc/asio/reference/socket_acceptor_service/async_accept.html -/doc/asio/reference/socket_acceptor_service/async_wait.html -/doc/asio/reference/socket_acceptor_service/bind.html -/doc/asio/reference/socket_acceptor_service/cancel.html -/doc/asio/reference/socket_acceptor_service/close.html -/doc/asio/reference/socket_acceptor_service/construct.html -/doc/asio/reference/socket_acceptor_service/converting_move_construct.html -/doc/asio/reference/socket_acceptor_service/destroy.html -/doc/asio/reference/socket_acceptor_service/endpoint_type.html -/doc/asio/reference/socket_acceptor_service/get_io_service.html -/doc/asio/reference/socket_acceptor_service/get_option.html -/doc/asio/reference/socket_acceptor_service.html -/doc/asio/reference/SocketAcceptorService.html -/doc/asio/reference/socket_acceptor_service/id.html -/doc/asio/reference/socket_acceptor_service/implementation_type.html -/doc/asio/reference/socket_acceptor_service/io_control.html -/doc/asio/reference/socket_acceptor_service/is_open.html -/doc/asio/reference/socket_acceptor_service/listen.html -/doc/asio/reference/socket_acceptor_service/local_endpoint.html -/doc/asio/reference/socket_acceptor_service/move_assign.html -/doc/asio/reference/socket_acceptor_service/move_construct.html -/doc/asio/reference/socket_acceptor_service/native_handle.html -/doc/asio/reference/socket_acceptor_service/native_handle_type.html -/doc/asio/reference/socket_acceptor_service/native_non_blocking/ -/doc/asio/reference/socket_acceptor_service/native_non_blocking.html -/doc/asio/reference/socket_acceptor_service/native_non_blocking/overload1.html -/doc/asio/reference/socket_acceptor_service/native_non_blocking/overload2.html -/doc/asio/reference/socket_acceptor_service/non_blocking/ -/doc/asio/reference/socket_acceptor_service/non_blocking.html -/doc/asio/reference/socket_acceptor_service/non_blocking/overload1.html -/doc/asio/reference/socket_acceptor_service/non_blocking/overload2.html -/doc/asio/reference/socket_acceptor_service/open.html -/doc/asio/reference/socket_acceptor_service/protocol_type.html -/doc/asio/reference/socket_acceptor_service/set_option.html -/doc/asio/reference/socket_acceptor_service/socket_acceptor_service.html -/doc/asio/reference/socket_acceptor_service/wait.html +/doc/asio/reference/signal_set/remove/ +/doc/asio/reference/signal_set/remove.html +/doc/asio/reference/signal_set/remove/overload1.html +/doc/asio/reference/signal_set/remove/overload2.html +/doc/asio/reference/signal_set/signal_set/ +/doc/asio/reference/signal_set/_signal_set.html +/doc/asio/reference/signal_set/signal_set.html +/doc/asio/reference/signal_set/signal_set/overload1.html +/doc/asio/reference/signal_set/signal_set/overload2.html +/doc/asio/reference/signal_set/signal_set/overload3.html +/doc/asio/reference/signal_set/signal_set/overload4.html /doc/asio/reference/socket_base/ /doc/asio/reference/socket_base/broadcast.html /doc/asio/reference/socket_base/bytes_readable.html @@ -3314,11 +2999,13 @@ /doc/asio/reference/socket_base/keep_alive.html /doc/asio/reference/socket_base/linger.html /doc/asio/reference/socket_base/max_connections.html +/doc/asio/reference/socket_base/max_listen_connections.html /doc/asio/reference/socket_base/message_do_not_route.html /doc/asio/reference/socket_base/message_end_of_record.html /doc/asio/reference/socket_base/message_flags.html /doc/asio/reference/socket_base/message_out_of_band.html /doc/asio/reference/socket_base/message_peek.html +/doc/asio/reference/socket_base/out_of_band_inline.html /doc/asio/reference/socket_base/receive_buffer_size.html /doc/asio/reference/socket_base/receive_low_watermark.html /doc/asio/reference/socket_base/reuse_address.html @@ -3327,7 +3014,6 @@ /doc/asio/reference/socket_base/shutdown_type.html /doc/asio/reference/socket_base/_socket_base.html /doc/asio/reference/socket_base/wait_type.html -/doc/asio/reference/SocketService.html /doc/asio/reference/spawn/ /doc/asio/reference/spawn.html /doc/asio/reference/spawn/overload1.html @@ -3454,6 +3140,10 @@ /doc/asio/reference/ssl__context/use_tmp_dh.html /doc/asio/reference/ssl__context/use_tmp_dh/overload1.html /doc/asio/reference/ssl__context/use_tmp_dh/overload2.html +/doc/asio/reference/ssl__error__get_stream_category.html +/doc/asio/reference/ssl__error__make_error_code.html +/doc/asio/reference/ssl__error__stream_category.html +/doc/asio/reference/ssl__error__stream_errors.html /doc/asio/reference/ssl__rfc2818_verification/ /doc/asio/reference/ssl__rfc2818_verification.html /doc/asio/reference/ssl__rfc2818_verification/operator_lp__rp_.html @@ -3471,6 +3161,9 @@ /doc/asio/reference/ssl__stream_base/handshake_type.html /doc/asio/reference/ssl__stream_base.html /doc/asio/reference/ssl__stream_base/_stream_base.html +/doc/asio/reference/ssl__stream/executor_type.html +/doc/asio/reference/ssl__stream/get_executor.html +/doc/asio/reference/ssl__stream/get_io_context.html /doc/asio/reference/ssl__stream/get_io_service.html /doc/asio/reference/ssl__stream/handshake/ /doc/asio/reference/ssl__stream/handshake.html @@ -3561,59 +3254,31 @@ /doc/asio/reference/strand/strand/overload5.html /doc/asio/reference/strand/strand/overload6.html /doc/asio/reference/streambuf.html -/doc/asio/reference/StreamDescriptorService.html -/doc/asio/reference/StreamHandleService.html -/doc/asio/reference/stream_socket_service/ -/doc/asio/reference/stream_socket_service/assign.html -/doc/asio/reference/stream_socket_service/async_connect.html -/doc/asio/reference/stream_socket_service/async_receive.html -/doc/asio/reference/stream_socket_service/async_send.html -/doc/asio/reference/stream_socket_service/async_wait.html -/doc/asio/reference/stream_socket_service/at_mark.html -/doc/asio/reference/stream_socket_service/available.html -/doc/asio/reference/stream_socket_service/bind.html -/doc/asio/reference/stream_socket_service/cancel.html -/doc/asio/reference/stream_socket_service/close.html -/doc/asio/reference/stream_socket_service/connect.html -/doc/asio/reference/stream_socket_service/construct.html -/doc/asio/reference/stream_socket_service/converting_move_construct.html -/doc/asio/reference/stream_socket_service/destroy.html -/doc/asio/reference/stream_socket_service/endpoint_type.html -/doc/asio/reference/stream_socket_service/get_io_service.html -/doc/asio/reference/stream_socket_service/get_option.html -/doc/asio/reference/stream_socket_service.html -/doc/asio/reference/StreamSocketService.html -/doc/asio/reference/stream_socket_service/id.html -/doc/asio/reference/stream_socket_service/implementation_type.html -/doc/asio/reference/stream_socket_service/io_control.html -/doc/asio/reference/stream_socket_service/is_open.html -/doc/asio/reference/stream_socket_service/local_endpoint.html -/doc/asio/reference/stream_socket_service/move_assign.html -/doc/asio/reference/stream_socket_service/move_construct.html -/doc/asio/reference/stream_socket_service/native_handle.html -/doc/asio/reference/stream_socket_service/native_handle_type.html -/doc/asio/reference/stream_socket_service/native_non_blocking/ -/doc/asio/reference/stream_socket_service/native_non_blocking.html -/doc/asio/reference/stream_socket_service/native_non_blocking/overload1.html -/doc/asio/reference/stream_socket_service/native_non_blocking/overload2.html -/doc/asio/reference/stream_socket_service/non_blocking/ -/doc/asio/reference/stream_socket_service/non_blocking.html -/doc/asio/reference/stream_socket_service/non_blocking/overload1.html -/doc/asio/reference/stream_socket_service/non_blocking/overload2.html -/doc/asio/reference/stream_socket_service/open.html -/doc/asio/reference/stream_socket_service/protocol_type.html -/doc/asio/reference/stream_socket_service/receive.html -/doc/asio/reference/stream_socket_service/remote_endpoint.html -/doc/asio/reference/stream_socket_service/send.html -/doc/asio/reference/stream_socket_service/set_option.html -/doc/asio/reference/stream_socket_service/shutdown.html -/doc/asio/reference/stream_socket_service/stream_socket_service.html -/doc/asio/reference/stream_socket_service/wait.html +/doc/asio/reference/synchronous_socket_operations.html /doc/asio/reference/SyncRandomAccessReadDevice.html /doc/asio/reference/SyncRandomAccessWriteDevice.html /doc/asio/reference/SyncReadStream.html /doc/asio/reference/SyncWriteStream.html /doc/asio/reference/system_category.html +/doc/asio/reference/system_context/ +/doc/asio/reference/system_context/add_service.html +/doc/asio/reference/system_context/destroy.html +/doc/asio/reference/system_context/executor_type.html +/doc/asio/reference/system_context/fork_event.html +/doc/asio/reference/system_context/get_executor.html +/doc/asio/reference/system_context/has_service.html +/doc/asio/reference/system_context.html +/doc/asio/reference/system_context/join.html +/doc/asio/reference/system_context/make_service.html +/doc/asio/reference/system_context/notify_fork.html +/doc/asio/reference/system_context/shutdown.html +/doc/asio/reference/system_context/stop.html +/doc/asio/reference/system_context/stopped.html +/doc/asio/reference/system_context/_system_context.html +/doc/asio/reference/system_context/use_service/ +/doc/asio/reference/system_context/use_service.html +/doc/asio/reference/system_context/use_service/overload1.html +/doc/asio/reference/system_context/use_service/overload2.html /doc/asio/reference/system_error/ /doc/asio/reference/system_error/code.html /doc/asio/reference/system_error.html @@ -3627,23 +3292,6 @@ /doc/asio/reference/system_error/what.html /doc/asio/reference/system_executor/ /doc/asio/reference/system_executor/context.html -/doc/asio/reference/system_executor__context_impl/ -/doc/asio/reference/system_executor__context_impl/add_service.html -/doc/asio/reference/system_executor__context_impl/_context_impl.html -/doc/asio/reference/system_executor__context_impl/context_impl.html -/doc/asio/reference/system_executor__context_impl/destroy_context.html -/doc/asio/reference/system_executor__context_impl/fork_event.html -/doc/asio/reference/system_executor__context_impl/has_service.html -/doc/asio/reference/system_executor__context_impl.html -/doc/asio/reference/system_executor__context_impl/make_service.html -/doc/asio/reference/system_executor__context_impl/notify_fork.html -/doc/asio/reference/system_executor__context_impl/scheduler_.html -/doc/asio/reference/system_executor__context_impl/shutdown_context.html -/doc/asio/reference/system_executor__context_impl/threads_.html -/doc/asio/reference/system_executor__context_impl/use_service/ -/doc/asio/reference/system_executor__context_impl/use_service.html -/doc/asio/reference/system_executor__context_impl/use_service/overload1.html -/doc/asio/reference/system_executor__context_impl/use_service/overload2.html /doc/asio/reference/system_executor/defer.html /doc/asio/reference/system_executor/dispatch.html /doc/asio/reference/system_executor.html @@ -3652,17 +3300,13 @@ /doc/asio/reference/system_executor/operator_eq__eq_.html /doc/asio/reference/system_executor/operator_not__eq_.html /doc/asio/reference/system_executor/post.html -/doc/asio/reference/system_executor__thread_function/ -/doc/asio/reference/system_executor__thread_function.html -/doc/asio/reference/system_executor__thread_function/operator_lp__rp_.html -/doc/asio/reference/system_executor__thread_function/scheduler_.html /doc/asio/reference/system_timer.html /doc/asio/reference/thread/ /doc/asio/reference/thread.html /doc/asio/reference/thread/join.html /doc/asio/reference/thread_pool/ /doc/asio/reference/thread_pool/add_service.html -/doc/asio/reference/thread_pool/destroy_context.html +/doc/asio/reference/thread_pool/destroy.html /doc/asio/reference/thread_pool__executor_type/ /doc/asio/reference/thread_pool__executor_type/context.html /doc/asio/reference/thread_pool__executor_type/defer.html @@ -3681,12 +3325,8 @@ /doc/asio/reference/thread_pool/join.html /doc/asio/reference/thread_pool/make_service.html /doc/asio/reference/thread_pool/notify_fork.html -/doc/asio/reference/thread_pool/shutdown_context.html +/doc/asio/reference/thread_pool/shutdown.html /doc/asio/reference/thread_pool/stop.html -/doc/asio/reference/thread_pool__thread_function/ -/doc/asio/reference/thread_pool__thread_function.html -/doc/asio/reference/thread_pool__thread_function/operator_lp__rp_.html -/doc/asio/reference/thread_pool__thread_function/scheduler_.html /doc/asio/reference/thread_pool/thread_pool/ /doc/asio/reference/thread_pool/_thread_pool.html /doc/asio/reference/thread_pool/thread_pool.html @@ -3698,7 +3338,6 @@ /doc/asio/reference/thread_pool/use_service/overload2.html /doc/asio/reference/thread/_thread.html /doc/asio/reference/thread/thread.html -/doc/asio/reference/TimerService.html /doc/asio/reference/TimeTraits.html /doc/asio/reference/time_traits_lt__ptime__gt_/ /doc/asio/reference/time_traits_lt__ptime__gt_/add.html @@ -3718,6 +3357,8 @@ /doc/asio/reference/use_future_t/get_allocator.html /doc/asio/reference/use_future_t.html /doc/asio/reference/use_future_t/operator_lb__rb_.html +/doc/asio/reference/use_future_t/operator_lp__rp_.html +/doc/asio/reference/use_future_t/rebind.html /doc/asio/reference/use_future_t/use_future_t/ /doc/asio/reference/use_future_t/use_future_t.html /doc/asio/reference/use_future_t/use_future_t/overload1.html @@ -3727,35 +3368,6 @@ /doc/asio/reference/use_service/overload1.html /doc/asio/reference/use_service/overload2.html /doc/asio/reference/uses_executor.html -/doc/asio/reference/waitable_timer_service/ -/doc/asio/reference/waitable_timer_service/async_wait.html -/doc/asio/reference/waitable_timer_service/cancel.html -/doc/asio/reference/waitable_timer_service/cancel_one.html -/doc/asio/reference/waitable_timer_service/clock_type.html -/doc/asio/reference/waitable_timer_service/construct.html -/doc/asio/reference/waitable_timer_service/destroy.html -/doc/asio/reference/waitable_timer_service/duration.html -/doc/asio/reference/waitable_timer_service/expires_after.html -/doc/asio/reference/waitable_timer_service/expires_at/ -/doc/asio/reference/waitable_timer_service/expires_at.html -/doc/asio/reference/waitable_timer_service/expires_at/overload1.html -/doc/asio/reference/waitable_timer_service/expires_at/overload2.html -/doc/asio/reference/waitable_timer_service/expires_from_now/ -/doc/asio/reference/waitable_timer_service/expires_from_now.html -/doc/asio/reference/waitable_timer_service/expires_from_now/overload1.html -/doc/asio/reference/waitable_timer_service/expires_from_now/overload2.html -/doc/asio/reference/waitable_timer_service/expiry.html -/doc/asio/reference/waitable_timer_service/get_io_service.html -/doc/asio/reference/waitable_timer_service.html -/doc/asio/reference/WaitableTimerService.html -/doc/asio/reference/waitable_timer_service/id.html -/doc/asio/reference/waitable_timer_service/implementation_type.html -/doc/asio/reference/waitable_timer_service/move_assign.html -/doc/asio/reference/waitable_timer_service/move_construct.html -/doc/asio/reference/waitable_timer_service/time_point.html -/doc/asio/reference/waitable_timer_service/traits_type.html -/doc/asio/reference/waitable_timer_service/waitable_timer_service.html -/doc/asio/reference/waitable_timer_service/wait.html /doc/asio/reference/WaitHandler.html /doc/asio/reference/wait_traits/ /doc/asio/reference/wait_traits.html @@ -3764,215 +3376,76 @@ /doc/asio/reference/wait_traits/to_wait_duration.html /doc/asio/reference/wait_traits/to_wait_duration/overload1.html /doc/asio/reference/wait_traits/to_wait_duration/overload2.html -/doc/asio/reference/windows__basic_handle/ -/doc/asio/reference/windows__basic_handle/assign/ -/doc/asio/reference/windows__basic_handle/assign.html -/doc/asio/reference/windows__basic_handle/assign/overload1.html -/doc/asio/reference/windows__basic_handle/assign/overload2.html -/doc/asio/reference/windows__basic_handle/basic_handle/ -/doc/asio/reference/windows__basic_handle/_basic_handle.html -/doc/asio/reference/windows__basic_handle/basic_handle.html -/doc/asio/reference/windows__basic_handle/basic_handle/overload1.html -/doc/asio/reference/windows__basic_handle/basic_handle/overload2.html -/doc/asio/reference/windows__basic_handle/basic_handle/overload3.html -/doc/asio/reference/windows__basic_handle/cancel/ -/doc/asio/reference/windows__basic_handle/cancel.html -/doc/asio/reference/windows__basic_handle/cancel/overload1.html -/doc/asio/reference/windows__basic_handle/cancel/overload2.html -/doc/asio/reference/windows__basic_handle/close/ -/doc/asio/reference/windows__basic_handle/close.html -/doc/asio/reference/windows__basic_handle/close/overload1.html -/doc/asio/reference/windows__basic_handle/close/overload2.html -/doc/asio/reference/windows__basic_handle/executor_type.html -/doc/asio/reference/windows__basic_handle/get_executor.html -/doc/asio/reference/windows__basic_handle/get_implementation/ -/doc/asio/reference/windows__basic_handle/get_implementation.html -/doc/asio/reference/windows__basic_handle/get_implementation/overload1.html -/doc/asio/reference/windows__basic_handle/get_implementation/overload2.html -/doc/asio/reference/windows__basic_handle/get_io_service.html -/doc/asio/reference/windows__basic_handle/get_service/ -/doc/asio/reference/windows__basic_handle/get_service.html -/doc/asio/reference/windows__basic_handle/get_service/overload1.html -/doc/asio/reference/windows__basic_handle/get_service/overload2.html -/doc/asio/reference/windows__basic_handle.html -/doc/asio/reference/windows__basic_handle/implementation_type.html -/doc/asio/reference/windows__basic_handle/is_open.html -/doc/asio/reference/windows__basic_handle/lowest_layer/ -/doc/asio/reference/windows__basic_handle/lowest_layer.html -/doc/asio/reference/windows__basic_handle/lowest_layer/overload1.html -/doc/asio/reference/windows__basic_handle/lowest_layer/overload2.html -/doc/asio/reference/windows__basic_handle/lowest_layer_type.html -/doc/asio/reference/windows__basic_handle/native_handle.html -/doc/asio/reference/windows__basic_handle/native_handle_type.html -/doc/asio/reference/windows__basic_handle/operator_eq_.html -/doc/asio/reference/windows__basic_handle/service_type.html -/doc/asio/reference/windows__basic_object_handle/ -/doc/asio/reference/windows__basic_object_handle/assign/ -/doc/asio/reference/windows__basic_object_handle/assign.html -/doc/asio/reference/windows__basic_object_handle/assign/overload1.html -/doc/asio/reference/windows__basic_object_handle/assign/overload2.html -/doc/asio/reference/windows__basic_object_handle/async_wait.html -/doc/asio/reference/windows__basic_object_handle/basic_object_handle/ -/doc/asio/reference/windows__basic_object_handle/basic_object_handle.html -/doc/asio/reference/windows__basic_object_handle/basic_object_handle/overload1.html -/doc/asio/reference/windows__basic_object_handle/basic_object_handle/overload2.html -/doc/asio/reference/windows__basic_object_handle/basic_object_handle/overload3.html -/doc/asio/reference/windows__basic_object_handle/cancel/ -/doc/asio/reference/windows__basic_object_handle/cancel.html -/doc/asio/reference/windows__basic_object_handle/cancel/overload1.html -/doc/asio/reference/windows__basic_object_handle/cancel/overload2.html -/doc/asio/reference/windows__basic_object_handle/close/ -/doc/asio/reference/windows__basic_object_handle/close.html -/doc/asio/reference/windows__basic_object_handle/close/overload1.html -/doc/asio/reference/windows__basic_object_handle/close/overload2.html -/doc/asio/reference/windows__basic_object_handle/executor_type.html -/doc/asio/reference/windows__basic_object_handle/get_executor.html -/doc/asio/reference/windows__basic_object_handle/get_implementation/ -/doc/asio/reference/windows__basic_object_handle/get_implementation.html -/doc/asio/reference/windows__basic_object_handle/get_implementation/overload1.html -/doc/asio/reference/windows__basic_object_handle/get_implementation/overload2.html -/doc/asio/reference/windows__basic_object_handle/get_io_service.html -/doc/asio/reference/windows__basic_object_handle/get_service/ -/doc/asio/reference/windows__basic_object_handle/get_service.html -/doc/asio/reference/windows__basic_object_handle/get_service/overload1.html -/doc/asio/reference/windows__basic_object_handle/get_service/overload2.html -/doc/asio/reference/windows__basic_object_handle.html -/doc/asio/reference/windows__basic_object_handle/implementation_type.html -/doc/asio/reference/windows__basic_object_handle/is_open.html -/doc/asio/reference/windows__basic_object_handle/lowest_layer/ -/doc/asio/reference/windows__basic_object_handle/lowest_layer.html -/doc/asio/reference/windows__basic_object_handle/lowest_layer/overload1.html -/doc/asio/reference/windows__basic_object_handle/lowest_layer/overload2.html -/doc/asio/reference/windows__basic_object_handle/lowest_layer_type.html -/doc/asio/reference/windows__basic_object_handle/native_handle.html -/doc/asio/reference/windows__basic_object_handle/native_handle_type.html -/doc/asio/reference/windows__basic_object_handle/operator_eq_.html -/doc/asio/reference/windows__basic_object_handle/service_type.html -/doc/asio/reference/windows__basic_object_handle/wait/ -/doc/asio/reference/windows__basic_object_handle/wait.html -/doc/asio/reference/windows__basic_object_handle/wait/overload1.html -/doc/asio/reference/windows__basic_object_handle/wait/overload2.html -/doc/asio/reference/windows__basic_random_access_handle/ -/doc/asio/reference/windows__basic_random_access_handle/assign/ -/doc/asio/reference/windows__basic_random_access_handle/assign.html -/doc/asio/reference/windows__basic_random_access_handle/assign/overload1.html -/doc/asio/reference/windows__basic_random_access_handle/assign/overload2.html -/doc/asio/reference/windows__basic_random_access_handle/async_read_some_at.html -/doc/asio/reference/windows__basic_random_access_handle/async_write_some_at.html -/doc/asio/reference/windows__basic_random_access_handle/basic_random_access_handle/ -/doc/asio/reference/windows__basic_random_access_handle/basic_random_access_handle.html -/doc/asio/reference/windows__basic_random_access_handle/basic_random_access_handle/overload1.html -/doc/asio/reference/windows__basic_random_access_handle/basic_random_access_handle/overload2.html -/doc/asio/reference/windows__basic_random_access_handle/basic_random_access_handle/overload3.html -/doc/asio/reference/windows__basic_random_access_handle/cancel/ -/doc/asio/reference/windows__basic_random_access_handle/cancel.html -/doc/asio/reference/windows__basic_random_access_handle/cancel/overload1.html -/doc/asio/reference/windows__basic_random_access_handle/cancel/overload2.html -/doc/asio/reference/windows__basic_random_access_handle/close/ -/doc/asio/reference/windows__basic_random_access_handle/close.html -/doc/asio/reference/windows__basic_random_access_handle/close/overload1.html -/doc/asio/reference/windows__basic_random_access_handle/close/overload2.html -/doc/asio/reference/windows__basic_random_access_handle/executor_type.html -/doc/asio/reference/windows__basic_random_access_handle/get_executor.html -/doc/asio/reference/windows__basic_random_access_handle/get_implementation/ -/doc/asio/reference/windows__basic_random_access_handle/get_implementation.html -/doc/asio/reference/windows__basic_random_access_handle/get_implementation/overload1.html -/doc/asio/reference/windows__basic_random_access_handle/get_implementation/overload2.html -/doc/asio/reference/windows__basic_random_access_handle/get_io_service.html -/doc/asio/reference/windows__basic_random_access_handle/get_service/ -/doc/asio/reference/windows__basic_random_access_handle/get_service.html -/doc/asio/reference/windows__basic_random_access_handle/get_service/overload1.html -/doc/asio/reference/windows__basic_random_access_handle/get_service/overload2.html -/doc/asio/reference/windows__basic_random_access_handle.html -/doc/asio/reference/windows__basic_random_access_handle/implementation_type.html -/doc/asio/reference/windows__basic_random_access_handle/is_open.html -/doc/asio/reference/windows__basic_random_access_handle/lowest_layer/ -/doc/asio/reference/windows__basic_random_access_handle/lowest_layer.html -/doc/asio/reference/windows__basic_random_access_handle/lowest_layer/overload1.html -/doc/asio/reference/windows__basic_random_access_handle/lowest_layer/overload2.html -/doc/asio/reference/windows__basic_random_access_handle/lowest_layer_type.html -/doc/asio/reference/windows__basic_random_access_handle/native_handle.html -/doc/asio/reference/windows__basic_random_access_handle/native_handle_type.html -/doc/asio/reference/windows__basic_random_access_handle/operator_eq_.html -/doc/asio/reference/windows__basic_random_access_handle/read_some_at/ -/doc/asio/reference/windows__basic_random_access_handle/read_some_at.html -/doc/asio/reference/windows__basic_random_access_handle/read_some_at/overload1.html -/doc/asio/reference/windows__basic_random_access_handle/read_some_at/overload2.html -/doc/asio/reference/windows__basic_random_access_handle/service_type.html -/doc/asio/reference/windows__basic_random_access_handle/write_some_at/ -/doc/asio/reference/windows__basic_random_access_handle/write_some_at.html -/doc/asio/reference/windows__basic_random_access_handle/write_some_at/overload1.html -/doc/asio/reference/windows__basic_random_access_handle/write_some_at/overload2.html -/doc/asio/reference/windows__basic_stream_handle/ -/doc/asio/reference/windows__basic_stream_handle/assign/ -/doc/asio/reference/windows__basic_stream_handle/assign.html -/doc/asio/reference/windows__basic_stream_handle/assign/overload1.html -/doc/asio/reference/windows__basic_stream_handle/assign/overload2.html -/doc/asio/reference/windows__basic_stream_handle/async_read_some.html -/doc/asio/reference/windows__basic_stream_handle/async_write_some.html -/doc/asio/reference/windows__basic_stream_handle/basic_stream_handle/ -/doc/asio/reference/windows__basic_stream_handle/basic_stream_handle.html -/doc/asio/reference/windows__basic_stream_handle/basic_stream_handle/overload1.html -/doc/asio/reference/windows__basic_stream_handle/basic_stream_handle/overload2.html -/doc/asio/reference/windows__basic_stream_handle/basic_stream_handle/overload3.html -/doc/asio/reference/windows__basic_stream_handle/cancel/ -/doc/asio/reference/windows__basic_stream_handle/cancel.html -/doc/asio/reference/windows__basic_stream_handle/cancel/overload1.html -/doc/asio/reference/windows__basic_stream_handle/cancel/overload2.html -/doc/asio/reference/windows__basic_stream_handle/close/ -/doc/asio/reference/windows__basic_stream_handle/close.html -/doc/asio/reference/windows__basic_stream_handle/close/overload1.html -/doc/asio/reference/windows__basic_stream_handle/close/overload2.html -/doc/asio/reference/windows__basic_stream_handle/executor_type.html -/doc/asio/reference/windows__basic_stream_handle/get_executor.html -/doc/asio/reference/windows__basic_stream_handle/get_implementation/ -/doc/asio/reference/windows__basic_stream_handle/get_implementation.html -/doc/asio/reference/windows__basic_stream_handle/get_implementation/overload1.html -/doc/asio/reference/windows__basic_stream_handle/get_implementation/overload2.html -/doc/asio/reference/windows__basic_stream_handle/get_io_service.html -/doc/asio/reference/windows__basic_stream_handle/get_service/ -/doc/asio/reference/windows__basic_stream_handle/get_service.html -/doc/asio/reference/windows__basic_stream_handle/get_service/overload1.html -/doc/asio/reference/windows__basic_stream_handle/get_service/overload2.html -/doc/asio/reference/windows__basic_stream_handle.html -/doc/asio/reference/windows__basic_stream_handle/implementation_type.html -/doc/asio/reference/windows__basic_stream_handle/is_open.html -/doc/asio/reference/windows__basic_stream_handle/lowest_layer/ -/doc/asio/reference/windows__basic_stream_handle/lowest_layer.html -/doc/asio/reference/windows__basic_stream_handle/lowest_layer/overload1.html -/doc/asio/reference/windows__basic_stream_handle/lowest_layer/overload2.html -/doc/asio/reference/windows__basic_stream_handle/lowest_layer_type.html -/doc/asio/reference/windows__basic_stream_handle/native_handle.html -/doc/asio/reference/windows__basic_stream_handle/native_handle_type.html -/doc/asio/reference/windows__basic_stream_handle/operator_eq_.html -/doc/asio/reference/windows__basic_stream_handle/read_some/ -/doc/asio/reference/windows__basic_stream_handle/read_some.html -/doc/asio/reference/windows__basic_stream_handle/read_some/overload1.html -/doc/asio/reference/windows__basic_stream_handle/read_some/overload2.html -/doc/asio/reference/windows__basic_stream_handle/service_type.html -/doc/asio/reference/windows__basic_stream_handle/write_some/ -/doc/asio/reference/windows__basic_stream_handle/write_some.html -/doc/asio/reference/windows__basic_stream_handle/write_some/overload1.html -/doc/asio/reference/windows__basic_stream_handle/write_some/overload2.html +/doc/asio/reference/windows__object_handle/ +/doc/asio/reference/windows__object_handle/assign/ +/doc/asio/reference/windows__object_handle/assign.html +/doc/asio/reference/windows__object_handle/assign/overload1.html +/doc/asio/reference/windows__object_handle/assign/overload2.html +/doc/asio/reference/windows__object_handle/async_wait.html +/doc/asio/reference/windows__object_handle/cancel/ +/doc/asio/reference/windows__object_handle/cancel.html +/doc/asio/reference/windows__object_handle/cancel/overload1.html +/doc/asio/reference/windows__object_handle/cancel/overload2.html +/doc/asio/reference/windows__object_handle/close/ +/doc/asio/reference/windows__object_handle/close.html +/doc/asio/reference/windows__object_handle/close/overload1.html +/doc/asio/reference/windows__object_handle/close/overload2.html +/doc/asio/reference/windows__object_handle/executor_type.html +/doc/asio/reference/windows__object_handle/get_executor.html +/doc/asio/reference/windows__object_handle/get_io_context.html +/doc/asio/reference/windows__object_handle/get_io_service.html /doc/asio/reference/windows__object_handle.html -/doc/asio/reference/windows__object_handle_service/ -/doc/asio/reference/windows__object_handle_service/assign.html -/doc/asio/reference/windows__object_handle_service/async_wait.html -/doc/asio/reference/windows__object_handle_service/cancel.html -/doc/asio/reference/windows__object_handle_service/close.html -/doc/asio/reference/windows__object_handle_service/construct.html -/doc/asio/reference/windows__object_handle_service/destroy.html -/doc/asio/reference/windows__object_handle_service/get_io_service.html -/doc/asio/reference/windows__object_handle_service.html -/doc/asio/reference/windows__object_handle_service/id.html -/doc/asio/reference/windows__object_handle_service/implementation_type.html -/doc/asio/reference/windows__object_handle_service/is_open.html -/doc/asio/reference/windows__object_handle_service/move_assign.html -/doc/asio/reference/windows__object_handle_service/move_construct.html -/doc/asio/reference/windows__object_handle_service/native_handle.html -/doc/asio/reference/windows__object_handle_service/native_handle_type.html -/doc/asio/reference/windows__object_handle_service/object_handle_service.html -/doc/asio/reference/windows__object_handle_service/wait.html +/doc/asio/reference/windows__object_handle/is_open.html +/doc/asio/reference/windows__object_handle/lowest_layer/ +/doc/asio/reference/windows__object_handle/lowest_layer.html +/doc/asio/reference/windows__object_handle/lowest_layer/overload1.html +/doc/asio/reference/windows__object_handle/lowest_layer/overload2.html +/doc/asio/reference/windows__object_handle/lowest_layer_type.html +/doc/asio/reference/windows__object_handle/native_handle.html +/doc/asio/reference/windows__object_handle/native_handle_type.html +/doc/asio/reference/windows__object_handle/object_handle/ +/doc/asio/reference/windows__object_handle/object_handle.html +/doc/asio/reference/windows__object_handle/object_handle/overload1.html +/doc/asio/reference/windows__object_handle/object_handle/overload2.html +/doc/asio/reference/windows__object_handle/object_handle/overload3.html +/doc/asio/reference/windows__object_handle/operator_eq_.html +/doc/asio/reference/windows__object_handle/wait/ +/doc/asio/reference/windows__object_handle/wait.html +/doc/asio/reference/windows__object_handle/wait/overload1.html +/doc/asio/reference/windows__object_handle/wait/overload2.html +/doc/asio/reference/windows__overlapped_handle/ +/doc/asio/reference/windows__overlapped_handle/assign/ +/doc/asio/reference/windows__overlapped_handle/assign.html +/doc/asio/reference/windows__overlapped_handle/assign/overload1.html +/doc/asio/reference/windows__overlapped_handle/assign/overload2.html +/doc/asio/reference/windows__overlapped_handle/cancel/ +/doc/asio/reference/windows__overlapped_handle/cancel.html +/doc/asio/reference/windows__overlapped_handle/cancel/overload1.html +/doc/asio/reference/windows__overlapped_handle/cancel/overload2.html +/doc/asio/reference/windows__overlapped_handle/close/ +/doc/asio/reference/windows__overlapped_handle/close.html +/doc/asio/reference/windows__overlapped_handle/close/overload1.html +/doc/asio/reference/windows__overlapped_handle/close/overload2.html +/doc/asio/reference/windows__overlapped_handle/executor_type.html +/doc/asio/reference/windows__overlapped_handle/get_executor.html +/doc/asio/reference/windows__overlapped_handle/get_io_context.html +/doc/asio/reference/windows__overlapped_handle/get_io_service.html +/doc/asio/reference/windows__overlapped_handle.html +/doc/asio/reference/windows__overlapped_handle/is_open.html +/doc/asio/reference/windows__overlapped_handle/lowest_layer/ +/doc/asio/reference/windows__overlapped_handle/lowest_layer.html +/doc/asio/reference/windows__overlapped_handle/lowest_layer/overload1.html +/doc/asio/reference/windows__overlapped_handle/lowest_layer/overload2.html +/doc/asio/reference/windows__overlapped_handle/lowest_layer_type.html +/doc/asio/reference/windows__overlapped_handle/native_handle.html +/doc/asio/reference/windows__overlapped_handle/native_handle_type.html +/doc/asio/reference/windows__overlapped_handle/operator_eq_.html +/doc/asio/reference/windows__overlapped_handle/overlapped_handle/ +/doc/asio/reference/windows__overlapped_handle/_overlapped_handle.html +/doc/asio/reference/windows__overlapped_handle/overlapped_handle.html +/doc/asio/reference/windows__overlapped_handle/overlapped_handle/overload1.html +/doc/asio/reference/windows__overlapped_handle/overlapped_handle/overload2.html +/doc/asio/reference/windows__overlapped_handle/overlapped_handle/overload3.html /doc/asio/reference/windows__overlapped_ptr/ /doc/asio/reference/windows__overlapped_ptr/complete.html /doc/asio/reference/windows__overlapped_ptr/get/ @@ -3990,52 +3463,90 @@ /doc/asio/reference/windows__overlapped_ptr/reset.html /doc/asio/reference/windows__overlapped_ptr/reset/overload1.html /doc/asio/reference/windows__overlapped_ptr/reset/overload2.html +/doc/asio/reference/windows__random_access_handle/ +/doc/asio/reference/windows__random_access_handle/assign/ +/doc/asio/reference/windows__random_access_handle/assign.html +/doc/asio/reference/windows__random_access_handle/assign/overload1.html +/doc/asio/reference/windows__random_access_handle/assign/overload2.html +/doc/asio/reference/windows__random_access_handle/async_read_some_at.html +/doc/asio/reference/windows__random_access_handle/async_write_some_at.html +/doc/asio/reference/windows__random_access_handle/cancel/ +/doc/asio/reference/windows__random_access_handle/cancel.html +/doc/asio/reference/windows__random_access_handle/cancel/overload1.html +/doc/asio/reference/windows__random_access_handle/cancel/overload2.html +/doc/asio/reference/windows__random_access_handle/close/ +/doc/asio/reference/windows__random_access_handle/close.html +/doc/asio/reference/windows__random_access_handle/close/overload1.html +/doc/asio/reference/windows__random_access_handle/close/overload2.html +/doc/asio/reference/windows__random_access_handle/executor_type.html +/doc/asio/reference/windows__random_access_handle/get_executor.html +/doc/asio/reference/windows__random_access_handle/get_io_context.html +/doc/asio/reference/windows__random_access_handle/get_io_service.html /doc/asio/reference/windows__random_access_handle.html -/doc/asio/reference/windows__random_access_handle_service/ -/doc/asio/reference/windows__random_access_handle_service/assign.html -/doc/asio/reference/windows__random_access_handle_service/async_read_some_at.html -/doc/asio/reference/windows__random_access_handle_service/async_write_some_at.html -/doc/asio/reference/windows__random_access_handle_service/cancel.html -/doc/asio/reference/windows__random_access_handle_service/close.html -/doc/asio/reference/windows__random_access_handle_service/construct.html -/doc/asio/reference/windows__random_access_handle_service/destroy.html -/doc/asio/reference/windows__random_access_handle_service/get_io_service.html -/doc/asio/reference/windows__random_access_handle_service.html -/doc/asio/reference/windows__random_access_handle_service/id.html -/doc/asio/reference/windows__random_access_handle_service/implementation_type.html -/doc/asio/reference/windows__random_access_handle_service/is_open.html -/doc/asio/reference/windows__random_access_handle_service/move_assign.html -/doc/asio/reference/windows__random_access_handle_service/move_construct.html -/doc/asio/reference/windows__random_access_handle_service/native_handle.html -/doc/asio/reference/windows__random_access_handle_service/native_handle_type.html -/doc/asio/reference/windows__random_access_handle_service/random_access_handle_service.html -/doc/asio/reference/windows__random_access_handle_service/read_some_at.html -/doc/asio/reference/windows__random_access_handle_service/write_some_at.html +/doc/asio/reference/windows__random_access_handle/is_open.html +/doc/asio/reference/windows__random_access_handle/lowest_layer/ +/doc/asio/reference/windows__random_access_handle/lowest_layer.html +/doc/asio/reference/windows__random_access_handle/lowest_layer/overload1.html +/doc/asio/reference/windows__random_access_handle/lowest_layer/overload2.html +/doc/asio/reference/windows__random_access_handle/lowest_layer_type.html +/doc/asio/reference/windows__random_access_handle/native_handle.html +/doc/asio/reference/windows__random_access_handle/native_handle_type.html +/doc/asio/reference/windows__random_access_handle/operator_eq_.html +/doc/asio/reference/windows__random_access_handle/random_access_handle/ +/doc/asio/reference/windows__random_access_handle/random_access_handle.html +/doc/asio/reference/windows__random_access_handle/random_access_handle/overload1.html +/doc/asio/reference/windows__random_access_handle/random_access_handle/overload2.html +/doc/asio/reference/windows__random_access_handle/random_access_handle/overload3.html +/doc/asio/reference/windows__random_access_handle/read_some_at/ +/doc/asio/reference/windows__random_access_handle/read_some_at.html +/doc/asio/reference/windows__random_access_handle/read_some_at/overload1.html +/doc/asio/reference/windows__random_access_handle/read_some_at/overload2.html +/doc/asio/reference/windows__random_access_handle/write_some_at/ +/doc/asio/reference/windows__random_access_handle/write_some_at.html +/doc/asio/reference/windows__random_access_handle/write_some_at/overload1.html +/doc/asio/reference/windows__random_access_handle/write_some_at/overload2.html +/doc/asio/reference/windows__stream_handle/ +/doc/asio/reference/windows__stream_handle/assign/ +/doc/asio/reference/windows__stream_handle/assign.html +/doc/asio/reference/windows__stream_handle/assign/overload1.html +/doc/asio/reference/windows__stream_handle/assign/overload2.html +/doc/asio/reference/windows__stream_handle/async_read_some.html +/doc/asio/reference/windows__stream_handle/async_write_some.html +/doc/asio/reference/windows__stream_handle/cancel/ +/doc/asio/reference/windows__stream_handle/cancel.html +/doc/asio/reference/windows__stream_handle/cancel/overload1.html +/doc/asio/reference/windows__stream_handle/cancel/overload2.html +/doc/asio/reference/windows__stream_handle/close/ +/doc/asio/reference/windows__stream_handle/close.html +/doc/asio/reference/windows__stream_handle/close/overload1.html +/doc/asio/reference/windows__stream_handle/close/overload2.html +/doc/asio/reference/windows__stream_handle/executor_type.html +/doc/asio/reference/windows__stream_handle/get_executor.html +/doc/asio/reference/windows__stream_handle/get_io_context.html +/doc/asio/reference/windows__stream_handle/get_io_service.html /doc/asio/reference/windows__stream_handle.html -/doc/asio/reference/windows__stream_handle_service/ -/doc/asio/reference/windows__stream_handle_service/assign.html -/doc/asio/reference/windows__stream_handle_service/async_read_some.html -/doc/asio/reference/windows__stream_handle_service/async_write_some.html -/doc/asio/reference/windows__stream_handle_service/cancel.html -/doc/asio/reference/windows__stream_handle_service/close.html -/doc/asio/reference/windows__stream_handle_service/construct.html -/doc/asio/reference/windows__stream_handle_service/destroy.html -/doc/asio/reference/windows__stream_handle_service/get_io_service.html -/doc/asio/reference/windows__stream_handle_service.html -/doc/asio/reference/windows__stream_handle_service/id.html -/doc/asio/reference/windows__stream_handle_service/implementation_type.html -/doc/asio/reference/windows__stream_handle_service/is_open.html -/doc/asio/reference/windows__stream_handle_service/move_assign.html -/doc/asio/reference/windows__stream_handle_service/move_construct.html -/doc/asio/reference/windows__stream_handle_service/native_handle.html -/doc/asio/reference/windows__stream_handle_service/native_handle_type.html -/doc/asio/reference/windows__stream_handle_service/read_some.html -/doc/asio/reference/windows__stream_handle_service/stream_handle_service.html -/doc/asio/reference/windows__stream_handle_service/write_some.html -/doc/asio/reference/wrap/ -/doc/asio/reference/wrap.html -/doc/asio/reference/wrap/overload1.html -/doc/asio/reference/wrap/overload2.html +/doc/asio/reference/windows__stream_handle/is_open.html +/doc/asio/reference/windows__stream_handle/lowest_layer/ +/doc/asio/reference/windows__stream_handle/lowest_layer.html +/doc/asio/reference/windows__stream_handle/lowest_layer/overload1.html +/doc/asio/reference/windows__stream_handle/lowest_layer/overload2.html +/doc/asio/reference/windows__stream_handle/lowest_layer_type.html +/doc/asio/reference/windows__stream_handle/native_handle.html +/doc/asio/reference/windows__stream_handle/native_handle_type.html +/doc/asio/reference/windows__stream_handle/operator_eq_.html +/doc/asio/reference/windows__stream_handle/read_some/ +/doc/asio/reference/windows__stream_handle/read_some.html +/doc/asio/reference/windows__stream_handle/read_some/overload1.html +/doc/asio/reference/windows__stream_handle/read_some/overload2.html +/doc/asio/reference/windows__stream_handle/stream_handle/ +/doc/asio/reference/windows__stream_handle/stream_handle.html +/doc/asio/reference/windows__stream_handle/stream_handle/overload1.html +/doc/asio/reference/windows__stream_handle/stream_handle/overload2.html +/doc/asio/reference/windows__stream_handle/stream_handle/overload3.html +/doc/asio/reference/windows__stream_handle/write_some/ +/doc/asio/reference/windows__stream_handle/write_some.html +/doc/asio/reference/windows__stream_handle/write_some/overload1.html +/doc/asio/reference/windows__stream_handle/write_some/overload2.html /doc/asio/reference/write/ /doc/asio/reference/write_at/ /doc/asio/reference/write_at.html @@ -4132,8 +3643,13 @@ /doc/examples/diffs/executors/fork_join.cpp.html /doc/examples/diffs/executors/pipeline.cpp.html /doc/examples/diffs/executors/priority_scheduler.cpp.html +/doc/examples/diffs/fork/ +/doc/examples/diffs/fork/daemon.cpp.html +/doc/examples/diffs/fork/process_per_connection.cpp.html /doc/examples/diffs/futures/ /doc/examples/diffs/futures/daytime_client.cpp.html +/doc/examples/diffs/handler_tracking/ +/doc/examples/diffs/handler_tracking/custom_tracking.hpp.html /doc/examples/diffs/http/ /doc/examples/diffs/http/server/ /doc/examples/diffs/http/server/connection.cpp.html @@ -4153,8 +3669,24 @@ /doc/examples/diffs/http/server/request_parser.hpp.html /doc/examples/diffs/http/server/server.cpp.html /doc/examples/diffs/http/server/server.hpp.html +/doc/examples/diffs/icmp/ +/doc/examples/diffs/icmp/icmp_header.hpp.html +/doc/examples/diffs/icmp/ipv4_header.hpp.html +/doc/examples/diffs/icmp/ping.cpp.html +/doc/examples/diffs/invocation/ +/doc/examples/diffs/invocation/prioritised_handlers.cpp.html /doc/examples/diffs/iostreams/ /doc/examples/diffs/iostreams/http_client.cpp.html +/doc/examples/diffs/local/ +/doc/examples/diffs/local/connect_pair.cpp.html +/doc/examples/diffs/local/iostream_client.cpp.html +/doc/examples/diffs/local/stream_client.cpp.html +/doc/examples/diffs/local/stream_server.cpp.html +/doc/examples/diffs/multicast/ +/doc/examples/diffs/multicast/receiver.cpp.html +/doc/examples/diffs/multicast/sender.cpp.html +/doc/examples/diffs/nonblocking/ +/doc/examples/diffs/nonblocking/third_party_lib.cpp.html /doc/examples/diffs/spawn/ /doc/examples/diffs/spawn/echo_server.cpp.html /doc/examples/diffs/spawn/parallel_grep.cpp.html @@ -4193,6 +3725,7 @@ /include/asio/basic_streambuf.hpp /include/asio/basic_stream_socket.hpp /include/asio/basic_waitable_timer.hpp +/include/asio/bind_executor.hpp /include/asio/buffered_read_stream_fwd.hpp /include/asio/buffered_read_stream.hpp /include/asio/buffered_stream_fwd.hpp @@ -4219,8 +3752,12 @@ /include/asio/detail/buffer_resize_guard.hpp /include/asio/detail/buffer_sequence_adapter.hpp /include/asio/detail/call_stack.hpp +/include/asio/detail/chrono.hpp /include/asio/detail/chrono_time_traits.hpp /include/asio/detail/completion_handler.hpp +/include/asio/detail/concurrency_hint.hpp +/include/asio/detail/conditionally_enabled_event.hpp +/include/asio/detail/conditionally_enabled_mutex.hpp /include/asio/detail/config.hpp /include/asio/detail/consuming_buffers.hpp /include/asio/detail/cstddef.hpp @@ -4262,6 +3799,7 @@ /include/asio/detail/impl/handler_tracking.ipp /include/asio/detail/impl/kqueue_reactor.hpp /include/asio/detail/impl/kqueue_reactor.ipp +/include/asio/detail/impl/null_event.ipp /include/asio/detail/impl/pipe_select_interrupter.ipp /include/asio/detail/impl/posix_event.ipp /include/asio/detail/impl/posix_mutex.ipp @@ -4288,8 +3826,8 @@ /include/asio/detail/impl/timer_queue_set.ipp /include/asio/detail/impl/win_event.ipp /include/asio/detail/impl/win_iocp_handle_service.ipp -/include/asio/detail/impl/win_iocp_io_service.hpp -/include/asio/detail/impl/win_iocp_io_service.ipp +/include/asio/detail/impl/win_iocp_io_context.hpp +/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_mutex.ipp @@ -4303,6 +3841,7 @@ /include/asio/detail/impl/win_tss_ptr.ipp /include/asio/detail/io_control.hpp /include/asio/detail/is_buffer_sequence.hpp +/include/asio/detail/is_executor.hpp /include/asio/detail/keyword_tss_ptr.hpp /include/asio/detail/kqueue_reactor.hpp /include/asio/detail/limits.hpp @@ -4357,6 +3896,7 @@ /include/asio/detail/regex_fwd.hpp /include/asio/detail/resolve_endpoint_op.hpp /include/asio/detail/resolve_op.hpp +/include/asio/detail/resolve_query_op.hpp /include/asio/detail/resolver_service_base.hpp /include/asio/detail/resolver_service.hpp /include/asio/detail/scheduler.hpp @@ -4380,12 +3920,14 @@ /include/asio/detail/solaris_fenced_block.hpp /include/asio/detail/static_mutex.hpp /include/asio/detail/std_event.hpp +/include/asio/detail/std_fenced_block.hpp /include/asio/detail/std_global.hpp /include/asio/detail/std_mutex.hpp /include/asio/detail/std_static_mutex.hpp /include/asio/detail/std_thread.hpp /include/asio/detail/strand_executor_service.hpp /include/asio/detail/strand_service.hpp +/include/asio/detail/string_view.hpp /include/asio/detail/thread_context.hpp /include/asio/detail/thread_group.hpp /include/asio/detail/thread.hpp @@ -4403,6 +3945,7 @@ /include/asio/detail/variadic_templates.hpp /include/asio/detail/wait_handler.hpp /include/asio/detail/wait_op.hpp +/include/asio/detail/winapp_thread.hpp /include/asio/detail/wince_thread.hpp /include/asio/detail/win_event.hpp /include/asio/detail/win_fd_set_adapter.hpp @@ -4411,7 +3954,7 @@ /include/asio/detail/win_iocp_handle_read_op.hpp /include/asio/detail/win_iocp_handle_service.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/win_iocp_null_buffers_op.hpp /include/asio/detail/win_iocp_operation.hpp /include/asio/detail/win_iocp_overlapped_op.hpp @@ -4451,7 +3994,7 @@ /include/asio/error.hpp /include/asio/execution_context.hpp /include/asio/executor.hpp -/include/asio/executor_work.hpp +/include/asio/executor_work_guard.hpp /include/asio/generic/ /include/asio/generic/basic_endpoint.hpp /include/asio/generic/datagram_protocol.hpp @@ -4481,8 +4024,8 @@ /include/asio/impl/executor.hpp /include/asio/impl/executor.ipp /include/asio/impl/handler_alloc_hook.ipp -/include/asio/impl/io_service.hpp -/include/asio/impl/io_service.ipp +/include/asio/impl/io_context.hpp +/include/asio/impl/io_context.ipp /include/asio/impl/post.hpp /include/asio/impl/read_at.hpp /include/asio/impl/read.hpp @@ -4492,29 +4035,33 @@ /include/asio/impl/spawn.hpp /include/asio/impl/src.cpp /include/asio/impl/src.hpp +/include/asio/impl/system_context.hpp +/include/asio/impl/system_context.ipp /include/asio/impl/system_executor.hpp -/include/asio/impl/system_executor.ipp /include/asio/impl/thread_pool.hpp /include/asio/impl/thread_pool.ipp /include/asio/impl/use_future.hpp /include/asio/impl/write_at.hpp /include/asio/impl/write.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/ /include/asio/ip/address.hpp -/include/asio/ip/address_iterator_v4.hpp -/include/asio/ip/address_iterator_v6.hpp -/include/asio/ip/address_range_v4.hpp -/include/asio/ip/address_range_v6.hpp /include/asio/ip/address_v4.hpp +/include/asio/ip/address_v4_iterator.hpp +/include/asio/ip/address_v4_range.hpp /include/asio/ip/address_v6.hpp +/include/asio/ip/address_v6_iterator.hpp +/include/asio/ip/address_v6_range.hpp /include/asio/ip/bad_address_cast.hpp /include/asio/ip/basic_endpoint.hpp /include/asio/ip/basic_resolver_entry.hpp /include/asio/ip/basic_resolver.hpp /include/asio/ip/basic_resolver_iterator.hpp /include/asio/ip/basic_resolver_query.hpp +/include/asio/ip/basic_resolver_results.hpp /include/asio/ip/detail/ /include/asio/ip/detail/endpoint.hpp /include/asio/ip/detail/impl/ @@ -4538,6 +4085,7 @@ /include/asio/ip/multicast.hpp /include/asio/ip/network_v4.hpp /include/asio/ip/network_v6.hpp +/include/asio/ip/resolver_base.hpp /include/asio/ip/resolver_query_base.hpp /include/asio/ip/resolver_service.hpp /include/asio/ip/tcp.hpp @@ -4556,12 +4104,13 @@ /include/asio/local/detail/impl/ /include/asio/local/detail/impl/endpoint.ipp /include/asio/local/stream_protocol.hpp -/include/asio/package.hpp +/include/asio/packaged_task.hpp /include/asio/placeholders.hpp /include/asio/posix/ /include/asio/posix/basic_descriptor.hpp /include/asio/posix/basic_stream_descriptor.hpp /include/asio/posix/descriptor_base.hpp +/include/asio/posix/descriptor.hpp /include/asio/posix/stream_descriptor.hpp /include/asio/posix/stream_descriptor_service.hpp /include/asio/post.hpp @@ -4614,6 +4163,7 @@ /include/asio/strand.hpp /include/asio/streambuf.hpp /include/asio/stream_socket_service.hpp +/include/asio/system_context.hpp /include/asio/system_error.hpp /include/asio/system_executor.hpp /include/asio/system_timer.hpp @@ -4624,10 +4174,10 @@ /include/asio/ts/buffer.hpp /include/asio/ts/executor.hpp /include/asio/ts/internet.hpp -/include/asio/ts/io_service.hpp -/include/asio/ts/networking.hpp +/include/asio/ts/io_context.hpp +/include/asio/ts/netfwd.hpp +/include/asio/ts/net.hpp /include/asio/ts/socket.hpp -/include/asio/ts/thread_pool.hpp /include/asio/ts/timer.hpp /include/asio/unyield.hpp /include/asio/use_future.hpp @@ -4642,12 +4192,12 @@ /include/asio/windows/basic_stream_handle.hpp /include/asio/windows/object_handle.hpp /include/asio/windows/object_handle_service.hpp +/include/asio/windows/overlapped_handle.hpp /include/asio/windows/overlapped_ptr.hpp /include/asio/windows/random_access_handle.hpp /include/asio/windows/random_access_handle_service.hpp /include/asio/windows/stream_handle.hpp /include/asio/windows/stream_handle_service.hpp -/include/asio/wrap.hpp /include/asio/write_at.hpp /include/asio/write.hpp /include/asio/yield.hpp @@ -4693,8 +4243,8 @@ /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 @@ -4791,7 +4341,6 @@ /src/examples/cpp03/services/logger.hpp /src/examples/cpp03/services/logger_service.cpp /src/examples/cpp03/services/logger_service.hpp -/src/examples/cpp03/services/stream_socket_service.hpp /src/examples/cpp03/socks4/ /src/examples/cpp03/socks4/socks4.hpp /src/examples/cpp03/socks4/sync_client.cpp @@ -4801,7 +4350,7 @@ /src/examples/cpp03/ssl/ /src/examples/cpp03/ssl/ca.pem /src/examples/cpp03/ssl/client.cpp -/src/examples/cpp03/ssl/dh512.pem +/src/examples/cpp03/ssl/dh2048.pem /src/examples/cpp03/ssl/README /src/examples/cpp03/ssl/server.cpp /src/examples/cpp03/ssl/server.pem @@ -4863,8 +4412,13 @@ /src/examples/cpp11/executors/fork_join.cpp /src/examples/cpp11/executors/pipeline.cpp /src/examples/cpp11/executors/priority_scheduler.cpp +/src/examples/cpp11/fork/ +/src/examples/cpp11/fork/daemon.cpp +/src/examples/cpp11/fork/process_per_connection.cpp /src/examples/cpp11/futures/ /src/examples/cpp11/futures/daytime_client.cpp +/src/examples/cpp11/handler_tracking/ +/src/examples/cpp11/handler_tracking/custom_tracking.hpp /src/examples/cpp11/http/ /src/examples/cpp11/http/server/ /src/examples/cpp11/http/server/connection.cpp @@ -4884,10 +4438,22 @@ /src/examples/cpp11/http/server/request_parser.hpp /src/examples/cpp11/http/server/server.cpp /src/examples/cpp11/http/server/server.hpp +/src/examples/cpp11/invocation/ +/src/examples/cpp11/invocation/prioritised_handlers.cpp /src/examples/cpp11/iostreams/ /src/examples/cpp11/iostreams/http_client.cpp +/src/examples/cpp11/local/ +/src/examples/cpp11/local/connect_pair.cpp +/src/examples/cpp11/local/iostream_client.cpp +/src/examples/cpp11/local/stream_client.cpp +/src/examples/cpp11/local/stream_server.cpp /src/examples/cpp11/Makefile.am /src/examples/cpp11/Makefile.in +/src/examples/cpp11/multicast/ +/src/examples/cpp11/multicast/receiver.cpp +/src/examples/cpp11/multicast/sender.cpp +/src/examples/cpp11/nonblocking/ +/src/examples/cpp11/nonblocking/third_party_lib.cpp /src/examples/cpp11/spawn/ /src/examples/cpp11/spawn/echo_server.cpp /src/examples/cpp11/spawn/parallel_grep.cpp @@ -4919,14 +4485,11 @@ /src/tests/ /src/tests/latency/ /src/tests/latency/allocator.hpp -/src/tests/latency/coroutine.hpp /src/tests/latency/high_res_clock.hpp /src/tests/latency/tcp_client.cpp /src/tests/latency/tcp_server.cpp /src/tests/latency/udp_client.cpp /src/tests/latency/udp_server.cpp -/src/tests/latency/unyield.hpp -/src/tests/latency/yield.hpp /src/tests/Makefile.am /src/tests/Makefile.in /src/tests/performance/ @@ -4935,10 +4498,16 @@ /src/tests/performance/server.cpp /src/tests/unit/ /src/tests/unit/archetypes/ +/src/tests/unit/archetypes/async_ops.hpp /src/tests/unit/archetypes/async_result.hpp +/src/tests/unit/archetypes/deprecated_async_ops.hpp +/src/tests/unit/archetypes/deprecated_async_result.hpp /src/tests/unit/archetypes/gettable_socket_option.hpp /src/tests/unit/archetypes/io_control_command.hpp /src/tests/unit/archetypes/settable_socket_option.hpp +/src/tests/unit/associated_allocator.cpp +/src/tests/unit/associated_executor.cpp +/src/tests/unit/async_result.cpp /src/tests/unit/basic_datagram_socket.cpp /src/tests/unit/basic_deadline_timer.cpp /src/tests/unit/basic_raw_socket.cpp @@ -4949,6 +4518,7 @@ /src/tests/unit/basic_streambuf.cpp /src/tests/unit/basic_stream_socket.cpp /src/tests/unit/basic_waitable_timer.cpp +/src/tests/unit/bind_executor.cpp /src/tests/unit/buffer.cpp /src/tests/unit/buffered_read_stream.cpp /src/tests/unit/buffered_stream.cpp @@ -4960,7 +4530,12 @@ /src/tests/unit/datagram_socket_service.cpp /src/tests/unit/deadline_timer.cpp /src/tests/unit/deadline_timer_service.cpp +/src/tests/unit/defer.cpp +/src/tests/unit/dispatch.cpp /src/tests/unit/error.cpp +/src/tests/unit/execution_context.cpp +/src/tests/unit/executor.cpp +/src/tests/unit/executor_work_guard.cpp /src/tests/unit/generic/ /src/tests/unit/generic/basic_endpoint.cpp /src/tests/unit/generic/datagram_protocol.cpp @@ -4968,15 +4543,15 @@ /src/tests/unit/generic/seq_packet_protocol.cpp /src/tests/unit/generic/stream_protocol.cpp /src/tests/unit/high_resolution_timer.cpp -/src/tests/unit/io_service.cpp +/src/tests/unit/io_context.cpp /src/tests/unit/ip/ /src/tests/unit/ip/address.cpp -/src/tests/unit/ip/address_iterator_v4.cpp -/src/tests/unit/ip/address_iterator_v6.cpp -/src/tests/unit/ip/address_range_v4.cpp -/src/tests/unit/ip/address_range_v6.cpp /src/tests/unit/ip/address_v4.cpp +/src/tests/unit/ip/address_v4_iterator.cpp +/src/tests/unit/ip/address_v4_range.cpp /src/tests/unit/ip/address_v6.cpp +/src/tests/unit/ip/address_v6_iterator.cpp +/src/tests/unit/ip/address_v6_range.cpp /src/tests/unit/ip/basic_endpoint.cpp /src/tests/unit/ip/basic_resolver.cpp /src/tests/unit/ip/basic_resolver_entry.cpp @@ -5000,13 +4575,16 @@ /src/tests/unit/local/connect_pair.cpp /src/tests/unit/local/datagram_protocol.cpp /src/tests/unit/local/stream_protocol.cpp +/src/tests/unit/packaged_task.cpp /src/tests/unit/placeholders.cpp /src/tests/unit/posix/ /src/tests/unit/posix/basic_descriptor.cpp /src/tests/unit/posix/basic_stream_descriptor.cpp /src/tests/unit/posix/descriptor_base.cpp +/src/tests/unit/posix/descriptor.cpp /src/tests/unit/posix/stream_descriptor.cpp /src/tests/unit/posix/stream_descriptor_service.cpp +/src/tests/unit/post.cpp /src/tests/unit/raw_socket_service.cpp /src/tests/unit/read_at.cpp /src/tests/unit/read.cpp @@ -5022,6 +4600,7 @@ /src/tests/unit/ssl/ /src/tests/unit/ssl/context_base.cpp /src/tests/unit/ssl/context.cpp +/src/tests/unit/ssl/error.cpp /src/tests/unit/ssl/rfc2818_verification.cpp /src/tests/unit/ssl/stream_base.cpp /src/tests/unit/ssl/stream.cpp @@ -5029,11 +4608,23 @@ /src/tests/unit/strand.cpp /src/tests/unit/streambuf.cpp /src/tests/unit/stream_socket_service.cpp +/src/tests/unit/system_context.cpp +/src/tests/unit/system_executor.cpp /src/tests/unit/system_timer.cpp /src/tests/unit/thread.cpp /src/tests/unit/time_traits.cpp -/src/tests/unit/unit_test.cpp +/src/tests/unit/ts/ +/src/tests/unit/ts/buffer.cpp +/src/tests/unit/ts/executor.cpp +/src/tests/unit/ts/internet.cpp +/src/tests/unit/ts/io_context.cpp +/src/tests/unit/ts/net.cpp +/src/tests/unit/ts/netfwd.cpp +/src/tests/unit/ts/socket.cpp +/src/tests/unit/ts/timer.cpp /src/tests/unit/unit_test.hpp +/src/tests/unit/use_future.cpp +/src/tests/unit/uses_executor.cpp /src/tests/unit/waitable_timer_service.cpp /src/tests/unit/wait_traits.cpp /src/tests/unit/windows/ @@ -5043,6 +4634,7 @@ /src/tests/unit/windows/basic_stream_handle.cpp /src/tests/unit/windows/object_handle.cpp /src/tests/unit/windows/object_handle_service.cpp +/src/tests/unit/windows/overlapped_handle.cpp /src/tests/unit/windows/overlapped_ptr.cpp /src/tests/unit/windows/random_access_handle.cpp /src/tests/unit/windows/random_access_handle_service.cpp diff --git a/asio/boost_asio.manifest b/asio/boost_asio.manifest index 29b3f36..98efac6 100644 --- a/asio/boost_asio.manifest +++ b/asio/boost_asio.manifest @@ -1,6 +1,8 @@ / /boost/ /boost/asio/ +/boost/asio/associated_allocator.hpp +/boost/asio/associated_executor.hpp /boost/asio/async_result.hpp /boost/asio/basic_datagram_socket.hpp /boost/asio/basic_deadline_timer.hpp @@ -17,6 +19,7 @@ /boost/asio/basic_streambuf.hpp /boost/asio/basic_stream_socket.hpp /boost/asio/basic_waitable_timer.hpp +/boost/asio/bind_executor.hpp /boost/asio/buffered_read_stream_fwd.hpp /boost/asio/buffered_read_stream.hpp /boost/asio/buffered_stream_fwd.hpp @@ -31,8 +34,8 @@ /boost/asio/datagram_socket_service.hpp /boost/asio/deadline_timer.hpp /boost/asio/deadline_timer_service.hpp +/boost/asio/defer.hpp /boost/asio/detail/ -/boost/asio/detail/addressof.hpp /boost/asio/detail/array_fwd.hpp /boost/asio/detail/array.hpp /boost/asio/detail/assert.hpp @@ -43,10 +46,15 @@ /boost/asio/detail/buffer_resize_guard.hpp /boost/asio/detail/buffer_sequence_adapter.hpp /boost/asio/detail/call_stack.hpp +/boost/asio/detail/chrono.hpp /boost/asio/detail/chrono_time_traits.hpp /boost/asio/detail/completion_handler.hpp +/boost/asio/detail/concurrency_hint.hpp +/boost/asio/detail/conditionally_enabled_event.hpp +/boost/asio/detail/conditionally_enabled_mutex.hpp /boost/asio/detail/config.hpp /boost/asio/detail/consuming_buffers.hpp +/boost/asio/detail/cstddef.hpp /boost/asio/detail/cstdint.hpp /boost/asio/detail/date_time_fwd.hpp /boost/asio/detail/deadline_timer_service.hpp @@ -58,18 +66,21 @@ /boost/asio/detail/epoll_reactor.hpp /boost/asio/detail/eventfd_select_interrupter.hpp /boost/asio/detail/event.hpp +/boost/asio/detail/executor_op.hpp /boost/asio/detail/fd_set_adapter.hpp /boost/asio/detail/fenced_block.hpp -/boost/asio/detail/function.hpp +/boost/asio/detail/functional.hpp /boost/asio/detail/gcc_arm_fenced_block.hpp /boost/asio/detail/gcc_hppa_fenced_block.hpp /boost/asio/detail/gcc_sync_fenced_block.hpp /boost/asio/detail/gcc_x86_fenced_block.hpp +/boost/asio/detail/global.hpp /boost/asio/detail/handler_alloc_helpers.hpp /boost/asio/detail/handler_cont_helpers.hpp /boost/asio/detail/handler_invoke_helpers.hpp /boost/asio/detail/handler_tracking.hpp /boost/asio/detail/handler_type_requirements.hpp +/boost/asio/detail/handler_work.hpp /boost/asio/detail/hash_map.hpp /boost/asio/detail/impl/ /boost/asio/detail/impl/buffer_sequence_adapter.ipp @@ -82,6 +93,7 @@ /boost/asio/detail/impl/handler_tracking.ipp /boost/asio/detail/impl/kqueue_reactor.hpp /boost/asio/detail/impl/kqueue_reactor.ipp +/boost/asio/detail/impl/null_event.ipp /boost/asio/detail/impl/pipe_select_interrupter.ipp /boost/asio/detail/impl/posix_event.ipp /boost/asio/detail/impl/posix_mutex.ipp @@ -91,6 +103,7 @@ /boost/asio/detail/impl/reactive_serial_port_service.ipp /boost/asio/detail/impl/reactive_socket_service_base.ipp /boost/asio/detail/impl/resolver_service_base.ipp +/boost/asio/detail/impl/scheduler.ipp /boost/asio/detail/impl/select_reactor.hpp /boost/asio/detail/impl/select_reactor.ipp /boost/asio/detail/impl/service_registry.hpp @@ -98,17 +111,17 @@ /boost/asio/detail/impl/signal_set_service.ipp /boost/asio/detail/impl/socket_ops.ipp /boost/asio/detail/impl/socket_select_interrupter.ipp +/boost/asio/detail/impl/strand_executor_service.hpp +/boost/asio/detail/impl/strand_executor_service.ipp /boost/asio/detail/impl/strand_service.hpp /boost/asio/detail/impl/strand_service.ipp -/boost/asio/detail/impl/task_io_service.hpp -/boost/asio/detail/impl/task_io_service.ipp /boost/asio/detail/impl/throw_error.ipp /boost/asio/detail/impl/timer_queue_ptime.ipp /boost/asio/detail/impl/timer_queue_set.ipp /boost/asio/detail/impl/win_event.ipp /boost/asio/detail/impl/win_iocp_handle_service.ipp -/boost/asio/detail/impl/win_iocp_io_service.hpp -/boost/asio/detail/impl/win_iocp_io_service.ipp +/boost/asio/detail/impl/win_iocp_io_context.hpp +/boost/asio/detail/impl/win_iocp_io_context.ipp /boost/asio/detail/impl/win_iocp_serial_port_service.ipp /boost/asio/detail/impl/win_iocp_socket_service_base.ipp /boost/asio/detail/impl/win_mutex.ipp @@ -121,15 +134,19 @@ /boost/asio/detail/impl/win_thread.ipp /boost/asio/detail/impl/win_tss_ptr.ipp /boost/asio/detail/io_control.hpp +/boost/asio/detail/is_buffer_sequence.hpp +/boost/asio/detail/is_executor.hpp /boost/asio/detail/keyword_tss_ptr.hpp /boost/asio/detail/kqueue_reactor.hpp /boost/asio/detail/limits.hpp /boost/asio/detail/local_free_on_block_exit.hpp /boost/asio/detail/macos_fenced_block.hpp +/boost/asio/detail/memory.hpp /boost/asio/detail/mutex.hpp /boost/asio/detail/noncopyable.hpp /boost/asio/detail/null_event.hpp /boost/asio/detail/null_fenced_block.hpp +/boost/asio/detail/null_global.hpp /boost/asio/detail/null_mutex.hpp /boost/asio/detail/null_reactor.hpp /boost/asio/detail/null_signal_blocker.hpp @@ -145,6 +162,7 @@ /boost/asio/detail/pop_options.hpp /boost/asio/detail/posix_event.hpp /boost/asio/detail/posix_fd_set_adapter.hpp +/boost/asio/detail/posix_global.hpp /boost/asio/detail/posix_mutex.hpp /boost/asio/detail/posix_signal_blocker.hpp /boost/asio/detail/posix_static_mutex.hpp @@ -163,21 +181,26 @@ /boost/asio/detail/reactive_socket_sendto_op.hpp /boost/asio/detail/reactive_socket_service_base.hpp /boost/asio/detail/reactive_socket_service.hpp +/boost/asio/detail/reactive_wait_op.hpp /boost/asio/detail/reactor_fwd.hpp /boost/asio/detail/reactor.hpp /boost/asio/detail/reactor_op.hpp /boost/asio/detail/reactor_op_queue.hpp +/boost/asio/detail/recycling_allocator.hpp /boost/asio/detail/regex_fwd.hpp /boost/asio/detail/resolve_endpoint_op.hpp /boost/asio/detail/resolve_op.hpp +/boost/asio/detail/resolve_query_op.hpp /boost/asio/detail/resolver_service_base.hpp /boost/asio/detail/resolver_service.hpp +/boost/asio/detail/scheduler.hpp +/boost/asio/detail/scheduler_operation.hpp +/boost/asio/detail/scheduler_thread_info.hpp /boost/asio/detail/scoped_lock.hpp /boost/asio/detail/scoped_ptr.hpp /boost/asio/detail/select_interrupter.hpp /boost/asio/detail/select_reactor.hpp /boost/asio/detail/service_registry.hpp -/boost/asio/detail/shared_ptr.hpp /boost/asio/detail/signal_blocker.hpp /boost/asio/detail/signal_handler.hpp /boost/asio/detail/signal_init.hpp @@ -191,13 +214,16 @@ /boost/asio/detail/solaris_fenced_block.hpp /boost/asio/detail/static_mutex.hpp /boost/asio/detail/std_event.hpp +/boost/asio/detail/std_fenced_block.hpp +/boost/asio/detail/std_global.hpp /boost/asio/detail/std_mutex.hpp /boost/asio/detail/std_static_mutex.hpp /boost/asio/detail/std_thread.hpp +/boost/asio/detail/strand_executor_service.hpp /boost/asio/detail/strand_service.hpp -/boost/asio/detail/task_io_service.hpp -/boost/asio/detail/task_io_service_operation.hpp -/boost/asio/detail/task_io_service_thread_info.hpp +/boost/asio/detail/string_view.hpp +/boost/asio/detail/thread_context.hpp +/boost/asio/detail/thread_group.hpp /boost/asio/detail/thread.hpp /boost/asio/detail/thread_info_base.hpp /boost/asio/detail/throw_error.hpp @@ -213,15 +239,16 @@ /boost/asio/detail/variadic_templates.hpp /boost/asio/detail/wait_handler.hpp /boost/asio/detail/wait_op.hpp -/boost/asio/detail/weak_ptr.hpp +/boost/asio/detail/winapp_thread.hpp /boost/asio/detail/wince_thread.hpp /boost/asio/detail/win_event.hpp /boost/asio/detail/win_fd_set_adapter.hpp /boost/asio/detail/win_fenced_block.hpp +/boost/asio/detail/win_global.hpp /boost/asio/detail/win_iocp_handle_read_op.hpp /boost/asio/detail/win_iocp_handle_service.hpp /boost/asio/detail/win_iocp_handle_write_op.hpp -/boost/asio/detail/win_iocp_io_service.hpp +/boost/asio/detail/win_iocp_io_context.hpp /boost/asio/detail/win_iocp_null_buffers_op.hpp /boost/asio/detail/win_iocp_operation.hpp /boost/asio/detail/win_iocp_overlapped_op.hpp @@ -236,6 +263,7 @@ /boost/asio/detail/win_iocp_socket_service_base.hpp /boost/asio/detail/win_iocp_socket_service.hpp /boost/asio/detail/win_iocp_thread_info.hpp +/boost/asio/detail/win_iocp_wait_op.hpp /boost/asio/detail/win_mutex.hpp /boost/asio/detail/win_object_handle_service.hpp /boost/asio/detail/winrt_async_manager.hpp @@ -253,8 +281,13 @@ /boost/asio/detail/win_static_mutex.hpp /boost/asio/detail/win_thread.hpp /boost/asio/detail/win_tss_ptr.hpp +/boost/asio/detail/work_dispatcher.hpp /boost/asio/detail/wrapped_handler.hpp +/boost/asio/dispatch.hpp /boost/asio/error.hpp +/boost/asio/execution_context.hpp +/boost/asio/executor.hpp +/boost/asio/executor_work_guard.hpp /boost/asio/generic/ /boost/asio/generic/basic_endpoint.hpp /boost/asio/generic/datagram_protocol.hpp @@ -275,10 +308,17 @@ /boost/asio/impl/buffered_read_stream.hpp /boost/asio/impl/buffered_write_stream.hpp /boost/asio/impl/connect.hpp +/boost/asio/impl/defer.hpp +/boost/asio/impl/dispatch.hpp /boost/asio/impl/error.ipp +/boost/asio/impl/execution_context.hpp +/boost/asio/impl/execution_context.ipp +/boost/asio/impl/executor.hpp +/boost/asio/impl/executor.ipp /boost/asio/impl/handler_alloc_hook.ipp -/boost/asio/impl/io_service.hpp -/boost/asio/impl/io_service.ipp +/boost/asio/impl/io_context.hpp +/boost/asio/impl/io_context.ipp +/boost/asio/impl/post.hpp /boost/asio/impl/read_at.hpp /boost/asio/impl/read.hpp /boost/asio/impl/read_until.hpp @@ -287,19 +327,33 @@ /boost/asio/impl/spawn.hpp /boost/asio/impl/src.cpp /boost/asio/impl/src.hpp +/boost/asio/impl/system_context.hpp +/boost/asio/impl/system_context.ipp +/boost/asio/impl/system_executor.hpp +/boost/asio/impl/thread_pool.hpp +/boost/asio/impl/thread_pool.ipp /boost/asio/impl/use_future.hpp /boost/asio/impl/write_at.hpp /boost/asio/impl/write.hpp +/boost/asio/io_context.hpp +/boost/asio/io_context_strand.hpp /boost/asio/io_service.hpp +/boost/asio/io_service_strand.hpp /boost/asio/ip/ /boost/asio/ip/address.hpp /boost/asio/ip/address_v4.hpp +/boost/asio/ip/address_v4_iterator.hpp +/boost/asio/ip/address_v4_range.hpp /boost/asio/ip/address_v6.hpp +/boost/asio/ip/address_v6_iterator.hpp +/boost/asio/ip/address_v6_range.hpp +/boost/asio/ip/bad_address_cast.hpp /boost/asio/ip/basic_endpoint.hpp /boost/asio/ip/basic_resolver_entry.hpp /boost/asio/ip/basic_resolver.hpp /boost/asio/ip/basic_resolver_iterator.hpp /boost/asio/ip/basic_resolver_query.hpp +/boost/asio/ip/basic_resolver_results.hpp /boost/asio/ip/detail/ /boost/asio/ip/detail/endpoint.hpp /boost/asio/ip/detail/impl/ @@ -316,13 +370,21 @@ /boost/asio/ip/impl/address_v6.ipp /boost/asio/ip/impl/basic_endpoint.hpp /boost/asio/ip/impl/host_name.ipp +/boost/asio/ip/impl/network_v4.hpp +/boost/asio/ip/impl/network_v4.ipp +/boost/asio/ip/impl/network_v6.hpp +/boost/asio/ip/impl/network_v6.ipp /boost/asio/ip/multicast.hpp +/boost/asio/ip/network_v4.hpp +/boost/asio/ip/network_v6.hpp +/boost/asio/ip/resolver_base.hpp /boost/asio/ip/resolver_query_base.hpp /boost/asio/ip/resolver_service.hpp /boost/asio/ip/tcp.hpp /boost/asio/ip/udp.hpp /boost/asio/ip/unicast.hpp /boost/asio/ip/v6_only.hpp +/boost/asio/is_executor.hpp /boost/asio/is_read_buffered.hpp /boost/asio/is_write_buffered.hpp /boost/asio/local/ @@ -334,13 +396,16 @@ /boost/asio/local/detail/impl/ /boost/asio/local/detail/impl/endpoint.ipp /boost/asio/local/stream_protocol.hpp +/boost/asio/packaged_task.hpp /boost/asio/placeholders.hpp /boost/asio/posix/ /boost/asio/posix/basic_descriptor.hpp /boost/asio/posix/basic_stream_descriptor.hpp /boost/asio/posix/descriptor_base.hpp +/boost/asio/posix/descriptor.hpp /boost/asio/posix/stream_descriptor.hpp /boost/asio/posix/stream_descriptor_service.hpp +/boost/asio/post.hpp /boost/asio/raw_socket_service.hpp /boost/asio/read_at.hpp /boost/asio/read.hpp @@ -355,10 +420,8 @@ /boost/asio/socket_base.hpp /boost/asio/spawn.hpp /boost/asio/ssl/ -/boost/asio/ssl/basic_context.hpp /boost/asio/ssl/context_base.hpp /boost/asio/ssl/context.hpp -/boost/asio/ssl/context_service.hpp /boost/asio/ssl/detail/ /boost/asio/ssl/detail/buffered_handshake_op.hpp /boost/asio/ssl/detail/engine.hpp @@ -383,29 +446,32 @@ /boost/asio/ssl/impl/error.ipp /boost/asio/ssl/impl/rfc2818_verification.ipp /boost/asio/ssl/impl/src.hpp -/boost/asio/ssl/old/ -/boost/asio/ssl/old/basic_context.hpp -/boost/asio/ssl/old/context_service.hpp -/boost/asio/ssl/old/detail/ -/boost/asio/ssl/old/detail/openssl_context_service.hpp -/boost/asio/ssl/old/detail/openssl_operation.hpp -/boost/asio/ssl/old/detail/openssl_stream_service.hpp -/boost/asio/ssl/old/stream.hpp -/boost/asio/ssl/old/stream_service.hpp /boost/asio/ssl/rfc2818_verification.hpp /boost/asio/ssl/stream_base.hpp /boost/asio/ssl/stream.hpp -/boost/asio/ssl/stream_service.hpp /boost/asio/ssl/verify_context.hpp /boost/asio/ssl/verify_mode.hpp /boost/asio/steady_timer.hpp /boost/asio/strand.hpp /boost/asio/streambuf.hpp /boost/asio/stream_socket_service.hpp +/boost/asio/system_context.hpp +/boost/asio/system_executor.hpp /boost/asio/system_timer.hpp +/boost/asio/thread_pool.hpp /boost/asio/time_traits.hpp +/boost/asio/ts/ +/boost/asio/ts/buffer.hpp +/boost/asio/ts/executor.hpp +/boost/asio/ts/internet.hpp +/boost/asio/ts/io_context.hpp +/boost/asio/ts/netfwd.hpp +/boost/asio/ts/net.hpp +/boost/asio/ts/socket.hpp +/boost/asio/ts/timer.hpp /boost/asio/unyield.hpp /boost/asio/use_future.hpp +/boost/asio/uses_executor.hpp /boost/asio/version.hpp /boost/asio/waitable_timer_service.hpp /boost/asio/wait_traits.hpp @@ -416,6 +482,7 @@ /boost/asio/windows/basic_stream_handle.hpp /boost/asio/windows/object_handle.hpp /boost/asio/windows/object_handle_service.hpp +/boost/asio/windows/overlapped_handle.hpp /boost/asio/windows/overlapped_ptr.hpp /boost/asio/windows/random_access_handle.hpp /boost/asio/windows/random_access_handle_service.hpp @@ -473,8 +540,8 @@ /doc/html/boost_asio/example/cpp03/http/server2/connection.cpp /doc/html/boost_asio/example/cpp03/http/server2/connection.hpp /doc/html/boost_asio/example/cpp03/http/server2/header.hpp -/doc/html/boost_asio/example/cpp03/http/server2/io_service_pool.cpp -/doc/html/boost_asio/example/cpp03/http/server2/io_service_pool.hpp +/doc/html/boost_asio/example/cpp03/http/server2/io_context_pool.cpp +/doc/html/boost_asio/example/cpp03/http/server2/io_context_pool.hpp /doc/html/boost_asio/example/cpp03/http/server2/main.cpp /doc/html/boost_asio/example/cpp03/http/server2/mime_types.cpp /doc/html/boost_asio/example/cpp03/http/server2/mime_types.hpp @@ -569,12 +636,12 @@ /doc/html/boost_asio/example/cpp03/services/logger.hpp /doc/html/boost_asio/example/cpp03/services/logger_service.cpp /doc/html/boost_asio/example/cpp03/services/logger_service.hpp -/doc/html/boost_asio/example/cpp03/services/stream_socket_service.hpp /doc/html/boost_asio/example/cpp03/socks4/ /doc/html/boost_asio/example/cpp03/socks4/socks4.hpp /doc/html/boost_asio/example/cpp03/socks4/sync_client.cpp /doc/html/boost_asio/example/cpp03/spawn/ /doc/html/boost_asio/example/cpp03/spawn/echo_server.cpp +/doc/html/boost_asio/example/cpp03/spawn/parallel_grep.cpp /doc/html/boost_asio/example/cpp03/ssl/ /doc/html/boost_asio/example/cpp03/ssl/client.cpp /doc/html/boost_asio/example/cpp03/ssl/server.cpp @@ -604,8 +671,21 @@ /doc/html/boost_asio/example/cpp11/echo/blocking_tcp_echo_server.cpp /doc/html/boost_asio/example/cpp11/echo/blocking_udp_echo_client.cpp /doc/html/boost_asio/example/cpp11/echo/blocking_udp_echo_server.cpp +/doc/html/boost_asio/example/cpp11/executors/ +/doc/html/boost_asio/example/cpp11/executors/actor.cpp +/doc/html/boost_asio/example/cpp11/executors/bank_account_1.cpp +/doc/html/boost_asio/example/cpp11/executors/bank_account_2.cpp +/doc/html/boost_asio/example/cpp11/executors/fork_join.cpp +/doc/html/boost_asio/example/cpp11/executors/pipeline.cpp +/doc/html/boost_asio/example/cpp11/executors/priority_scheduler.cpp +/doc/html/boost_asio/example/cpp11/fork/ +/doc/html/boost_asio/example/cpp11/fork/daemon.cpp +/doc/html/boost_asio/example/cpp11/fork/process_per_connection.cpp /doc/html/boost_asio/example/cpp11/futures/ /doc/html/boost_asio/example/cpp11/futures/daytime_client.cpp +/doc/html/boost_asio/example/cpp11/handler_tracking/ +/doc/html/boost_asio/example/cpp11/handler_tracking/async_tcp_echo_server.cpp +/doc/html/boost_asio/example/cpp11/handler_tracking/custom_tracking.hpp /doc/html/boost_asio/example/cpp11/http/ /doc/html/boost_asio/example/cpp11/http/server/ /doc/html/boost_asio/example/cpp11/http/server/connection.cpp @@ -625,8 +705,19 @@ /doc/html/boost_asio/example/cpp11/http/server/request_parser.hpp /doc/html/boost_asio/example/cpp11/http/server/server.cpp /doc/html/boost_asio/example/cpp11/http/server/server.hpp +/doc/html/boost_asio/example/cpp11/invocation/ +/doc/html/boost_asio/example/cpp11/invocation/prioritised_handlers.cpp +/doc/html/boost_asio/example/cpp11/local/ +/doc/html/boost_asio/example/cpp11/local/connect_pair.cpp +/doc/html/boost_asio/example/cpp11/local/iostream_client.cpp +/doc/html/boost_asio/example/cpp11/local/stream_client.cpp +/doc/html/boost_asio/example/cpp11/local/stream_server.cpp +/doc/html/boost_asio/example/cpp11/multicast/ +/doc/html/boost_asio/example/cpp11/multicast/receiver.cpp +/doc/html/boost_asio/example/cpp11/multicast/sender.cpp /doc/html/boost_asio/example/cpp11/spawn/ /doc/html/boost_asio/example/cpp11/spawn/echo_server.cpp +/doc/html/boost_asio/example/cpp11/spawn/parallel_grep.cpp /doc/html/boost_asio/examples/ /doc/html/boost_asio/examples/cpp03_examples.html /doc/html/boost_asio/examples/cpp11_examples.html @@ -634,12 +725,14 @@ /doc/html/boost_asio/history.html /doc/html/boost_asio.html /doc/html/boost_asio/index.html +/doc/html/boost_asio/net_ts.html /doc/html/boost_asio/overview/ /doc/html/boost_asio/overview/core/ /doc/html/boost_asio/overview/core/allocation.html /doc/html/boost_asio/overview/core/async.html /doc/html/boost_asio/overview/core/basics.html /doc/html/boost_asio/overview/core/buffers.html +/doc/html/boost_asio/overview/core/concurrency_hint.html /doc/html/boost_asio/overview/core/coroutine.html /doc/html/boost_asio/overview/core/handler_tracking.html /doc/html/boost_asio/overview/core.html @@ -684,6 +777,7 @@ /doc/html/boost_asio/overview/windows/stream_handle.html /doc/html/boost_asio/proactor.png /doc/html/boost_asio/reference/ +/doc/html/boost_asio/reference/AcceptableProtocol.html /doc/html/boost_asio/reference/AcceptHandler.html /doc/html/boost_asio/reference/add_service.html /doc/html/boost_asio/reference/asio_handler_allocate.html @@ -693,13 +787,44 @@ /doc/html/boost_asio/reference/asio_handler_invoke/overload1.html /doc/html/boost_asio/reference/asio_handler_invoke/overload2.html /doc/html/boost_asio/reference/asio_handler_is_continuation.html +/doc/html/boost_asio/reference/associated_allocator/ +/doc/html/boost_asio/reference/associated_allocator/get.html +/doc/html/boost_asio/reference/associated_allocator.html +/doc/html/boost_asio/reference/associated_allocator/type.html +/doc/html/boost_asio/reference/associated_executor/ +/doc/html/boost_asio/reference/associated_executor/get.html +/doc/html/boost_asio/reference/associated_executor.html +/doc/html/boost_asio/reference/associated_executor/type.html +/doc/html/boost_asio/reference/async_completion/ +/doc/html/boost_asio/reference/async_completion/async_completion.html +/doc/html/boost_asio/reference/async_completion/completion_handler.html +/doc/html/boost_asio/reference/async_completion/completion_handler_type.html +/doc/html/boost_asio/reference/async_completion.html +/doc/html/boost_asio/reference/async_completion/result.html /doc/html/boost_asio/reference/async_connect/ /doc/html/boost_asio/reference/async_connect.html /doc/html/boost_asio/reference/async_connect/overload1.html /doc/html/boost_asio/reference/async_connect/overload2.html /doc/html/boost_asio/reference/async_connect/overload3.html /doc/html/boost_asio/reference/async_connect/overload4.html +/doc/html/boost_asio/reference/async_connect/overload5.html +/doc/html/boost_asio/reference/async_connect/overload6.html +/doc/html/boost_asio/reference/asynchronous_operations/ +/doc/html/boost_asio/reference/asynchronous_operations/allocation_of_intermediate_storage.html +/doc/html/boost_asio/reference/asynchronous_operations/associated_executor.html +/doc/html/boost_asio/reference/asynchronous_operations/automatic_deduction_of_initiating_function_return_type.html +/doc/html/boost_asio/reference/asynchronous_operations/completion_handler_executor.html +/doc/html/boost_asio/reference/asynchronous_operations/completion_handlers_and_exceptions.html +/doc/html/boost_asio/reference/asynchronous_operations/completion_token.html +/doc/html/boost_asio/reference/asynchronous_operations/execution_of_completion_handler_on_completion_of_asynchronous_operation.html +/doc/html/boost_asio/reference/asynchronous_operations/general_asynchronous_operation_concepts.html /doc/html/boost_asio/reference/asynchronous_operations.html +/doc/html/boost_asio/reference/asynchronous_operations/i_o_executor.html +/doc/html/boost_asio/reference/asynchronous_operations/lifetime_of_initiating_function_arguments.html +/doc/html/boost_asio/reference/asynchronous_operations/non_blocking_requirements_on_initiating_functions.html +/doc/html/boost_asio/reference/asynchronous_operations/outstanding_work.html +/doc/html/boost_asio/reference/asynchronous_operations/production_of_initiating_function_return_value.html +/doc/html/boost_asio/reference/asynchronous_socket_operations.html /doc/html/boost_asio/reference/AsyncRandomAccessReadDevice.html /doc/html/boost_asio/reference/AsyncRandomAccessWriteDevice.html /doc/html/boost_asio/reference/async_read/ @@ -714,6 +839,8 @@ /doc/html/boost_asio/reference/async_read/overload2.html /doc/html/boost_asio/reference/async_read/overload3.html /doc/html/boost_asio/reference/async_read/overload4.html +/doc/html/boost_asio/reference/async_read/overload5.html +/doc/html/boost_asio/reference/async_read/overload6.html /doc/html/boost_asio/reference/AsyncReadStream.html /doc/html/boost_asio/reference/async_read_until/ /doc/html/boost_asio/reference/async_read_until.html @@ -721,11 +848,27 @@ /doc/html/boost_asio/reference/async_read_until/overload2.html /doc/html/boost_asio/reference/async_read_until/overload3.html /doc/html/boost_asio/reference/async_read_until/overload4.html +/doc/html/boost_asio/reference/async_read_until/overload5.html +/doc/html/boost_asio/reference/async_read_until/overload6.html +/doc/html/boost_asio/reference/async_read_until/overload7.html +/doc/html/boost_asio/reference/async_read_until/overload8.html /doc/html/boost_asio/reference/async_result/ /doc/html/boost_asio/reference/async_result/async_result.html +/doc/html/boost_asio/reference/async_result/completion_handler_type.html /doc/html/boost_asio/reference/async_result/get.html /doc/html/boost_asio/reference/async_result.html -/doc/html/boost_asio/reference/async_result/type.html +/doc/html/boost_asio/reference/async_result_lt__Handler__gt_/ +/doc/html/boost_asio/reference/async_result_lt__Handler__gt_/async_result.html +/doc/html/boost_asio/reference/async_result_lt__Handler__gt_/get.html +/doc/html/boost_asio/reference/async_result_lt__Handler__gt_.html +/doc/html/boost_asio/reference/async_result_lt__Handler__gt_/type.html +/doc/html/boost_asio/reference/async_result_lt__std__packaged_task_lt__Result_lp_Args_ellipsis__rp__gt__comma__Signature__gt_/ +/doc/html/boost_asio/reference/async_result_lt__std__packaged_task_lt__Result_lp_Args_ellipsis__rp__gt__comma__Signature__gt_/async_result.html +/doc/html/boost_asio/reference/async_result_lt__std__packaged_task_lt__Result_lp_Args_ellipsis__rp__gt__comma__Signature__gt_/completion_handler_type.html +/doc/html/boost_asio/reference/async_result_lt__std__packaged_task_lt__Result_lp_Args_ellipsis__rp__gt__comma__Signature__gt_/get.html +/doc/html/boost_asio/reference/async_result_lt__std__packaged_task_lt__Result_lp_Args_ellipsis__rp__gt__comma__Signature__gt_.html +/doc/html/boost_asio/reference/async_result_lt__std__packaged_task_lt__Result_lp_Args_ellipsis__rp__gt__comma__Signature__gt_/return_type.html +/doc/html/boost_asio/reference/async_result/return_type.html /doc/html/boost_asio/reference/async_write/ /doc/html/boost_asio/reference/async_write_at/ /doc/html/boost_asio/reference/async_write_at.html @@ -738,7 +881,13 @@ /doc/html/boost_asio/reference/async_write/overload2.html /doc/html/boost_asio/reference/async_write/overload3.html /doc/html/boost_asio/reference/async_write/overload4.html +/doc/html/boost_asio/reference/async_write/overload5.html +/doc/html/boost_asio/reference/async_write/overload6.html /doc/html/boost_asio/reference/AsyncWriteStream.html +/doc/html/boost_asio/reference/bad_executor/ +/doc/html/boost_asio/reference/bad_executor/bad_executor.html +/doc/html/boost_asio/reference/bad_executor.html +/doc/html/boost_asio/reference/bad_executor/what.html /doc/html/boost_asio/reference/basic_datagram_socket/ /doc/html/boost_asio/reference/basic_datagram_socket/assign/ /doc/html/boost_asio/reference/basic_datagram_socket/assign.html @@ -761,6 +910,7 @@ /doc/html/boost_asio/reference/basic_datagram_socket/async_send_to.html /doc/html/boost_asio/reference/basic_datagram_socket/async_send_to/overload1.html /doc/html/boost_asio/reference/basic_datagram_socket/async_send_to/overload2.html +/doc/html/boost_asio/reference/basic_datagram_socket/async_wait.html /doc/html/boost_asio/reference/basic_datagram_socket/at_mark/ /doc/html/boost_asio/reference/basic_datagram_socket/at_mark.html /doc/html/boost_asio/reference/basic_datagram_socket/at_mark/overload1.html @@ -770,6 +920,7 @@ /doc/html/boost_asio/reference/basic_datagram_socket/available/overload1.html /doc/html/boost_asio/reference/basic_datagram_socket/available/overload2.html /doc/html/boost_asio/reference/basic_datagram_socket/basic_datagram_socket/ +/doc/html/boost_asio/reference/basic_datagram_socket/_basic_datagram_socket.html /doc/html/boost_asio/reference/basic_datagram_socket/basic_datagram_socket.html /doc/html/boost_asio/reference/basic_datagram_socket/basic_datagram_socket/overload1.html /doc/html/boost_asio/reference/basic_datagram_socket/basic_datagram_socket/overload2.html @@ -799,22 +950,15 @@ /doc/html/boost_asio/reference/basic_datagram_socket/do_not_route.html /doc/html/boost_asio/reference/basic_datagram_socket/enable_connection_aborted.html /doc/html/boost_asio/reference/basic_datagram_socket/endpoint_type.html -/doc/html/boost_asio/reference/basic_datagram_socket/get_implementation/ -/doc/html/boost_asio/reference/basic_datagram_socket/get_implementation.html -/doc/html/boost_asio/reference/basic_datagram_socket/get_implementation/overload1.html -/doc/html/boost_asio/reference/basic_datagram_socket/get_implementation/overload2.html +/doc/html/boost_asio/reference/basic_datagram_socket/executor_type.html +/doc/html/boost_asio/reference/basic_datagram_socket/get_executor.html +/doc/html/boost_asio/reference/basic_datagram_socket/get_io_context.html /doc/html/boost_asio/reference/basic_datagram_socket/get_io_service.html /doc/html/boost_asio/reference/basic_datagram_socket/get_option/ /doc/html/boost_asio/reference/basic_datagram_socket/get_option.html /doc/html/boost_asio/reference/basic_datagram_socket/get_option/overload1.html /doc/html/boost_asio/reference/basic_datagram_socket/get_option/overload2.html -/doc/html/boost_asio/reference/basic_datagram_socket/get_service/ -/doc/html/boost_asio/reference/basic_datagram_socket/get_service.html -/doc/html/boost_asio/reference/basic_datagram_socket/get_service/overload1.html -/doc/html/boost_asio/reference/basic_datagram_socket/get_service/overload2.html /doc/html/boost_asio/reference/basic_datagram_socket.html -/doc/html/boost_asio/reference/basic_datagram_socket/implementation.html -/doc/html/boost_asio/reference/basic_datagram_socket/implementation_type.html /doc/html/boost_asio/reference/basic_datagram_socket/io_control/ /doc/html/boost_asio/reference/basic_datagram_socket/io_control.html /doc/html/boost_asio/reference/basic_datagram_socket/io_control/overload1.html @@ -832,6 +976,7 @@ /doc/html/boost_asio/reference/basic_datagram_socket/lowest_layer/overload2.html /doc/html/boost_asio/reference/basic_datagram_socket/lowest_layer_type.html /doc/html/boost_asio/reference/basic_datagram_socket/max_connections.html +/doc/html/boost_asio/reference/basic_datagram_socket/max_listen_connections.html /doc/html/boost_asio/reference/basic_datagram_socket/message_do_not_route.html /doc/html/boost_asio/reference/basic_datagram_socket/message_end_of_record.html /doc/html/boost_asio/reference/basic_datagram_socket/message_flags.html @@ -839,16 +984,13 @@ /doc/html/boost_asio/reference/basic_datagram_socket/message_peek.html /doc/html/boost_asio/reference/basic_datagram_socket/native_handle.html /doc/html/boost_asio/reference/basic_datagram_socket/native_handle_type.html -/doc/html/boost_asio/reference/basic_datagram_socket/native.html /doc/html/boost_asio/reference/basic_datagram_socket/native_non_blocking/ /doc/html/boost_asio/reference/basic_datagram_socket/native_non_blocking.html /doc/html/boost_asio/reference/basic_datagram_socket/native_non_blocking/overload1.html /doc/html/boost_asio/reference/basic_datagram_socket/native_non_blocking/overload2.html /doc/html/boost_asio/reference/basic_datagram_socket/native_non_blocking/overload3.html -/doc/html/boost_asio/reference/basic_datagram_socket/native_type.html /doc/html/boost_asio/reference/basic_datagram_socket/non_blocking/ /doc/html/boost_asio/reference/basic_datagram_socket/non_blocking.html -/doc/html/boost_asio/reference/basic_datagram_socket/non_blocking_io.html /doc/html/boost_asio/reference/basic_datagram_socket/non_blocking/overload1.html /doc/html/boost_asio/reference/basic_datagram_socket/non_blocking/overload2.html /doc/html/boost_asio/reference/basic_datagram_socket/non_blocking/overload3.html @@ -860,6 +1002,7 @@ /doc/html/boost_asio/reference/basic_datagram_socket/operator_eq_.html /doc/html/boost_asio/reference/basic_datagram_socket/operator_eq_/overload1.html /doc/html/boost_asio/reference/basic_datagram_socket/operator_eq_/overload2.html +/doc/html/boost_asio/reference/basic_datagram_socket/out_of_band_inline.html /doc/html/boost_asio/reference/basic_datagram_socket/protocol_type.html /doc/html/boost_asio/reference/basic_datagram_socket/receive/ /doc/html/boost_asio/reference/basic_datagram_socket/receive_buffer_size.html @@ -873,6 +1016,10 @@ /doc/html/boost_asio/reference/basic_datagram_socket/receive/overload1.html /doc/html/boost_asio/reference/basic_datagram_socket/receive/overload2.html /doc/html/boost_asio/reference/basic_datagram_socket/receive/overload3.html +/doc/html/boost_asio/reference/basic_datagram_socket/release/ +/doc/html/boost_asio/reference/basic_datagram_socket/release.html +/doc/html/boost_asio/reference/basic_datagram_socket/release/overload1.html +/doc/html/boost_asio/reference/basic_datagram_socket/release/overload2.html /doc/html/boost_asio/reference/basic_datagram_socket/remote_endpoint/ /doc/html/boost_asio/reference/basic_datagram_socket/remote_endpoint.html /doc/html/boost_asio/reference/basic_datagram_socket/remote_endpoint/overload1.html @@ -890,8 +1037,6 @@ /doc/html/boost_asio/reference/basic_datagram_socket/send_to/overload1.html /doc/html/boost_asio/reference/basic_datagram_socket/send_to/overload2.html /doc/html/boost_asio/reference/basic_datagram_socket/send_to/overload3.html -/doc/html/boost_asio/reference/basic_datagram_socket/service.html -/doc/html/boost_asio/reference/basic_datagram_socket/service_type.html /doc/html/boost_asio/reference/basic_datagram_socket/set_option/ /doc/html/boost_asio/reference/basic_datagram_socket/set_option.html /doc/html/boost_asio/reference/basic_datagram_socket/set_option/overload1.html @@ -901,13 +1046,20 @@ /doc/html/boost_asio/reference/basic_datagram_socket/shutdown/overload1.html /doc/html/boost_asio/reference/basic_datagram_socket/shutdown/overload2.html /doc/html/boost_asio/reference/basic_datagram_socket/shutdown_type.html +/doc/html/boost_asio/reference/basic_datagram_socket/wait/ +/doc/html/boost_asio/reference/basic_datagram_socket/wait.html +/doc/html/boost_asio/reference/basic_datagram_socket/wait/overload1.html +/doc/html/boost_asio/reference/basic_datagram_socket/wait/overload2.html +/doc/html/boost_asio/reference/basic_datagram_socket/wait_type.html /doc/html/boost_asio/reference/basic_deadline_timer/ /doc/html/boost_asio/reference/basic_deadline_timer/async_wait.html /doc/html/boost_asio/reference/basic_deadline_timer/basic_deadline_timer/ +/doc/html/boost_asio/reference/basic_deadline_timer/_basic_deadline_timer.html /doc/html/boost_asio/reference/basic_deadline_timer/basic_deadline_timer.html /doc/html/boost_asio/reference/basic_deadline_timer/basic_deadline_timer/overload1.html /doc/html/boost_asio/reference/basic_deadline_timer/basic_deadline_timer/overload2.html /doc/html/boost_asio/reference/basic_deadline_timer/basic_deadline_timer/overload3.html +/doc/html/boost_asio/reference/basic_deadline_timer/basic_deadline_timer/overload4.html /doc/html/boost_asio/reference/basic_deadline_timer/cancel/ /doc/html/boost_asio/reference/basic_deadline_timer/cancel.html /doc/html/boost_asio/reference/basic_deadline_timer/cancel_one/ @@ -917,6 +1069,7 @@ /doc/html/boost_asio/reference/basic_deadline_timer/cancel/overload1.html /doc/html/boost_asio/reference/basic_deadline_timer/cancel/overload2.html /doc/html/boost_asio/reference/basic_deadline_timer/duration_type.html +/doc/html/boost_asio/reference/basic_deadline_timer/executor_type.html /doc/html/boost_asio/reference/basic_deadline_timer/expires_at/ /doc/html/boost_asio/reference/basic_deadline_timer/expires_at.html /doc/html/boost_asio/reference/basic_deadline_timer/expires_at/overload1.html @@ -927,20 +1080,11 @@ /doc/html/boost_asio/reference/basic_deadline_timer/expires_from_now/overload1.html /doc/html/boost_asio/reference/basic_deadline_timer/expires_from_now/overload2.html /doc/html/boost_asio/reference/basic_deadline_timer/expires_from_now/overload3.html -/doc/html/boost_asio/reference/basic_deadline_timer/get_implementation/ -/doc/html/boost_asio/reference/basic_deadline_timer/get_implementation.html -/doc/html/boost_asio/reference/basic_deadline_timer/get_implementation/overload1.html -/doc/html/boost_asio/reference/basic_deadline_timer/get_implementation/overload2.html +/doc/html/boost_asio/reference/basic_deadline_timer/get_executor.html +/doc/html/boost_asio/reference/basic_deadline_timer/get_io_context.html /doc/html/boost_asio/reference/basic_deadline_timer/get_io_service.html -/doc/html/boost_asio/reference/basic_deadline_timer/get_service/ -/doc/html/boost_asio/reference/basic_deadline_timer/get_service.html -/doc/html/boost_asio/reference/basic_deadline_timer/get_service/overload1.html -/doc/html/boost_asio/reference/basic_deadline_timer/get_service/overload2.html /doc/html/boost_asio/reference/basic_deadline_timer.html -/doc/html/boost_asio/reference/basic_deadline_timer/implementation.html -/doc/html/boost_asio/reference/basic_deadline_timer/implementation_type.html -/doc/html/boost_asio/reference/basic_deadline_timer/service.html -/doc/html/boost_asio/reference/basic_deadline_timer/service_type.html +/doc/html/boost_asio/reference/basic_deadline_timer/operator_eq_.html /doc/html/boost_asio/reference/basic_deadline_timer/time_type.html /doc/html/boost_asio/reference/basic_deadline_timer/traits_type.html /doc/html/boost_asio/reference/basic_deadline_timer/wait/ @@ -953,20 +1097,22 @@ /doc/html/boost_asio/reference/basic_io_object/basic_io_object.html /doc/html/boost_asio/reference/basic_io_object/basic_io_object/overload1.html /doc/html/boost_asio/reference/basic_io_object/basic_io_object/overload2.html +/doc/html/boost_asio/reference/basic_io_object/basic_io_object/overload3.html +/doc/html/boost_asio/reference/basic_io_object/executor_type.html +/doc/html/boost_asio/reference/basic_io_object/get_executor.html /doc/html/boost_asio/reference/basic_io_object/get_implementation/ /doc/html/boost_asio/reference/basic_io_object/get_implementation.html /doc/html/boost_asio/reference/basic_io_object/get_implementation/overload1.html /doc/html/boost_asio/reference/basic_io_object/get_implementation/overload2.html +/doc/html/boost_asio/reference/basic_io_object/get_io_context.html /doc/html/boost_asio/reference/basic_io_object/get_io_service.html /doc/html/boost_asio/reference/basic_io_object/get_service/ /doc/html/boost_asio/reference/basic_io_object/get_service.html /doc/html/boost_asio/reference/basic_io_object/get_service/overload1.html /doc/html/boost_asio/reference/basic_io_object/get_service/overload2.html /doc/html/boost_asio/reference/basic_io_object.html -/doc/html/boost_asio/reference/basic_io_object/implementation.html /doc/html/boost_asio/reference/basic_io_object/implementation_type.html /doc/html/boost_asio/reference/basic_io_object/operator_eq_.html -/doc/html/boost_asio/reference/basic_io_object/service.html /doc/html/boost_asio/reference/basic_io_object/service_type.html /doc/html/boost_asio/reference/basic_raw_socket/ /doc/html/boost_asio/reference/basic_raw_socket/assign/ @@ -990,6 +1136,7 @@ /doc/html/boost_asio/reference/basic_raw_socket/async_send_to.html /doc/html/boost_asio/reference/basic_raw_socket/async_send_to/overload1.html /doc/html/boost_asio/reference/basic_raw_socket/async_send_to/overload2.html +/doc/html/boost_asio/reference/basic_raw_socket/async_wait.html /doc/html/boost_asio/reference/basic_raw_socket/at_mark/ /doc/html/boost_asio/reference/basic_raw_socket/at_mark.html /doc/html/boost_asio/reference/basic_raw_socket/at_mark/overload1.html @@ -999,6 +1146,7 @@ /doc/html/boost_asio/reference/basic_raw_socket/available/overload1.html /doc/html/boost_asio/reference/basic_raw_socket/available/overload2.html /doc/html/boost_asio/reference/basic_raw_socket/basic_raw_socket/ +/doc/html/boost_asio/reference/basic_raw_socket/_basic_raw_socket.html /doc/html/boost_asio/reference/basic_raw_socket/basic_raw_socket.html /doc/html/boost_asio/reference/basic_raw_socket/basic_raw_socket/overload1.html /doc/html/boost_asio/reference/basic_raw_socket/basic_raw_socket/overload2.html @@ -1028,22 +1176,15 @@ /doc/html/boost_asio/reference/basic_raw_socket/do_not_route.html /doc/html/boost_asio/reference/basic_raw_socket/enable_connection_aborted.html /doc/html/boost_asio/reference/basic_raw_socket/endpoint_type.html -/doc/html/boost_asio/reference/basic_raw_socket/get_implementation/ -/doc/html/boost_asio/reference/basic_raw_socket/get_implementation.html -/doc/html/boost_asio/reference/basic_raw_socket/get_implementation/overload1.html -/doc/html/boost_asio/reference/basic_raw_socket/get_implementation/overload2.html +/doc/html/boost_asio/reference/basic_raw_socket/executor_type.html +/doc/html/boost_asio/reference/basic_raw_socket/get_executor.html +/doc/html/boost_asio/reference/basic_raw_socket/get_io_context.html /doc/html/boost_asio/reference/basic_raw_socket/get_io_service.html /doc/html/boost_asio/reference/basic_raw_socket/get_option/ /doc/html/boost_asio/reference/basic_raw_socket/get_option.html /doc/html/boost_asio/reference/basic_raw_socket/get_option/overload1.html /doc/html/boost_asio/reference/basic_raw_socket/get_option/overload2.html -/doc/html/boost_asio/reference/basic_raw_socket/get_service/ -/doc/html/boost_asio/reference/basic_raw_socket/get_service.html -/doc/html/boost_asio/reference/basic_raw_socket/get_service/overload1.html -/doc/html/boost_asio/reference/basic_raw_socket/get_service/overload2.html /doc/html/boost_asio/reference/basic_raw_socket.html -/doc/html/boost_asio/reference/basic_raw_socket/implementation.html -/doc/html/boost_asio/reference/basic_raw_socket/implementation_type.html /doc/html/boost_asio/reference/basic_raw_socket/io_control/ /doc/html/boost_asio/reference/basic_raw_socket/io_control.html /doc/html/boost_asio/reference/basic_raw_socket/io_control/overload1.html @@ -1061,6 +1202,7 @@ /doc/html/boost_asio/reference/basic_raw_socket/lowest_layer/overload2.html /doc/html/boost_asio/reference/basic_raw_socket/lowest_layer_type.html /doc/html/boost_asio/reference/basic_raw_socket/max_connections.html +/doc/html/boost_asio/reference/basic_raw_socket/max_listen_connections.html /doc/html/boost_asio/reference/basic_raw_socket/message_do_not_route.html /doc/html/boost_asio/reference/basic_raw_socket/message_end_of_record.html /doc/html/boost_asio/reference/basic_raw_socket/message_flags.html @@ -1068,16 +1210,13 @@ /doc/html/boost_asio/reference/basic_raw_socket/message_peek.html /doc/html/boost_asio/reference/basic_raw_socket/native_handle.html /doc/html/boost_asio/reference/basic_raw_socket/native_handle_type.html -/doc/html/boost_asio/reference/basic_raw_socket/native.html /doc/html/boost_asio/reference/basic_raw_socket/native_non_blocking/ /doc/html/boost_asio/reference/basic_raw_socket/native_non_blocking.html /doc/html/boost_asio/reference/basic_raw_socket/native_non_blocking/overload1.html /doc/html/boost_asio/reference/basic_raw_socket/native_non_blocking/overload2.html /doc/html/boost_asio/reference/basic_raw_socket/native_non_blocking/overload3.html -/doc/html/boost_asio/reference/basic_raw_socket/native_type.html /doc/html/boost_asio/reference/basic_raw_socket/non_blocking/ /doc/html/boost_asio/reference/basic_raw_socket/non_blocking.html -/doc/html/boost_asio/reference/basic_raw_socket/non_blocking_io.html /doc/html/boost_asio/reference/basic_raw_socket/non_blocking/overload1.html /doc/html/boost_asio/reference/basic_raw_socket/non_blocking/overload2.html /doc/html/boost_asio/reference/basic_raw_socket/non_blocking/overload3.html @@ -1089,6 +1228,7 @@ /doc/html/boost_asio/reference/basic_raw_socket/operator_eq_.html /doc/html/boost_asio/reference/basic_raw_socket/operator_eq_/overload1.html /doc/html/boost_asio/reference/basic_raw_socket/operator_eq_/overload2.html +/doc/html/boost_asio/reference/basic_raw_socket/out_of_band_inline.html /doc/html/boost_asio/reference/basic_raw_socket/protocol_type.html /doc/html/boost_asio/reference/basic_raw_socket/receive/ /doc/html/boost_asio/reference/basic_raw_socket/receive_buffer_size.html @@ -1102,6 +1242,10 @@ /doc/html/boost_asio/reference/basic_raw_socket/receive/overload1.html /doc/html/boost_asio/reference/basic_raw_socket/receive/overload2.html /doc/html/boost_asio/reference/basic_raw_socket/receive/overload3.html +/doc/html/boost_asio/reference/basic_raw_socket/release/ +/doc/html/boost_asio/reference/basic_raw_socket/release.html +/doc/html/boost_asio/reference/basic_raw_socket/release/overload1.html +/doc/html/boost_asio/reference/basic_raw_socket/release/overload2.html /doc/html/boost_asio/reference/basic_raw_socket/remote_endpoint/ /doc/html/boost_asio/reference/basic_raw_socket/remote_endpoint.html /doc/html/boost_asio/reference/basic_raw_socket/remote_endpoint/overload1.html @@ -1119,8 +1263,6 @@ /doc/html/boost_asio/reference/basic_raw_socket/send_to/overload1.html /doc/html/boost_asio/reference/basic_raw_socket/send_to/overload2.html /doc/html/boost_asio/reference/basic_raw_socket/send_to/overload3.html -/doc/html/boost_asio/reference/basic_raw_socket/service.html -/doc/html/boost_asio/reference/basic_raw_socket/service_type.html /doc/html/boost_asio/reference/basic_raw_socket/set_option/ /doc/html/boost_asio/reference/basic_raw_socket/set_option.html /doc/html/boost_asio/reference/basic_raw_socket/set_option/overload1.html @@ -1130,6 +1272,11 @@ /doc/html/boost_asio/reference/basic_raw_socket/shutdown/overload1.html /doc/html/boost_asio/reference/basic_raw_socket/shutdown/overload2.html /doc/html/boost_asio/reference/basic_raw_socket/shutdown_type.html +/doc/html/boost_asio/reference/basic_raw_socket/wait/ +/doc/html/boost_asio/reference/basic_raw_socket/wait.html +/doc/html/boost_asio/reference/basic_raw_socket/wait/overload1.html +/doc/html/boost_asio/reference/basic_raw_socket/wait/overload2.html +/doc/html/boost_asio/reference/basic_raw_socket/wait_type.html /doc/html/boost_asio/reference/basic_seq_packet_socket/ /doc/html/boost_asio/reference/basic_seq_packet_socket/assign/ /doc/html/boost_asio/reference/basic_seq_packet_socket/assign.html @@ -1141,6 +1288,7 @@ /doc/html/boost_asio/reference/basic_seq_packet_socket/async_receive/overload1.html /doc/html/boost_asio/reference/basic_seq_packet_socket/async_receive/overload2.html /doc/html/boost_asio/reference/basic_seq_packet_socket/async_send.html +/doc/html/boost_asio/reference/basic_seq_packet_socket/async_wait.html /doc/html/boost_asio/reference/basic_seq_packet_socket/at_mark/ /doc/html/boost_asio/reference/basic_seq_packet_socket/at_mark.html /doc/html/boost_asio/reference/basic_seq_packet_socket/at_mark/overload1.html @@ -1150,6 +1298,7 @@ /doc/html/boost_asio/reference/basic_seq_packet_socket/available/overload1.html /doc/html/boost_asio/reference/basic_seq_packet_socket/available/overload2.html /doc/html/boost_asio/reference/basic_seq_packet_socket/basic_seq_packet_socket/ +/doc/html/boost_asio/reference/basic_seq_packet_socket/_basic_seq_packet_socket.html /doc/html/boost_asio/reference/basic_seq_packet_socket/basic_seq_packet_socket.html /doc/html/boost_asio/reference/basic_seq_packet_socket/basic_seq_packet_socket/overload1.html /doc/html/boost_asio/reference/basic_seq_packet_socket/basic_seq_packet_socket/overload2.html @@ -1179,22 +1328,15 @@ /doc/html/boost_asio/reference/basic_seq_packet_socket/do_not_route.html /doc/html/boost_asio/reference/basic_seq_packet_socket/enable_connection_aborted.html /doc/html/boost_asio/reference/basic_seq_packet_socket/endpoint_type.html -/doc/html/boost_asio/reference/basic_seq_packet_socket/get_implementation/ -/doc/html/boost_asio/reference/basic_seq_packet_socket/get_implementation.html -/doc/html/boost_asio/reference/basic_seq_packet_socket/get_implementation/overload1.html -/doc/html/boost_asio/reference/basic_seq_packet_socket/get_implementation/overload2.html +/doc/html/boost_asio/reference/basic_seq_packet_socket/executor_type.html +/doc/html/boost_asio/reference/basic_seq_packet_socket/get_executor.html +/doc/html/boost_asio/reference/basic_seq_packet_socket/get_io_context.html /doc/html/boost_asio/reference/basic_seq_packet_socket/get_io_service.html /doc/html/boost_asio/reference/basic_seq_packet_socket/get_option/ /doc/html/boost_asio/reference/basic_seq_packet_socket/get_option.html /doc/html/boost_asio/reference/basic_seq_packet_socket/get_option/overload1.html /doc/html/boost_asio/reference/basic_seq_packet_socket/get_option/overload2.html -/doc/html/boost_asio/reference/basic_seq_packet_socket/get_service/ -/doc/html/boost_asio/reference/basic_seq_packet_socket/get_service.html -/doc/html/boost_asio/reference/basic_seq_packet_socket/get_service/overload1.html -/doc/html/boost_asio/reference/basic_seq_packet_socket/get_service/overload2.html /doc/html/boost_asio/reference/basic_seq_packet_socket.html -/doc/html/boost_asio/reference/basic_seq_packet_socket/implementation.html -/doc/html/boost_asio/reference/basic_seq_packet_socket/implementation_type.html /doc/html/boost_asio/reference/basic_seq_packet_socket/io_control/ /doc/html/boost_asio/reference/basic_seq_packet_socket/io_control.html /doc/html/boost_asio/reference/basic_seq_packet_socket/io_control/overload1.html @@ -1212,6 +1354,7 @@ /doc/html/boost_asio/reference/basic_seq_packet_socket/lowest_layer/overload2.html /doc/html/boost_asio/reference/basic_seq_packet_socket/lowest_layer_type.html /doc/html/boost_asio/reference/basic_seq_packet_socket/max_connections.html +/doc/html/boost_asio/reference/basic_seq_packet_socket/max_listen_connections.html /doc/html/boost_asio/reference/basic_seq_packet_socket/message_do_not_route.html /doc/html/boost_asio/reference/basic_seq_packet_socket/message_end_of_record.html /doc/html/boost_asio/reference/basic_seq_packet_socket/message_flags.html @@ -1219,16 +1362,13 @@ /doc/html/boost_asio/reference/basic_seq_packet_socket/message_peek.html /doc/html/boost_asio/reference/basic_seq_packet_socket/native_handle.html /doc/html/boost_asio/reference/basic_seq_packet_socket/native_handle_type.html -/doc/html/boost_asio/reference/basic_seq_packet_socket/native.html /doc/html/boost_asio/reference/basic_seq_packet_socket/native_non_blocking/ /doc/html/boost_asio/reference/basic_seq_packet_socket/native_non_blocking.html /doc/html/boost_asio/reference/basic_seq_packet_socket/native_non_blocking/overload1.html /doc/html/boost_asio/reference/basic_seq_packet_socket/native_non_blocking/overload2.html /doc/html/boost_asio/reference/basic_seq_packet_socket/native_non_blocking/overload3.html -/doc/html/boost_asio/reference/basic_seq_packet_socket/native_type.html /doc/html/boost_asio/reference/basic_seq_packet_socket/non_blocking/ /doc/html/boost_asio/reference/basic_seq_packet_socket/non_blocking.html -/doc/html/boost_asio/reference/basic_seq_packet_socket/non_blocking_io.html /doc/html/boost_asio/reference/basic_seq_packet_socket/non_blocking/overload1.html /doc/html/boost_asio/reference/basic_seq_packet_socket/non_blocking/overload2.html /doc/html/boost_asio/reference/basic_seq_packet_socket/non_blocking/overload3.html @@ -1240,6 +1380,7 @@ /doc/html/boost_asio/reference/basic_seq_packet_socket/operator_eq_.html /doc/html/boost_asio/reference/basic_seq_packet_socket/operator_eq_/overload1.html /doc/html/boost_asio/reference/basic_seq_packet_socket/operator_eq_/overload2.html +/doc/html/boost_asio/reference/basic_seq_packet_socket/out_of_band_inline.html /doc/html/boost_asio/reference/basic_seq_packet_socket/protocol_type.html /doc/html/boost_asio/reference/basic_seq_packet_socket/receive/ /doc/html/boost_asio/reference/basic_seq_packet_socket/receive_buffer_size.html @@ -1248,6 +1389,10 @@ /doc/html/boost_asio/reference/basic_seq_packet_socket/receive/overload1.html /doc/html/boost_asio/reference/basic_seq_packet_socket/receive/overload2.html /doc/html/boost_asio/reference/basic_seq_packet_socket/receive/overload3.html +/doc/html/boost_asio/reference/basic_seq_packet_socket/release/ +/doc/html/boost_asio/reference/basic_seq_packet_socket/release.html +/doc/html/boost_asio/reference/basic_seq_packet_socket/release/overload1.html +/doc/html/boost_asio/reference/basic_seq_packet_socket/release/overload2.html /doc/html/boost_asio/reference/basic_seq_packet_socket/remote_endpoint/ /doc/html/boost_asio/reference/basic_seq_packet_socket/remote_endpoint.html /doc/html/boost_asio/reference/basic_seq_packet_socket/remote_endpoint/overload1.html @@ -1259,8 +1404,6 @@ /doc/html/boost_asio/reference/basic_seq_packet_socket/send_low_watermark.html /doc/html/boost_asio/reference/basic_seq_packet_socket/send/overload1.html /doc/html/boost_asio/reference/basic_seq_packet_socket/send/overload2.html -/doc/html/boost_asio/reference/basic_seq_packet_socket/service.html -/doc/html/boost_asio/reference/basic_seq_packet_socket/service_type.html /doc/html/boost_asio/reference/basic_seq_packet_socket/set_option/ /doc/html/boost_asio/reference/basic_seq_packet_socket/set_option.html /doc/html/boost_asio/reference/basic_seq_packet_socket/set_option/overload1.html @@ -1270,123 +1413,27 @@ /doc/html/boost_asio/reference/basic_seq_packet_socket/shutdown/overload1.html /doc/html/boost_asio/reference/basic_seq_packet_socket/shutdown/overload2.html /doc/html/boost_asio/reference/basic_seq_packet_socket/shutdown_type.html -/doc/html/boost_asio/reference/basic_serial_port/ -/doc/html/boost_asio/reference/basic_serial_port/assign/ -/doc/html/boost_asio/reference/basic_serial_port/assign.html -/doc/html/boost_asio/reference/basic_serial_port/assign/overload1.html -/doc/html/boost_asio/reference/basic_serial_port/assign/overload2.html -/doc/html/boost_asio/reference/basic_serial_port/async_read_some.html -/doc/html/boost_asio/reference/basic_serial_port/async_write_some.html -/doc/html/boost_asio/reference/basic_serial_port/basic_serial_port/ -/doc/html/boost_asio/reference/basic_serial_port/basic_serial_port.html -/doc/html/boost_asio/reference/basic_serial_port/basic_serial_port/overload1.html -/doc/html/boost_asio/reference/basic_serial_port/basic_serial_port/overload2.html -/doc/html/boost_asio/reference/basic_serial_port/basic_serial_port/overload3.html -/doc/html/boost_asio/reference/basic_serial_port/basic_serial_port/overload4.html -/doc/html/boost_asio/reference/basic_serial_port/basic_serial_port/overload5.html -/doc/html/boost_asio/reference/basic_serial_port/cancel/ -/doc/html/boost_asio/reference/basic_serial_port/cancel.html -/doc/html/boost_asio/reference/basic_serial_port/cancel/overload1.html -/doc/html/boost_asio/reference/basic_serial_port/cancel/overload2.html -/doc/html/boost_asio/reference/basic_serial_port/close/ -/doc/html/boost_asio/reference/basic_serial_port/close.html -/doc/html/boost_asio/reference/basic_serial_port/close/overload1.html -/doc/html/boost_asio/reference/basic_serial_port/close/overload2.html -/doc/html/boost_asio/reference/basic_serial_port/get_implementation/ -/doc/html/boost_asio/reference/basic_serial_port/get_implementation.html -/doc/html/boost_asio/reference/basic_serial_port/get_implementation/overload1.html -/doc/html/boost_asio/reference/basic_serial_port/get_implementation/overload2.html -/doc/html/boost_asio/reference/basic_serial_port/get_io_service.html -/doc/html/boost_asio/reference/basic_serial_port/get_option/ -/doc/html/boost_asio/reference/basic_serial_port/get_option.html -/doc/html/boost_asio/reference/basic_serial_port/get_option/overload1.html -/doc/html/boost_asio/reference/basic_serial_port/get_option/overload2.html -/doc/html/boost_asio/reference/basic_serial_port/get_service/ -/doc/html/boost_asio/reference/basic_serial_port/get_service.html -/doc/html/boost_asio/reference/basic_serial_port/get_service/overload1.html -/doc/html/boost_asio/reference/basic_serial_port/get_service/overload2.html -/doc/html/boost_asio/reference/basic_serial_port.html -/doc/html/boost_asio/reference/basic_serial_port/implementation.html -/doc/html/boost_asio/reference/basic_serial_port/implementation_type.html -/doc/html/boost_asio/reference/basic_serial_port/is_open.html -/doc/html/boost_asio/reference/basic_serial_port/lowest_layer/ -/doc/html/boost_asio/reference/basic_serial_port/lowest_layer.html -/doc/html/boost_asio/reference/basic_serial_port/lowest_layer/overload1.html -/doc/html/boost_asio/reference/basic_serial_port/lowest_layer/overload2.html -/doc/html/boost_asio/reference/basic_serial_port/lowest_layer_type.html -/doc/html/boost_asio/reference/basic_serial_port/native_handle.html -/doc/html/boost_asio/reference/basic_serial_port/native_handle_type.html -/doc/html/boost_asio/reference/basic_serial_port/native.html -/doc/html/boost_asio/reference/basic_serial_port/native_type.html -/doc/html/boost_asio/reference/basic_serial_port/open/ -/doc/html/boost_asio/reference/basic_serial_port/open.html -/doc/html/boost_asio/reference/basic_serial_port/open/overload1.html -/doc/html/boost_asio/reference/basic_serial_port/open/overload2.html -/doc/html/boost_asio/reference/basic_serial_port/operator_eq_.html -/doc/html/boost_asio/reference/basic_serial_port/read_some/ -/doc/html/boost_asio/reference/basic_serial_port/read_some.html -/doc/html/boost_asio/reference/basic_serial_port/read_some/overload1.html -/doc/html/boost_asio/reference/basic_serial_port/read_some/overload2.html -/doc/html/boost_asio/reference/basic_serial_port/send_break/ -/doc/html/boost_asio/reference/basic_serial_port/send_break.html -/doc/html/boost_asio/reference/basic_serial_port/send_break/overload1.html -/doc/html/boost_asio/reference/basic_serial_port/send_break/overload2.html -/doc/html/boost_asio/reference/basic_serial_port/service.html -/doc/html/boost_asio/reference/basic_serial_port/service_type.html -/doc/html/boost_asio/reference/basic_serial_port/set_option/ -/doc/html/boost_asio/reference/basic_serial_port/set_option.html -/doc/html/boost_asio/reference/basic_serial_port/set_option/overload1.html -/doc/html/boost_asio/reference/basic_serial_port/set_option/overload2.html -/doc/html/boost_asio/reference/basic_serial_port/write_some/ -/doc/html/boost_asio/reference/basic_serial_port/write_some.html -/doc/html/boost_asio/reference/basic_serial_port/write_some/overload1.html -/doc/html/boost_asio/reference/basic_serial_port/write_some/overload2.html -/doc/html/boost_asio/reference/basic_signal_set/ -/doc/html/boost_asio/reference/basic_signal_set/add/ -/doc/html/boost_asio/reference/basic_signal_set/add.html -/doc/html/boost_asio/reference/basic_signal_set/add/overload1.html -/doc/html/boost_asio/reference/basic_signal_set/add/overload2.html -/doc/html/boost_asio/reference/basic_signal_set/async_wait.html -/doc/html/boost_asio/reference/basic_signal_set/basic_signal_set/ -/doc/html/boost_asio/reference/basic_signal_set/basic_signal_set.html -/doc/html/boost_asio/reference/basic_signal_set/basic_signal_set/overload1.html -/doc/html/boost_asio/reference/basic_signal_set/basic_signal_set/overload2.html -/doc/html/boost_asio/reference/basic_signal_set/basic_signal_set/overload3.html -/doc/html/boost_asio/reference/basic_signal_set/basic_signal_set/overload4.html -/doc/html/boost_asio/reference/basic_signal_set/cancel/ -/doc/html/boost_asio/reference/basic_signal_set/cancel.html -/doc/html/boost_asio/reference/basic_signal_set/cancel/overload1.html -/doc/html/boost_asio/reference/basic_signal_set/cancel/overload2.html -/doc/html/boost_asio/reference/basic_signal_set/clear/ -/doc/html/boost_asio/reference/basic_signal_set/clear.html -/doc/html/boost_asio/reference/basic_signal_set/clear/overload1.html -/doc/html/boost_asio/reference/basic_signal_set/clear/overload2.html -/doc/html/boost_asio/reference/basic_signal_set/get_implementation/ -/doc/html/boost_asio/reference/basic_signal_set/get_implementation.html -/doc/html/boost_asio/reference/basic_signal_set/get_implementation/overload1.html -/doc/html/boost_asio/reference/basic_signal_set/get_implementation/overload2.html -/doc/html/boost_asio/reference/basic_signal_set/get_io_service.html -/doc/html/boost_asio/reference/basic_signal_set/get_service/ -/doc/html/boost_asio/reference/basic_signal_set/get_service.html -/doc/html/boost_asio/reference/basic_signal_set/get_service/overload1.html -/doc/html/boost_asio/reference/basic_signal_set/get_service/overload2.html -/doc/html/boost_asio/reference/basic_signal_set.html -/doc/html/boost_asio/reference/basic_signal_set/implementation.html -/doc/html/boost_asio/reference/basic_signal_set/implementation_type.html -/doc/html/boost_asio/reference/basic_signal_set/remove/ -/doc/html/boost_asio/reference/basic_signal_set/remove.html -/doc/html/boost_asio/reference/basic_signal_set/remove/overload1.html -/doc/html/boost_asio/reference/basic_signal_set/remove/overload2.html -/doc/html/boost_asio/reference/basic_signal_set/service.html -/doc/html/boost_asio/reference/basic_signal_set/service_type.html +/doc/html/boost_asio/reference/basic_seq_packet_socket/wait/ +/doc/html/boost_asio/reference/basic_seq_packet_socket/wait.html +/doc/html/boost_asio/reference/basic_seq_packet_socket/wait/overload1.html +/doc/html/boost_asio/reference/basic_seq_packet_socket/wait/overload2.html +/doc/html/boost_asio/reference/basic_seq_packet_socket/wait_type.html /doc/html/boost_asio/reference/basic_socket/ /doc/html/boost_asio/reference/basic_socket_acceptor/ /doc/html/boost_asio/reference/basic_socket_acceptor/accept/ /doc/html/boost_asio/reference/basic_socket_acceptor/accept.html +/doc/html/boost_asio/reference/basic_socket_acceptor/accept/overload10.html +/doc/html/boost_asio/reference/basic_socket_acceptor/accept/overload11.html +/doc/html/boost_asio/reference/basic_socket_acceptor/accept/overload12.html /doc/html/boost_asio/reference/basic_socket_acceptor/accept/overload1.html /doc/html/boost_asio/reference/basic_socket_acceptor/accept/overload2.html /doc/html/boost_asio/reference/basic_socket_acceptor/accept/overload3.html /doc/html/boost_asio/reference/basic_socket_acceptor/accept/overload4.html +/doc/html/boost_asio/reference/basic_socket_acceptor/accept/overload5.html +/doc/html/boost_asio/reference/basic_socket_acceptor/accept/overload6.html +/doc/html/boost_asio/reference/basic_socket_acceptor/accept/overload7.html +/doc/html/boost_asio/reference/basic_socket_acceptor/accept/overload8.html +/doc/html/boost_asio/reference/basic_socket_acceptor/accept/overload9.html /doc/html/boost_asio/reference/basic_socket_acceptor/assign/ /doc/html/boost_asio/reference/basic_socket_acceptor/assign.html /doc/html/boost_asio/reference/basic_socket_acceptor/assign/overload1.html @@ -1395,7 +1442,13 @@ /doc/html/boost_asio/reference/basic_socket_acceptor/async_accept.html /doc/html/boost_asio/reference/basic_socket_acceptor/async_accept/overload1.html /doc/html/boost_asio/reference/basic_socket_acceptor/async_accept/overload2.html +/doc/html/boost_asio/reference/basic_socket_acceptor/async_accept/overload3.html +/doc/html/boost_asio/reference/basic_socket_acceptor/async_accept/overload4.html +/doc/html/boost_asio/reference/basic_socket_acceptor/async_accept/overload5.html +/doc/html/boost_asio/reference/basic_socket_acceptor/async_accept/overload6.html +/doc/html/boost_asio/reference/basic_socket_acceptor/async_wait.html /doc/html/boost_asio/reference/basic_socket_acceptor/basic_socket_acceptor/ +/doc/html/boost_asio/reference/basic_socket_acceptor/_basic_socket_acceptor.html /doc/html/boost_asio/reference/basic_socket_acceptor/basic_socket_acceptor.html /doc/html/boost_asio/reference/basic_socket_acceptor/basic_socket_acceptor/overload1.html /doc/html/boost_asio/reference/basic_socket_acceptor/basic_socket_acceptor/overload2.html @@ -1421,22 +1474,15 @@ /doc/html/boost_asio/reference/basic_socket_acceptor/do_not_route.html /doc/html/boost_asio/reference/basic_socket_acceptor/enable_connection_aborted.html /doc/html/boost_asio/reference/basic_socket_acceptor/endpoint_type.html -/doc/html/boost_asio/reference/basic_socket_acceptor/get_implementation/ -/doc/html/boost_asio/reference/basic_socket_acceptor/get_implementation.html -/doc/html/boost_asio/reference/basic_socket_acceptor/get_implementation/overload1.html -/doc/html/boost_asio/reference/basic_socket_acceptor/get_implementation/overload2.html +/doc/html/boost_asio/reference/basic_socket_acceptor/executor_type.html +/doc/html/boost_asio/reference/basic_socket_acceptor/get_executor.html +/doc/html/boost_asio/reference/basic_socket_acceptor/get_io_context.html /doc/html/boost_asio/reference/basic_socket_acceptor/get_io_service.html /doc/html/boost_asio/reference/basic_socket_acceptor/get_option/ /doc/html/boost_asio/reference/basic_socket_acceptor/get_option.html /doc/html/boost_asio/reference/basic_socket_acceptor/get_option/overload1.html /doc/html/boost_asio/reference/basic_socket_acceptor/get_option/overload2.html -/doc/html/boost_asio/reference/basic_socket_acceptor/get_service/ -/doc/html/boost_asio/reference/basic_socket_acceptor/get_service.html -/doc/html/boost_asio/reference/basic_socket_acceptor/get_service/overload1.html -/doc/html/boost_asio/reference/basic_socket_acceptor/get_service/overload2.html /doc/html/boost_asio/reference/basic_socket_acceptor.html -/doc/html/boost_asio/reference/basic_socket_acceptor/implementation.html -/doc/html/boost_asio/reference/basic_socket_acceptor/implementation_type.html /doc/html/boost_asio/reference/basic_socket_acceptor/io_control/ /doc/html/boost_asio/reference/basic_socket_acceptor/io_control.html /doc/html/boost_asio/reference/basic_socket_acceptor/io_control/overload1.html @@ -1453,6 +1499,7 @@ /doc/html/boost_asio/reference/basic_socket_acceptor/local_endpoint/overload1.html /doc/html/boost_asio/reference/basic_socket_acceptor/local_endpoint/overload2.html /doc/html/boost_asio/reference/basic_socket_acceptor/max_connections.html +/doc/html/boost_asio/reference/basic_socket_acceptor/max_listen_connections.html /doc/html/boost_asio/reference/basic_socket_acceptor/message_do_not_route.html /doc/html/boost_asio/reference/basic_socket_acceptor/message_end_of_record.html /doc/html/boost_asio/reference/basic_socket_acceptor/message_flags.html @@ -1460,16 +1507,13 @@ /doc/html/boost_asio/reference/basic_socket_acceptor/message_peek.html /doc/html/boost_asio/reference/basic_socket_acceptor/native_handle.html /doc/html/boost_asio/reference/basic_socket_acceptor/native_handle_type.html -/doc/html/boost_asio/reference/basic_socket_acceptor/native.html /doc/html/boost_asio/reference/basic_socket_acceptor/native_non_blocking/ /doc/html/boost_asio/reference/basic_socket_acceptor/native_non_blocking.html /doc/html/boost_asio/reference/basic_socket_acceptor/native_non_blocking/overload1.html /doc/html/boost_asio/reference/basic_socket_acceptor/native_non_blocking/overload2.html /doc/html/boost_asio/reference/basic_socket_acceptor/native_non_blocking/overload3.html -/doc/html/boost_asio/reference/basic_socket_acceptor/native_type.html /doc/html/boost_asio/reference/basic_socket_acceptor/non_blocking/ /doc/html/boost_asio/reference/basic_socket_acceptor/non_blocking.html -/doc/html/boost_asio/reference/basic_socket_acceptor/non_blocking_io.html /doc/html/boost_asio/reference/basic_socket_acceptor/non_blocking/overload1.html /doc/html/boost_asio/reference/basic_socket_acceptor/non_blocking/overload2.html /doc/html/boost_asio/reference/basic_socket_acceptor/non_blocking/overload3.html @@ -1481,24 +1525,33 @@ /doc/html/boost_asio/reference/basic_socket_acceptor/operator_eq_.html /doc/html/boost_asio/reference/basic_socket_acceptor/operator_eq_/overload1.html /doc/html/boost_asio/reference/basic_socket_acceptor/operator_eq_/overload2.html +/doc/html/boost_asio/reference/basic_socket_acceptor/out_of_band_inline.html /doc/html/boost_asio/reference/basic_socket_acceptor/protocol_type.html /doc/html/boost_asio/reference/basic_socket_acceptor/receive_buffer_size.html /doc/html/boost_asio/reference/basic_socket_acceptor/receive_low_watermark.html +/doc/html/boost_asio/reference/basic_socket_acceptor/release/ +/doc/html/boost_asio/reference/basic_socket_acceptor/release.html +/doc/html/boost_asio/reference/basic_socket_acceptor/release/overload1.html +/doc/html/boost_asio/reference/basic_socket_acceptor/release/overload2.html /doc/html/boost_asio/reference/basic_socket_acceptor/reuse_address.html /doc/html/boost_asio/reference/basic_socket_acceptor/send_buffer_size.html /doc/html/boost_asio/reference/basic_socket_acceptor/send_low_watermark.html -/doc/html/boost_asio/reference/basic_socket_acceptor/service.html -/doc/html/boost_asio/reference/basic_socket_acceptor/service_type.html /doc/html/boost_asio/reference/basic_socket_acceptor/set_option/ /doc/html/boost_asio/reference/basic_socket_acceptor/set_option.html /doc/html/boost_asio/reference/basic_socket_acceptor/set_option/overload1.html /doc/html/boost_asio/reference/basic_socket_acceptor/set_option/overload2.html /doc/html/boost_asio/reference/basic_socket_acceptor/shutdown_type.html +/doc/html/boost_asio/reference/basic_socket_acceptor/wait/ +/doc/html/boost_asio/reference/basic_socket_acceptor/wait.html +/doc/html/boost_asio/reference/basic_socket_acceptor/wait/overload1.html +/doc/html/boost_asio/reference/basic_socket_acceptor/wait/overload2.html +/doc/html/boost_asio/reference/basic_socket_acceptor/wait_type.html /doc/html/boost_asio/reference/basic_socket/assign/ /doc/html/boost_asio/reference/basic_socket/assign.html /doc/html/boost_asio/reference/basic_socket/assign/overload1.html /doc/html/boost_asio/reference/basic_socket/assign/overload2.html /doc/html/boost_asio/reference/basic_socket/async_connect.html +/doc/html/boost_asio/reference/basic_socket/async_wait.html /doc/html/boost_asio/reference/basic_socket/at_mark/ /doc/html/boost_asio/reference/basic_socket/at_mark.html /doc/html/boost_asio/reference/basic_socket/at_mark/overload1.html @@ -1538,22 +1591,15 @@ /doc/html/boost_asio/reference/basic_socket/do_not_route.html /doc/html/boost_asio/reference/basic_socket/enable_connection_aborted.html /doc/html/boost_asio/reference/basic_socket/endpoint_type.html -/doc/html/boost_asio/reference/basic_socket/get_implementation/ -/doc/html/boost_asio/reference/basic_socket/get_implementation.html -/doc/html/boost_asio/reference/basic_socket/get_implementation/overload1.html -/doc/html/boost_asio/reference/basic_socket/get_implementation/overload2.html +/doc/html/boost_asio/reference/basic_socket/executor_type.html +/doc/html/boost_asio/reference/basic_socket/get_executor.html +/doc/html/boost_asio/reference/basic_socket/get_io_context.html /doc/html/boost_asio/reference/basic_socket/get_io_service.html /doc/html/boost_asio/reference/basic_socket/get_option/ /doc/html/boost_asio/reference/basic_socket/get_option.html /doc/html/boost_asio/reference/basic_socket/get_option/overload1.html /doc/html/boost_asio/reference/basic_socket/get_option/overload2.html -/doc/html/boost_asio/reference/basic_socket/get_service/ -/doc/html/boost_asio/reference/basic_socket/get_service.html -/doc/html/boost_asio/reference/basic_socket/get_service/overload1.html -/doc/html/boost_asio/reference/basic_socket/get_service/overload2.html /doc/html/boost_asio/reference/basic_socket.html -/doc/html/boost_asio/reference/basic_socket/implementation.html -/doc/html/boost_asio/reference/basic_socket/implementation_type.html /doc/html/boost_asio/reference/basic_socket/io_control/ /doc/html/boost_asio/reference/basic_socket/io_control.html /doc/html/boost_asio/reference/basic_socket/io_control/overload1.html @@ -1563,11 +1609,16 @@ /doc/html/boost_asio/reference/basic_socket_iostream/basic_socket_iostream.html /doc/html/boost_asio/reference/basic_socket_iostream/basic_socket_iostream/overload1.html /doc/html/boost_asio/reference/basic_socket_iostream/basic_socket_iostream/overload2.html +/doc/html/boost_asio/reference/basic_socket_iostream/basic_socket_iostream/overload3.html +/doc/html/boost_asio/reference/basic_socket_iostream/basic_socket_iostream/overload4.html +/doc/html/boost_asio/reference/basic_socket_iostream/clock_type.html /doc/html/boost_asio/reference/basic_socket_iostream/close.html /doc/html/boost_asio/reference/basic_socket_iostream/connect.html +/doc/html/boost_asio/reference/basic_socket_iostream/duration.html /doc/html/boost_asio/reference/basic_socket_iostream/duration_type.html /doc/html/boost_asio/reference/basic_socket_iostream/endpoint_type.html /doc/html/boost_asio/reference/basic_socket_iostream/error.html +/doc/html/boost_asio/reference/basic_socket_iostream/expires_after.html /doc/html/boost_asio/reference/basic_socket_iostream/expires_at/ /doc/html/boost_asio/reference/basic_socket_iostream/expires_at.html /doc/html/boost_asio/reference/basic_socket_iostream/expires_at/overload1.html @@ -1576,8 +1627,13 @@ /doc/html/boost_asio/reference/basic_socket_iostream/expires_from_now.html /doc/html/boost_asio/reference/basic_socket_iostream/expires_from_now/overload1.html /doc/html/boost_asio/reference/basic_socket_iostream/expires_from_now/overload2.html +/doc/html/boost_asio/reference/basic_socket_iostream/expiry.html /doc/html/boost_asio/reference/basic_socket_iostream.html +/doc/html/boost_asio/reference/basic_socket_iostream/operator_eq_.html +/doc/html/boost_asio/reference/basic_socket_iostream/protocol_type.html /doc/html/boost_asio/reference/basic_socket_iostream/rdbuf.html +/doc/html/boost_asio/reference/basic_socket_iostream/socket.html +/doc/html/boost_asio/reference/basic_socket_iostream/time_point.html /doc/html/boost_asio/reference/basic_socket_iostream/time_type.html /doc/html/boost_asio/reference/basic_socket/is_open.html /doc/html/boost_asio/reference/basic_socket/keep_alive.html @@ -1592,6 +1648,7 @@ /doc/html/boost_asio/reference/basic_socket/lowest_layer/overload2.html /doc/html/boost_asio/reference/basic_socket/lowest_layer_type.html /doc/html/boost_asio/reference/basic_socket/max_connections.html +/doc/html/boost_asio/reference/basic_socket/max_listen_connections.html /doc/html/boost_asio/reference/basic_socket/message_do_not_route.html /doc/html/boost_asio/reference/basic_socket/message_end_of_record.html /doc/html/boost_asio/reference/basic_socket/message_flags.html @@ -1599,16 +1656,13 @@ /doc/html/boost_asio/reference/basic_socket/message_peek.html /doc/html/boost_asio/reference/basic_socket/native_handle.html /doc/html/boost_asio/reference/basic_socket/native_handle_type.html -/doc/html/boost_asio/reference/basic_socket/native.html /doc/html/boost_asio/reference/basic_socket/native_non_blocking/ /doc/html/boost_asio/reference/basic_socket/native_non_blocking.html /doc/html/boost_asio/reference/basic_socket/native_non_blocking/overload1.html /doc/html/boost_asio/reference/basic_socket/native_non_blocking/overload2.html /doc/html/boost_asio/reference/basic_socket/native_non_blocking/overload3.html -/doc/html/boost_asio/reference/basic_socket/native_type.html /doc/html/boost_asio/reference/basic_socket/non_blocking/ /doc/html/boost_asio/reference/basic_socket/non_blocking.html -/doc/html/boost_asio/reference/basic_socket/non_blocking_io.html /doc/html/boost_asio/reference/basic_socket/non_blocking/overload1.html /doc/html/boost_asio/reference/basic_socket/non_blocking/overload2.html /doc/html/boost_asio/reference/basic_socket/non_blocking/overload3.html @@ -1620,9 +1674,14 @@ /doc/html/boost_asio/reference/basic_socket/operator_eq_.html /doc/html/boost_asio/reference/basic_socket/operator_eq_/overload1.html /doc/html/boost_asio/reference/basic_socket/operator_eq_/overload2.html +/doc/html/boost_asio/reference/basic_socket/out_of_band_inline.html /doc/html/boost_asio/reference/basic_socket/protocol_type.html /doc/html/boost_asio/reference/basic_socket/receive_buffer_size.html /doc/html/boost_asio/reference/basic_socket/receive_low_watermark.html +/doc/html/boost_asio/reference/basic_socket/release/ +/doc/html/boost_asio/reference/basic_socket/release.html +/doc/html/boost_asio/reference/basic_socket/release/overload1.html +/doc/html/boost_asio/reference/basic_socket/release/overload2.html /doc/html/boost_asio/reference/basic_socket/remote_endpoint/ /doc/html/boost_asio/reference/basic_socket/remote_endpoint.html /doc/html/boost_asio/reference/basic_socket/remote_endpoint/overload1.html @@ -1630,8 +1689,6 @@ /doc/html/boost_asio/reference/basic_socket/reuse_address.html /doc/html/boost_asio/reference/basic_socket/send_buffer_size.html /doc/html/boost_asio/reference/basic_socket/send_low_watermark.html -/doc/html/boost_asio/reference/basic_socket/service.html -/doc/html/boost_asio/reference/basic_socket/service_type.html /doc/html/boost_asio/reference/basic_socket/set_option/ /doc/html/boost_asio/reference/basic_socket/set_option.html /doc/html/boost_asio/reference/basic_socket/set_option/overload1.html @@ -1642,46 +1699,23 @@ /doc/html/boost_asio/reference/basic_socket/shutdown/overload2.html /doc/html/boost_asio/reference/basic_socket/shutdown_type.html /doc/html/boost_asio/reference/basic_socket_streambuf/ -/doc/html/boost_asio/reference/basic_socket_streambuf/assign/ -/doc/html/boost_asio/reference/basic_socket_streambuf/assign.html -/doc/html/boost_asio/reference/basic_socket_streambuf/assign/overload1.html -/doc/html/boost_asio/reference/basic_socket_streambuf/assign/overload2.html -/doc/html/boost_asio/reference/basic_socket_streambuf/async_connect.html -/doc/html/boost_asio/reference/basic_socket_streambuf/at_mark/ -/doc/html/boost_asio/reference/basic_socket_streambuf/at_mark.html -/doc/html/boost_asio/reference/basic_socket_streambuf/at_mark/overload1.html -/doc/html/boost_asio/reference/basic_socket_streambuf/at_mark/overload2.html -/doc/html/boost_asio/reference/basic_socket_streambuf/available/ -/doc/html/boost_asio/reference/basic_socket_streambuf/available.html -/doc/html/boost_asio/reference/basic_socket_streambuf/available/overload1.html -/doc/html/boost_asio/reference/basic_socket_streambuf/available/overload2.html +/doc/html/boost_asio/reference/basic_socket_streambuf/basic_socket_streambuf/ /doc/html/boost_asio/reference/basic_socket_streambuf/_basic_socket_streambuf.html /doc/html/boost_asio/reference/basic_socket_streambuf/basic_socket_streambuf.html -/doc/html/boost_asio/reference/basic_socket_streambuf/bind/ -/doc/html/boost_asio/reference/basic_socket_streambuf/bind.html -/doc/html/boost_asio/reference/basic_socket_streambuf/bind/overload1.html -/doc/html/boost_asio/reference/basic_socket_streambuf/bind/overload2.html -/doc/html/boost_asio/reference/basic_socket_streambuf/broadcast.html -/doc/html/boost_asio/reference/basic_socket_streambuf/bytes_readable.html -/doc/html/boost_asio/reference/basic_socket_streambuf/cancel/ -/doc/html/boost_asio/reference/basic_socket_streambuf/cancel.html -/doc/html/boost_asio/reference/basic_socket_streambuf/cancel/overload1.html -/doc/html/boost_asio/reference/basic_socket_streambuf/cancel/overload2.html -/doc/html/boost_asio/reference/basic_socket_streambuf/close/ +/doc/html/boost_asio/reference/basic_socket_streambuf/basic_socket_streambuf/overload1.html +/doc/html/boost_asio/reference/basic_socket_streambuf/basic_socket_streambuf/overload2.html +/doc/html/boost_asio/reference/basic_socket_streambuf/basic_socket_streambuf/overload3.html +/doc/html/boost_asio/reference/basic_socket_streambuf/clock_type.html /doc/html/boost_asio/reference/basic_socket_streambuf/close.html -/doc/html/boost_asio/reference/basic_socket_streambuf/close/overload1.html -/doc/html/boost_asio/reference/basic_socket_streambuf/close/overload2.html /doc/html/boost_asio/reference/basic_socket_streambuf/connect/ /doc/html/boost_asio/reference/basic_socket_streambuf/connect.html /doc/html/boost_asio/reference/basic_socket_streambuf/connect/overload1.html /doc/html/boost_asio/reference/basic_socket_streambuf/connect/overload2.html -/doc/html/boost_asio/reference/basic_socket_streambuf/connect/overload3.html -/doc/html/boost_asio/reference/basic_socket_streambuf/debug.html -/doc/html/boost_asio/reference/basic_socket_streambuf/do_not_route.html +/doc/html/boost_asio/reference/basic_socket_streambuf/duration.html /doc/html/boost_asio/reference/basic_socket_streambuf/duration_type.html -/doc/html/boost_asio/reference/basic_socket_streambuf/enable_connection_aborted.html /doc/html/boost_asio/reference/basic_socket_streambuf/endpoint_type.html /doc/html/boost_asio/reference/basic_socket_streambuf/error.html +/doc/html/boost_asio/reference/basic_socket_streambuf/expires_after.html /doc/html/boost_asio/reference/basic_socket_streambuf/expires_at/ /doc/html/boost_asio/reference/basic_socket_streambuf/expires_at.html /doc/html/boost_asio/reference/basic_socket_streambuf/expires_at/overload1.html @@ -1690,94 +1724,26 @@ /doc/html/boost_asio/reference/basic_socket_streambuf/expires_from_now.html /doc/html/boost_asio/reference/basic_socket_streambuf/expires_from_now/overload1.html /doc/html/boost_asio/reference/basic_socket_streambuf/expires_from_now/overload2.html -/doc/html/boost_asio/reference/basic_socket_streambuf/get_implementation/ -/doc/html/boost_asio/reference/basic_socket_streambuf/get_implementation.html -/doc/html/boost_asio/reference/basic_socket_streambuf/get_implementation/overload1.html -/doc/html/boost_asio/reference/basic_socket_streambuf/get_implementation/overload2.html -/doc/html/boost_asio/reference/basic_socket_streambuf/get_io_service.html -/doc/html/boost_asio/reference/basic_socket_streambuf/get_option/ -/doc/html/boost_asio/reference/basic_socket_streambuf/get_option.html -/doc/html/boost_asio/reference/basic_socket_streambuf/get_option/overload1.html -/doc/html/boost_asio/reference/basic_socket_streambuf/get_option/overload2.html -/doc/html/boost_asio/reference/basic_socket_streambuf/get_service/ -/doc/html/boost_asio/reference/basic_socket_streambuf/get_service.html -/doc/html/boost_asio/reference/basic_socket_streambuf/get_service/overload1.html -/doc/html/boost_asio/reference/basic_socket_streambuf/get_service/overload2.html +/doc/html/boost_asio/reference/basic_socket_streambuf/expiry.html /doc/html/boost_asio/reference/basic_socket_streambuf.html -/doc/html/boost_asio/reference/basic_socket_streambuf/implementation.html -/doc/html/boost_asio/reference/basic_socket_streambuf/implementation_type.html -/doc/html/boost_asio/reference/basic_socket_streambuf/io_control/ -/doc/html/boost_asio/reference/basic_socket_streambuf/io_control.html -/doc/html/boost_asio/reference/basic_socket_streambuf/io_control/overload1.html -/doc/html/boost_asio/reference/basic_socket_streambuf/io_control/overload2.html -/doc/html/boost_asio/reference/basic_socket_streambuf/io_handler.html -/doc/html/boost_asio/reference/basic_socket_streambuf/is_open.html -/doc/html/boost_asio/reference/basic_socket_streambuf/keep_alive.html -/doc/html/boost_asio/reference/basic_socket_streambuf/linger.html -/doc/html/boost_asio/reference/basic_socket_streambuf/local_endpoint/ -/doc/html/boost_asio/reference/basic_socket_streambuf/local_endpoint.html -/doc/html/boost_asio/reference/basic_socket_streambuf/local_endpoint/overload1.html -/doc/html/boost_asio/reference/basic_socket_streambuf/local_endpoint/overload2.html -/doc/html/boost_asio/reference/basic_socket_streambuf/lowest_layer/ -/doc/html/boost_asio/reference/basic_socket_streambuf/lowest_layer.html -/doc/html/boost_asio/reference/basic_socket_streambuf/lowest_layer/overload1.html -/doc/html/boost_asio/reference/basic_socket_streambuf/lowest_layer/overload2.html -/doc/html/boost_asio/reference/basic_socket_streambuf/lowest_layer_type.html -/doc/html/boost_asio/reference/basic_socket_streambuf/max_connections.html -/doc/html/boost_asio/reference/basic_socket_streambuf/message_do_not_route.html -/doc/html/boost_asio/reference/basic_socket_streambuf/message_end_of_record.html -/doc/html/boost_asio/reference/basic_socket_streambuf/message_flags.html -/doc/html/boost_asio/reference/basic_socket_streambuf/message_out_of_band.html -/doc/html/boost_asio/reference/basic_socket_streambuf/message_peek.html -/doc/html/boost_asio/reference/basic_socket_streambuf/native_handle.html -/doc/html/boost_asio/reference/basic_socket_streambuf/native_handle_type.html -/doc/html/boost_asio/reference/basic_socket_streambuf/native.html -/doc/html/boost_asio/reference/basic_socket_streambuf/native_non_blocking/ -/doc/html/boost_asio/reference/basic_socket_streambuf/native_non_blocking.html -/doc/html/boost_asio/reference/basic_socket_streambuf/native_non_blocking/overload1.html -/doc/html/boost_asio/reference/basic_socket_streambuf/native_non_blocking/overload2.html -/doc/html/boost_asio/reference/basic_socket_streambuf/native_non_blocking/overload3.html -/doc/html/boost_asio/reference/basic_socket_streambuf/native_type.html -/doc/html/boost_asio/reference/basic_socket_streambuf/non_blocking/ -/doc/html/boost_asio/reference/basic_socket_streambuf/non_blocking.html -/doc/html/boost_asio/reference/basic_socket_streambuf/non_blocking_io.html -/doc/html/boost_asio/reference/basic_socket_streambuf/non_blocking/overload1.html -/doc/html/boost_asio/reference/basic_socket_streambuf/non_blocking/overload2.html -/doc/html/boost_asio/reference/basic_socket_streambuf/non_blocking/overload3.html -/doc/html/boost_asio/reference/basic_socket_streambuf/open/ -/doc/html/boost_asio/reference/basic_socket_streambuf/open.html -/doc/html/boost_asio/reference/basic_socket_streambuf/open/overload1.html -/doc/html/boost_asio/reference/basic_socket_streambuf/open/overload2.html +/doc/html/boost_asio/reference/basic_socket_streambuf/operator_eq_.html /doc/html/boost_asio/reference/basic_socket_streambuf/overflow.html /doc/html/boost_asio/reference/basic_socket_streambuf/protocol_type.html /doc/html/boost_asio/reference/basic_socket_streambuf/puberror.html -/doc/html/boost_asio/reference/basic_socket_streambuf/receive_buffer_size.html -/doc/html/boost_asio/reference/basic_socket_streambuf/receive_low_watermark.html -/doc/html/boost_asio/reference/basic_socket_streambuf/remote_endpoint/ -/doc/html/boost_asio/reference/basic_socket_streambuf/remote_endpoint.html -/doc/html/boost_asio/reference/basic_socket_streambuf/remote_endpoint/overload1.html -/doc/html/boost_asio/reference/basic_socket_streambuf/remote_endpoint/overload2.html -/doc/html/boost_asio/reference/basic_socket_streambuf/reuse_address.html -/doc/html/boost_asio/reference/basic_socket_streambuf/send_buffer_size.html -/doc/html/boost_asio/reference/basic_socket_streambuf/send_low_watermark.html -/doc/html/boost_asio/reference/basic_socket_streambuf/service.html -/doc/html/boost_asio/reference/basic_socket_streambuf/service_type.html /doc/html/boost_asio/reference/basic_socket_streambuf/setbuf.html -/doc/html/boost_asio/reference/basic_socket_streambuf/set_option/ -/doc/html/boost_asio/reference/basic_socket_streambuf/set_option.html -/doc/html/boost_asio/reference/basic_socket_streambuf/set_option/overload1.html -/doc/html/boost_asio/reference/basic_socket_streambuf/set_option/overload2.html -/doc/html/boost_asio/reference/basic_socket_streambuf/shutdown/ -/doc/html/boost_asio/reference/basic_socket_streambuf/shutdown.html -/doc/html/boost_asio/reference/basic_socket_streambuf/shutdown/overload1.html -/doc/html/boost_asio/reference/basic_socket_streambuf/shutdown/overload2.html -/doc/html/boost_asio/reference/basic_socket_streambuf/shutdown_type.html +/doc/html/boost_asio/reference/basic_socket_streambuf/socket.html /doc/html/boost_asio/reference/basic_socket_streambuf/sync.html -/doc/html/boost_asio/reference/basic_socket_streambuf/timer_handler.html +/doc/html/boost_asio/reference/basic_socket_streambuf/time_point.html /doc/html/boost_asio/reference/basic_socket_streambuf/time_type.html /doc/html/boost_asio/reference/basic_socket_streambuf/underflow.html +/doc/html/boost_asio/reference/basic_socket/wait/ +/doc/html/boost_asio/reference/basic_socket/wait.html +/doc/html/boost_asio/reference/basic_socket/wait/overload1.html +/doc/html/boost_asio/reference/basic_socket/wait/overload2.html +/doc/html/boost_asio/reference/basic_socket/wait_type.html /doc/html/boost_asio/reference/basic_streambuf/ /doc/html/boost_asio/reference/basic_streambuf/basic_streambuf.html +/doc/html/boost_asio/reference/basic_streambuf/capacity.html /doc/html/boost_asio/reference/basic_streambuf/commit.html /doc/html/boost_asio/reference/basic_streambuf/const_buffers_type.html /doc/html/boost_asio/reference/basic_streambuf/consume.html @@ -1787,6 +1753,22 @@ /doc/html/boost_asio/reference/basic_streambuf/mutable_buffers_type.html /doc/html/boost_asio/reference/basic_streambuf/overflow.html /doc/html/boost_asio/reference/basic_streambuf/prepare.html +/doc/html/boost_asio/reference/basic_streambuf_ref/ +/doc/html/boost_asio/reference/basic_streambuf_ref/basic_streambuf_ref/ +/doc/html/boost_asio/reference/basic_streambuf_ref/basic_streambuf_ref.html +/doc/html/boost_asio/reference/basic_streambuf_ref/basic_streambuf_ref/overload1.html +/doc/html/boost_asio/reference/basic_streambuf_ref/basic_streambuf_ref/overload2.html +/doc/html/boost_asio/reference/basic_streambuf_ref/basic_streambuf_ref/overload3.html +/doc/html/boost_asio/reference/basic_streambuf_ref/capacity.html +/doc/html/boost_asio/reference/basic_streambuf_ref/commit.html +/doc/html/boost_asio/reference/basic_streambuf_ref/const_buffers_type.html +/doc/html/boost_asio/reference/basic_streambuf_ref/consume.html +/doc/html/boost_asio/reference/basic_streambuf_ref/data.html +/doc/html/boost_asio/reference/basic_streambuf_ref.html +/doc/html/boost_asio/reference/basic_streambuf_ref/max_size.html +/doc/html/boost_asio/reference/basic_streambuf_ref/mutable_buffers_type.html +/doc/html/boost_asio/reference/basic_streambuf_ref/prepare.html +/doc/html/boost_asio/reference/basic_streambuf_ref/size.html /doc/html/boost_asio/reference/basic_streambuf/reserve.html /doc/html/boost_asio/reference/basic_streambuf/size.html /doc/html/boost_asio/reference/basic_streambuf/underflow.html @@ -1805,6 +1787,7 @@ /doc/html/boost_asio/reference/basic_stream_socket/async_send.html /doc/html/boost_asio/reference/basic_stream_socket/async_send/overload1.html /doc/html/boost_asio/reference/basic_stream_socket/async_send/overload2.html +/doc/html/boost_asio/reference/basic_stream_socket/async_wait.html /doc/html/boost_asio/reference/basic_stream_socket/async_write_some.html /doc/html/boost_asio/reference/basic_stream_socket/at_mark/ /doc/html/boost_asio/reference/basic_stream_socket/at_mark.html @@ -1815,6 +1798,7 @@ /doc/html/boost_asio/reference/basic_stream_socket/available/overload1.html /doc/html/boost_asio/reference/basic_stream_socket/available/overload2.html /doc/html/boost_asio/reference/basic_stream_socket/basic_stream_socket/ +/doc/html/boost_asio/reference/basic_stream_socket/_basic_stream_socket.html /doc/html/boost_asio/reference/basic_stream_socket/basic_stream_socket.html /doc/html/boost_asio/reference/basic_stream_socket/basic_stream_socket/overload1.html /doc/html/boost_asio/reference/basic_stream_socket/basic_stream_socket/overload2.html @@ -1844,22 +1828,15 @@ /doc/html/boost_asio/reference/basic_stream_socket/do_not_route.html /doc/html/boost_asio/reference/basic_stream_socket/enable_connection_aborted.html /doc/html/boost_asio/reference/basic_stream_socket/endpoint_type.html -/doc/html/boost_asio/reference/basic_stream_socket/get_implementation/ -/doc/html/boost_asio/reference/basic_stream_socket/get_implementation.html -/doc/html/boost_asio/reference/basic_stream_socket/get_implementation/overload1.html -/doc/html/boost_asio/reference/basic_stream_socket/get_implementation/overload2.html +/doc/html/boost_asio/reference/basic_stream_socket/executor_type.html +/doc/html/boost_asio/reference/basic_stream_socket/get_executor.html +/doc/html/boost_asio/reference/basic_stream_socket/get_io_context.html /doc/html/boost_asio/reference/basic_stream_socket/get_io_service.html /doc/html/boost_asio/reference/basic_stream_socket/get_option/ /doc/html/boost_asio/reference/basic_stream_socket/get_option.html /doc/html/boost_asio/reference/basic_stream_socket/get_option/overload1.html /doc/html/boost_asio/reference/basic_stream_socket/get_option/overload2.html -/doc/html/boost_asio/reference/basic_stream_socket/get_service/ -/doc/html/boost_asio/reference/basic_stream_socket/get_service.html -/doc/html/boost_asio/reference/basic_stream_socket/get_service/overload1.html -/doc/html/boost_asio/reference/basic_stream_socket/get_service/overload2.html /doc/html/boost_asio/reference/basic_stream_socket.html -/doc/html/boost_asio/reference/basic_stream_socket/implementation.html -/doc/html/boost_asio/reference/basic_stream_socket/implementation_type.html /doc/html/boost_asio/reference/basic_stream_socket/io_control/ /doc/html/boost_asio/reference/basic_stream_socket/io_control.html /doc/html/boost_asio/reference/basic_stream_socket/io_control/overload1.html @@ -1877,6 +1854,7 @@ /doc/html/boost_asio/reference/basic_stream_socket/lowest_layer/overload2.html /doc/html/boost_asio/reference/basic_stream_socket/lowest_layer_type.html /doc/html/boost_asio/reference/basic_stream_socket/max_connections.html +/doc/html/boost_asio/reference/basic_stream_socket/max_listen_connections.html /doc/html/boost_asio/reference/basic_stream_socket/message_do_not_route.html /doc/html/boost_asio/reference/basic_stream_socket/message_end_of_record.html /doc/html/boost_asio/reference/basic_stream_socket/message_flags.html @@ -1884,16 +1862,13 @@ /doc/html/boost_asio/reference/basic_stream_socket/message_peek.html /doc/html/boost_asio/reference/basic_stream_socket/native_handle.html /doc/html/boost_asio/reference/basic_stream_socket/native_handle_type.html -/doc/html/boost_asio/reference/basic_stream_socket/native.html /doc/html/boost_asio/reference/basic_stream_socket/native_non_blocking/ /doc/html/boost_asio/reference/basic_stream_socket/native_non_blocking.html /doc/html/boost_asio/reference/basic_stream_socket/native_non_blocking/overload1.html /doc/html/boost_asio/reference/basic_stream_socket/native_non_blocking/overload2.html /doc/html/boost_asio/reference/basic_stream_socket/native_non_blocking/overload3.html -/doc/html/boost_asio/reference/basic_stream_socket/native_type.html /doc/html/boost_asio/reference/basic_stream_socket/non_blocking/ /doc/html/boost_asio/reference/basic_stream_socket/non_blocking.html -/doc/html/boost_asio/reference/basic_stream_socket/non_blocking_io.html /doc/html/boost_asio/reference/basic_stream_socket/non_blocking/overload1.html /doc/html/boost_asio/reference/basic_stream_socket/non_blocking/overload2.html /doc/html/boost_asio/reference/basic_stream_socket/non_blocking/overload3.html @@ -1905,6 +1880,7 @@ /doc/html/boost_asio/reference/basic_stream_socket/operator_eq_.html /doc/html/boost_asio/reference/basic_stream_socket/operator_eq_/overload1.html /doc/html/boost_asio/reference/basic_stream_socket/operator_eq_/overload2.html +/doc/html/boost_asio/reference/basic_stream_socket/out_of_band_inline.html /doc/html/boost_asio/reference/basic_stream_socket/protocol_type.html /doc/html/boost_asio/reference/basic_stream_socket/read_some/ /doc/html/boost_asio/reference/basic_stream_socket/read_some.html @@ -1917,6 +1893,10 @@ /doc/html/boost_asio/reference/basic_stream_socket/receive/overload1.html /doc/html/boost_asio/reference/basic_stream_socket/receive/overload2.html /doc/html/boost_asio/reference/basic_stream_socket/receive/overload3.html +/doc/html/boost_asio/reference/basic_stream_socket/release/ +/doc/html/boost_asio/reference/basic_stream_socket/release.html +/doc/html/boost_asio/reference/basic_stream_socket/release/overload1.html +/doc/html/boost_asio/reference/basic_stream_socket/release/overload2.html /doc/html/boost_asio/reference/basic_stream_socket/remote_endpoint/ /doc/html/boost_asio/reference/basic_stream_socket/remote_endpoint.html /doc/html/boost_asio/reference/basic_stream_socket/remote_endpoint/overload1.html @@ -1929,8 +1909,6 @@ /doc/html/boost_asio/reference/basic_stream_socket/send/overload1.html /doc/html/boost_asio/reference/basic_stream_socket/send/overload2.html /doc/html/boost_asio/reference/basic_stream_socket/send/overload3.html -/doc/html/boost_asio/reference/basic_stream_socket/service.html -/doc/html/boost_asio/reference/basic_stream_socket/service_type.html /doc/html/boost_asio/reference/basic_stream_socket/set_option/ /doc/html/boost_asio/reference/basic_stream_socket/set_option.html /doc/html/boost_asio/reference/basic_stream_socket/set_option/overload1.html @@ -1940,6 +1918,11 @@ /doc/html/boost_asio/reference/basic_stream_socket/shutdown/overload1.html /doc/html/boost_asio/reference/basic_stream_socket/shutdown/overload2.html /doc/html/boost_asio/reference/basic_stream_socket/shutdown_type.html +/doc/html/boost_asio/reference/basic_stream_socket/wait/ +/doc/html/boost_asio/reference/basic_stream_socket/wait.html +/doc/html/boost_asio/reference/basic_stream_socket/wait/overload1.html +/doc/html/boost_asio/reference/basic_stream_socket/wait/overload2.html +/doc/html/boost_asio/reference/basic_stream_socket/wait_type.html /doc/html/boost_asio/reference/basic_stream_socket/write_some/ /doc/html/boost_asio/reference/basic_stream_socket/write_some.html /doc/html/boost_asio/reference/basic_stream_socket/write_some/overload1.html @@ -1947,10 +1930,12 @@ /doc/html/boost_asio/reference/basic_waitable_timer/ /doc/html/boost_asio/reference/basic_waitable_timer/async_wait.html /doc/html/boost_asio/reference/basic_waitable_timer/basic_waitable_timer/ +/doc/html/boost_asio/reference/basic_waitable_timer/_basic_waitable_timer.html /doc/html/boost_asio/reference/basic_waitable_timer/basic_waitable_timer.html /doc/html/boost_asio/reference/basic_waitable_timer/basic_waitable_timer/overload1.html /doc/html/boost_asio/reference/basic_waitable_timer/basic_waitable_timer/overload2.html /doc/html/boost_asio/reference/basic_waitable_timer/basic_waitable_timer/overload3.html +/doc/html/boost_asio/reference/basic_waitable_timer/basic_waitable_timer/overload4.html /doc/html/boost_asio/reference/basic_waitable_timer/cancel/ /doc/html/boost_asio/reference/basic_waitable_timer/cancel.html /doc/html/boost_asio/reference/basic_waitable_timer/cancel_one/ @@ -1961,6 +1946,8 @@ /doc/html/boost_asio/reference/basic_waitable_timer/cancel/overload2.html /doc/html/boost_asio/reference/basic_waitable_timer/clock_type.html /doc/html/boost_asio/reference/basic_waitable_timer/duration.html +/doc/html/boost_asio/reference/basic_waitable_timer/executor_type.html +/doc/html/boost_asio/reference/basic_waitable_timer/expires_after.html /doc/html/boost_asio/reference/basic_waitable_timer/expires_at/ /doc/html/boost_asio/reference/basic_waitable_timer/expires_at.html /doc/html/boost_asio/reference/basic_waitable_timer/expires_at/overload1.html @@ -1971,20 +1958,12 @@ /doc/html/boost_asio/reference/basic_waitable_timer/expires_from_now/overload1.html /doc/html/boost_asio/reference/basic_waitable_timer/expires_from_now/overload2.html /doc/html/boost_asio/reference/basic_waitable_timer/expires_from_now/overload3.html -/doc/html/boost_asio/reference/basic_waitable_timer/get_implementation/ -/doc/html/boost_asio/reference/basic_waitable_timer/get_implementation.html -/doc/html/boost_asio/reference/basic_waitable_timer/get_implementation/overload1.html -/doc/html/boost_asio/reference/basic_waitable_timer/get_implementation/overload2.html +/doc/html/boost_asio/reference/basic_waitable_timer/expiry.html +/doc/html/boost_asio/reference/basic_waitable_timer/get_executor.html +/doc/html/boost_asio/reference/basic_waitable_timer/get_io_context.html /doc/html/boost_asio/reference/basic_waitable_timer/get_io_service.html -/doc/html/boost_asio/reference/basic_waitable_timer/get_service/ -/doc/html/boost_asio/reference/basic_waitable_timer/get_service.html -/doc/html/boost_asio/reference/basic_waitable_timer/get_service/overload1.html -/doc/html/boost_asio/reference/basic_waitable_timer/get_service/overload2.html /doc/html/boost_asio/reference/basic_waitable_timer.html -/doc/html/boost_asio/reference/basic_waitable_timer/implementation.html -/doc/html/boost_asio/reference/basic_waitable_timer/implementation_type.html -/doc/html/boost_asio/reference/basic_waitable_timer/service.html -/doc/html/boost_asio/reference/basic_waitable_timer/service_type.html +/doc/html/boost_asio/reference/basic_waitable_timer/operator_eq_.html /doc/html/boost_asio/reference/basic_waitable_timer/time_point.html /doc/html/boost_asio/reference/basic_waitable_timer/traits_type.html /doc/html/boost_asio/reference/basic_waitable_timer/wait/ @@ -1992,11 +1971,18 @@ /doc/html/boost_asio/reference/basic_waitable_timer/wait/overload1.html /doc/html/boost_asio/reference/basic_waitable_timer/wait/overload2.html /doc/html/boost_asio/reference/basic_yield_context/ +/doc/html/boost_asio/reference/basic_yield_context/basic_yield_context/ /doc/html/boost_asio/reference/basic_yield_context/basic_yield_context.html +/doc/html/boost_asio/reference/basic_yield_context/basic_yield_context/overload1.html +/doc/html/boost_asio/reference/basic_yield_context/basic_yield_context/overload2.html /doc/html/boost_asio/reference/basic_yield_context/callee_type.html /doc/html/boost_asio/reference/basic_yield_context/caller_type.html /doc/html/boost_asio/reference/basic_yield_context.html /doc/html/boost_asio/reference/basic_yield_context/operator_lb__rb_.html +/doc/html/boost_asio/reference/bind_executor/ +/doc/html/boost_asio/reference/bind_executor.html +/doc/html/boost_asio/reference/bind_executor/overload1.html +/doc/html/boost_asio/reference/bind_executor/overload2.html /doc/html/boost_asio/reference/buffer/ /doc/html/boost_asio/reference/buffer_cast/ /doc/html/boost_asio/reference/buffer_cast.html @@ -2004,36 +1990,8 @@ /doc/html/boost_asio/reference/buffer_cast/overload2.html /doc/html/boost_asio/reference/buffer_copy/ /doc/html/boost_asio/reference/buffer_copy.html -/doc/html/boost_asio/reference/buffer_copy/overload10.html -/doc/html/boost_asio/reference/buffer_copy/overload11.html -/doc/html/boost_asio/reference/buffer_copy/overload12.html -/doc/html/boost_asio/reference/buffer_copy/overload13.html -/doc/html/boost_asio/reference/buffer_copy/overload14.html -/doc/html/boost_asio/reference/buffer_copy/overload15.html -/doc/html/boost_asio/reference/buffer_copy/overload16.html -/doc/html/boost_asio/reference/buffer_copy/overload17.html -/doc/html/boost_asio/reference/buffer_copy/overload18.html -/doc/html/boost_asio/reference/buffer_copy/overload19.html /doc/html/boost_asio/reference/buffer_copy/overload1.html -/doc/html/boost_asio/reference/buffer_copy/overload20.html -/doc/html/boost_asio/reference/buffer_copy/overload21.html -/doc/html/boost_asio/reference/buffer_copy/overload22.html -/doc/html/boost_asio/reference/buffer_copy/overload23.html -/doc/html/boost_asio/reference/buffer_copy/overload24.html -/doc/html/boost_asio/reference/buffer_copy/overload25.html -/doc/html/boost_asio/reference/buffer_copy/overload26.html -/doc/html/boost_asio/reference/buffer_copy/overload27.html -/doc/html/boost_asio/reference/buffer_copy/overload28.html -/doc/html/boost_asio/reference/buffer_copy/overload29.html /doc/html/boost_asio/reference/buffer_copy/overload2.html -/doc/html/boost_asio/reference/buffer_copy/overload30.html -/doc/html/boost_asio/reference/buffer_copy/overload3.html -/doc/html/boost_asio/reference/buffer_copy/overload4.html -/doc/html/boost_asio/reference/buffer_copy/overload5.html -/doc/html/boost_asio/reference/buffer_copy/overload6.html -/doc/html/boost_asio/reference/buffer_copy/overload7.html -/doc/html/boost_asio/reference/buffer_copy/overload8.html -/doc/html/boost_asio/reference/buffer_copy/overload9.html /doc/html/boost_asio/reference/BufferedHandshakeHandler.html /doc/html/boost_asio/reference/buffered_read_stream/ /doc/html/boost_asio/reference/buffered_read_stream/async_fill.html @@ -2048,10 +2006,13 @@ /doc/html/boost_asio/reference/buffered_read_stream/close/overload1.html /doc/html/boost_asio/reference/buffered_read_stream/close/overload2.html /doc/html/boost_asio/reference/buffered_read_stream/default_buffer_size.html +/doc/html/boost_asio/reference/buffered_read_stream/executor_type.html /doc/html/boost_asio/reference/buffered_read_stream/fill/ /doc/html/boost_asio/reference/buffered_read_stream/fill.html /doc/html/boost_asio/reference/buffered_read_stream/fill/overload1.html /doc/html/boost_asio/reference/buffered_read_stream/fill/overload2.html +/doc/html/boost_asio/reference/buffered_read_stream/get_executor.html +/doc/html/boost_asio/reference/buffered_read_stream/get_io_context.html /doc/html/boost_asio/reference/buffered_read_stream/get_io_service.html /doc/html/boost_asio/reference/buffered_read_stream.html /doc/html/boost_asio/reference/buffered_read_stream/in_avail/ @@ -2090,6 +2051,7 @@ /doc/html/boost_asio/reference/buffered_stream/close.html /doc/html/boost_asio/reference/buffered_stream/close/overload1.html /doc/html/boost_asio/reference/buffered_stream/close/overload2.html +/doc/html/boost_asio/reference/buffered_stream/executor_type.html /doc/html/boost_asio/reference/buffered_stream/fill/ /doc/html/boost_asio/reference/buffered_stream/fill.html /doc/html/boost_asio/reference/buffered_stream/fill/overload1.html @@ -2098,6 +2060,8 @@ /doc/html/boost_asio/reference/buffered_stream/flush.html /doc/html/boost_asio/reference/buffered_stream/flush/overload1.html /doc/html/boost_asio/reference/buffered_stream/flush/overload2.html +/doc/html/boost_asio/reference/buffered_stream/get_executor.html +/doc/html/boost_asio/reference/buffered_stream/get_io_context.html /doc/html/boost_asio/reference/buffered_stream/get_io_service.html /doc/html/boost_asio/reference/buffered_stream.html /doc/html/boost_asio/reference/buffered_stream/in_avail/ @@ -2136,10 +2100,13 @@ /doc/html/boost_asio/reference/buffered_write_stream/close/overload1.html /doc/html/boost_asio/reference/buffered_write_stream/close/overload2.html /doc/html/boost_asio/reference/buffered_write_stream/default_buffer_size.html +/doc/html/boost_asio/reference/buffered_write_stream/executor_type.html /doc/html/boost_asio/reference/buffered_write_stream/flush/ /doc/html/boost_asio/reference/buffered_write_stream/flush.html /doc/html/boost_asio/reference/buffered_write_stream/flush/overload1.html /doc/html/boost_asio/reference/buffered_write_stream/flush/overload2.html +/doc/html/boost_asio/reference/buffered_write_stream/get_executor.html +/doc/html/boost_asio/reference/buffered_write_stream/get_io_context.html /doc/html/boost_asio/reference/buffered_write_stream/get_io_service.html /doc/html/boost_asio/reference/buffered_write_stream.html /doc/html/boost_asio/reference/buffered_write_stream/in_avail/ @@ -2186,7 +2153,11 @@ /doc/html/boost_asio/reference/buffer/overload26.html /doc/html/boost_asio/reference/buffer/overload27.html /doc/html/boost_asio/reference/buffer/overload28.html +/doc/html/boost_asio/reference/buffer/overload29.html /doc/html/boost_asio/reference/buffer/overload2.html +/doc/html/boost_asio/reference/buffer/overload30.html +/doc/html/boost_asio/reference/buffer/overload31.html +/doc/html/boost_asio/reference/buffer/overload32.html /doc/html/boost_asio/reference/buffer/overload3.html /doc/html/boost_asio/reference/buffer/overload4.html /doc/html/boost_asio/reference/buffer/overload5.html @@ -2196,6 +2167,18 @@ /doc/html/boost_asio/reference/buffer/overload9.html /doc/html/boost_asio/reference/buffers_begin.html /doc/html/boost_asio/reference/buffers_end.html +/doc/html/boost_asio/reference/buffer_sequence_begin/ +/doc/html/boost_asio/reference/buffer_sequence_begin.html +/doc/html/boost_asio/reference/buffer_sequence_begin/overload1.html +/doc/html/boost_asio/reference/buffer_sequence_begin/overload2.html +/doc/html/boost_asio/reference/buffer_sequence_begin/overload3.html +/doc/html/boost_asio/reference/buffer_sequence_begin/overload4.html +/doc/html/boost_asio/reference/buffer_sequence_end/ +/doc/html/boost_asio/reference/buffer_sequence_end.html +/doc/html/boost_asio/reference/buffer_sequence_end/overload1.html +/doc/html/boost_asio/reference/buffer_sequence_end/overload2.html +/doc/html/boost_asio/reference/buffer_sequence_end/overload3.html +/doc/html/boost_asio/reference/buffer_sequence_end/overload4.html /doc/html/boost_asio/reference/buffers_iterator/ /doc/html/boost_asio/reference/buffers_iterator/begin.html /doc/html/boost_asio/reference/buffers_iterator/buffers_iterator.html @@ -2233,18 +2216,16 @@ /doc/html/boost_asio/reference/buffers_iterator/pointer.html /doc/html/boost_asio/reference/buffers_iterator/reference.html /doc/html/boost_asio/reference/buffers_iterator/value_type.html -/doc/html/boost_asio/reference/buffer_size/ /doc/html/boost_asio/reference/buffer_size.html -/doc/html/boost_asio/reference/buffer_size/overload1.html -/doc/html/boost_asio/reference/buffer_size/overload2.html -/doc/html/boost_asio/reference/buffer_size/overload3.html -/doc/html/boost_asio/reference/buffer_size/overload4.html -/doc/html/boost_asio/reference/buffer_size/overload5.html +/doc/html/boost_asio/reference/CompletionCondition.html /doc/html/boost_asio/reference/CompletionHandler.html -/doc/html/boost_asio/reference/ComposedConnectHandler.html /doc/html/boost_asio/reference/connect/ +/doc/html/boost_asio/reference/ConnectCondition.html /doc/html/boost_asio/reference/ConnectHandler.html /doc/html/boost_asio/reference/connect.html +/doc/html/boost_asio/reference/connect/overload10.html +/doc/html/boost_asio/reference/connect/overload11.html +/doc/html/boost_asio/reference/connect/overload12.html /doc/html/boost_asio/reference/connect/overload1.html /doc/html/boost_asio/reference/connect/overload2.html /doc/html/boost_asio/reference/connect/overload3.html @@ -2253,14 +2234,17 @@ /doc/html/boost_asio/reference/connect/overload6.html /doc/html/boost_asio/reference/connect/overload7.html /doc/html/boost_asio/reference/connect/overload8.html +/doc/html/boost_asio/reference/connect/overload9.html /doc/html/boost_asio/reference/const_buffer/ /doc/html/boost_asio/reference/const_buffer/const_buffer/ /doc/html/boost_asio/reference/const_buffer/const_buffer.html /doc/html/boost_asio/reference/const_buffer/const_buffer/overload1.html /doc/html/boost_asio/reference/const_buffer/const_buffer/overload2.html /doc/html/boost_asio/reference/const_buffer/const_buffer/overload3.html +/doc/html/boost_asio/reference/const_buffer/data.html /doc/html/boost_asio/reference/const_buffer.html /doc/html/boost_asio/reference/const_buffer/operator_plus_/ +/doc/html/boost_asio/reference/const_buffer/operator_plus__eq_.html /doc/html/boost_asio/reference/const_buffer/operator_plus_.html /doc/html/boost_asio/reference/const_buffer/operator_plus_/overload1.html /doc/html/boost_asio/reference/const_buffer/operator_plus_/overload2.html @@ -2271,98 +2255,74 @@ /doc/html/boost_asio/reference/const_buffers_1/const_buffers_1/overload1.html /doc/html/boost_asio/reference/const_buffers_1/const_buffers_1/overload2.html /doc/html/boost_asio/reference/const_buffers_1/const_iterator.html +/doc/html/boost_asio/reference/const_buffers_1/data.html /doc/html/boost_asio/reference/const_buffers_1/end.html /doc/html/boost_asio/reference/const_buffers_1.html /doc/html/boost_asio/reference/const_buffers_1/operator_plus_/ +/doc/html/boost_asio/reference/const_buffers_1/operator_plus__eq_.html /doc/html/boost_asio/reference/const_buffers_1/operator_plus_.html /doc/html/boost_asio/reference/const_buffers_1/operator_plus_/overload1.html /doc/html/boost_asio/reference/const_buffers_1/operator_plus_/overload2.html +/doc/html/boost_asio/reference/const_buffers_1/size.html /doc/html/boost_asio/reference/const_buffers_1/value_type.html /doc/html/boost_asio/reference/ConstBufferSequence.html -/doc/html/boost_asio/reference/ConvertibleToConstBuffer.html -/doc/html/boost_asio/reference/ConvertibleToMutableBuffer.html +/doc/html/boost_asio/reference/const_buffer/size.html /doc/html/boost_asio/reference/coroutine/ /doc/html/boost_asio/reference/coroutine/coroutine.html /doc/html/boost_asio/reference/coroutine.html /doc/html/boost_asio/reference/coroutine/is_child.html /doc/html/boost_asio/reference/coroutine/is_complete.html /doc/html/boost_asio/reference/coroutine/is_parent.html -/doc/html/boost_asio/reference/datagram_socket_service/ -/doc/html/boost_asio/reference/datagram_socket_service/assign.html -/doc/html/boost_asio/reference/datagram_socket_service/async_connect.html -/doc/html/boost_asio/reference/datagram_socket_service/async_receive_from.html -/doc/html/boost_asio/reference/datagram_socket_service/async_receive.html -/doc/html/boost_asio/reference/datagram_socket_service/async_send.html -/doc/html/boost_asio/reference/datagram_socket_service/async_send_to.html -/doc/html/boost_asio/reference/datagram_socket_service/at_mark.html -/doc/html/boost_asio/reference/datagram_socket_service/available.html -/doc/html/boost_asio/reference/datagram_socket_service/bind.html -/doc/html/boost_asio/reference/datagram_socket_service/cancel.html -/doc/html/boost_asio/reference/datagram_socket_service/close.html -/doc/html/boost_asio/reference/datagram_socket_service/connect.html -/doc/html/boost_asio/reference/datagram_socket_service/construct.html -/doc/html/boost_asio/reference/datagram_socket_service/converting_move_construct.html -/doc/html/boost_asio/reference/datagram_socket_service/datagram_socket_service.html -/doc/html/boost_asio/reference/datagram_socket_service/destroy.html -/doc/html/boost_asio/reference/datagram_socket_service/endpoint_type.html -/doc/html/boost_asio/reference/datagram_socket_service/get_io_service.html -/doc/html/boost_asio/reference/datagram_socket_service/get_option.html -/doc/html/boost_asio/reference/datagram_socket_service.html -/doc/html/boost_asio/reference/DatagramSocketService.html -/doc/html/boost_asio/reference/datagram_socket_service/id.html -/doc/html/boost_asio/reference/datagram_socket_service/implementation_type.html -/doc/html/boost_asio/reference/datagram_socket_service/io_control.html -/doc/html/boost_asio/reference/datagram_socket_service/is_open.html -/doc/html/boost_asio/reference/datagram_socket_service/local_endpoint.html -/doc/html/boost_asio/reference/datagram_socket_service/move_assign.html -/doc/html/boost_asio/reference/datagram_socket_service/move_construct.html -/doc/html/boost_asio/reference/datagram_socket_service/native_handle.html -/doc/html/boost_asio/reference/datagram_socket_service/native_handle_type.html -/doc/html/boost_asio/reference/datagram_socket_service/native.html -/doc/html/boost_asio/reference/datagram_socket_service/native_non_blocking/ -/doc/html/boost_asio/reference/datagram_socket_service/native_non_blocking.html -/doc/html/boost_asio/reference/datagram_socket_service/native_non_blocking/overload1.html -/doc/html/boost_asio/reference/datagram_socket_service/native_non_blocking/overload2.html -/doc/html/boost_asio/reference/datagram_socket_service/native_type.html -/doc/html/boost_asio/reference/datagram_socket_service/non_blocking/ -/doc/html/boost_asio/reference/datagram_socket_service/non_blocking.html -/doc/html/boost_asio/reference/datagram_socket_service/non_blocking/overload1.html -/doc/html/boost_asio/reference/datagram_socket_service/non_blocking/overload2.html -/doc/html/boost_asio/reference/datagram_socket_service/open.html -/doc/html/boost_asio/reference/datagram_socket_service/protocol_type.html -/doc/html/boost_asio/reference/datagram_socket_service/receive_from.html -/doc/html/boost_asio/reference/datagram_socket_service/receive.html -/doc/html/boost_asio/reference/datagram_socket_service/remote_endpoint.html -/doc/html/boost_asio/reference/datagram_socket_service/send.html -/doc/html/boost_asio/reference/datagram_socket_service/send_to.html -/doc/html/boost_asio/reference/datagram_socket_service/set_option.html -/doc/html/boost_asio/reference/datagram_socket_service/shutdown.html /doc/html/boost_asio/reference/deadline_timer.html -/doc/html/boost_asio/reference/deadline_timer_service/ -/doc/html/boost_asio/reference/deadline_timer_service/async_wait.html -/doc/html/boost_asio/reference/deadline_timer_service/cancel.html -/doc/html/boost_asio/reference/deadline_timer_service/cancel_one.html -/doc/html/boost_asio/reference/deadline_timer_service/construct.html -/doc/html/boost_asio/reference/deadline_timer_service/deadline_timer_service.html -/doc/html/boost_asio/reference/deadline_timer_service/destroy.html -/doc/html/boost_asio/reference/deadline_timer_service/duration_type.html -/doc/html/boost_asio/reference/deadline_timer_service/expires_at/ -/doc/html/boost_asio/reference/deadline_timer_service/expires_at.html -/doc/html/boost_asio/reference/deadline_timer_service/expires_at/overload1.html -/doc/html/boost_asio/reference/deadline_timer_service/expires_at/overload2.html -/doc/html/boost_asio/reference/deadline_timer_service/expires_from_now/ -/doc/html/boost_asio/reference/deadline_timer_service/expires_from_now.html -/doc/html/boost_asio/reference/deadline_timer_service/expires_from_now/overload1.html -/doc/html/boost_asio/reference/deadline_timer_service/expires_from_now/overload2.html -/doc/html/boost_asio/reference/deadline_timer_service/get_io_service.html -/doc/html/boost_asio/reference/deadline_timer_service.html -/doc/html/boost_asio/reference/deadline_timer_service/id.html -/doc/html/boost_asio/reference/deadline_timer_service/implementation_type.html -/doc/html/boost_asio/reference/deadline_timer_service/time_type.html -/doc/html/boost_asio/reference/deadline_timer_service/traits_type.html -/doc/html/boost_asio/reference/deadline_timer_service/wait.html -/doc/html/boost_asio/reference/DescriptorService.html +/doc/html/boost_asio/reference/defer/ +/doc/html/boost_asio/reference/defer.html +/doc/html/boost_asio/reference/defer/overload1.html +/doc/html/boost_asio/reference/defer/overload2.html +/doc/html/boost_asio/reference/defer/overload3.html +/doc/html/boost_asio/reference/dispatch/ +/doc/html/boost_asio/reference/dispatch.html +/doc/html/boost_asio/reference/dispatch/overload1.html +/doc/html/boost_asio/reference/dispatch/overload2.html +/doc/html/boost_asio/reference/dispatch/overload3.html +/doc/html/boost_asio/reference/dynamic_buffer/ +/doc/html/boost_asio/reference/dynamic_buffer.html +/doc/html/boost_asio/reference/DynamicBuffer.html +/doc/html/boost_asio/reference/dynamic_buffer/overload1.html +/doc/html/boost_asio/reference/dynamic_buffer/overload2.html +/doc/html/boost_asio/reference/dynamic_buffer/overload3.html +/doc/html/boost_asio/reference/dynamic_buffer/overload4.html +/doc/html/boost_asio/reference/dynamic_string_buffer/ +/doc/html/boost_asio/reference/dynamic_string_buffer/capacity.html +/doc/html/boost_asio/reference/dynamic_string_buffer/commit.html +/doc/html/boost_asio/reference/dynamic_string_buffer/const_buffers_type.html +/doc/html/boost_asio/reference/dynamic_string_buffer/consume.html +/doc/html/boost_asio/reference/dynamic_string_buffer/data.html +/doc/html/boost_asio/reference/dynamic_string_buffer/dynamic_string_buffer/ +/doc/html/boost_asio/reference/dynamic_string_buffer/dynamic_string_buffer.html +/doc/html/boost_asio/reference/dynamic_string_buffer/dynamic_string_buffer/overload1.html +/doc/html/boost_asio/reference/dynamic_string_buffer/dynamic_string_buffer/overload2.html +/doc/html/boost_asio/reference/dynamic_string_buffer.html +/doc/html/boost_asio/reference/dynamic_string_buffer/max_size.html +/doc/html/boost_asio/reference/dynamic_string_buffer/mutable_buffers_type.html +/doc/html/boost_asio/reference/dynamic_string_buffer/prepare.html +/doc/html/boost_asio/reference/dynamic_string_buffer/size.html +/doc/html/boost_asio/reference/dynamic_vector_buffer/ +/doc/html/boost_asio/reference/dynamic_vector_buffer/capacity.html +/doc/html/boost_asio/reference/dynamic_vector_buffer/commit.html +/doc/html/boost_asio/reference/dynamic_vector_buffer/const_buffers_type.html +/doc/html/boost_asio/reference/dynamic_vector_buffer/consume.html +/doc/html/boost_asio/reference/dynamic_vector_buffer/data.html +/doc/html/boost_asio/reference/dynamic_vector_buffer/dynamic_vector_buffer/ +/doc/html/boost_asio/reference/dynamic_vector_buffer/dynamic_vector_buffer.html +/doc/html/boost_asio/reference/dynamic_vector_buffer/dynamic_vector_buffer/overload1.html +/doc/html/boost_asio/reference/dynamic_vector_buffer/dynamic_vector_buffer/overload2.html +/doc/html/boost_asio/reference/dynamic_vector_buffer.html +/doc/html/boost_asio/reference/dynamic_vector_buffer/max_size.html +/doc/html/boost_asio/reference/dynamic_vector_buffer/mutable_buffers_type.html +/doc/html/boost_asio/reference/dynamic_vector_buffer/prepare.html +/doc/html/boost_asio/reference/dynamic_vector_buffer/size.html /doc/html/boost_asio/reference/Endpoint.html +/doc/html/boost_asio/reference/EndpointSequence.html /doc/html/boost_asio/reference/error__addrinfo_category.html /doc/html/boost_asio/reference/error__addrinfo_errors.html /doc/html/boost_asio/reference/error__basic_errors.html @@ -2385,6 +2345,112 @@ /doc/html/boost_asio/reference/error__ssl_category.html /doc/html/boost_asio/reference/error__ssl_errors.html /doc/html/boost_asio/reference/error__system_category.html +/doc/html/boost_asio/reference/execution_context/ +/doc/html/boost_asio/reference/execution_context/add_service.html +/doc/html/boost_asio/reference/execution_context/destroy.html +/doc/html/boost_asio/reference/execution_context/_execution_context.html +/doc/html/boost_asio/reference/execution_context/execution_context.html +/doc/html/boost_asio/reference/execution_context/fork_event.html +/doc/html/boost_asio/reference/execution_context/has_service.html +/doc/html/boost_asio/reference/execution_context.html +/doc/html/boost_asio/reference/ExecutionContext.html +/doc/html/boost_asio/reference/execution_context__id/ +/doc/html/boost_asio/reference/execution_context__id.html +/doc/html/boost_asio/reference/execution_context__id/id.html +/doc/html/boost_asio/reference/execution_context/make_service.html +/doc/html/boost_asio/reference/execution_context/notify_fork.html +/doc/html/boost_asio/reference/execution_context__service/ +/doc/html/boost_asio/reference/execution_context__service/context.html +/doc/html/boost_asio/reference/execution_context__service.html +/doc/html/boost_asio/reference/execution_context__service/notify_fork.html +/doc/html/boost_asio/reference/execution_context__service/_service.html +/doc/html/boost_asio/reference/execution_context__service/service.html +/doc/html/boost_asio/reference/execution_context__service/shutdown.html +/doc/html/boost_asio/reference/execution_context/shutdown.html +/doc/html/boost_asio/reference/execution_context/use_service/ +/doc/html/boost_asio/reference/execution_context/use_service.html +/doc/html/boost_asio/reference/execution_context/use_service/overload1.html +/doc/html/boost_asio/reference/execution_context/use_service/overload2.html +/doc/html/boost_asio/reference/executor/ +/doc/html/boost_asio/reference/Executor1.html +/doc/html/boost_asio/reference/executor_arg.html +/doc/html/boost_asio/reference/executor_arg_t/ +/doc/html/boost_asio/reference/executor_arg_t/executor_arg_t.html +/doc/html/boost_asio/reference/executor_arg_t.html +/doc/html/boost_asio/reference/executor_binder/ +/doc/html/boost_asio/reference/executor_binder/argument_type.html +/doc/html/boost_asio/reference/executor_binder/executor_binder/ +/doc/html/boost_asio/reference/executor_binder/_executor_binder.html +/doc/html/boost_asio/reference/executor_binder/executor_binder.html +/doc/html/boost_asio/reference/executor_binder/executor_binder/overload1.html +/doc/html/boost_asio/reference/executor_binder/executor_binder/overload2.html +/doc/html/boost_asio/reference/executor_binder/executor_binder/overload3.html +/doc/html/boost_asio/reference/executor_binder/executor_binder/overload4.html +/doc/html/boost_asio/reference/executor_binder/executor_binder/overload5.html +/doc/html/boost_asio/reference/executor_binder/executor_binder/overload6.html +/doc/html/boost_asio/reference/executor_binder/executor_binder/overload7.html +/doc/html/boost_asio/reference/executor_binder/executor_binder/overload8.html +/doc/html/boost_asio/reference/executor_binder/executor_binder/overload9.html +/doc/html/boost_asio/reference/executor_binder/executor_type.html +/doc/html/boost_asio/reference/executor_binder/first_argument_type.html +/doc/html/boost_asio/reference/executor_binder/get/ +/doc/html/boost_asio/reference/executor_binder/get_executor.html +/doc/html/boost_asio/reference/executor_binder/get.html +/doc/html/boost_asio/reference/executor_binder/get/overload1.html +/doc/html/boost_asio/reference/executor_binder/get/overload2.html +/doc/html/boost_asio/reference/executor_binder.html +/doc/html/boost_asio/reference/executor_binder/operator_lp__rp_/ +/doc/html/boost_asio/reference/executor_binder/operator_lp__rp_.html +/doc/html/boost_asio/reference/executor_binder/operator_lp__rp_/overload1.html +/doc/html/boost_asio/reference/executor_binder/operator_lp__rp_/overload2.html +/doc/html/boost_asio/reference/executor_binder/result_type.html +/doc/html/boost_asio/reference/executor_binder/second_argument_type.html +/doc/html/boost_asio/reference/executor_binder/target_type.html +/doc/html/boost_asio/reference/executor/context.html +/doc/html/boost_asio/reference/executor/defer.html +/doc/html/boost_asio/reference/executor/dispatch.html +/doc/html/boost_asio/reference/executor/executor/ +/doc/html/boost_asio/reference/executor/_executor.html +/doc/html/boost_asio/reference/executor/executor.html +/doc/html/boost_asio/reference/executor/executor/overload1.html +/doc/html/boost_asio/reference/executor/executor/overload2.html +/doc/html/boost_asio/reference/executor/executor/overload3.html +/doc/html/boost_asio/reference/executor/executor/overload4.html +/doc/html/boost_asio/reference/executor/executor/overload5.html +/doc/html/boost_asio/reference/executor/executor/overload6.html +/doc/html/boost_asio/reference/executor.html +/doc/html/boost_asio/reference/executor/on_work_finished.html +/doc/html/boost_asio/reference/executor/on_work_started.html +/doc/html/boost_asio/reference/executor/operator_eq_/ +/doc/html/boost_asio/reference/executor/operator_eq__eq_.html +/doc/html/boost_asio/reference/executor/operator_eq_.html +/doc/html/boost_asio/reference/executor/operator_eq_/overload1.html +/doc/html/boost_asio/reference/executor/operator_eq_/overload2.html +/doc/html/boost_asio/reference/executor/operator_eq_/overload3.html +/doc/html/boost_asio/reference/executor/operator_eq_/overload4.html +/doc/html/boost_asio/reference/executor/operator_not__eq_.html +/doc/html/boost_asio/reference/executor/operator_unspecified_bool_type.html +/doc/html/boost_asio/reference/executor/post.html +/doc/html/boost_asio/reference/executor/target/ +/doc/html/boost_asio/reference/executor/target.html +/doc/html/boost_asio/reference/executor/target/overload1.html +/doc/html/boost_asio/reference/executor/target/overload2.html +/doc/html/boost_asio/reference/executor/target_type.html +/doc/html/boost_asio/reference/executor/unspecified_bool_true.html +/doc/html/boost_asio/reference/executor/unspecified_bool_type.html +/doc/html/boost_asio/reference/executor__unspecified_bool_type_t.html +/doc/html/boost_asio/reference/executor_work_guard/ +/doc/html/boost_asio/reference/executor_work_guard/executor_type.html +/doc/html/boost_asio/reference/executor_work_guard/executor_work_guard/ +/doc/html/boost_asio/reference/executor_work_guard/_executor_work_guard.html +/doc/html/boost_asio/reference/executor_work_guard/executor_work_guard.html +/doc/html/boost_asio/reference/executor_work_guard/executor_work_guard/overload1.html +/doc/html/boost_asio/reference/executor_work_guard/executor_work_guard/overload2.html +/doc/html/boost_asio/reference/executor_work_guard/executor_work_guard/overload3.html +/doc/html/boost_asio/reference/executor_work_guard/get_executor.html +/doc/html/boost_asio/reference/executor_work_guard.html +/doc/html/boost_asio/reference/executor_work_guard/owns_work.html +/doc/html/boost_asio/reference/executor_work_guard/reset.html /doc/html/boost_asio/reference/generic__basic_endpoint/ /doc/html/boost_asio/reference/generic__basic_endpoint/basic_endpoint/ /doc/html/boost_asio/reference/generic__basic_endpoint/basic_endpoint.html @@ -2463,13 +2529,21 @@ /doc/html/boost_asio/reference/generic__stream_protocol/stream_protocol/overload1.html /doc/html/boost_asio/reference/generic__stream_protocol/stream_protocol/overload2.html /doc/html/boost_asio/reference/generic__stream_protocol/type.html +/doc/html/boost_asio/reference/get_associated_allocator/ +/doc/html/boost_asio/reference/get_associated_allocator.html +/doc/html/boost_asio/reference/get_associated_allocator/overload1.html +/doc/html/boost_asio/reference/get_associated_allocator/overload2.html +/doc/html/boost_asio/reference/get_associated_executor/ +/doc/html/boost_asio/reference/get_associated_executor.html +/doc/html/boost_asio/reference/get_associated_executor/overload1.html +/doc/html/boost_asio/reference/get_associated_executor/overload2.html +/doc/html/boost_asio/reference/get_associated_executor/overload3.html /doc/html/boost_asio/reference/GettableSerialPortOption.html /doc/html/boost_asio/reference/GettableSocketOption.html /doc/html/boost_asio/reference/Handler.html /doc/html/boost_asio/reference/handler_type/ /doc/html/boost_asio/reference/handler_type.html /doc/html/boost_asio/reference/handler_type/type.html -/doc/html/boost_asio/reference/HandleService.html /doc/html/boost_asio/reference/HandshakeHandler.html /doc/html/boost_asio/reference/has_service.html /doc/html/boost_asio/reference/high_resolution_timer.html @@ -2478,69 +2552,104 @@ /doc/html/boost_asio/reference/invalid_service_owner/ /doc/html/boost_asio/reference/invalid_service_owner.html /doc/html/boost_asio/reference/invalid_service_owner/invalid_service_owner.html +/doc/html/boost_asio/reference/io_context/ +/doc/html/boost_asio/reference/io_context/add_service.html +/doc/html/boost_asio/reference/io_context/count_type.html +/doc/html/boost_asio/reference/io_context/destroy.html +/doc/html/boost_asio/reference/io_context/dispatch.html +/doc/html/boost_asio/reference/io_context__executor_type/ +/doc/html/boost_asio/reference/io_context__executor_type/context.html +/doc/html/boost_asio/reference/io_context__executor_type/defer.html +/doc/html/boost_asio/reference/io_context__executor_type/dispatch.html +/doc/html/boost_asio/reference/io_context__executor_type.html +/doc/html/boost_asio/reference/io_context__executor_type/on_work_finished.html +/doc/html/boost_asio/reference/io_context__executor_type/on_work_started.html +/doc/html/boost_asio/reference/io_context__executor_type/operator_eq__eq_.html +/doc/html/boost_asio/reference/io_context__executor_type/operator_not__eq_.html +/doc/html/boost_asio/reference/io_context__executor_type/post.html +/doc/html/boost_asio/reference/io_context__executor_type/running_in_this_thread.html +/doc/html/boost_asio/reference/io_context/fork_event.html +/doc/html/boost_asio/reference/io_context/get_executor.html +/doc/html/boost_asio/reference/io_context/has_service.html +/doc/html/boost_asio/reference/io_context.html +/doc/html/boost_asio/reference/io_context/io_context/ +/doc/html/boost_asio/reference/io_context/_io_context.html +/doc/html/boost_asio/reference/io_context/io_context.html +/doc/html/boost_asio/reference/io_context/io_context/overload1.html +/doc/html/boost_asio/reference/io_context/io_context/overload2.html +/doc/html/boost_asio/reference/io_context/make_service.html +/doc/html/boost_asio/reference/io_context/notify_fork.html +/doc/html/boost_asio/reference/io_context/poll/ +/doc/html/boost_asio/reference/io_context/poll.html +/doc/html/boost_asio/reference/io_context/poll_one/ +/doc/html/boost_asio/reference/io_context/poll_one.html +/doc/html/boost_asio/reference/io_context/poll_one/overload1.html +/doc/html/boost_asio/reference/io_context/poll_one/overload2.html +/doc/html/boost_asio/reference/io_context/poll/overload1.html +/doc/html/boost_asio/reference/io_context/poll/overload2.html +/doc/html/boost_asio/reference/io_context/post.html +/doc/html/boost_asio/reference/io_context/reset.html +/doc/html/boost_asio/reference/io_context/restart.html +/doc/html/boost_asio/reference/io_context/run/ +/doc/html/boost_asio/reference/io_context/run_for.html +/doc/html/boost_asio/reference/io_context/run.html +/doc/html/boost_asio/reference/io_context/run_one/ +/doc/html/boost_asio/reference/io_context/run_one_for.html +/doc/html/boost_asio/reference/io_context/run_one.html +/doc/html/boost_asio/reference/io_context/run_one/overload1.html +/doc/html/boost_asio/reference/io_context/run_one/overload2.html +/doc/html/boost_asio/reference/io_context/run_one_until.html +/doc/html/boost_asio/reference/io_context/run/overload1.html +/doc/html/boost_asio/reference/io_context/run/overload2.html +/doc/html/boost_asio/reference/io_context/run_until.html +/doc/html/boost_asio/reference/io_context__service/ +/doc/html/boost_asio/reference/io_context__service/get_io_context.html +/doc/html/boost_asio/reference/io_context__service/get_io_service.html +/doc/html/boost_asio/reference/io_context__service.html +/doc/html/boost_asio/reference/io_context__service/_service.html +/doc/html/boost_asio/reference/io_context__service/service.html +/doc/html/boost_asio/reference/io_context/shutdown.html +/doc/html/boost_asio/reference/io_context/stop.html +/doc/html/boost_asio/reference/io_context/stopped.html +/doc/html/boost_asio/reference/io_context__strand/ +/doc/html/boost_asio/reference/io_context__strand/context.html +/doc/html/boost_asio/reference/io_context__strand/defer.html +/doc/html/boost_asio/reference/io_context__strand/dispatch/ +/doc/html/boost_asio/reference/io_context__strand/dispatch.html +/doc/html/boost_asio/reference/io_context__strand/dispatch/overload1.html +/doc/html/boost_asio/reference/io_context__strand/dispatch/overload2.html +/doc/html/boost_asio/reference/io_context__strand/get_io_context.html +/doc/html/boost_asio/reference/io_context__strand/get_io_service.html +/doc/html/boost_asio/reference/io_context__strand.html +/doc/html/boost_asio/reference/io_context__strand/on_work_finished.html +/doc/html/boost_asio/reference/io_context__strand/on_work_started.html +/doc/html/boost_asio/reference/io_context__strand/operator_eq__eq_.html +/doc/html/boost_asio/reference/io_context__strand/operator_not__eq_.html +/doc/html/boost_asio/reference/io_context__strand/post/ +/doc/html/boost_asio/reference/io_context__strand/post.html +/doc/html/boost_asio/reference/io_context__strand/post/overload1.html +/doc/html/boost_asio/reference/io_context__strand/post/overload2.html +/doc/html/boost_asio/reference/io_context__strand/running_in_this_thread.html +/doc/html/boost_asio/reference/io_context__strand/_strand.html +/doc/html/boost_asio/reference/io_context__strand/strand.html +/doc/html/boost_asio/reference/io_context__strand/wrap.html +/doc/html/boost_asio/reference/io_context/use_service/ +/doc/html/boost_asio/reference/io_context/use_service.html +/doc/html/boost_asio/reference/io_context/use_service/overload1.html +/doc/html/boost_asio/reference/io_context/use_service/overload2.html +/doc/html/boost_asio/reference/io_context__work/ +/doc/html/boost_asio/reference/io_context__work/get_io_context.html +/doc/html/boost_asio/reference/io_context__work/get_io_service.html +/doc/html/boost_asio/reference/io_context__work.html +/doc/html/boost_asio/reference/io_context__work/work/ +/doc/html/boost_asio/reference/io_context__work/_work.html +/doc/html/boost_asio/reference/io_context__work/work.html +/doc/html/boost_asio/reference/io_context__work/work/overload1.html +/doc/html/boost_asio/reference/io_context__work/work/overload2.html +/doc/html/boost_asio/reference/io_context/wrap.html /doc/html/boost_asio/reference/IoControlCommand.html /doc/html/boost_asio/reference/IoObjectService.html -/doc/html/boost_asio/reference/io_service/ -/doc/html/boost_asio/reference/io_service/add_service.html -/doc/html/boost_asio/reference/io_service/dispatch.html -/doc/html/boost_asio/reference/io_service/fork_event.html -/doc/html/boost_asio/reference/io_service/has_service.html /doc/html/boost_asio/reference/io_service.html -/doc/html/boost_asio/reference/io_service__id/ -/doc/html/boost_asio/reference/io_service__id.html -/doc/html/boost_asio/reference/io_service__id/id.html -/doc/html/boost_asio/reference/io_service/io_service/ -/doc/html/boost_asio/reference/io_service/_io_service.html -/doc/html/boost_asio/reference/io_service/io_service.html -/doc/html/boost_asio/reference/io_service/io_service/overload1.html -/doc/html/boost_asio/reference/io_service/io_service/overload2.html -/doc/html/boost_asio/reference/io_service/notify_fork.html -/doc/html/boost_asio/reference/io_service/poll/ -/doc/html/boost_asio/reference/io_service/poll.html -/doc/html/boost_asio/reference/io_service/poll_one/ -/doc/html/boost_asio/reference/io_service/poll_one.html -/doc/html/boost_asio/reference/io_service/poll_one/overload1.html -/doc/html/boost_asio/reference/io_service/poll_one/overload2.html -/doc/html/boost_asio/reference/io_service/poll/overload1.html -/doc/html/boost_asio/reference/io_service/poll/overload2.html -/doc/html/boost_asio/reference/io_service/post.html -/doc/html/boost_asio/reference/io_service/reset.html -/doc/html/boost_asio/reference/io_service/run/ -/doc/html/boost_asio/reference/io_service/run.html -/doc/html/boost_asio/reference/io_service/run_one/ -/doc/html/boost_asio/reference/io_service/run_one.html -/doc/html/boost_asio/reference/io_service/run_one/overload1.html -/doc/html/boost_asio/reference/io_service/run_one/overload2.html -/doc/html/boost_asio/reference/io_service/run/overload1.html -/doc/html/boost_asio/reference/io_service/run/overload2.html -/doc/html/boost_asio/reference/io_service__service/ -/doc/html/boost_asio/reference/io_service__service/fork_service.html -/doc/html/boost_asio/reference/io_service__service/get_io_service.html -/doc/html/boost_asio/reference/io_service__service.html -/doc/html/boost_asio/reference/io_service__service/_service.html -/doc/html/boost_asio/reference/io_service__service/service.html -/doc/html/boost_asio/reference/io_service__service/shutdown_service.html -/doc/html/boost_asio/reference/io_service/stop.html -/doc/html/boost_asio/reference/io_service/stopped.html -/doc/html/boost_asio/reference/io_service__strand/ -/doc/html/boost_asio/reference/io_service__strand/dispatch.html -/doc/html/boost_asio/reference/io_service__strand/get_io_service.html -/doc/html/boost_asio/reference/io_service__strand.html -/doc/html/boost_asio/reference/io_service__strand/post.html -/doc/html/boost_asio/reference/io_service__strand/running_in_this_thread.html -/doc/html/boost_asio/reference/io_service__strand/_strand.html -/doc/html/boost_asio/reference/io_service__strand/strand.html -/doc/html/boost_asio/reference/io_service__strand/wrap.html -/doc/html/boost_asio/reference/io_service/use_service.html -/doc/html/boost_asio/reference/io_service__work/ -/doc/html/boost_asio/reference/io_service__work/get_io_service.html -/doc/html/boost_asio/reference/io_service__work.html -/doc/html/boost_asio/reference/io_service__work/work/ -/doc/html/boost_asio/reference/io_service__work/_work.html -/doc/html/boost_asio/reference/io_service__work/work.html -/doc/html/boost_asio/reference/io_service__work/work/overload1.html -/doc/html/boost_asio/reference/io_service__work/work/overload2.html -/doc/html/boost_asio/reference/io_service/wrap.html /doc/html/boost_asio/reference/ip__address/ /doc/html/boost_asio/reference/ip__address/address/ /doc/html/boost_asio/reference/ip__address/address.html @@ -2560,6 +2669,14 @@ /doc/html/boost_asio/reference/ip__address/is_unspecified.html /doc/html/boost_asio/reference/ip__address/is_v4.html /doc/html/boost_asio/reference/ip__address/is_v6.html +/doc/html/boost_asio/reference/ip__address/make_address/ +/doc/html/boost_asio/reference/ip__address/make_address.html +/doc/html/boost_asio/reference/ip__address/make_address/overload1.html +/doc/html/boost_asio/reference/ip__address/make_address/overload2.html +/doc/html/boost_asio/reference/ip__address/make_address/overload3.html +/doc/html/boost_asio/reference/ip__address/make_address/overload4.html +/doc/html/boost_asio/reference/ip__address/make_address/overload5.html +/doc/html/boost_asio/reference/ip__address/make_address/overload6.html /doc/html/boost_asio/reference/ip__address/operator_eq_/ /doc/html/boost_asio/reference/ip__address/operator_eq__eq_.html /doc/html/boost_asio/reference/ip__address/operator_eq_.html @@ -2604,7 +2721,23 @@ /doc/html/boost_asio/reference/ip__address_v4/is_loopback.html /doc/html/boost_asio/reference/ip__address_v4/is_multicast.html /doc/html/boost_asio/reference/ip__address_v4/is_unspecified.html +/doc/html/boost_asio/reference/ip__address_v4_iterator.html /doc/html/boost_asio/reference/ip__address_v4/loopback.html +/doc/html/boost_asio/reference/ip__address_v4/make_address_v4/ +/doc/html/boost_asio/reference/ip__address_v4/make_address_v4.html +/doc/html/boost_asio/reference/ip__address_v4/make_address_v4/overload1.html +/doc/html/boost_asio/reference/ip__address_v4/make_address_v4/overload2.html +/doc/html/boost_asio/reference/ip__address_v4/make_address_v4/overload3.html +/doc/html/boost_asio/reference/ip__address_v4/make_address_v4/overload4.html +/doc/html/boost_asio/reference/ip__address_v4/make_address_v4/overload5.html +/doc/html/boost_asio/reference/ip__address_v4/make_address_v4/overload6.html +/doc/html/boost_asio/reference/ip__address_v4/make_address_v4/overload7.html +/doc/html/boost_asio/reference/ip__address_v4/make_address_v4/overload8.html +/doc/html/boost_asio/reference/ip__address_v4/make_address_v4/overload9.html +/doc/html/boost_asio/reference/ip__address_v4/make_network_v4/ +/doc/html/boost_asio/reference/ip__address_v4/make_network_v4.html +/doc/html/boost_asio/reference/ip__address_v4/make_network_v4/overload1.html +/doc/html/boost_asio/reference/ip__address_v4/make_network_v4/overload2.html /doc/html/boost_asio/reference/ip__address_v4/netmask.html /doc/html/boost_asio/reference/ip__address_v4/operator_eq__eq_.html /doc/html/boost_asio/reference/ip__address_v4/operator_eq_.html @@ -2612,14 +2745,20 @@ /doc/html/boost_asio/reference/ip__address_v4/operator_gt_.html /doc/html/boost_asio/reference/ip__address_v4/operator_lt__eq_.html /doc/html/boost_asio/reference/ip__address_v4/operator_lt_.html +/doc/html/boost_asio/reference/ip__address_v4/operator_lt__lt_/ /doc/html/boost_asio/reference/ip__address_v4/operator_lt__lt_.html +/doc/html/boost_asio/reference/ip__address_v4/operator_lt__lt_/overload1.html +/doc/html/boost_asio/reference/ip__address_v4/operator_lt__lt_/overload2.html /doc/html/boost_asio/reference/ip__address_v4/operator_not__eq_.html +/doc/html/boost_asio/reference/ip__address_v4_range.html /doc/html/boost_asio/reference/ip__address_v4/to_bytes.html /doc/html/boost_asio/reference/ip__address_v4/to_string/ /doc/html/boost_asio/reference/ip__address_v4/to_string.html /doc/html/boost_asio/reference/ip__address_v4/to_string/overload1.html /doc/html/boost_asio/reference/ip__address_v4/to_string/overload2.html +/doc/html/boost_asio/reference/ip__address_v4/to_uint.html /doc/html/boost_asio/reference/ip__address_v4/to_ulong.html +/doc/html/boost_asio/reference/ip__address_v4/uint_type.html /doc/html/boost_asio/reference/ip__address_v6/ /doc/html/boost_asio/reference/ip__address_v6/address_v6/ /doc/html/boost_asio/reference/ip__address_v6/address_v6.html @@ -2647,15 +2786,31 @@ /doc/html/boost_asio/reference/ip__address_v6/is_unspecified.html /doc/html/boost_asio/reference/ip__address_v6/is_v4_compatible.html /doc/html/boost_asio/reference/ip__address_v6/is_v4_mapped.html +/doc/html/boost_asio/reference/ip__address_v6_iterator.html /doc/html/boost_asio/reference/ip__address_v6/loopback.html +/doc/html/boost_asio/reference/ip__address_v6/make_address_v6/ +/doc/html/boost_asio/reference/ip__address_v6/make_address_v6.html +/doc/html/boost_asio/reference/ip__address_v6/make_address_v6/overload1.html +/doc/html/boost_asio/reference/ip__address_v6/make_address_v6/overload2.html +/doc/html/boost_asio/reference/ip__address_v6/make_address_v6/overload3.html +/doc/html/boost_asio/reference/ip__address_v6/make_address_v6/overload4.html +/doc/html/boost_asio/reference/ip__address_v6/make_address_v6/overload5.html +/doc/html/boost_asio/reference/ip__address_v6/make_address_v6/overload6.html +/doc/html/boost_asio/reference/ip__address_v6/make_address_v6/overload7.html +/doc/html/boost_asio/reference/ip__address_v6/make_address_v6/overload8.html +/doc/html/boost_asio/reference/ip__address_v6/make_network_v6.html /doc/html/boost_asio/reference/ip__address_v6/operator_eq__eq_.html /doc/html/boost_asio/reference/ip__address_v6/operator_eq_.html /doc/html/boost_asio/reference/ip__address_v6/operator_gt__eq_.html /doc/html/boost_asio/reference/ip__address_v6/operator_gt_.html /doc/html/boost_asio/reference/ip__address_v6/operator_lt__eq_.html /doc/html/boost_asio/reference/ip__address_v6/operator_lt_.html +/doc/html/boost_asio/reference/ip__address_v6/operator_lt__lt_/ /doc/html/boost_asio/reference/ip__address_v6/operator_lt__lt_.html +/doc/html/boost_asio/reference/ip__address_v6/operator_lt__lt_/overload1.html +/doc/html/boost_asio/reference/ip__address_v6/operator_lt__lt_/overload2.html /doc/html/boost_asio/reference/ip__address_v6/operator_not__eq_.html +/doc/html/boost_asio/reference/ip__address_v6_range.html /doc/html/boost_asio/reference/ip__address_v6/scope_id/ /doc/html/boost_asio/reference/ip__address_v6/scope_id.html /doc/html/boost_asio/reference/ip__address_v6/scope_id/overload1.html @@ -2668,6 +2823,86 @@ /doc/html/boost_asio/reference/ip__address_v6/to_v4.html /doc/html/boost_asio/reference/ip__address_v6/v4_compatible.html /doc/html/boost_asio/reference/ip__address_v6/v4_mapped.html +/doc/html/boost_asio/reference/ip__bad_address_cast/ +/doc/html/boost_asio/reference/ip__bad_address_cast/_bad_address_cast.html +/doc/html/boost_asio/reference/ip__bad_address_cast/bad_address_cast.html +/doc/html/boost_asio/reference/ip__bad_address_cast.html +/doc/html/boost_asio/reference/ip__bad_address_cast/what.html +/doc/html/boost_asio/reference/ip__basic_address_iterator_lt__address_v4__gt_/ +/doc/html/boost_asio/reference/ip__basic_address_iterator_lt__address_v4__gt_/basic_address_iterator/ +/doc/html/boost_asio/reference/ip__basic_address_iterator_lt__address_v4__gt_/basic_address_iterator.html +/doc/html/boost_asio/reference/ip__basic_address_iterator_lt__address_v4__gt_/basic_address_iterator/overload1.html +/doc/html/boost_asio/reference/ip__basic_address_iterator_lt__address_v4__gt_/basic_address_iterator/overload2.html +/doc/html/boost_asio/reference/ip__basic_address_iterator_lt__address_v4__gt_/difference_type.html +/doc/html/boost_asio/reference/ip__basic_address_iterator_lt__address_v4__gt_.html +/doc/html/boost_asio/reference/ip__basic_address_iterator_lt__address_v4__gt_/iterator_category.html +/doc/html/boost_asio/reference/ip__basic_address_iterator_lt__address_v4__gt_/operator_arrow_.html +/doc/html/boost_asio/reference/ip__basic_address_iterator_lt__address_v4__gt_/operator_eq__eq_.html +/doc/html/boost_asio/reference/ip__basic_address_iterator_lt__address_v4__gt_/operator_eq_.html +/doc/html/boost_asio/reference/ip__basic_address_iterator_lt__address_v4__gt_/operator_minus__minus_/ +/doc/html/boost_asio/reference/ip__basic_address_iterator_lt__address_v4__gt_/operator_minus__minus_.html +/doc/html/boost_asio/reference/ip__basic_address_iterator_lt__address_v4__gt_/operator_minus__minus_/overload1.html +/doc/html/boost_asio/reference/ip__basic_address_iterator_lt__address_v4__gt_/operator_minus__minus_/overload2.html +/doc/html/boost_asio/reference/ip__basic_address_iterator_lt__address_v4__gt_/operator_not__eq_.html +/doc/html/boost_asio/reference/ip__basic_address_iterator_lt__address_v4__gt_/operator_plus__plus_/ +/doc/html/boost_asio/reference/ip__basic_address_iterator_lt__address_v4__gt_/operator_plus__plus_.html +/doc/html/boost_asio/reference/ip__basic_address_iterator_lt__address_v4__gt_/operator_plus__plus_/overload1.html +/doc/html/boost_asio/reference/ip__basic_address_iterator_lt__address_v4__gt_/operator_plus__plus_/overload2.html +/doc/html/boost_asio/reference/ip__basic_address_iterator_lt__address_v4__gt_/operator__star_.html +/doc/html/boost_asio/reference/ip__basic_address_iterator_lt__address_v4__gt_/pointer.html +/doc/html/boost_asio/reference/ip__basic_address_iterator_lt__address_v4__gt_/reference.html +/doc/html/boost_asio/reference/ip__basic_address_iterator_lt__address_v4__gt_/value_type.html +/doc/html/boost_asio/reference/ip__basic_address_iterator_lt__address_v6__gt_/ +/doc/html/boost_asio/reference/ip__basic_address_iterator_lt__address_v6__gt_/basic_address_iterator/ +/doc/html/boost_asio/reference/ip__basic_address_iterator_lt__address_v6__gt_/basic_address_iterator.html +/doc/html/boost_asio/reference/ip__basic_address_iterator_lt__address_v6__gt_/basic_address_iterator/overload1.html +/doc/html/boost_asio/reference/ip__basic_address_iterator_lt__address_v6__gt_/basic_address_iterator/overload2.html +/doc/html/boost_asio/reference/ip__basic_address_iterator_lt__address_v6__gt_/difference_type.html +/doc/html/boost_asio/reference/ip__basic_address_iterator_lt__address_v6__gt_.html +/doc/html/boost_asio/reference/ip__basic_address_iterator_lt__address_v6__gt_/iterator_category.html +/doc/html/boost_asio/reference/ip__basic_address_iterator_lt__address_v6__gt_/operator_arrow_.html +/doc/html/boost_asio/reference/ip__basic_address_iterator_lt__address_v6__gt_/operator_eq__eq_.html +/doc/html/boost_asio/reference/ip__basic_address_iterator_lt__address_v6__gt_/operator_eq_.html +/doc/html/boost_asio/reference/ip__basic_address_iterator_lt__address_v6__gt_/operator_minus__minus_/ +/doc/html/boost_asio/reference/ip__basic_address_iterator_lt__address_v6__gt_/operator_minus__minus_.html +/doc/html/boost_asio/reference/ip__basic_address_iterator_lt__address_v6__gt_/operator_minus__minus_/overload1.html +/doc/html/boost_asio/reference/ip__basic_address_iterator_lt__address_v6__gt_/operator_minus__minus_/overload2.html +/doc/html/boost_asio/reference/ip__basic_address_iterator_lt__address_v6__gt_/operator_not__eq_.html +/doc/html/boost_asio/reference/ip__basic_address_iterator_lt__address_v6__gt_/operator_plus__plus_/ +/doc/html/boost_asio/reference/ip__basic_address_iterator_lt__address_v6__gt_/operator_plus__plus_.html +/doc/html/boost_asio/reference/ip__basic_address_iterator_lt__address_v6__gt_/operator_plus__plus_/overload1.html +/doc/html/boost_asio/reference/ip__basic_address_iterator_lt__address_v6__gt_/operator_plus__plus_/overload2.html +/doc/html/boost_asio/reference/ip__basic_address_iterator_lt__address_v6__gt_/operator__star_.html +/doc/html/boost_asio/reference/ip__basic_address_iterator_lt__address_v6__gt_/pointer.html +/doc/html/boost_asio/reference/ip__basic_address_iterator_lt__address_v6__gt_/reference.html +/doc/html/boost_asio/reference/ip__basic_address_iterator_lt__address_v6__gt_/value_type.html +/doc/html/boost_asio/reference/ip__basic_address_range_lt__address_v4__gt_/ +/doc/html/boost_asio/reference/ip__basic_address_range_lt__address_v4__gt_/basic_address_range/ +/doc/html/boost_asio/reference/ip__basic_address_range_lt__address_v4__gt_/basic_address_range.html +/doc/html/boost_asio/reference/ip__basic_address_range_lt__address_v4__gt_/basic_address_range/overload1.html +/doc/html/boost_asio/reference/ip__basic_address_range_lt__address_v4__gt_/basic_address_range/overload2.html +/doc/html/boost_asio/reference/ip__basic_address_range_lt__address_v4__gt_/basic_address_range/overload3.html +/doc/html/boost_asio/reference/ip__basic_address_range_lt__address_v4__gt_/begin.html +/doc/html/boost_asio/reference/ip__basic_address_range_lt__address_v4__gt_/empty.html +/doc/html/boost_asio/reference/ip__basic_address_range_lt__address_v4__gt_/end.html +/doc/html/boost_asio/reference/ip__basic_address_range_lt__address_v4__gt_/find.html +/doc/html/boost_asio/reference/ip__basic_address_range_lt__address_v4__gt_.html +/doc/html/boost_asio/reference/ip__basic_address_range_lt__address_v4__gt_/iterator.html +/doc/html/boost_asio/reference/ip__basic_address_range_lt__address_v4__gt_/operator_eq_.html +/doc/html/boost_asio/reference/ip__basic_address_range_lt__address_v4__gt_/size.html +/doc/html/boost_asio/reference/ip__basic_address_range_lt__address_v6__gt_/ +/doc/html/boost_asio/reference/ip__basic_address_range_lt__address_v6__gt_/basic_address_range/ +/doc/html/boost_asio/reference/ip__basic_address_range_lt__address_v6__gt_/basic_address_range.html +/doc/html/boost_asio/reference/ip__basic_address_range_lt__address_v6__gt_/basic_address_range/overload1.html +/doc/html/boost_asio/reference/ip__basic_address_range_lt__address_v6__gt_/basic_address_range/overload2.html +/doc/html/boost_asio/reference/ip__basic_address_range_lt__address_v6__gt_/basic_address_range/overload3.html +/doc/html/boost_asio/reference/ip__basic_address_range_lt__address_v6__gt_/begin.html +/doc/html/boost_asio/reference/ip__basic_address_range_lt__address_v6__gt_/empty.html +/doc/html/boost_asio/reference/ip__basic_address_range_lt__address_v6__gt_/end.html +/doc/html/boost_asio/reference/ip__basic_address_range_lt__address_v6__gt_/find.html +/doc/html/boost_asio/reference/ip__basic_address_range_lt__address_v6__gt_.html +/doc/html/boost_asio/reference/ip__basic_address_range_lt__address_v6__gt_/iterator.html +/doc/html/boost_asio/reference/ip__basic_address_range_lt__address_v6__gt_/operator_eq_.html /doc/html/boost_asio/reference/ip__basic_endpoint/ /doc/html/boost_asio/reference/ip__basic_endpoint/address/ /doc/html/boost_asio/reference/ip__basic_endpoint/address.html @@ -2679,6 +2914,7 @@ /doc/html/boost_asio/reference/ip__basic_endpoint/basic_endpoint/overload2.html /doc/html/boost_asio/reference/ip__basic_endpoint/basic_endpoint/overload3.html /doc/html/boost_asio/reference/ip__basic_endpoint/basic_endpoint/overload4.html +/doc/html/boost_asio/reference/ip__basic_endpoint/basic_endpoint/overload5.html /doc/html/boost_asio/reference/ip__basic_endpoint/capacity.html /doc/html/boost_asio/reference/ip__basic_endpoint/data/ /doc/html/boost_asio/reference/ip__basic_endpoint/data.html @@ -2686,8 +2922,11 @@ /doc/html/boost_asio/reference/ip__basic_endpoint/data/overload2.html /doc/html/boost_asio/reference/ip__basic_endpoint/data_type.html /doc/html/boost_asio/reference/ip__basic_endpoint.html +/doc/html/boost_asio/reference/ip__basic_endpoint/operator_eq_/ /doc/html/boost_asio/reference/ip__basic_endpoint/operator_eq__eq_.html /doc/html/boost_asio/reference/ip__basic_endpoint/operator_eq_.html +/doc/html/boost_asio/reference/ip__basic_endpoint/operator_eq_/overload1.html +/doc/html/boost_asio/reference/ip__basic_endpoint/operator_eq_/overload2.html /doc/html/boost_asio/reference/ip__basic_endpoint/operator_gt__eq_.html /doc/html/boost_asio/reference/ip__basic_endpoint/operator_gt_.html /doc/html/boost_asio/reference/ip__basic_endpoint/operator_lt__eq_.html @@ -2703,12 +2942,23 @@ /doc/html/boost_asio/reference/ip__basic_endpoint/resize.html /doc/html/boost_asio/reference/ip__basic_endpoint/size.html /doc/html/boost_asio/reference/ip__basic_resolver/ +/doc/html/boost_asio/reference/ip__basic_resolver/address_configured.html +/doc/html/boost_asio/reference/ip__basic_resolver/all_matching.html /doc/html/boost_asio/reference/ip__basic_resolver/async_resolve/ /doc/html/boost_asio/reference/ip__basic_resolver/async_resolve.html /doc/html/boost_asio/reference/ip__basic_resolver/async_resolve/overload1.html /doc/html/boost_asio/reference/ip__basic_resolver/async_resolve/overload2.html +/doc/html/boost_asio/reference/ip__basic_resolver/async_resolve/overload3.html +/doc/html/boost_asio/reference/ip__basic_resolver/async_resolve/overload4.html +/doc/html/boost_asio/reference/ip__basic_resolver/async_resolve/overload5.html +/doc/html/boost_asio/reference/ip__basic_resolver/async_resolve/overload6.html +/doc/html/boost_asio/reference/ip__basic_resolver/basic_resolver/ +/doc/html/boost_asio/reference/ip__basic_resolver/_basic_resolver.html /doc/html/boost_asio/reference/ip__basic_resolver/basic_resolver.html +/doc/html/boost_asio/reference/ip__basic_resolver/basic_resolver/overload1.html +/doc/html/boost_asio/reference/ip__basic_resolver/basic_resolver/overload2.html /doc/html/boost_asio/reference/ip__basic_resolver/cancel.html +/doc/html/boost_asio/reference/ip__basic_resolver/canonical_name.html /doc/html/boost_asio/reference/ip__basic_resolver/endpoint_type.html /doc/html/boost_asio/reference/ip__basic_resolver_entry/ /doc/html/boost_asio/reference/ip__basic_resolver_entry/basic_resolver_entry/ @@ -2717,36 +2967,43 @@ /doc/html/boost_asio/reference/ip__basic_resolver_entry/basic_resolver_entry/overload2.html /doc/html/boost_asio/reference/ip__basic_resolver_entry/endpoint.html /doc/html/boost_asio/reference/ip__basic_resolver_entry/endpoint_type.html +/doc/html/boost_asio/reference/ip__basic_resolver_entry/host_name/ /doc/html/boost_asio/reference/ip__basic_resolver_entry/host_name.html +/doc/html/boost_asio/reference/ip__basic_resolver_entry/host_name/overload1.html +/doc/html/boost_asio/reference/ip__basic_resolver_entry/host_name/overload2.html /doc/html/boost_asio/reference/ip__basic_resolver_entry.html /doc/html/boost_asio/reference/ip__basic_resolver_entry/operator_endpoint_type.html /doc/html/boost_asio/reference/ip__basic_resolver_entry/protocol_type.html +/doc/html/boost_asio/reference/ip__basic_resolver_entry/service_name/ /doc/html/boost_asio/reference/ip__basic_resolver_entry/service_name.html -/doc/html/boost_asio/reference/ip__basic_resolver/get_implementation/ -/doc/html/boost_asio/reference/ip__basic_resolver/get_implementation.html -/doc/html/boost_asio/reference/ip__basic_resolver/get_implementation/overload1.html -/doc/html/boost_asio/reference/ip__basic_resolver/get_implementation/overload2.html +/doc/html/boost_asio/reference/ip__basic_resolver_entry/service_name/overload1.html +/doc/html/boost_asio/reference/ip__basic_resolver_entry/service_name/overload2.html +/doc/html/boost_asio/reference/ip__basic_resolver/executor_type.html +/doc/html/boost_asio/reference/ip__basic_resolver/flags.html +/doc/html/boost_asio/reference/ip__basic_resolver/get_executor.html +/doc/html/boost_asio/reference/ip__basic_resolver/get_io_context.html /doc/html/boost_asio/reference/ip__basic_resolver/get_io_service.html -/doc/html/boost_asio/reference/ip__basic_resolver/get_service/ -/doc/html/boost_asio/reference/ip__basic_resolver/get_service.html -/doc/html/boost_asio/reference/ip__basic_resolver/get_service/overload1.html -/doc/html/boost_asio/reference/ip__basic_resolver/get_service/overload2.html /doc/html/boost_asio/reference/ip__basic_resolver.html -/doc/html/boost_asio/reference/ip__basic_resolver/implementation.html -/doc/html/boost_asio/reference/ip__basic_resolver/implementation_type.html /doc/html/boost_asio/reference/ip__basic_resolver_iterator/ +/doc/html/boost_asio/reference/ip__basic_resolver_iterator/basic_resolver_iterator/ /doc/html/boost_asio/reference/ip__basic_resolver_iterator/basic_resolver_iterator.html -/doc/html/boost_asio/reference/ip__basic_resolver_iterator/create/ -/doc/html/boost_asio/reference/ip__basic_resolver_iterator/create.html -/doc/html/boost_asio/reference/ip__basic_resolver_iterator/create/overload1.html -/doc/html/boost_asio/reference/ip__basic_resolver_iterator/create/overload2.html -/doc/html/boost_asio/reference/ip__basic_resolver_iterator/create/overload3.html +/doc/html/boost_asio/reference/ip__basic_resolver_iterator/basic_resolver_iterator/overload1.html +/doc/html/boost_asio/reference/ip__basic_resolver_iterator/basic_resolver_iterator/overload2.html +/doc/html/boost_asio/reference/ip__basic_resolver_iterator/basic_resolver_iterator/overload3.html +/doc/html/boost_asio/reference/ip__basic_resolver_iterator/dereference.html /doc/html/boost_asio/reference/ip__basic_resolver_iterator/difference_type.html +/doc/html/boost_asio/reference/ip__basic_resolver_iterator/equal.html /doc/html/boost_asio/reference/ip__basic_resolver_iterator.html /doc/html/boost_asio/reference/ip__basic_resolver/iterator.html +/doc/html/boost_asio/reference/ip__basic_resolver_iterator/increment.html +/doc/html/boost_asio/reference/ip__basic_resolver_iterator/index_.html /doc/html/boost_asio/reference/ip__basic_resolver_iterator/iterator_category.html /doc/html/boost_asio/reference/ip__basic_resolver_iterator/operator_arrow_.html +/doc/html/boost_asio/reference/ip__basic_resolver_iterator/operator_eq_/ /doc/html/boost_asio/reference/ip__basic_resolver_iterator/operator_eq__eq_.html +/doc/html/boost_asio/reference/ip__basic_resolver_iterator/operator_eq_.html +/doc/html/boost_asio/reference/ip__basic_resolver_iterator/operator_eq_/overload1.html +/doc/html/boost_asio/reference/ip__basic_resolver_iterator/operator_eq_/overload2.html /doc/html/boost_asio/reference/ip__basic_resolver_iterator/operator_not__eq_.html /doc/html/boost_asio/reference/ip__basic_resolver_iterator/operator_plus__plus_/ /doc/html/boost_asio/reference/ip__basic_resolver_iterator/operator_plus__plus_.html @@ -2755,7 +3012,12 @@ /doc/html/boost_asio/reference/ip__basic_resolver_iterator/operator__star_.html /doc/html/boost_asio/reference/ip__basic_resolver_iterator/pointer.html /doc/html/boost_asio/reference/ip__basic_resolver_iterator/reference.html +/doc/html/boost_asio/reference/ip__basic_resolver_iterator/values_.html /doc/html/boost_asio/reference/ip__basic_resolver_iterator/value_type.html +/doc/html/boost_asio/reference/ip__basic_resolver/numeric_host.html +/doc/html/boost_asio/reference/ip__basic_resolver/numeric_service.html +/doc/html/boost_asio/reference/ip__basic_resolver/operator_eq_.html +/doc/html/boost_asio/reference/ip__basic_resolver/passive.html /doc/html/boost_asio/reference/ip__basic_resolver/protocol_type.html /doc/html/boost_asio/reference/ip__basic_resolver_query/ /doc/html/boost_asio/reference/ip__basic_resolver_query/address_configured.html @@ -2780,12 +3042,69 @@ /doc/html/boost_asio/reference/ip__basic_resolver_query/v4_mapped.html /doc/html/boost_asio/reference/ip__basic_resolver/resolve/ /doc/html/boost_asio/reference/ip__basic_resolver/resolve.html +/doc/html/boost_asio/reference/ip__basic_resolver/resolve/overload10.html +/doc/html/boost_asio/reference/ip__basic_resolver/resolve/overload11.html +/doc/html/boost_asio/reference/ip__basic_resolver/resolve/overload12.html /doc/html/boost_asio/reference/ip__basic_resolver/resolve/overload1.html /doc/html/boost_asio/reference/ip__basic_resolver/resolve/overload2.html /doc/html/boost_asio/reference/ip__basic_resolver/resolve/overload3.html /doc/html/boost_asio/reference/ip__basic_resolver/resolve/overload4.html -/doc/html/boost_asio/reference/ip__basic_resolver/service.html -/doc/html/boost_asio/reference/ip__basic_resolver/service_type.html +/doc/html/boost_asio/reference/ip__basic_resolver/resolve/overload5.html +/doc/html/boost_asio/reference/ip__basic_resolver/resolve/overload6.html +/doc/html/boost_asio/reference/ip__basic_resolver/resolve/overload7.html +/doc/html/boost_asio/reference/ip__basic_resolver/resolve/overload8.html +/doc/html/boost_asio/reference/ip__basic_resolver/resolve/overload9.html +/doc/html/boost_asio/reference/ip__basic_resolver_results/ +/doc/html/boost_asio/reference/ip__basic_resolver_results/basic_resolver_results/ +/doc/html/boost_asio/reference/ip__basic_resolver_results/basic_resolver_results.html +/doc/html/boost_asio/reference/ip__basic_resolver_results/basic_resolver_results/overload1.html +/doc/html/boost_asio/reference/ip__basic_resolver_results/basic_resolver_results/overload2.html +/doc/html/boost_asio/reference/ip__basic_resolver_results/basic_resolver_results/overload3.html +/doc/html/boost_asio/reference/ip__basic_resolver_results/begin.html +/doc/html/boost_asio/reference/ip__basic_resolver_results/cbegin.html +/doc/html/boost_asio/reference/ip__basic_resolver_results/cend.html +/doc/html/boost_asio/reference/ip__basic_resolver_results/const_iterator.html +/doc/html/boost_asio/reference/ip__basic_resolver_results/const_reference.html +/doc/html/boost_asio/reference/ip__basic_resolver_results/dereference.html +/doc/html/boost_asio/reference/ip__basic_resolver_results/difference_type.html +/doc/html/boost_asio/reference/ip__basic_resolver_results/empty.html +/doc/html/boost_asio/reference/ip__basic_resolver_results/end.html +/doc/html/boost_asio/reference/ip__basic_resolver_results/endpoint_type.html +/doc/html/boost_asio/reference/ip__basic_resolver_results/equal.html +/doc/html/boost_asio/reference/ip__basic_resolver_results.html +/doc/html/boost_asio/reference/ip__basic_resolver_results/increment.html +/doc/html/boost_asio/reference/ip__basic_resolver_results/index_.html +/doc/html/boost_asio/reference/ip__basic_resolver_results/iterator_category.html +/doc/html/boost_asio/reference/ip__basic_resolver_results/iterator.html +/doc/html/boost_asio/reference/ip__basic_resolver_results/max_size.html +/doc/html/boost_asio/reference/ip__basic_resolver_results/operator_arrow_.html +/doc/html/boost_asio/reference/ip__basic_resolver_results/operator_eq_/ +/doc/html/boost_asio/reference/ip__basic_resolver_results/operator_eq__eq_/ +/doc/html/boost_asio/reference/ip__basic_resolver_results/operator_eq__eq_.html +/doc/html/boost_asio/reference/ip__basic_resolver_results/operator_eq__eq_/overload1.html +/doc/html/boost_asio/reference/ip__basic_resolver_results/operator_eq__eq_/overload2.html +/doc/html/boost_asio/reference/ip__basic_resolver_results/operator_eq_.html +/doc/html/boost_asio/reference/ip__basic_resolver_results/operator_eq_/overload1.html +/doc/html/boost_asio/reference/ip__basic_resolver_results/operator_eq_/overload2.html +/doc/html/boost_asio/reference/ip__basic_resolver_results/operator_not__eq_/ +/doc/html/boost_asio/reference/ip__basic_resolver_results/operator_not__eq_.html +/doc/html/boost_asio/reference/ip__basic_resolver_results/operator_not__eq_/overload1.html +/doc/html/boost_asio/reference/ip__basic_resolver_results/operator_not__eq_/overload2.html +/doc/html/boost_asio/reference/ip__basic_resolver_results/operator_plus__plus_/ +/doc/html/boost_asio/reference/ip__basic_resolver_results/operator_plus__plus_.html +/doc/html/boost_asio/reference/ip__basic_resolver_results/operator_plus__plus_/overload1.html +/doc/html/boost_asio/reference/ip__basic_resolver_results/operator_plus__plus_/overload2.html +/doc/html/boost_asio/reference/ip__basic_resolver_results/operator__star_.html +/doc/html/boost_asio/reference/ip__basic_resolver_results/pointer.html +/doc/html/boost_asio/reference/ip__basic_resolver_results/protocol_type.html +/doc/html/boost_asio/reference/ip__basic_resolver_results/reference.html +/doc/html/boost_asio/reference/ip__basic_resolver_results/size.html +/doc/html/boost_asio/reference/ip__basic_resolver_results/size_type.html +/doc/html/boost_asio/reference/ip__basic_resolver_results/swap.html +/doc/html/boost_asio/reference/ip__basic_resolver/results_type.html +/doc/html/boost_asio/reference/ip__basic_resolver_results/values_.html +/doc/html/boost_asio/reference/ip__basic_resolver_results/value_type.html +/doc/html/boost_asio/reference/ip__basic_resolver/v4_mapped.html /doc/html/boost_asio/reference/ip__host_name/ /doc/html/boost_asio/reference/ip__host_name.html /doc/html/boost_asio/reference/ip__host_name/overload1.html @@ -2807,6 +3126,78 @@ /doc/html/boost_asio/reference/ip__multicast__join_group.html /doc/html/boost_asio/reference/ip__multicast__leave_group.html /doc/html/boost_asio/reference/ip__multicast__outbound_interface.html +/doc/html/boost_asio/reference/ip__network_v4/ +/doc/html/boost_asio/reference/ip__network_v4/address.html +/doc/html/boost_asio/reference/ip__network_v4/broadcast.html +/doc/html/boost_asio/reference/ip__network_v4/canonical.html +/doc/html/boost_asio/reference/ip__network_v4/hosts.html +/doc/html/boost_asio/reference/ip__network_v4.html +/doc/html/boost_asio/reference/ip__network_v4/is_host.html +/doc/html/boost_asio/reference/ip__network_v4/is_subnet_of.html +/doc/html/boost_asio/reference/ip__network_v4/make_network_v4/ +/doc/html/boost_asio/reference/ip__network_v4/make_network_v4.html +/doc/html/boost_asio/reference/ip__network_v4/make_network_v4/overload1.html +/doc/html/boost_asio/reference/ip__network_v4/make_network_v4/overload2.html +/doc/html/boost_asio/reference/ip__network_v4/make_network_v4/overload3.html +/doc/html/boost_asio/reference/ip__network_v4/make_network_v4/overload4.html +/doc/html/boost_asio/reference/ip__network_v4/make_network_v4/overload5.html +/doc/html/boost_asio/reference/ip__network_v4/make_network_v4/overload6.html +/doc/html/boost_asio/reference/ip__network_v4/netmask.html +/doc/html/boost_asio/reference/ip__network_v4/network.html +/doc/html/boost_asio/reference/ip__network_v4/network_v4/ +/doc/html/boost_asio/reference/ip__network_v4/network_v4.html +/doc/html/boost_asio/reference/ip__network_v4/network_v4/overload1.html +/doc/html/boost_asio/reference/ip__network_v4/network_v4/overload2.html +/doc/html/boost_asio/reference/ip__network_v4/network_v4/overload3.html +/doc/html/boost_asio/reference/ip__network_v4/network_v4/overload4.html +/doc/html/boost_asio/reference/ip__network_v4/operator_eq__eq_.html +/doc/html/boost_asio/reference/ip__network_v4/operator_eq_.html +/doc/html/boost_asio/reference/ip__network_v4/operator_not__eq_.html +/doc/html/boost_asio/reference/ip__network_v4/prefix_length.html +/doc/html/boost_asio/reference/ip__network_v4/to_string/ +/doc/html/boost_asio/reference/ip__network_v4/to_string.html +/doc/html/boost_asio/reference/ip__network_v4/to_string/overload1.html +/doc/html/boost_asio/reference/ip__network_v4/to_string/overload2.html +/doc/html/boost_asio/reference/ip__network_v6/ +/doc/html/boost_asio/reference/ip__network_v6/address.html +/doc/html/boost_asio/reference/ip__network_v6/canonical.html +/doc/html/boost_asio/reference/ip__network_v6/hosts.html +/doc/html/boost_asio/reference/ip__network_v6.html +/doc/html/boost_asio/reference/ip__network_v6/is_host.html +/doc/html/boost_asio/reference/ip__network_v6/is_subnet_of.html +/doc/html/boost_asio/reference/ip__network_v6/make_network_v6/ +/doc/html/boost_asio/reference/ip__network_v6/make_network_v6.html +/doc/html/boost_asio/reference/ip__network_v6/make_network_v6/overload1.html +/doc/html/boost_asio/reference/ip__network_v6/make_network_v6/overload2.html +/doc/html/boost_asio/reference/ip__network_v6/make_network_v6/overload3.html +/doc/html/boost_asio/reference/ip__network_v6/make_network_v6/overload4.html +/doc/html/boost_asio/reference/ip__network_v6/make_network_v6/overload5.html +/doc/html/boost_asio/reference/ip__network_v6/make_network_v6/overload6.html +/doc/html/boost_asio/reference/ip__network_v6/network.html +/doc/html/boost_asio/reference/ip__network_v6/network_v6/ +/doc/html/boost_asio/reference/ip__network_v6/network_v6.html +/doc/html/boost_asio/reference/ip__network_v6/network_v6/overload1.html +/doc/html/boost_asio/reference/ip__network_v6/network_v6/overload2.html +/doc/html/boost_asio/reference/ip__network_v6/network_v6/overload3.html +/doc/html/boost_asio/reference/ip__network_v6/operator_eq__eq_.html +/doc/html/boost_asio/reference/ip__network_v6/operator_eq_.html +/doc/html/boost_asio/reference/ip__network_v6/operator_not__eq_.html +/doc/html/boost_asio/reference/ip__network_v6/prefix_length.html +/doc/html/boost_asio/reference/ip__network_v6/to_string/ +/doc/html/boost_asio/reference/ip__network_v6/to_string.html +/doc/html/boost_asio/reference/ip__network_v6/to_string/overload1.html +/doc/html/boost_asio/reference/ip__network_v6/to_string/overload2.html +/doc/html/boost_asio/reference/ip__resolver_base/ +/doc/html/boost_asio/reference/ip__resolver_base/address_configured.html +/doc/html/boost_asio/reference/ip__resolver_base/all_matching.html +/doc/html/boost_asio/reference/ip__resolver_base/canonical_name.html +/doc/html/boost_asio/reference/ip__resolver_base/flags.html +/doc/html/boost_asio/reference/ip__resolver_base.html +/doc/html/boost_asio/reference/ip__resolver_base/numeric_host.html +/doc/html/boost_asio/reference/ip__resolver_base/numeric_service.html +/doc/html/boost_asio/reference/ip__resolver_base/passive.html +/doc/html/boost_asio/reference/ip__resolver_base/_resolver_base.html +/doc/html/boost_asio/reference/ip__resolver_base/v4_mapped.html /doc/html/boost_asio/reference/ip__resolver_query_base/ /doc/html/boost_asio/reference/ip__resolver_query_base/address_configured.html /doc/html/boost_asio/reference/ip__resolver_query_base/all_matching.html @@ -2818,27 +3209,6 @@ /doc/html/boost_asio/reference/ip__resolver_query_base/passive.html /doc/html/boost_asio/reference/ip__resolver_query_base/_resolver_query_base.html /doc/html/boost_asio/reference/ip__resolver_query_base/v4_mapped.html -/doc/html/boost_asio/reference/ip__resolver_service/ -/doc/html/boost_asio/reference/ip__resolver_service/async_resolve/ -/doc/html/boost_asio/reference/ip__resolver_service/async_resolve.html -/doc/html/boost_asio/reference/ip__resolver_service/async_resolve/overload1.html -/doc/html/boost_asio/reference/ip__resolver_service/async_resolve/overload2.html -/doc/html/boost_asio/reference/ip__resolver_service/cancel.html -/doc/html/boost_asio/reference/ip__resolver_service/construct.html -/doc/html/boost_asio/reference/ip__resolver_service/destroy.html -/doc/html/boost_asio/reference/ip__resolver_service/endpoint_type.html -/doc/html/boost_asio/reference/ip__resolver_service/get_io_service.html -/doc/html/boost_asio/reference/ip__resolver_service.html -/doc/html/boost_asio/reference/ip__resolver_service/id.html -/doc/html/boost_asio/reference/ip__resolver_service/implementation_type.html -/doc/html/boost_asio/reference/ip__resolver_service/iterator_type.html -/doc/html/boost_asio/reference/ip__resolver_service/protocol_type.html -/doc/html/boost_asio/reference/ip__resolver_service/query_type.html -/doc/html/boost_asio/reference/ip__resolver_service/resolve/ -/doc/html/boost_asio/reference/ip__resolver_service/resolve.html -/doc/html/boost_asio/reference/ip__resolver_service/resolve/overload1.html -/doc/html/boost_asio/reference/ip__resolver_service/resolve/overload2.html -/doc/html/boost_asio/reference/ip__resolver_service/resolver_service.html /doc/html/boost_asio/reference/ip__tcp/ /doc/html/boost_asio/reference/ip__tcp/acceptor.html /doc/html/boost_asio/reference/ip__tcp/endpoint.html @@ -2867,13 +3237,22 @@ /doc/html/boost_asio/reference/ip__udp/v4.html /doc/html/boost_asio/reference/ip__udp/v6.html /doc/html/boost_asio/reference/ip__unicast__hops.html +/doc/html/boost_asio/reference/ip__v4_mapped_t.html /doc/html/boost_asio/reference/ip__v6_only.html +/doc/html/boost_asio/reference/is_const_buffer_sequence.html +/doc/html/boost_asio/reference/is_dynamic_buffer.html +/doc/html/boost_asio/reference/is_endpoint_sequence/ +/doc/html/boost_asio/reference/is_endpoint_sequence.html +/doc/html/boost_asio/reference/is_endpoint_sequence/value.html /doc/html/boost_asio/reference/is_error_code_enum_lt__addrinfo_errors__gt_/ /doc/html/boost_asio/reference/is_error_code_enum_lt__addrinfo_errors__gt_.html /doc/html/boost_asio/reference/is_error_code_enum_lt__addrinfo_errors__gt_/value.html /doc/html/boost_asio/reference/is_error_code_enum_lt__basic_errors__gt_/ /doc/html/boost_asio/reference/is_error_code_enum_lt__basic_errors__gt_.html /doc/html/boost_asio/reference/is_error_code_enum_lt__basic_errors__gt_/value.html +/doc/html/boost_asio/reference/is_error_code_enum_lt__boost__asio__ssl__error__stream_errors__gt_/ +/doc/html/boost_asio/reference/is_error_code_enum_lt__boost__asio__ssl__error__stream_errors__gt_.html +/doc/html/boost_asio/reference/is_error_code_enum_lt__boost__asio__ssl__error__stream_errors__gt_/value.html /doc/html/boost_asio/reference/is_error_code_enum_lt__misc_errors__gt_/ /doc/html/boost_asio/reference/is_error_code_enum_lt__misc_errors__gt_.html /doc/html/boost_asio/reference/is_error_code_enum_lt__misc_errors__gt_/value.html @@ -2883,15 +3262,18 @@ /doc/html/boost_asio/reference/is_error_code_enum_lt__ssl_errors__gt_/ /doc/html/boost_asio/reference/is_error_code_enum_lt__ssl_errors__gt_.html /doc/html/boost_asio/reference/is_error_code_enum_lt__ssl_errors__gt_/value.html +/doc/html/boost_asio/reference/is_executor.html /doc/html/boost_asio/reference/is_match_condition/ /doc/html/boost_asio/reference/is_match_condition.html /doc/html/boost_asio/reference/is_match_condition/value.html +/doc/html/boost_asio/reference/is_mutable_buffer_sequence.html /doc/html/boost_asio/reference/is_read_buffered/ /doc/html/boost_asio/reference/is_read_buffered.html /doc/html/boost_asio/reference/is_read_buffered/value.html /doc/html/boost_asio/reference/is_write_buffered/ /doc/html/boost_asio/reference/is_write_buffered.html /doc/html/boost_asio/reference/is_write_buffered/value.html +/doc/html/boost_asio/reference/IteratorConnectHandler.html /doc/html/boost_asio/reference/local__basic_endpoint/ /doc/html/boost_asio/reference/local__basic_endpoint/basic_endpoint/ /doc/html/boost_asio/reference/local__basic_endpoint/basic_endpoint.html @@ -2943,19 +3325,30 @@ /doc/html/boost_asio/reference/local__stream_protocol/protocol.html /doc/html/boost_asio/reference/local__stream_protocol/socket.html /doc/html/boost_asio/reference/local__stream_protocol/type.html +/doc/html/boost_asio/reference/make_work_guard/ +/doc/html/boost_asio/reference/make_work_guard.html +/doc/html/boost_asio/reference/make_work_guard/overload1.html +/doc/html/boost_asio/reference/make_work_guard/overload2.html +/doc/html/boost_asio/reference/make_work_guard/overload3.html +/doc/html/boost_asio/reference/make_work_guard/overload4.html +/doc/html/boost_asio/reference/make_work_guard/overload5.html +/doc/html/boost_asio/reference/MoveAcceptHandler.html /doc/html/boost_asio/reference/mutable_buffer/ +/doc/html/boost_asio/reference/mutable_buffer/data.html /doc/html/boost_asio/reference/mutable_buffer.html /doc/html/boost_asio/reference/mutable_buffer/mutable_buffer/ /doc/html/boost_asio/reference/mutable_buffer/mutable_buffer.html /doc/html/boost_asio/reference/mutable_buffer/mutable_buffer/overload1.html /doc/html/boost_asio/reference/mutable_buffer/mutable_buffer/overload2.html /doc/html/boost_asio/reference/mutable_buffer/operator_plus_/ +/doc/html/boost_asio/reference/mutable_buffer/operator_plus__eq_.html /doc/html/boost_asio/reference/mutable_buffer/operator_plus_.html /doc/html/boost_asio/reference/mutable_buffer/operator_plus_/overload1.html /doc/html/boost_asio/reference/mutable_buffer/operator_plus_/overload2.html /doc/html/boost_asio/reference/mutable_buffers_1/ /doc/html/boost_asio/reference/mutable_buffers_1/begin.html /doc/html/boost_asio/reference/mutable_buffers_1/const_iterator.html +/doc/html/boost_asio/reference/mutable_buffers_1/data.html /doc/html/boost_asio/reference/mutable_buffers_1/end.html /doc/html/boost_asio/reference/mutable_buffers_1.html /doc/html/boost_asio/reference/mutable_buffers_1/mutable_buffers_1/ @@ -2963,243 +3356,158 @@ /doc/html/boost_asio/reference/mutable_buffers_1/mutable_buffers_1/overload1.html /doc/html/boost_asio/reference/mutable_buffers_1/mutable_buffers_1/overload2.html /doc/html/boost_asio/reference/mutable_buffers_1/operator_plus_/ +/doc/html/boost_asio/reference/mutable_buffers_1/operator_plus__eq_.html /doc/html/boost_asio/reference/mutable_buffers_1/operator_plus_.html /doc/html/boost_asio/reference/mutable_buffers_1/operator_plus_/overload1.html /doc/html/boost_asio/reference/mutable_buffers_1/operator_plus_/overload2.html +/doc/html/boost_asio/reference/mutable_buffers_1/size.html /doc/html/boost_asio/reference/mutable_buffers_1/value_type.html /doc/html/boost_asio/reference/MutableBufferSequence.html +/doc/html/boost_asio/reference/mutable_buffer/size.html /doc/html/boost_asio/reference/null_buffers/ /doc/html/boost_asio/reference/null_buffers/begin.html /doc/html/boost_asio/reference/null_buffers/const_iterator.html /doc/html/boost_asio/reference/null_buffers/end.html /doc/html/boost_asio/reference/null_buffers.html /doc/html/boost_asio/reference/null_buffers/value_type.html -/doc/html/boost_asio/reference/ObjectHandleService.html /doc/html/boost_asio/reference/placeholders__bytes_transferred.html +/doc/html/boost_asio/reference/placeholders__endpoint.html /doc/html/boost_asio/reference/placeholders__error.html /doc/html/boost_asio/reference/placeholders__iterator.html +/doc/html/boost_asio/reference/placeholders__results.html /doc/html/boost_asio/reference/placeholders__signal_number.html -/doc/html/boost_asio/reference/posix__basic_descriptor/ -/doc/html/boost_asio/reference/posix__basic_descriptor/assign/ -/doc/html/boost_asio/reference/posix__basic_descriptor/assign.html -/doc/html/boost_asio/reference/posix__basic_descriptor/assign/overload1.html -/doc/html/boost_asio/reference/posix__basic_descriptor/assign/overload2.html -/doc/html/boost_asio/reference/posix__basic_descriptor/basic_descriptor/ -/doc/html/boost_asio/reference/posix__basic_descriptor/_basic_descriptor.html -/doc/html/boost_asio/reference/posix__basic_descriptor/basic_descriptor.html -/doc/html/boost_asio/reference/posix__basic_descriptor/basic_descriptor/overload1.html -/doc/html/boost_asio/reference/posix__basic_descriptor/basic_descriptor/overload2.html -/doc/html/boost_asio/reference/posix__basic_descriptor/basic_descriptor/overload3.html -/doc/html/boost_asio/reference/posix__basic_descriptor/bytes_readable.html -/doc/html/boost_asio/reference/posix__basic_descriptor/cancel/ -/doc/html/boost_asio/reference/posix__basic_descriptor/cancel.html -/doc/html/boost_asio/reference/posix__basic_descriptor/cancel/overload1.html -/doc/html/boost_asio/reference/posix__basic_descriptor/cancel/overload2.html -/doc/html/boost_asio/reference/posix__basic_descriptor/close/ -/doc/html/boost_asio/reference/posix__basic_descriptor/close.html -/doc/html/boost_asio/reference/posix__basic_descriptor/close/overload1.html -/doc/html/boost_asio/reference/posix__basic_descriptor/close/overload2.html -/doc/html/boost_asio/reference/posix__basic_descriptor/get_implementation/ -/doc/html/boost_asio/reference/posix__basic_descriptor/get_implementation.html -/doc/html/boost_asio/reference/posix__basic_descriptor/get_implementation/overload1.html -/doc/html/boost_asio/reference/posix__basic_descriptor/get_implementation/overload2.html -/doc/html/boost_asio/reference/posix__basic_descriptor/get_io_service.html -/doc/html/boost_asio/reference/posix__basic_descriptor/get_service/ -/doc/html/boost_asio/reference/posix__basic_descriptor/get_service.html -/doc/html/boost_asio/reference/posix__basic_descriptor/get_service/overload1.html -/doc/html/boost_asio/reference/posix__basic_descriptor/get_service/overload2.html -/doc/html/boost_asio/reference/posix__basic_descriptor.html -/doc/html/boost_asio/reference/posix__basic_descriptor/implementation.html -/doc/html/boost_asio/reference/posix__basic_descriptor/implementation_type.html -/doc/html/boost_asio/reference/posix__basic_descriptor/io_control/ -/doc/html/boost_asio/reference/posix__basic_descriptor/io_control.html -/doc/html/boost_asio/reference/posix__basic_descriptor/io_control/overload1.html -/doc/html/boost_asio/reference/posix__basic_descriptor/io_control/overload2.html -/doc/html/boost_asio/reference/posix__basic_descriptor/is_open.html -/doc/html/boost_asio/reference/posix__basic_descriptor/lowest_layer/ -/doc/html/boost_asio/reference/posix__basic_descriptor/lowest_layer.html -/doc/html/boost_asio/reference/posix__basic_descriptor/lowest_layer/overload1.html -/doc/html/boost_asio/reference/posix__basic_descriptor/lowest_layer/overload2.html -/doc/html/boost_asio/reference/posix__basic_descriptor/lowest_layer_type.html -/doc/html/boost_asio/reference/posix__basic_descriptor/native_handle.html -/doc/html/boost_asio/reference/posix__basic_descriptor/native_handle_type.html -/doc/html/boost_asio/reference/posix__basic_descriptor/native.html -/doc/html/boost_asio/reference/posix__basic_descriptor/native_non_blocking/ -/doc/html/boost_asio/reference/posix__basic_descriptor/native_non_blocking.html -/doc/html/boost_asio/reference/posix__basic_descriptor/native_non_blocking/overload1.html -/doc/html/boost_asio/reference/posix__basic_descriptor/native_non_blocking/overload2.html -/doc/html/boost_asio/reference/posix__basic_descriptor/native_non_blocking/overload3.html -/doc/html/boost_asio/reference/posix__basic_descriptor/native_type.html -/doc/html/boost_asio/reference/posix__basic_descriptor/non_blocking/ -/doc/html/boost_asio/reference/posix__basic_descriptor/non_blocking.html -/doc/html/boost_asio/reference/posix__basic_descriptor/non_blocking_io.html -/doc/html/boost_asio/reference/posix__basic_descriptor/non_blocking/overload1.html -/doc/html/boost_asio/reference/posix__basic_descriptor/non_blocking/overload2.html -/doc/html/boost_asio/reference/posix__basic_descriptor/non_blocking/overload3.html -/doc/html/boost_asio/reference/posix__basic_descriptor/operator_eq_.html -/doc/html/boost_asio/reference/posix__basic_descriptor/release.html -/doc/html/boost_asio/reference/posix__basic_descriptor/service.html -/doc/html/boost_asio/reference/posix__basic_descriptor/service_type.html -/doc/html/boost_asio/reference/posix__basic_stream_descriptor/ -/doc/html/boost_asio/reference/posix__basic_stream_descriptor/assign/ -/doc/html/boost_asio/reference/posix__basic_stream_descriptor/assign.html -/doc/html/boost_asio/reference/posix__basic_stream_descriptor/assign/overload1.html -/doc/html/boost_asio/reference/posix__basic_stream_descriptor/assign/overload2.html -/doc/html/boost_asio/reference/posix__basic_stream_descriptor/async_read_some.html -/doc/html/boost_asio/reference/posix__basic_stream_descriptor/async_write_some.html -/doc/html/boost_asio/reference/posix__basic_stream_descriptor/basic_stream_descriptor/ -/doc/html/boost_asio/reference/posix__basic_stream_descriptor/basic_stream_descriptor.html -/doc/html/boost_asio/reference/posix__basic_stream_descriptor/basic_stream_descriptor/overload1.html -/doc/html/boost_asio/reference/posix__basic_stream_descriptor/basic_stream_descriptor/overload2.html -/doc/html/boost_asio/reference/posix__basic_stream_descriptor/basic_stream_descriptor/overload3.html -/doc/html/boost_asio/reference/posix__basic_stream_descriptor/bytes_readable.html -/doc/html/boost_asio/reference/posix__basic_stream_descriptor/cancel/ -/doc/html/boost_asio/reference/posix__basic_stream_descriptor/cancel.html -/doc/html/boost_asio/reference/posix__basic_stream_descriptor/cancel/overload1.html -/doc/html/boost_asio/reference/posix__basic_stream_descriptor/cancel/overload2.html -/doc/html/boost_asio/reference/posix__basic_stream_descriptor/close/ -/doc/html/boost_asio/reference/posix__basic_stream_descriptor/close.html -/doc/html/boost_asio/reference/posix__basic_stream_descriptor/close/overload1.html -/doc/html/boost_asio/reference/posix__basic_stream_descriptor/close/overload2.html -/doc/html/boost_asio/reference/posix__basic_stream_descriptor/get_implementation/ -/doc/html/boost_asio/reference/posix__basic_stream_descriptor/get_implementation.html -/doc/html/boost_asio/reference/posix__basic_stream_descriptor/get_implementation/overload1.html -/doc/html/boost_asio/reference/posix__basic_stream_descriptor/get_implementation/overload2.html -/doc/html/boost_asio/reference/posix__basic_stream_descriptor/get_io_service.html -/doc/html/boost_asio/reference/posix__basic_stream_descriptor/get_service/ -/doc/html/boost_asio/reference/posix__basic_stream_descriptor/get_service.html -/doc/html/boost_asio/reference/posix__basic_stream_descriptor/get_service/overload1.html -/doc/html/boost_asio/reference/posix__basic_stream_descriptor/get_service/overload2.html -/doc/html/boost_asio/reference/posix__basic_stream_descriptor.html -/doc/html/boost_asio/reference/posix__basic_stream_descriptor/implementation.html -/doc/html/boost_asio/reference/posix__basic_stream_descriptor/implementation_type.html -/doc/html/boost_asio/reference/posix__basic_stream_descriptor/io_control/ -/doc/html/boost_asio/reference/posix__basic_stream_descriptor/io_control.html -/doc/html/boost_asio/reference/posix__basic_stream_descriptor/io_control/overload1.html -/doc/html/boost_asio/reference/posix__basic_stream_descriptor/io_control/overload2.html -/doc/html/boost_asio/reference/posix__basic_stream_descriptor/is_open.html -/doc/html/boost_asio/reference/posix__basic_stream_descriptor/lowest_layer/ -/doc/html/boost_asio/reference/posix__basic_stream_descriptor/lowest_layer.html -/doc/html/boost_asio/reference/posix__basic_stream_descriptor/lowest_layer/overload1.html -/doc/html/boost_asio/reference/posix__basic_stream_descriptor/lowest_layer/overload2.html -/doc/html/boost_asio/reference/posix__basic_stream_descriptor/lowest_layer_type.html -/doc/html/boost_asio/reference/posix__basic_stream_descriptor/native_handle.html -/doc/html/boost_asio/reference/posix__basic_stream_descriptor/native_handle_type.html -/doc/html/boost_asio/reference/posix__basic_stream_descriptor/native.html -/doc/html/boost_asio/reference/posix__basic_stream_descriptor/native_non_blocking/ -/doc/html/boost_asio/reference/posix__basic_stream_descriptor/native_non_blocking.html -/doc/html/boost_asio/reference/posix__basic_stream_descriptor/native_non_blocking/overload1.html -/doc/html/boost_asio/reference/posix__basic_stream_descriptor/native_non_blocking/overload2.html -/doc/html/boost_asio/reference/posix__basic_stream_descriptor/native_non_blocking/overload3.html -/doc/html/boost_asio/reference/posix__basic_stream_descriptor/native_type.html -/doc/html/boost_asio/reference/posix__basic_stream_descriptor/non_blocking/ -/doc/html/boost_asio/reference/posix__basic_stream_descriptor/non_blocking.html -/doc/html/boost_asio/reference/posix__basic_stream_descriptor/non_blocking_io.html -/doc/html/boost_asio/reference/posix__basic_stream_descriptor/non_blocking/overload1.html -/doc/html/boost_asio/reference/posix__basic_stream_descriptor/non_blocking/overload2.html -/doc/html/boost_asio/reference/posix__basic_stream_descriptor/non_blocking/overload3.html -/doc/html/boost_asio/reference/posix__basic_stream_descriptor/operator_eq_.html -/doc/html/boost_asio/reference/posix__basic_stream_descriptor/read_some/ -/doc/html/boost_asio/reference/posix__basic_stream_descriptor/read_some.html -/doc/html/boost_asio/reference/posix__basic_stream_descriptor/read_some/overload1.html -/doc/html/boost_asio/reference/posix__basic_stream_descriptor/read_some/overload2.html -/doc/html/boost_asio/reference/posix__basic_stream_descriptor/release.html -/doc/html/boost_asio/reference/posix__basic_stream_descriptor/service.html -/doc/html/boost_asio/reference/posix__basic_stream_descriptor/service_type.html -/doc/html/boost_asio/reference/posix__basic_stream_descriptor/write_some/ -/doc/html/boost_asio/reference/posix__basic_stream_descriptor/write_some.html -/doc/html/boost_asio/reference/posix__basic_stream_descriptor/write_some/overload1.html -/doc/html/boost_asio/reference/posix__basic_stream_descriptor/write_some/overload2.html +/doc/html/boost_asio/reference/posix__descriptor/ +/doc/html/boost_asio/reference/posix__descriptor/assign/ +/doc/html/boost_asio/reference/posix__descriptor/assign.html +/doc/html/boost_asio/reference/posix__descriptor/assign/overload1.html +/doc/html/boost_asio/reference/posix__descriptor/assign/overload2.html +/doc/html/boost_asio/reference/posix__descriptor/async_wait.html /doc/html/boost_asio/reference/posix__descriptor_base/ /doc/html/boost_asio/reference/posix__descriptor_base/bytes_readable.html /doc/html/boost_asio/reference/posix__descriptor_base/_descriptor_base.html /doc/html/boost_asio/reference/posix__descriptor_base.html -/doc/html/boost_asio/reference/posix__descriptor_base/non_blocking_io.html +/doc/html/boost_asio/reference/posix__descriptor_base/wait_type.html +/doc/html/boost_asio/reference/posix__descriptor/bytes_readable.html +/doc/html/boost_asio/reference/posix__descriptor/cancel/ +/doc/html/boost_asio/reference/posix__descriptor/cancel.html +/doc/html/boost_asio/reference/posix__descriptor/cancel/overload1.html +/doc/html/boost_asio/reference/posix__descriptor/cancel/overload2.html +/doc/html/boost_asio/reference/posix__descriptor/close/ +/doc/html/boost_asio/reference/posix__descriptor/close.html +/doc/html/boost_asio/reference/posix__descriptor/close/overload1.html +/doc/html/boost_asio/reference/posix__descriptor/close/overload2.html +/doc/html/boost_asio/reference/posix__descriptor/descriptor/ +/doc/html/boost_asio/reference/posix__descriptor/_descriptor.html +/doc/html/boost_asio/reference/posix__descriptor/descriptor.html +/doc/html/boost_asio/reference/posix__descriptor/descriptor/overload1.html +/doc/html/boost_asio/reference/posix__descriptor/descriptor/overload2.html +/doc/html/boost_asio/reference/posix__descriptor/descriptor/overload3.html +/doc/html/boost_asio/reference/posix__descriptor/executor_type.html +/doc/html/boost_asio/reference/posix__descriptor/get_executor.html +/doc/html/boost_asio/reference/posix__descriptor/get_io_context.html +/doc/html/boost_asio/reference/posix__descriptor/get_io_service.html +/doc/html/boost_asio/reference/posix__descriptor.html +/doc/html/boost_asio/reference/posix__descriptor/io_control/ +/doc/html/boost_asio/reference/posix__descriptor/io_control.html +/doc/html/boost_asio/reference/posix__descriptor/io_control/overload1.html +/doc/html/boost_asio/reference/posix__descriptor/io_control/overload2.html +/doc/html/boost_asio/reference/posix__descriptor/is_open.html +/doc/html/boost_asio/reference/posix__descriptor/lowest_layer/ +/doc/html/boost_asio/reference/posix__descriptor/lowest_layer.html +/doc/html/boost_asio/reference/posix__descriptor/lowest_layer/overload1.html +/doc/html/boost_asio/reference/posix__descriptor/lowest_layer/overload2.html +/doc/html/boost_asio/reference/posix__descriptor/lowest_layer_type.html +/doc/html/boost_asio/reference/posix__descriptor/native_handle.html +/doc/html/boost_asio/reference/posix__descriptor/native_handle_type.html +/doc/html/boost_asio/reference/posix__descriptor/native_non_blocking/ +/doc/html/boost_asio/reference/posix__descriptor/native_non_blocking.html +/doc/html/boost_asio/reference/posix__descriptor/native_non_blocking/overload1.html +/doc/html/boost_asio/reference/posix__descriptor/native_non_blocking/overload2.html +/doc/html/boost_asio/reference/posix__descriptor/native_non_blocking/overload3.html +/doc/html/boost_asio/reference/posix__descriptor/non_blocking/ +/doc/html/boost_asio/reference/posix__descriptor/non_blocking.html +/doc/html/boost_asio/reference/posix__descriptor/non_blocking/overload1.html +/doc/html/boost_asio/reference/posix__descriptor/non_blocking/overload2.html +/doc/html/boost_asio/reference/posix__descriptor/non_blocking/overload3.html +/doc/html/boost_asio/reference/posix__descriptor/operator_eq_.html +/doc/html/boost_asio/reference/posix__descriptor/release.html +/doc/html/boost_asio/reference/posix__descriptor/wait/ +/doc/html/boost_asio/reference/posix__descriptor/wait.html +/doc/html/boost_asio/reference/posix__descriptor/wait/overload1.html +/doc/html/boost_asio/reference/posix__descriptor/wait/overload2.html +/doc/html/boost_asio/reference/posix__descriptor/wait_type.html +/doc/html/boost_asio/reference/posix__stream_descriptor/ +/doc/html/boost_asio/reference/posix__stream_descriptor/assign/ +/doc/html/boost_asio/reference/posix__stream_descriptor/assign.html +/doc/html/boost_asio/reference/posix__stream_descriptor/assign/overload1.html +/doc/html/boost_asio/reference/posix__stream_descriptor/assign/overload2.html +/doc/html/boost_asio/reference/posix__stream_descriptor/async_read_some.html +/doc/html/boost_asio/reference/posix__stream_descriptor/async_wait.html +/doc/html/boost_asio/reference/posix__stream_descriptor/async_write_some.html +/doc/html/boost_asio/reference/posix__stream_descriptor/bytes_readable.html +/doc/html/boost_asio/reference/posix__stream_descriptor/cancel/ +/doc/html/boost_asio/reference/posix__stream_descriptor/cancel.html +/doc/html/boost_asio/reference/posix__stream_descriptor/cancel/overload1.html +/doc/html/boost_asio/reference/posix__stream_descriptor/cancel/overload2.html +/doc/html/boost_asio/reference/posix__stream_descriptor/close/ +/doc/html/boost_asio/reference/posix__stream_descriptor/close.html +/doc/html/boost_asio/reference/posix__stream_descriptor/close/overload1.html +/doc/html/boost_asio/reference/posix__stream_descriptor/close/overload2.html +/doc/html/boost_asio/reference/posix__stream_descriptor/executor_type.html +/doc/html/boost_asio/reference/posix__stream_descriptor/get_executor.html +/doc/html/boost_asio/reference/posix__stream_descriptor/get_io_context.html +/doc/html/boost_asio/reference/posix__stream_descriptor/get_io_service.html /doc/html/boost_asio/reference/posix__stream_descriptor.html -/doc/html/boost_asio/reference/posix__stream_descriptor_service/ -/doc/html/boost_asio/reference/posix__stream_descriptor_service/assign.html -/doc/html/boost_asio/reference/posix__stream_descriptor_service/async_read_some.html -/doc/html/boost_asio/reference/posix__stream_descriptor_service/async_write_some.html -/doc/html/boost_asio/reference/posix__stream_descriptor_service/cancel.html -/doc/html/boost_asio/reference/posix__stream_descriptor_service/close.html -/doc/html/boost_asio/reference/posix__stream_descriptor_service/construct.html -/doc/html/boost_asio/reference/posix__stream_descriptor_service/destroy.html -/doc/html/boost_asio/reference/posix__stream_descriptor_service/get_io_service.html -/doc/html/boost_asio/reference/posix__stream_descriptor_service.html -/doc/html/boost_asio/reference/posix__stream_descriptor_service/id.html -/doc/html/boost_asio/reference/posix__stream_descriptor_service/implementation_type.html -/doc/html/boost_asio/reference/posix__stream_descriptor_service/io_control.html -/doc/html/boost_asio/reference/posix__stream_descriptor_service/is_open.html -/doc/html/boost_asio/reference/posix__stream_descriptor_service/move_assign.html -/doc/html/boost_asio/reference/posix__stream_descriptor_service/move_construct.html -/doc/html/boost_asio/reference/posix__stream_descriptor_service/native_handle.html -/doc/html/boost_asio/reference/posix__stream_descriptor_service/native_handle_type.html -/doc/html/boost_asio/reference/posix__stream_descriptor_service/native.html -/doc/html/boost_asio/reference/posix__stream_descriptor_service/native_non_blocking/ -/doc/html/boost_asio/reference/posix__stream_descriptor_service/native_non_blocking.html -/doc/html/boost_asio/reference/posix__stream_descriptor_service/native_non_blocking/overload1.html -/doc/html/boost_asio/reference/posix__stream_descriptor_service/native_non_blocking/overload2.html -/doc/html/boost_asio/reference/posix__stream_descriptor_service/native_type.html -/doc/html/boost_asio/reference/posix__stream_descriptor_service/non_blocking/ -/doc/html/boost_asio/reference/posix__stream_descriptor_service/non_blocking.html -/doc/html/boost_asio/reference/posix__stream_descriptor_service/non_blocking/overload1.html -/doc/html/boost_asio/reference/posix__stream_descriptor_service/non_blocking/overload2.html -/doc/html/boost_asio/reference/posix__stream_descriptor_service/read_some.html -/doc/html/boost_asio/reference/posix__stream_descriptor_service/release.html -/doc/html/boost_asio/reference/posix__stream_descriptor_service/stream_descriptor_service.html -/doc/html/boost_asio/reference/posix__stream_descriptor_service/write_some.html +/doc/html/boost_asio/reference/posix__stream_descriptor/io_control/ +/doc/html/boost_asio/reference/posix__stream_descriptor/io_control.html +/doc/html/boost_asio/reference/posix__stream_descriptor/io_control/overload1.html +/doc/html/boost_asio/reference/posix__stream_descriptor/io_control/overload2.html +/doc/html/boost_asio/reference/posix__stream_descriptor/is_open.html +/doc/html/boost_asio/reference/posix__stream_descriptor/lowest_layer/ +/doc/html/boost_asio/reference/posix__stream_descriptor/lowest_layer.html +/doc/html/boost_asio/reference/posix__stream_descriptor/lowest_layer/overload1.html +/doc/html/boost_asio/reference/posix__stream_descriptor/lowest_layer/overload2.html +/doc/html/boost_asio/reference/posix__stream_descriptor/lowest_layer_type.html +/doc/html/boost_asio/reference/posix__stream_descriptor/native_handle.html +/doc/html/boost_asio/reference/posix__stream_descriptor/native_handle_type.html +/doc/html/boost_asio/reference/posix__stream_descriptor/native_non_blocking/ +/doc/html/boost_asio/reference/posix__stream_descriptor/native_non_blocking.html +/doc/html/boost_asio/reference/posix__stream_descriptor/native_non_blocking/overload1.html +/doc/html/boost_asio/reference/posix__stream_descriptor/native_non_blocking/overload2.html +/doc/html/boost_asio/reference/posix__stream_descriptor/native_non_blocking/overload3.html +/doc/html/boost_asio/reference/posix__stream_descriptor/non_blocking/ +/doc/html/boost_asio/reference/posix__stream_descriptor/non_blocking.html +/doc/html/boost_asio/reference/posix__stream_descriptor/non_blocking/overload1.html +/doc/html/boost_asio/reference/posix__stream_descriptor/non_blocking/overload2.html +/doc/html/boost_asio/reference/posix__stream_descriptor/non_blocking/overload3.html +/doc/html/boost_asio/reference/posix__stream_descriptor/operator_eq_.html +/doc/html/boost_asio/reference/posix__stream_descriptor/read_some/ +/doc/html/boost_asio/reference/posix__stream_descriptor/read_some.html +/doc/html/boost_asio/reference/posix__stream_descriptor/read_some/overload1.html +/doc/html/boost_asio/reference/posix__stream_descriptor/read_some/overload2.html +/doc/html/boost_asio/reference/posix__stream_descriptor/release.html +/doc/html/boost_asio/reference/posix__stream_descriptor/stream_descriptor/ +/doc/html/boost_asio/reference/posix__stream_descriptor/stream_descriptor.html +/doc/html/boost_asio/reference/posix__stream_descriptor/stream_descriptor/overload1.html +/doc/html/boost_asio/reference/posix__stream_descriptor/stream_descriptor/overload2.html +/doc/html/boost_asio/reference/posix__stream_descriptor/stream_descriptor/overload3.html +/doc/html/boost_asio/reference/posix__stream_descriptor/wait/ +/doc/html/boost_asio/reference/posix__stream_descriptor/wait.html +/doc/html/boost_asio/reference/posix__stream_descriptor/wait/overload1.html +/doc/html/boost_asio/reference/posix__stream_descriptor/wait/overload2.html +/doc/html/boost_asio/reference/posix__stream_descriptor/wait_type.html +/doc/html/boost_asio/reference/posix__stream_descriptor/write_some/ +/doc/html/boost_asio/reference/posix__stream_descriptor/write_some.html +/doc/html/boost_asio/reference/posix__stream_descriptor/write_some/overload1.html +/doc/html/boost_asio/reference/posix__stream_descriptor/write_some/overload2.html +/doc/html/boost_asio/reference/post/ +/doc/html/boost_asio/reference/post.html +/doc/html/boost_asio/reference/post/overload1.html +/doc/html/boost_asio/reference/post/overload2.html +/doc/html/boost_asio/reference/post/overload3.html +/doc/html/boost_asio/reference/ProtoAllocator.html /doc/html/boost_asio/reference/Protocol.html -/doc/html/boost_asio/reference/RandomAccessHandleService.html -/doc/html/boost_asio/reference/raw_socket_service/ -/doc/html/boost_asio/reference/raw_socket_service/assign.html -/doc/html/boost_asio/reference/raw_socket_service/async_connect.html -/doc/html/boost_asio/reference/raw_socket_service/async_receive_from.html -/doc/html/boost_asio/reference/raw_socket_service/async_receive.html -/doc/html/boost_asio/reference/raw_socket_service/async_send.html -/doc/html/boost_asio/reference/raw_socket_service/async_send_to.html -/doc/html/boost_asio/reference/raw_socket_service/at_mark.html -/doc/html/boost_asio/reference/raw_socket_service/available.html -/doc/html/boost_asio/reference/raw_socket_service/bind.html -/doc/html/boost_asio/reference/raw_socket_service/cancel.html -/doc/html/boost_asio/reference/raw_socket_service/close.html -/doc/html/boost_asio/reference/raw_socket_service/connect.html -/doc/html/boost_asio/reference/raw_socket_service/construct.html -/doc/html/boost_asio/reference/raw_socket_service/converting_move_construct.html -/doc/html/boost_asio/reference/raw_socket_service/destroy.html -/doc/html/boost_asio/reference/raw_socket_service/endpoint_type.html -/doc/html/boost_asio/reference/raw_socket_service/get_io_service.html -/doc/html/boost_asio/reference/raw_socket_service/get_option.html -/doc/html/boost_asio/reference/raw_socket_service.html -/doc/html/boost_asio/reference/RawSocketService.html -/doc/html/boost_asio/reference/raw_socket_service/id.html -/doc/html/boost_asio/reference/raw_socket_service/implementation_type.html -/doc/html/boost_asio/reference/raw_socket_service/io_control.html -/doc/html/boost_asio/reference/raw_socket_service/is_open.html -/doc/html/boost_asio/reference/raw_socket_service/local_endpoint.html -/doc/html/boost_asio/reference/raw_socket_service/move_assign.html -/doc/html/boost_asio/reference/raw_socket_service/move_construct.html -/doc/html/boost_asio/reference/raw_socket_service/native_handle.html -/doc/html/boost_asio/reference/raw_socket_service/native_handle_type.html -/doc/html/boost_asio/reference/raw_socket_service/native.html -/doc/html/boost_asio/reference/raw_socket_service/native_non_blocking/ -/doc/html/boost_asio/reference/raw_socket_service/native_non_blocking.html -/doc/html/boost_asio/reference/raw_socket_service/native_non_blocking/overload1.html -/doc/html/boost_asio/reference/raw_socket_service/native_non_blocking/overload2.html -/doc/html/boost_asio/reference/raw_socket_service/native_type.html -/doc/html/boost_asio/reference/raw_socket_service/non_blocking/ -/doc/html/boost_asio/reference/raw_socket_service/non_blocking.html -/doc/html/boost_asio/reference/raw_socket_service/non_blocking/overload1.html -/doc/html/boost_asio/reference/raw_socket_service/non_blocking/overload2.html -/doc/html/boost_asio/reference/raw_socket_service/open.html -/doc/html/boost_asio/reference/raw_socket_service/protocol_type.html -/doc/html/boost_asio/reference/raw_socket_service/raw_socket_service.html -/doc/html/boost_asio/reference/raw_socket_service/receive_from.html -/doc/html/boost_asio/reference/raw_socket_service/receive.html -/doc/html/boost_asio/reference/raw_socket_service/remote_endpoint.html -/doc/html/boost_asio/reference/raw_socket_service/send.html -/doc/html/boost_asio/reference/raw_socket_service/send_to.html -/doc/html/boost_asio/reference/raw_socket_service/set_option.html -/doc/html/boost_asio/reference/raw_socket_service/shutdown.html +/doc/html/boost_asio/reference/RangeConnectHandler.html /doc/html/boost_asio/reference/read/ /doc/html/boost_asio/reference/read_at/ /doc/html/boost_asio/reference/read_at.html @@ -3213,6 +3521,9 @@ /doc/html/boost_asio/reference/read_at/overload8.html /doc/html/boost_asio/reference/ReadHandler.html /doc/html/boost_asio/reference/read.html +/doc/html/boost_asio/reference/read/overload10.html +/doc/html/boost_asio/reference/read/overload11.html +/doc/html/boost_asio/reference/read/overload12.html /doc/html/boost_asio/reference/read/overload1.html /doc/html/boost_asio/reference/read/overload2.html /doc/html/boost_asio/reference/read/overload3.html @@ -3221,8 +3532,16 @@ /doc/html/boost_asio/reference/read/overload6.html /doc/html/boost_asio/reference/read/overload7.html /doc/html/boost_asio/reference/read/overload8.html +/doc/html/boost_asio/reference/read/overload9.html /doc/html/boost_asio/reference/read_until/ /doc/html/boost_asio/reference/read_until.html +/doc/html/boost_asio/reference/read_until/overload10.html +/doc/html/boost_asio/reference/read_until/overload11.html +/doc/html/boost_asio/reference/read_until/overload12.html +/doc/html/boost_asio/reference/read_until/overload13.html +/doc/html/boost_asio/reference/read_until/overload14.html +/doc/html/boost_asio/reference/read_until/overload15.html +/doc/html/boost_asio/reference/read_until/overload16.html /doc/html/boost_asio/reference/read_until/overload1.html /doc/html/boost_asio/reference/read_until/overload2.html /doc/html/boost_asio/reference/read_until/overload3.html @@ -3231,54 +3550,17 @@ /doc/html/boost_asio/reference/read_until/overload6.html /doc/html/boost_asio/reference/read_until/overload7.html /doc/html/boost_asio/reference/read_until/overload8.html +/doc/html/boost_asio/reference/read_until/overload9.html +/doc/html/boost_asio/reference/read_write_operations.html /doc/html/boost_asio/reference/ResolveHandler.html -/doc/html/boost_asio/reference/ResolverService.html -/doc/html/boost_asio/reference/seq_packet_socket_service/ -/doc/html/boost_asio/reference/seq_packet_socket_service/assign.html -/doc/html/boost_asio/reference/seq_packet_socket_service/async_connect.html -/doc/html/boost_asio/reference/seq_packet_socket_service/async_receive.html -/doc/html/boost_asio/reference/seq_packet_socket_service/async_send.html -/doc/html/boost_asio/reference/seq_packet_socket_service/at_mark.html -/doc/html/boost_asio/reference/seq_packet_socket_service/available.html -/doc/html/boost_asio/reference/seq_packet_socket_service/bind.html -/doc/html/boost_asio/reference/seq_packet_socket_service/cancel.html -/doc/html/boost_asio/reference/seq_packet_socket_service/close.html -/doc/html/boost_asio/reference/seq_packet_socket_service/connect.html -/doc/html/boost_asio/reference/seq_packet_socket_service/construct.html -/doc/html/boost_asio/reference/seq_packet_socket_service/converting_move_construct.html -/doc/html/boost_asio/reference/seq_packet_socket_service/destroy.html -/doc/html/boost_asio/reference/seq_packet_socket_service/endpoint_type.html -/doc/html/boost_asio/reference/seq_packet_socket_service/get_io_service.html -/doc/html/boost_asio/reference/seq_packet_socket_service/get_option.html -/doc/html/boost_asio/reference/seq_packet_socket_service.html -/doc/html/boost_asio/reference/SeqPacketSocketService.html -/doc/html/boost_asio/reference/seq_packet_socket_service/id.html -/doc/html/boost_asio/reference/seq_packet_socket_service/implementation_type.html -/doc/html/boost_asio/reference/seq_packet_socket_service/io_control.html -/doc/html/boost_asio/reference/seq_packet_socket_service/is_open.html -/doc/html/boost_asio/reference/seq_packet_socket_service/local_endpoint.html -/doc/html/boost_asio/reference/seq_packet_socket_service/move_assign.html -/doc/html/boost_asio/reference/seq_packet_socket_service/move_construct.html -/doc/html/boost_asio/reference/seq_packet_socket_service/native_handle.html -/doc/html/boost_asio/reference/seq_packet_socket_service/native_handle_type.html -/doc/html/boost_asio/reference/seq_packet_socket_service/native.html -/doc/html/boost_asio/reference/seq_packet_socket_service/native_non_blocking/ -/doc/html/boost_asio/reference/seq_packet_socket_service/native_non_blocking.html -/doc/html/boost_asio/reference/seq_packet_socket_service/native_non_blocking/overload1.html -/doc/html/boost_asio/reference/seq_packet_socket_service/native_non_blocking/overload2.html -/doc/html/boost_asio/reference/seq_packet_socket_service/native_type.html -/doc/html/boost_asio/reference/seq_packet_socket_service/non_blocking/ -/doc/html/boost_asio/reference/seq_packet_socket_service/non_blocking.html -/doc/html/boost_asio/reference/seq_packet_socket_service/non_blocking/overload1.html -/doc/html/boost_asio/reference/seq_packet_socket_service/non_blocking/overload2.html -/doc/html/boost_asio/reference/seq_packet_socket_service/open.html -/doc/html/boost_asio/reference/seq_packet_socket_service/protocol_type.html -/doc/html/boost_asio/reference/seq_packet_socket_service/receive.html -/doc/html/boost_asio/reference/seq_packet_socket_service/remote_endpoint.html -/doc/html/boost_asio/reference/seq_packet_socket_service/send.html -/doc/html/boost_asio/reference/seq_packet_socket_service/seq_packet_socket_service.html -/doc/html/boost_asio/reference/seq_packet_socket_service/set_option.html -/doc/html/boost_asio/reference/seq_packet_socket_service/shutdown.html +/doc/html/boost_asio/reference/resolver_errc__try_again.html +/doc/html/boost_asio/reference/serial_port/ +/doc/html/boost_asio/reference/serial_port/assign/ +/doc/html/boost_asio/reference/serial_port/assign.html +/doc/html/boost_asio/reference/serial_port/assign/overload1.html +/doc/html/boost_asio/reference/serial_port/assign/overload2.html +/doc/html/boost_asio/reference/serial_port/async_read_some.html +/doc/html/boost_asio/reference/serial_port/async_write_some.html /doc/html/boost_asio/reference/serial_port_base/ /doc/html/boost_asio/reference/serial_port_base__baud_rate/ /doc/html/boost_asio/reference/serial_port_base__baud_rate/baud_rate.html @@ -3315,34 +3597,60 @@ /doc/html/boost_asio/reference/serial_port_base__stop_bits/store.html /doc/html/boost_asio/reference/serial_port_base__stop_bits/type.html /doc/html/boost_asio/reference/serial_port_base__stop_bits/value.html +/doc/html/boost_asio/reference/serial_port/cancel/ +/doc/html/boost_asio/reference/serial_port/cancel.html +/doc/html/boost_asio/reference/serial_port/cancel/overload1.html +/doc/html/boost_asio/reference/serial_port/cancel/overload2.html +/doc/html/boost_asio/reference/serial_port/close/ +/doc/html/boost_asio/reference/serial_port/close.html +/doc/html/boost_asio/reference/serial_port/close/overload1.html +/doc/html/boost_asio/reference/serial_port/close/overload2.html +/doc/html/boost_asio/reference/serial_port/executor_type.html +/doc/html/boost_asio/reference/serial_port/get_executor.html +/doc/html/boost_asio/reference/serial_port/get_io_context.html +/doc/html/boost_asio/reference/serial_port/get_io_service.html +/doc/html/boost_asio/reference/serial_port/get_option/ +/doc/html/boost_asio/reference/serial_port/get_option.html +/doc/html/boost_asio/reference/serial_port/get_option/overload1.html +/doc/html/boost_asio/reference/serial_port/get_option/overload2.html /doc/html/boost_asio/reference/serial_port.html -/doc/html/boost_asio/reference/serial_port_service/ -/doc/html/boost_asio/reference/serial_port_service/assign.html -/doc/html/boost_asio/reference/serial_port_service/async_read_some.html -/doc/html/boost_asio/reference/serial_port_service/async_write_some.html -/doc/html/boost_asio/reference/serial_port_service/cancel.html -/doc/html/boost_asio/reference/serial_port_service/close.html -/doc/html/boost_asio/reference/serial_port_service/construct.html -/doc/html/boost_asio/reference/serial_port_service/destroy.html -/doc/html/boost_asio/reference/serial_port_service/get_io_service.html -/doc/html/boost_asio/reference/serial_port_service/get_option.html -/doc/html/boost_asio/reference/serial_port_service.html -/doc/html/boost_asio/reference/SerialPortService.html -/doc/html/boost_asio/reference/serial_port_service/id.html -/doc/html/boost_asio/reference/serial_port_service/implementation_type.html -/doc/html/boost_asio/reference/serial_port_service/is_open.html -/doc/html/boost_asio/reference/serial_port_service/move_assign.html -/doc/html/boost_asio/reference/serial_port_service/move_construct.html -/doc/html/boost_asio/reference/serial_port_service/native_handle.html -/doc/html/boost_asio/reference/serial_port_service/native_handle_type.html -/doc/html/boost_asio/reference/serial_port_service/native.html -/doc/html/boost_asio/reference/serial_port_service/native_type.html -/doc/html/boost_asio/reference/serial_port_service/open.html -/doc/html/boost_asio/reference/serial_port_service/read_some.html -/doc/html/boost_asio/reference/serial_port_service/send_break.html -/doc/html/boost_asio/reference/serial_port_service/serial_port_service.html -/doc/html/boost_asio/reference/serial_port_service/set_option.html -/doc/html/boost_asio/reference/serial_port_service/write_some.html +/doc/html/boost_asio/reference/serial_port/is_open.html +/doc/html/boost_asio/reference/serial_port/lowest_layer/ +/doc/html/boost_asio/reference/serial_port/lowest_layer.html +/doc/html/boost_asio/reference/serial_port/lowest_layer/overload1.html +/doc/html/boost_asio/reference/serial_port/lowest_layer/overload2.html +/doc/html/boost_asio/reference/serial_port/lowest_layer_type.html +/doc/html/boost_asio/reference/serial_port/native_handle.html +/doc/html/boost_asio/reference/serial_port/native_handle_type.html +/doc/html/boost_asio/reference/serial_port/open/ +/doc/html/boost_asio/reference/serial_port/open.html +/doc/html/boost_asio/reference/serial_port/open/overload1.html +/doc/html/boost_asio/reference/serial_port/open/overload2.html +/doc/html/boost_asio/reference/serial_port/operator_eq_.html +/doc/html/boost_asio/reference/serial_port/read_some/ +/doc/html/boost_asio/reference/serial_port/read_some.html +/doc/html/boost_asio/reference/serial_port/read_some/overload1.html +/doc/html/boost_asio/reference/serial_port/read_some/overload2.html +/doc/html/boost_asio/reference/serial_port/send_break/ +/doc/html/boost_asio/reference/serial_port/send_break.html +/doc/html/boost_asio/reference/serial_port/send_break/overload1.html +/doc/html/boost_asio/reference/serial_port/send_break/overload2.html +/doc/html/boost_asio/reference/serial_port/serial_port/ +/doc/html/boost_asio/reference/serial_port/_serial_port.html +/doc/html/boost_asio/reference/serial_port/serial_port.html +/doc/html/boost_asio/reference/serial_port/serial_port/overload1.html +/doc/html/boost_asio/reference/serial_port/serial_port/overload2.html +/doc/html/boost_asio/reference/serial_port/serial_port/overload3.html +/doc/html/boost_asio/reference/serial_port/serial_port/overload4.html +/doc/html/boost_asio/reference/serial_port/serial_port/overload5.html +/doc/html/boost_asio/reference/serial_port/set_option/ +/doc/html/boost_asio/reference/serial_port/set_option.html +/doc/html/boost_asio/reference/serial_port/set_option/overload1.html +/doc/html/boost_asio/reference/serial_port/set_option/overload2.html +/doc/html/boost_asio/reference/serial_port/write_some/ +/doc/html/boost_asio/reference/serial_port/write_some.html +/doc/html/boost_asio/reference/serial_port/write_some/overload1.html +/doc/html/boost_asio/reference/serial_port/write_some/overload2.html /doc/html/boost_asio/reference/service_already_exists/ /doc/html/boost_asio/reference/service_already_exists.html /doc/html/boost_asio/reference/service_already_exists/service_already_exists.html @@ -3351,60 +3659,36 @@ /doc/html/boost_asio/reference/SettableSocketOption.html /doc/html/boost_asio/reference/ShutdownHandler.html /doc/html/boost_asio/reference/SignalHandler.html +/doc/html/boost_asio/reference/signal_set/ +/doc/html/boost_asio/reference/signal_set/add/ +/doc/html/boost_asio/reference/signal_set/add.html +/doc/html/boost_asio/reference/signal_set/add/overload1.html +/doc/html/boost_asio/reference/signal_set/add/overload2.html +/doc/html/boost_asio/reference/signal_set/async_wait.html +/doc/html/boost_asio/reference/signal_set/cancel/ +/doc/html/boost_asio/reference/signal_set/cancel.html +/doc/html/boost_asio/reference/signal_set/cancel/overload1.html +/doc/html/boost_asio/reference/signal_set/cancel/overload2.html +/doc/html/boost_asio/reference/signal_set/clear/ +/doc/html/boost_asio/reference/signal_set/clear.html +/doc/html/boost_asio/reference/signal_set/clear/overload1.html +/doc/html/boost_asio/reference/signal_set/clear/overload2.html +/doc/html/boost_asio/reference/signal_set/executor_type.html +/doc/html/boost_asio/reference/signal_set/get_executor.html +/doc/html/boost_asio/reference/signal_set/get_io_context.html +/doc/html/boost_asio/reference/signal_set/get_io_service.html /doc/html/boost_asio/reference/signal_set.html -/doc/html/boost_asio/reference/signal_set_service/ -/doc/html/boost_asio/reference/signal_set_service/add.html -/doc/html/boost_asio/reference/signal_set_service/async_wait.html -/doc/html/boost_asio/reference/signal_set_service/cancel.html -/doc/html/boost_asio/reference/signal_set_service/clear.html -/doc/html/boost_asio/reference/signal_set_service/construct.html -/doc/html/boost_asio/reference/signal_set_service/destroy.html -/doc/html/boost_asio/reference/signal_set_service/get_io_service.html -/doc/html/boost_asio/reference/signal_set_service.html -/doc/html/boost_asio/reference/SignalSetService.html -/doc/html/boost_asio/reference/signal_set_service/id.html -/doc/html/boost_asio/reference/signal_set_service/implementation_type.html -/doc/html/boost_asio/reference/signal_set_service/remove.html -/doc/html/boost_asio/reference/signal_set_service/signal_set_service.html -/doc/html/boost_asio/reference/socket_acceptor_service/ -/doc/html/boost_asio/reference/socket_acceptor_service/accept.html -/doc/html/boost_asio/reference/socket_acceptor_service/assign.html -/doc/html/boost_asio/reference/socket_acceptor_service/async_accept.html -/doc/html/boost_asio/reference/socket_acceptor_service/bind.html -/doc/html/boost_asio/reference/socket_acceptor_service/cancel.html -/doc/html/boost_asio/reference/socket_acceptor_service/close.html -/doc/html/boost_asio/reference/socket_acceptor_service/construct.html -/doc/html/boost_asio/reference/socket_acceptor_service/converting_move_construct.html -/doc/html/boost_asio/reference/socket_acceptor_service/destroy.html -/doc/html/boost_asio/reference/socket_acceptor_service/endpoint_type.html -/doc/html/boost_asio/reference/socket_acceptor_service/get_io_service.html -/doc/html/boost_asio/reference/socket_acceptor_service/get_option.html -/doc/html/boost_asio/reference/socket_acceptor_service.html -/doc/html/boost_asio/reference/SocketAcceptorService.html -/doc/html/boost_asio/reference/socket_acceptor_service/id.html -/doc/html/boost_asio/reference/socket_acceptor_service/implementation_type.html -/doc/html/boost_asio/reference/socket_acceptor_service/io_control.html -/doc/html/boost_asio/reference/socket_acceptor_service/is_open.html -/doc/html/boost_asio/reference/socket_acceptor_service/listen.html -/doc/html/boost_asio/reference/socket_acceptor_service/local_endpoint.html -/doc/html/boost_asio/reference/socket_acceptor_service/move_assign.html -/doc/html/boost_asio/reference/socket_acceptor_service/move_construct.html -/doc/html/boost_asio/reference/socket_acceptor_service/native_handle.html -/doc/html/boost_asio/reference/socket_acceptor_service/native_handle_type.html -/doc/html/boost_asio/reference/socket_acceptor_service/native.html -/doc/html/boost_asio/reference/socket_acceptor_service/native_non_blocking/ -/doc/html/boost_asio/reference/socket_acceptor_service/native_non_blocking.html -/doc/html/boost_asio/reference/socket_acceptor_service/native_non_blocking/overload1.html -/doc/html/boost_asio/reference/socket_acceptor_service/native_non_blocking/overload2.html -/doc/html/boost_asio/reference/socket_acceptor_service/native_type.html -/doc/html/boost_asio/reference/socket_acceptor_service/non_blocking/ -/doc/html/boost_asio/reference/socket_acceptor_service/non_blocking.html -/doc/html/boost_asio/reference/socket_acceptor_service/non_blocking/overload1.html -/doc/html/boost_asio/reference/socket_acceptor_service/non_blocking/overload2.html -/doc/html/boost_asio/reference/socket_acceptor_service/open.html -/doc/html/boost_asio/reference/socket_acceptor_service/protocol_type.html -/doc/html/boost_asio/reference/socket_acceptor_service/set_option.html -/doc/html/boost_asio/reference/socket_acceptor_service/socket_acceptor_service.html +/doc/html/boost_asio/reference/signal_set/remove/ +/doc/html/boost_asio/reference/signal_set/remove.html +/doc/html/boost_asio/reference/signal_set/remove/overload1.html +/doc/html/boost_asio/reference/signal_set/remove/overload2.html +/doc/html/boost_asio/reference/signal_set/signal_set/ +/doc/html/boost_asio/reference/signal_set/_signal_set.html +/doc/html/boost_asio/reference/signal_set/signal_set.html +/doc/html/boost_asio/reference/signal_set/signal_set/overload1.html +/doc/html/boost_asio/reference/signal_set/signal_set/overload2.html +/doc/html/boost_asio/reference/signal_set/signal_set/overload3.html +/doc/html/boost_asio/reference/signal_set/signal_set/overload4.html /doc/html/boost_asio/reference/socket_base/ /doc/html/boost_asio/reference/socket_base/broadcast.html /doc/html/boost_asio/reference/socket_base/bytes_readable.html @@ -3415,12 +3699,13 @@ /doc/html/boost_asio/reference/socket_base/keep_alive.html /doc/html/boost_asio/reference/socket_base/linger.html /doc/html/boost_asio/reference/socket_base/max_connections.html +/doc/html/boost_asio/reference/socket_base/max_listen_connections.html /doc/html/boost_asio/reference/socket_base/message_do_not_route.html /doc/html/boost_asio/reference/socket_base/message_end_of_record.html /doc/html/boost_asio/reference/socket_base/message_flags.html /doc/html/boost_asio/reference/socket_base/message_out_of_band.html /doc/html/boost_asio/reference/socket_base/message_peek.html -/doc/html/boost_asio/reference/socket_base/non_blocking_io.html +/doc/html/boost_asio/reference/socket_base/out_of_band_inline.html /doc/html/boost_asio/reference/socket_base/receive_buffer_size.html /doc/html/boost_asio/reference/socket_base/receive_low_watermark.html /doc/html/boost_asio/reference/socket_base/reuse_address.html @@ -3428,13 +3713,16 @@ /doc/html/boost_asio/reference/socket_base/send_low_watermark.html /doc/html/boost_asio/reference/socket_base/shutdown_type.html /doc/html/boost_asio/reference/socket_base/_socket_base.html -/doc/html/boost_asio/reference/SocketService.html +/doc/html/boost_asio/reference/socket_base/wait_type.html /doc/html/boost_asio/reference/spawn/ /doc/html/boost_asio/reference/spawn.html /doc/html/boost_asio/reference/spawn/overload1.html /doc/html/boost_asio/reference/spawn/overload2.html /doc/html/boost_asio/reference/spawn/overload3.html /doc/html/boost_asio/reference/spawn/overload4.html +/doc/html/boost_asio/reference/spawn/overload5.html +/doc/html/boost_asio/reference/spawn/overload6.html +/doc/html/boost_asio/reference/spawn/overload7.html /doc/html/boost_asio/reference/ssl__context/ /doc/html/boost_asio/reference/ssl__context/add_certificate_authority/ /doc/html/boost_asio/reference/ssl__context/add_certificate_authority.html @@ -3453,6 +3741,8 @@ /doc/html/boost_asio/reference/ssl__context_base/no_compression.html /doc/html/boost_asio/reference/ssl__context_base/no_sslv2.html /doc/html/boost_asio/reference/ssl__context_base/no_sslv3.html +/doc/html/boost_asio/reference/ssl__context_base/no_tlsv1_1.html +/doc/html/boost_asio/reference/ssl__context_base/no_tlsv1_2.html /doc/html/boost_asio/reference/ssl__context_base/no_tlsv1.html /doc/html/boost_asio/reference/ssl__context_base/options.html /doc/html/boost_asio/reference/ssl__context_base/password_purpose.html @@ -3466,12 +3756,9 @@ /doc/html/boost_asio/reference/ssl__context/context.html /doc/html/boost_asio/reference/ssl__context/context/overload1.html /doc/html/boost_asio/reference/ssl__context/context/overload2.html -/doc/html/boost_asio/reference/ssl__context/context/overload3.html /doc/html/boost_asio/reference/ssl__context/default_workarounds.html /doc/html/boost_asio/reference/ssl__context/file_format.html /doc/html/boost_asio/reference/ssl__context.html -/doc/html/boost_asio/reference/ssl__context/impl.html -/doc/html/boost_asio/reference/ssl__context/impl_type.html /doc/html/boost_asio/reference/ssl__context/load_verify_file/ /doc/html/boost_asio/reference/ssl__context/load_verify_file.html /doc/html/boost_asio/reference/ssl__context/load_verify_file/overload1.html @@ -3482,6 +3769,8 @@ /doc/html/boost_asio/reference/ssl__context/no_compression.html /doc/html/boost_asio/reference/ssl__context/no_sslv2.html /doc/html/boost_asio/reference/ssl__context/no_sslv3.html +/doc/html/boost_asio/reference/ssl__context/no_tlsv1_1.html +/doc/html/boost_asio/reference/ssl__context/no_tlsv1_2.html /doc/html/boost_asio/reference/ssl__context/no_tlsv1.html /doc/html/boost_asio/reference/ssl__context/operator_eq_.html /doc/html/boost_asio/reference/ssl__context/options.html @@ -3551,6 +3840,10 @@ /doc/html/boost_asio/reference/ssl__context/use_tmp_dh.html /doc/html/boost_asio/reference/ssl__context/use_tmp_dh/overload1.html /doc/html/boost_asio/reference/ssl__context/use_tmp_dh/overload2.html +/doc/html/boost_asio/reference/ssl__error__get_stream_category.html +/doc/html/boost_asio/reference/ssl__error__make_error_code.html +/doc/html/boost_asio/reference/ssl__error__stream_category.html +/doc/html/boost_asio/reference/ssl__error__stream_errors.html /doc/html/boost_asio/reference/ssl__rfc2818_verification/ /doc/html/boost_asio/reference/ssl__rfc2818_verification.html /doc/html/boost_asio/reference/ssl__rfc2818_verification/operator_lp__rp_.html @@ -3568,6 +3861,9 @@ /doc/html/boost_asio/reference/ssl__stream_base/handshake_type.html /doc/html/boost_asio/reference/ssl__stream_base.html /doc/html/boost_asio/reference/ssl__stream_base/_stream_base.html +/doc/html/boost_asio/reference/ssl__stream/executor_type.html +/doc/html/boost_asio/reference/ssl__stream/get_executor.html +/doc/html/boost_asio/reference/ssl__stream/get_io_context.html /doc/html/boost_asio/reference/ssl__stream/get_io_service.html /doc/html/boost_asio/reference/ssl__stream/handshake/ /doc/html/boost_asio/reference/ssl__stream/handshake.html @@ -3577,11 +3873,9 @@ /doc/html/boost_asio/reference/ssl__stream/handshake/overload4.html /doc/html/boost_asio/reference/ssl__stream/handshake_type.html /doc/html/boost_asio/reference/ssl__stream.html -/doc/html/boost_asio/reference/ssl__stream/impl.html /doc/html/boost_asio/reference/ssl__stream__impl_struct/ /doc/html/boost_asio/reference/ssl__stream__impl_struct.html /doc/html/boost_asio/reference/ssl__stream__impl_struct/ssl.html -/doc/html/boost_asio/reference/ssl__stream/impl_type.html /doc/html/boost_asio/reference/ssl__stream/lowest_layer/ /doc/html/boost_asio/reference/ssl__stream/lowest_layer.html /doc/html/boost_asio/reference/ssl__stream/lowest_layer/overload1.html @@ -3631,62 +3925,102 @@ /doc/html/boost_asio/reference/ssl__verify_none.html /doc/html/boost_asio/reference/ssl__verify_peer.html /doc/html/boost_asio/reference/steady_timer.html +/doc/html/boost_asio/reference/strand/ +/doc/html/boost_asio/reference/strand/context.html +/doc/html/boost_asio/reference/strand/defer.html +/doc/html/boost_asio/reference/strand/dispatch.html +/doc/html/boost_asio/reference/strand/get_inner_executor.html /doc/html/boost_asio/reference/strand.html +/doc/html/boost_asio/reference/strand/inner_executor_type.html +/doc/html/boost_asio/reference/strand/on_work_finished.html +/doc/html/boost_asio/reference/strand/on_work_started.html +/doc/html/boost_asio/reference/strand/operator_eq_/ +/doc/html/boost_asio/reference/strand/operator_eq__eq_.html +/doc/html/boost_asio/reference/strand/operator_eq_.html +/doc/html/boost_asio/reference/strand/operator_eq_/overload1.html +/doc/html/boost_asio/reference/strand/operator_eq_/overload2.html +/doc/html/boost_asio/reference/strand/operator_eq_/overload3.html +/doc/html/boost_asio/reference/strand/operator_eq_/overload4.html +/doc/html/boost_asio/reference/strand/operator_not__eq_.html +/doc/html/boost_asio/reference/strand/post.html +/doc/html/boost_asio/reference/strand/running_in_this_thread.html +/doc/html/boost_asio/reference/strand/strand/ +/doc/html/boost_asio/reference/strand/_strand.html +/doc/html/boost_asio/reference/strand/strand.html +/doc/html/boost_asio/reference/strand/strand/overload1.html +/doc/html/boost_asio/reference/strand/strand/overload2.html +/doc/html/boost_asio/reference/strand/strand/overload3.html +/doc/html/boost_asio/reference/strand/strand/overload4.html +/doc/html/boost_asio/reference/strand/strand/overload5.html +/doc/html/boost_asio/reference/strand/strand/overload6.html /doc/html/boost_asio/reference/streambuf.html -/doc/html/boost_asio/reference/StreamDescriptorService.html -/doc/html/boost_asio/reference/StreamHandleService.html -/doc/html/boost_asio/reference/stream_socket_service/ -/doc/html/boost_asio/reference/stream_socket_service/assign.html -/doc/html/boost_asio/reference/stream_socket_service/async_connect.html -/doc/html/boost_asio/reference/stream_socket_service/async_receive.html -/doc/html/boost_asio/reference/stream_socket_service/async_send.html -/doc/html/boost_asio/reference/stream_socket_service/at_mark.html -/doc/html/boost_asio/reference/stream_socket_service/available.html -/doc/html/boost_asio/reference/stream_socket_service/bind.html -/doc/html/boost_asio/reference/stream_socket_service/cancel.html -/doc/html/boost_asio/reference/stream_socket_service/close.html -/doc/html/boost_asio/reference/stream_socket_service/connect.html -/doc/html/boost_asio/reference/stream_socket_service/construct.html -/doc/html/boost_asio/reference/stream_socket_service/converting_move_construct.html -/doc/html/boost_asio/reference/stream_socket_service/destroy.html -/doc/html/boost_asio/reference/stream_socket_service/endpoint_type.html -/doc/html/boost_asio/reference/stream_socket_service/get_io_service.html -/doc/html/boost_asio/reference/stream_socket_service/get_option.html -/doc/html/boost_asio/reference/stream_socket_service.html -/doc/html/boost_asio/reference/StreamSocketService.html -/doc/html/boost_asio/reference/stream_socket_service/id.html -/doc/html/boost_asio/reference/stream_socket_service/implementation_type.html -/doc/html/boost_asio/reference/stream_socket_service/io_control.html -/doc/html/boost_asio/reference/stream_socket_service/is_open.html -/doc/html/boost_asio/reference/stream_socket_service/local_endpoint.html -/doc/html/boost_asio/reference/stream_socket_service/move_assign.html -/doc/html/boost_asio/reference/stream_socket_service/move_construct.html -/doc/html/boost_asio/reference/stream_socket_service/native_handle.html -/doc/html/boost_asio/reference/stream_socket_service/native_handle_type.html -/doc/html/boost_asio/reference/stream_socket_service/native.html -/doc/html/boost_asio/reference/stream_socket_service/native_non_blocking/ -/doc/html/boost_asio/reference/stream_socket_service/native_non_blocking.html -/doc/html/boost_asio/reference/stream_socket_service/native_non_blocking/overload1.html -/doc/html/boost_asio/reference/stream_socket_service/native_non_blocking/overload2.html -/doc/html/boost_asio/reference/stream_socket_service/native_type.html -/doc/html/boost_asio/reference/stream_socket_service/non_blocking/ -/doc/html/boost_asio/reference/stream_socket_service/non_blocking.html -/doc/html/boost_asio/reference/stream_socket_service/non_blocking/overload1.html -/doc/html/boost_asio/reference/stream_socket_service/non_blocking/overload2.html -/doc/html/boost_asio/reference/stream_socket_service/open.html -/doc/html/boost_asio/reference/stream_socket_service/protocol_type.html -/doc/html/boost_asio/reference/stream_socket_service/receive.html -/doc/html/boost_asio/reference/stream_socket_service/remote_endpoint.html -/doc/html/boost_asio/reference/stream_socket_service/send.html -/doc/html/boost_asio/reference/stream_socket_service/set_option.html -/doc/html/boost_asio/reference/stream_socket_service/shutdown.html -/doc/html/boost_asio/reference/stream_socket_service/stream_socket_service.html +/doc/html/boost_asio/reference/synchronous_socket_operations.html /doc/html/boost_asio/reference/SyncRandomAccessReadDevice.html /doc/html/boost_asio/reference/SyncRandomAccessWriteDevice.html /doc/html/boost_asio/reference/SyncReadStream.html /doc/html/boost_asio/reference/SyncWriteStream.html +/doc/html/boost_asio/reference/system_context/ +/doc/html/boost_asio/reference/system_context/add_service.html +/doc/html/boost_asio/reference/system_context/destroy.html +/doc/html/boost_asio/reference/system_context/executor_type.html +/doc/html/boost_asio/reference/system_context/fork_event.html +/doc/html/boost_asio/reference/system_context/get_executor.html +/doc/html/boost_asio/reference/system_context/has_service.html +/doc/html/boost_asio/reference/system_context.html +/doc/html/boost_asio/reference/system_context/join.html +/doc/html/boost_asio/reference/system_context/make_service.html +/doc/html/boost_asio/reference/system_context/notify_fork.html +/doc/html/boost_asio/reference/system_context/shutdown.html +/doc/html/boost_asio/reference/system_context/stop.html +/doc/html/boost_asio/reference/system_context/stopped.html +/doc/html/boost_asio/reference/system_context/_system_context.html +/doc/html/boost_asio/reference/system_context/use_service/ +/doc/html/boost_asio/reference/system_context/use_service.html +/doc/html/boost_asio/reference/system_context/use_service/overload1.html +/doc/html/boost_asio/reference/system_context/use_service/overload2.html +/doc/html/boost_asio/reference/system_executor/ +/doc/html/boost_asio/reference/system_executor/context.html +/doc/html/boost_asio/reference/system_executor/defer.html +/doc/html/boost_asio/reference/system_executor/dispatch.html +/doc/html/boost_asio/reference/system_executor.html +/doc/html/boost_asio/reference/system_executor/on_work_finished.html +/doc/html/boost_asio/reference/system_executor/on_work_started.html +/doc/html/boost_asio/reference/system_executor/operator_eq__eq_.html +/doc/html/boost_asio/reference/system_executor/operator_not__eq_.html +/doc/html/boost_asio/reference/system_executor/post.html /doc/html/boost_asio/reference/system_timer.html -/doc/html/boost_asio/reference/TimerService.html +/doc/html/boost_asio/reference/thread_pool/ +/doc/html/boost_asio/reference/thread_pool/add_service.html +/doc/html/boost_asio/reference/thread_pool/destroy.html +/doc/html/boost_asio/reference/thread_pool__executor_type/ +/doc/html/boost_asio/reference/thread_pool__executor_type/context.html +/doc/html/boost_asio/reference/thread_pool__executor_type/defer.html +/doc/html/boost_asio/reference/thread_pool__executor_type/dispatch.html +/doc/html/boost_asio/reference/thread_pool__executor_type.html +/doc/html/boost_asio/reference/thread_pool__executor_type/on_work_finished.html +/doc/html/boost_asio/reference/thread_pool__executor_type/on_work_started.html +/doc/html/boost_asio/reference/thread_pool__executor_type/operator_eq__eq_.html +/doc/html/boost_asio/reference/thread_pool__executor_type/operator_not__eq_.html +/doc/html/boost_asio/reference/thread_pool__executor_type/post.html +/doc/html/boost_asio/reference/thread_pool__executor_type/running_in_this_thread.html +/doc/html/boost_asio/reference/thread_pool/fork_event.html +/doc/html/boost_asio/reference/thread_pool/get_executor.html +/doc/html/boost_asio/reference/thread_pool/has_service.html +/doc/html/boost_asio/reference/thread_pool.html +/doc/html/boost_asio/reference/thread_pool/join.html +/doc/html/boost_asio/reference/thread_pool/make_service.html +/doc/html/boost_asio/reference/thread_pool/notify_fork.html +/doc/html/boost_asio/reference/thread_pool/shutdown.html +/doc/html/boost_asio/reference/thread_pool/stop.html +/doc/html/boost_asio/reference/thread_pool/thread_pool/ +/doc/html/boost_asio/reference/thread_pool/_thread_pool.html +/doc/html/boost_asio/reference/thread_pool/thread_pool.html +/doc/html/boost_asio/reference/thread_pool/thread_pool/overload1.html +/doc/html/boost_asio/reference/thread_pool/thread_pool/overload2.html +/doc/html/boost_asio/reference/thread_pool/use_service/ +/doc/html/boost_asio/reference/thread_pool/use_service.html +/doc/html/boost_asio/reference/thread_pool/use_service/overload1.html +/doc/html/boost_asio/reference/thread_pool/use_service/overload2.html /doc/html/boost_asio/reference/TimeTraits.html /doc/html/boost_asio/reference/time_traits_lt__ptime__gt_/ /doc/html/boost_asio/reference/time_traits_lt__ptime__gt_/add.html @@ -3706,258 +4040,95 @@ /doc/html/boost_asio/reference/use_future_t/get_allocator.html /doc/html/boost_asio/reference/use_future_t.html /doc/html/boost_asio/reference/use_future_t/operator_lb__rb_.html +/doc/html/boost_asio/reference/use_future_t/operator_lp__rp_.html +/doc/html/boost_asio/reference/use_future_t/rebind.html /doc/html/boost_asio/reference/use_future_t/use_future_t/ /doc/html/boost_asio/reference/use_future_t/use_future_t.html /doc/html/boost_asio/reference/use_future_t/use_future_t/overload1.html /doc/html/boost_asio/reference/use_future_t/use_future_t/overload2.html +/doc/html/boost_asio/reference/use_service/ /doc/html/boost_asio/reference/use_service.html -/doc/html/boost_asio/reference/waitable_timer_service/ -/doc/html/boost_asio/reference/waitable_timer_service/async_wait.html -/doc/html/boost_asio/reference/waitable_timer_service/cancel.html -/doc/html/boost_asio/reference/waitable_timer_service/cancel_one.html -/doc/html/boost_asio/reference/waitable_timer_service/clock_type.html -/doc/html/boost_asio/reference/waitable_timer_service/construct.html -/doc/html/boost_asio/reference/waitable_timer_service/destroy.html -/doc/html/boost_asio/reference/waitable_timer_service/duration.html -/doc/html/boost_asio/reference/waitable_timer_service/expires_at/ -/doc/html/boost_asio/reference/waitable_timer_service/expires_at.html -/doc/html/boost_asio/reference/waitable_timer_service/expires_at/overload1.html -/doc/html/boost_asio/reference/waitable_timer_service/expires_at/overload2.html -/doc/html/boost_asio/reference/waitable_timer_service/expires_from_now/ -/doc/html/boost_asio/reference/waitable_timer_service/expires_from_now.html -/doc/html/boost_asio/reference/waitable_timer_service/expires_from_now/overload1.html -/doc/html/boost_asio/reference/waitable_timer_service/expires_from_now/overload2.html -/doc/html/boost_asio/reference/waitable_timer_service/get_io_service.html -/doc/html/boost_asio/reference/waitable_timer_service.html -/doc/html/boost_asio/reference/WaitableTimerService.html -/doc/html/boost_asio/reference/waitable_timer_service/id.html -/doc/html/boost_asio/reference/waitable_timer_service/implementation_type.html -/doc/html/boost_asio/reference/waitable_timer_service/time_point.html -/doc/html/boost_asio/reference/waitable_timer_service/traits_type.html -/doc/html/boost_asio/reference/waitable_timer_service/waitable_timer_service.html -/doc/html/boost_asio/reference/waitable_timer_service/wait.html +/doc/html/boost_asio/reference/use_service/overload1.html +/doc/html/boost_asio/reference/use_service/overload2.html +/doc/html/boost_asio/reference/uses_executor.html /doc/html/boost_asio/reference/WaitHandler.html /doc/html/boost_asio/reference/wait_traits/ /doc/html/boost_asio/reference/wait_traits.html /doc/html/boost_asio/reference/WaitTraits.html +/doc/html/boost_asio/reference/wait_traits/to_wait_duration/ /doc/html/boost_asio/reference/wait_traits/to_wait_duration.html -/doc/html/boost_asio/reference/windows__basic_handle/ -/doc/html/boost_asio/reference/windows__basic_handle/assign/ -/doc/html/boost_asio/reference/windows__basic_handle/assign.html -/doc/html/boost_asio/reference/windows__basic_handle/assign/overload1.html -/doc/html/boost_asio/reference/windows__basic_handle/assign/overload2.html -/doc/html/boost_asio/reference/windows__basic_handle/basic_handle/ -/doc/html/boost_asio/reference/windows__basic_handle/_basic_handle.html -/doc/html/boost_asio/reference/windows__basic_handle/basic_handle.html -/doc/html/boost_asio/reference/windows__basic_handle/basic_handle/overload1.html -/doc/html/boost_asio/reference/windows__basic_handle/basic_handle/overload2.html -/doc/html/boost_asio/reference/windows__basic_handle/basic_handle/overload3.html -/doc/html/boost_asio/reference/windows__basic_handle/cancel/ -/doc/html/boost_asio/reference/windows__basic_handle/cancel.html -/doc/html/boost_asio/reference/windows__basic_handle/cancel/overload1.html -/doc/html/boost_asio/reference/windows__basic_handle/cancel/overload2.html -/doc/html/boost_asio/reference/windows__basic_handle/close/ -/doc/html/boost_asio/reference/windows__basic_handle/close.html -/doc/html/boost_asio/reference/windows__basic_handle/close/overload1.html -/doc/html/boost_asio/reference/windows__basic_handle/close/overload2.html -/doc/html/boost_asio/reference/windows__basic_handle/get_implementation/ -/doc/html/boost_asio/reference/windows__basic_handle/get_implementation.html -/doc/html/boost_asio/reference/windows__basic_handle/get_implementation/overload1.html -/doc/html/boost_asio/reference/windows__basic_handle/get_implementation/overload2.html -/doc/html/boost_asio/reference/windows__basic_handle/get_io_service.html -/doc/html/boost_asio/reference/windows__basic_handle/get_service/ -/doc/html/boost_asio/reference/windows__basic_handle/get_service.html -/doc/html/boost_asio/reference/windows__basic_handle/get_service/overload1.html -/doc/html/boost_asio/reference/windows__basic_handle/get_service/overload2.html -/doc/html/boost_asio/reference/windows__basic_handle.html -/doc/html/boost_asio/reference/windows__basic_handle/implementation.html -/doc/html/boost_asio/reference/windows__basic_handle/implementation_type.html -/doc/html/boost_asio/reference/windows__basic_handle/is_open.html -/doc/html/boost_asio/reference/windows__basic_handle/lowest_layer/ -/doc/html/boost_asio/reference/windows__basic_handle/lowest_layer.html -/doc/html/boost_asio/reference/windows__basic_handle/lowest_layer/overload1.html -/doc/html/boost_asio/reference/windows__basic_handle/lowest_layer/overload2.html -/doc/html/boost_asio/reference/windows__basic_handle/lowest_layer_type.html -/doc/html/boost_asio/reference/windows__basic_handle/native_handle.html -/doc/html/boost_asio/reference/windows__basic_handle/native_handle_type.html -/doc/html/boost_asio/reference/windows__basic_handle/native.html -/doc/html/boost_asio/reference/windows__basic_handle/native_type.html -/doc/html/boost_asio/reference/windows__basic_handle/operator_eq_.html -/doc/html/boost_asio/reference/windows__basic_handle/service.html -/doc/html/boost_asio/reference/windows__basic_handle/service_type.html -/doc/html/boost_asio/reference/windows__basic_object_handle/ -/doc/html/boost_asio/reference/windows__basic_object_handle/assign/ -/doc/html/boost_asio/reference/windows__basic_object_handle/assign.html -/doc/html/boost_asio/reference/windows__basic_object_handle/assign/overload1.html -/doc/html/boost_asio/reference/windows__basic_object_handle/assign/overload2.html -/doc/html/boost_asio/reference/windows__basic_object_handle/async_wait.html -/doc/html/boost_asio/reference/windows__basic_object_handle/basic_object_handle/ -/doc/html/boost_asio/reference/windows__basic_object_handle/basic_object_handle.html -/doc/html/boost_asio/reference/windows__basic_object_handle/basic_object_handle/overload1.html -/doc/html/boost_asio/reference/windows__basic_object_handle/basic_object_handle/overload2.html -/doc/html/boost_asio/reference/windows__basic_object_handle/basic_object_handle/overload3.html -/doc/html/boost_asio/reference/windows__basic_object_handle/cancel/ -/doc/html/boost_asio/reference/windows__basic_object_handle/cancel.html -/doc/html/boost_asio/reference/windows__basic_object_handle/cancel/overload1.html -/doc/html/boost_asio/reference/windows__basic_object_handle/cancel/overload2.html -/doc/html/boost_asio/reference/windows__basic_object_handle/close/ -/doc/html/boost_asio/reference/windows__basic_object_handle/close.html -/doc/html/boost_asio/reference/windows__basic_object_handle/close/overload1.html -/doc/html/boost_asio/reference/windows__basic_object_handle/close/overload2.html -/doc/html/boost_asio/reference/windows__basic_object_handle/get_implementation/ -/doc/html/boost_asio/reference/windows__basic_object_handle/get_implementation.html -/doc/html/boost_asio/reference/windows__basic_object_handle/get_implementation/overload1.html -/doc/html/boost_asio/reference/windows__basic_object_handle/get_implementation/overload2.html -/doc/html/boost_asio/reference/windows__basic_object_handle/get_io_service.html -/doc/html/boost_asio/reference/windows__basic_object_handle/get_service/ -/doc/html/boost_asio/reference/windows__basic_object_handle/get_service.html -/doc/html/boost_asio/reference/windows__basic_object_handle/get_service/overload1.html -/doc/html/boost_asio/reference/windows__basic_object_handle/get_service/overload2.html -/doc/html/boost_asio/reference/windows__basic_object_handle.html -/doc/html/boost_asio/reference/windows__basic_object_handle/implementation.html -/doc/html/boost_asio/reference/windows__basic_object_handle/implementation_type.html -/doc/html/boost_asio/reference/windows__basic_object_handle/is_open.html -/doc/html/boost_asio/reference/windows__basic_object_handle/lowest_layer/ -/doc/html/boost_asio/reference/windows__basic_object_handle/lowest_layer.html -/doc/html/boost_asio/reference/windows__basic_object_handle/lowest_layer/overload1.html -/doc/html/boost_asio/reference/windows__basic_object_handle/lowest_layer/overload2.html -/doc/html/boost_asio/reference/windows__basic_object_handle/lowest_layer_type.html -/doc/html/boost_asio/reference/windows__basic_object_handle/native_handle.html -/doc/html/boost_asio/reference/windows__basic_object_handle/native_handle_type.html -/doc/html/boost_asio/reference/windows__basic_object_handle/native.html -/doc/html/boost_asio/reference/windows__basic_object_handle/native_type.html -/doc/html/boost_asio/reference/windows__basic_object_handle/operator_eq_.html -/doc/html/boost_asio/reference/windows__basic_object_handle/service.html -/doc/html/boost_asio/reference/windows__basic_object_handle/service_type.html -/doc/html/boost_asio/reference/windows__basic_object_handle/wait/ -/doc/html/boost_asio/reference/windows__basic_object_handle/wait.html -/doc/html/boost_asio/reference/windows__basic_object_handle/wait/overload1.html -/doc/html/boost_asio/reference/windows__basic_object_handle/wait/overload2.html -/doc/html/boost_asio/reference/windows__basic_random_access_handle/ -/doc/html/boost_asio/reference/windows__basic_random_access_handle/assign/ -/doc/html/boost_asio/reference/windows__basic_random_access_handle/assign.html -/doc/html/boost_asio/reference/windows__basic_random_access_handle/assign/overload1.html -/doc/html/boost_asio/reference/windows__basic_random_access_handle/assign/overload2.html -/doc/html/boost_asio/reference/windows__basic_random_access_handle/async_read_some_at.html -/doc/html/boost_asio/reference/windows__basic_random_access_handle/async_write_some_at.html -/doc/html/boost_asio/reference/windows__basic_random_access_handle/basic_random_access_handle/ -/doc/html/boost_asio/reference/windows__basic_random_access_handle/basic_random_access_handle.html -/doc/html/boost_asio/reference/windows__basic_random_access_handle/basic_random_access_handle/overload1.html -/doc/html/boost_asio/reference/windows__basic_random_access_handle/basic_random_access_handle/overload2.html -/doc/html/boost_asio/reference/windows__basic_random_access_handle/basic_random_access_handle/overload3.html -/doc/html/boost_asio/reference/windows__basic_random_access_handle/cancel/ -/doc/html/boost_asio/reference/windows__basic_random_access_handle/cancel.html -/doc/html/boost_asio/reference/windows__basic_random_access_handle/cancel/overload1.html -/doc/html/boost_asio/reference/windows__basic_random_access_handle/cancel/overload2.html -/doc/html/boost_asio/reference/windows__basic_random_access_handle/close/ -/doc/html/boost_asio/reference/windows__basic_random_access_handle/close.html -/doc/html/boost_asio/reference/windows__basic_random_access_handle/close/overload1.html -/doc/html/boost_asio/reference/windows__basic_random_access_handle/close/overload2.html -/doc/html/boost_asio/reference/windows__basic_random_access_handle/get_implementation/ -/doc/html/boost_asio/reference/windows__basic_random_access_handle/get_implementation.html -/doc/html/boost_asio/reference/windows__basic_random_access_handle/get_implementation/overload1.html -/doc/html/boost_asio/reference/windows__basic_random_access_handle/get_implementation/overload2.html -/doc/html/boost_asio/reference/windows__basic_random_access_handle/get_io_service.html -/doc/html/boost_asio/reference/windows__basic_random_access_handle/get_service/ -/doc/html/boost_asio/reference/windows__basic_random_access_handle/get_service.html -/doc/html/boost_asio/reference/windows__basic_random_access_handle/get_service/overload1.html -/doc/html/boost_asio/reference/windows__basic_random_access_handle/get_service/overload2.html -/doc/html/boost_asio/reference/windows__basic_random_access_handle.html -/doc/html/boost_asio/reference/windows__basic_random_access_handle/implementation.html -/doc/html/boost_asio/reference/windows__basic_random_access_handle/implementation_type.html -/doc/html/boost_asio/reference/windows__basic_random_access_handle/is_open.html -/doc/html/boost_asio/reference/windows__basic_random_access_handle/lowest_layer/ -/doc/html/boost_asio/reference/windows__basic_random_access_handle/lowest_layer.html -/doc/html/boost_asio/reference/windows__basic_random_access_handle/lowest_layer/overload1.html -/doc/html/boost_asio/reference/windows__basic_random_access_handle/lowest_layer/overload2.html -/doc/html/boost_asio/reference/windows__basic_random_access_handle/lowest_layer_type.html -/doc/html/boost_asio/reference/windows__basic_random_access_handle/native_handle.html -/doc/html/boost_asio/reference/windows__basic_random_access_handle/native_handle_type.html -/doc/html/boost_asio/reference/windows__basic_random_access_handle/native.html -/doc/html/boost_asio/reference/windows__basic_random_access_handle/native_type.html -/doc/html/boost_asio/reference/windows__basic_random_access_handle/operator_eq_.html -/doc/html/boost_asio/reference/windows__basic_random_access_handle/read_some_at/ -/doc/html/boost_asio/reference/windows__basic_random_access_handle/read_some_at.html -/doc/html/boost_asio/reference/windows__basic_random_access_handle/read_some_at/overload1.html -/doc/html/boost_asio/reference/windows__basic_random_access_handle/read_some_at/overload2.html -/doc/html/boost_asio/reference/windows__basic_random_access_handle/service.html -/doc/html/boost_asio/reference/windows__basic_random_access_handle/service_type.html -/doc/html/boost_asio/reference/windows__basic_random_access_handle/write_some_at/ -/doc/html/boost_asio/reference/windows__basic_random_access_handle/write_some_at.html -/doc/html/boost_asio/reference/windows__basic_random_access_handle/write_some_at/overload1.html -/doc/html/boost_asio/reference/windows__basic_random_access_handle/write_some_at/overload2.html -/doc/html/boost_asio/reference/windows__basic_stream_handle/ -/doc/html/boost_asio/reference/windows__basic_stream_handle/assign/ -/doc/html/boost_asio/reference/windows__basic_stream_handle/assign.html -/doc/html/boost_asio/reference/windows__basic_stream_handle/assign/overload1.html -/doc/html/boost_asio/reference/windows__basic_stream_handle/assign/overload2.html -/doc/html/boost_asio/reference/windows__basic_stream_handle/async_read_some.html -/doc/html/boost_asio/reference/windows__basic_stream_handle/async_write_some.html -/doc/html/boost_asio/reference/windows__basic_stream_handle/basic_stream_handle/ -/doc/html/boost_asio/reference/windows__basic_stream_handle/basic_stream_handle.html -/doc/html/boost_asio/reference/windows__basic_stream_handle/basic_stream_handle/overload1.html -/doc/html/boost_asio/reference/windows__basic_stream_handle/basic_stream_handle/overload2.html -/doc/html/boost_asio/reference/windows__basic_stream_handle/basic_stream_handle/overload3.html -/doc/html/boost_asio/reference/windows__basic_stream_handle/cancel/ -/doc/html/boost_asio/reference/windows__basic_stream_handle/cancel.html -/doc/html/boost_asio/reference/windows__basic_stream_handle/cancel/overload1.html -/doc/html/boost_asio/reference/windows__basic_stream_handle/cancel/overload2.html -/doc/html/boost_asio/reference/windows__basic_stream_handle/close/ -/doc/html/boost_asio/reference/windows__basic_stream_handle/close.html -/doc/html/boost_asio/reference/windows__basic_stream_handle/close/overload1.html -/doc/html/boost_asio/reference/windows__basic_stream_handle/close/overload2.html -/doc/html/boost_asio/reference/windows__basic_stream_handle/get_implementation/ -/doc/html/boost_asio/reference/windows__basic_stream_handle/get_implementation.html -/doc/html/boost_asio/reference/windows__basic_stream_handle/get_implementation/overload1.html -/doc/html/boost_asio/reference/windows__basic_stream_handle/get_implementation/overload2.html -/doc/html/boost_asio/reference/windows__basic_stream_handle/get_io_service.html -/doc/html/boost_asio/reference/windows__basic_stream_handle/get_service/ -/doc/html/boost_asio/reference/windows__basic_stream_handle/get_service.html -/doc/html/boost_asio/reference/windows__basic_stream_handle/get_service/overload1.html -/doc/html/boost_asio/reference/windows__basic_stream_handle/get_service/overload2.html -/doc/html/boost_asio/reference/windows__basic_stream_handle.html -/doc/html/boost_asio/reference/windows__basic_stream_handle/implementation.html -/doc/html/boost_asio/reference/windows__basic_stream_handle/implementation_type.html -/doc/html/boost_asio/reference/windows__basic_stream_handle/is_open.html -/doc/html/boost_asio/reference/windows__basic_stream_handle/lowest_layer/ -/doc/html/boost_asio/reference/windows__basic_stream_handle/lowest_layer.html -/doc/html/boost_asio/reference/windows__basic_stream_handle/lowest_layer/overload1.html -/doc/html/boost_asio/reference/windows__basic_stream_handle/lowest_layer/overload2.html -/doc/html/boost_asio/reference/windows__basic_stream_handle/lowest_layer_type.html -/doc/html/boost_asio/reference/windows__basic_stream_handle/native_handle.html -/doc/html/boost_asio/reference/windows__basic_stream_handle/native_handle_type.html -/doc/html/boost_asio/reference/windows__basic_stream_handle/native.html -/doc/html/boost_asio/reference/windows__basic_stream_handle/native_type.html -/doc/html/boost_asio/reference/windows__basic_stream_handle/operator_eq_.html -/doc/html/boost_asio/reference/windows__basic_stream_handle/read_some/ -/doc/html/boost_asio/reference/windows__basic_stream_handle/read_some.html -/doc/html/boost_asio/reference/windows__basic_stream_handle/read_some/overload1.html -/doc/html/boost_asio/reference/windows__basic_stream_handle/read_some/overload2.html -/doc/html/boost_asio/reference/windows__basic_stream_handle/service.html -/doc/html/boost_asio/reference/windows__basic_stream_handle/service_type.html -/doc/html/boost_asio/reference/windows__basic_stream_handle/write_some/ -/doc/html/boost_asio/reference/windows__basic_stream_handle/write_some.html -/doc/html/boost_asio/reference/windows__basic_stream_handle/write_some/overload1.html -/doc/html/boost_asio/reference/windows__basic_stream_handle/write_some/overload2.html +/doc/html/boost_asio/reference/wait_traits/to_wait_duration/overload1.html +/doc/html/boost_asio/reference/wait_traits/to_wait_duration/overload2.html +/doc/html/boost_asio/reference/windows__object_handle/ +/doc/html/boost_asio/reference/windows__object_handle/assign/ +/doc/html/boost_asio/reference/windows__object_handle/assign.html +/doc/html/boost_asio/reference/windows__object_handle/assign/overload1.html +/doc/html/boost_asio/reference/windows__object_handle/assign/overload2.html +/doc/html/boost_asio/reference/windows__object_handle/async_wait.html +/doc/html/boost_asio/reference/windows__object_handle/cancel/ +/doc/html/boost_asio/reference/windows__object_handle/cancel.html +/doc/html/boost_asio/reference/windows__object_handle/cancel/overload1.html +/doc/html/boost_asio/reference/windows__object_handle/cancel/overload2.html +/doc/html/boost_asio/reference/windows__object_handle/close/ +/doc/html/boost_asio/reference/windows__object_handle/close.html +/doc/html/boost_asio/reference/windows__object_handle/close/overload1.html +/doc/html/boost_asio/reference/windows__object_handle/close/overload2.html +/doc/html/boost_asio/reference/windows__object_handle/executor_type.html +/doc/html/boost_asio/reference/windows__object_handle/get_executor.html +/doc/html/boost_asio/reference/windows__object_handle/get_io_context.html +/doc/html/boost_asio/reference/windows__object_handle/get_io_service.html /doc/html/boost_asio/reference/windows__object_handle.html -/doc/html/boost_asio/reference/windows__object_handle_service/ -/doc/html/boost_asio/reference/windows__object_handle_service/assign.html -/doc/html/boost_asio/reference/windows__object_handle_service/async_wait.html -/doc/html/boost_asio/reference/windows__object_handle_service/cancel.html -/doc/html/boost_asio/reference/windows__object_handle_service/close.html -/doc/html/boost_asio/reference/windows__object_handle_service/construct.html -/doc/html/boost_asio/reference/windows__object_handle_service/destroy.html -/doc/html/boost_asio/reference/windows__object_handle_service/get_io_service.html -/doc/html/boost_asio/reference/windows__object_handle_service.html -/doc/html/boost_asio/reference/windows__object_handle_service/id.html -/doc/html/boost_asio/reference/windows__object_handle_service/implementation_type.html -/doc/html/boost_asio/reference/windows__object_handle_service/is_open.html -/doc/html/boost_asio/reference/windows__object_handle_service/move_assign.html -/doc/html/boost_asio/reference/windows__object_handle_service/move_construct.html -/doc/html/boost_asio/reference/windows__object_handle_service/native_handle.html -/doc/html/boost_asio/reference/windows__object_handle_service/native_handle_type.html -/doc/html/boost_asio/reference/windows__object_handle_service/object_handle_service.html -/doc/html/boost_asio/reference/windows__object_handle_service/wait.html +/doc/html/boost_asio/reference/windows__object_handle/is_open.html +/doc/html/boost_asio/reference/windows__object_handle/lowest_layer/ +/doc/html/boost_asio/reference/windows__object_handle/lowest_layer.html +/doc/html/boost_asio/reference/windows__object_handle/lowest_layer/overload1.html +/doc/html/boost_asio/reference/windows__object_handle/lowest_layer/overload2.html +/doc/html/boost_asio/reference/windows__object_handle/lowest_layer_type.html +/doc/html/boost_asio/reference/windows__object_handle/native_handle.html +/doc/html/boost_asio/reference/windows__object_handle/native_handle_type.html +/doc/html/boost_asio/reference/windows__object_handle/object_handle/ +/doc/html/boost_asio/reference/windows__object_handle/object_handle.html +/doc/html/boost_asio/reference/windows__object_handle/object_handle/overload1.html +/doc/html/boost_asio/reference/windows__object_handle/object_handle/overload2.html +/doc/html/boost_asio/reference/windows__object_handle/object_handle/overload3.html +/doc/html/boost_asio/reference/windows__object_handle/operator_eq_.html +/doc/html/boost_asio/reference/windows__object_handle/wait/ +/doc/html/boost_asio/reference/windows__object_handle/wait.html +/doc/html/boost_asio/reference/windows__object_handle/wait/overload1.html +/doc/html/boost_asio/reference/windows__object_handle/wait/overload2.html +/doc/html/boost_asio/reference/windows__overlapped_handle/ +/doc/html/boost_asio/reference/windows__overlapped_handle/assign/ +/doc/html/boost_asio/reference/windows__overlapped_handle/assign.html +/doc/html/boost_asio/reference/windows__overlapped_handle/assign/overload1.html +/doc/html/boost_asio/reference/windows__overlapped_handle/assign/overload2.html +/doc/html/boost_asio/reference/windows__overlapped_handle/cancel/ +/doc/html/boost_asio/reference/windows__overlapped_handle/cancel.html +/doc/html/boost_asio/reference/windows__overlapped_handle/cancel/overload1.html +/doc/html/boost_asio/reference/windows__overlapped_handle/cancel/overload2.html +/doc/html/boost_asio/reference/windows__overlapped_handle/close/ +/doc/html/boost_asio/reference/windows__overlapped_handle/close.html +/doc/html/boost_asio/reference/windows__overlapped_handle/close/overload1.html +/doc/html/boost_asio/reference/windows__overlapped_handle/close/overload2.html +/doc/html/boost_asio/reference/windows__overlapped_handle/executor_type.html +/doc/html/boost_asio/reference/windows__overlapped_handle/get_executor.html +/doc/html/boost_asio/reference/windows__overlapped_handle/get_io_context.html +/doc/html/boost_asio/reference/windows__overlapped_handle/get_io_service.html +/doc/html/boost_asio/reference/windows__overlapped_handle.html +/doc/html/boost_asio/reference/windows__overlapped_handle/is_open.html +/doc/html/boost_asio/reference/windows__overlapped_handle/lowest_layer/ +/doc/html/boost_asio/reference/windows__overlapped_handle/lowest_layer.html +/doc/html/boost_asio/reference/windows__overlapped_handle/lowest_layer/overload1.html +/doc/html/boost_asio/reference/windows__overlapped_handle/lowest_layer/overload2.html +/doc/html/boost_asio/reference/windows__overlapped_handle/lowest_layer_type.html +/doc/html/boost_asio/reference/windows__overlapped_handle/native_handle.html +/doc/html/boost_asio/reference/windows__overlapped_handle/native_handle_type.html +/doc/html/boost_asio/reference/windows__overlapped_handle/operator_eq_.html +/doc/html/boost_asio/reference/windows__overlapped_handle/overlapped_handle/ +/doc/html/boost_asio/reference/windows__overlapped_handle/_overlapped_handle.html +/doc/html/boost_asio/reference/windows__overlapped_handle/overlapped_handle.html +/doc/html/boost_asio/reference/windows__overlapped_handle/overlapped_handle/overload1.html +/doc/html/boost_asio/reference/windows__overlapped_handle/overlapped_handle/overload2.html +/doc/html/boost_asio/reference/windows__overlapped_handle/overlapped_handle/overload3.html /doc/html/boost_asio/reference/windows__overlapped_ptr/ /doc/html/boost_asio/reference/windows__overlapped_ptr/complete.html /doc/html/boost_asio/reference/windows__overlapped_ptr/get/ @@ -3975,52 +4146,90 @@ /doc/html/boost_asio/reference/windows__overlapped_ptr/reset.html /doc/html/boost_asio/reference/windows__overlapped_ptr/reset/overload1.html /doc/html/boost_asio/reference/windows__overlapped_ptr/reset/overload2.html +/doc/html/boost_asio/reference/windows__random_access_handle/ +/doc/html/boost_asio/reference/windows__random_access_handle/assign/ +/doc/html/boost_asio/reference/windows__random_access_handle/assign.html +/doc/html/boost_asio/reference/windows__random_access_handle/assign/overload1.html +/doc/html/boost_asio/reference/windows__random_access_handle/assign/overload2.html +/doc/html/boost_asio/reference/windows__random_access_handle/async_read_some_at.html +/doc/html/boost_asio/reference/windows__random_access_handle/async_write_some_at.html +/doc/html/boost_asio/reference/windows__random_access_handle/cancel/ +/doc/html/boost_asio/reference/windows__random_access_handle/cancel.html +/doc/html/boost_asio/reference/windows__random_access_handle/cancel/overload1.html +/doc/html/boost_asio/reference/windows__random_access_handle/cancel/overload2.html +/doc/html/boost_asio/reference/windows__random_access_handle/close/ +/doc/html/boost_asio/reference/windows__random_access_handle/close.html +/doc/html/boost_asio/reference/windows__random_access_handle/close/overload1.html +/doc/html/boost_asio/reference/windows__random_access_handle/close/overload2.html +/doc/html/boost_asio/reference/windows__random_access_handle/executor_type.html +/doc/html/boost_asio/reference/windows__random_access_handle/get_executor.html +/doc/html/boost_asio/reference/windows__random_access_handle/get_io_context.html +/doc/html/boost_asio/reference/windows__random_access_handle/get_io_service.html /doc/html/boost_asio/reference/windows__random_access_handle.html -/doc/html/boost_asio/reference/windows__random_access_handle_service/ -/doc/html/boost_asio/reference/windows__random_access_handle_service/assign.html -/doc/html/boost_asio/reference/windows__random_access_handle_service/async_read_some_at.html -/doc/html/boost_asio/reference/windows__random_access_handle_service/async_write_some_at.html -/doc/html/boost_asio/reference/windows__random_access_handle_service/cancel.html -/doc/html/boost_asio/reference/windows__random_access_handle_service/close.html -/doc/html/boost_asio/reference/windows__random_access_handle_service/construct.html -/doc/html/boost_asio/reference/windows__random_access_handle_service/destroy.html -/doc/html/boost_asio/reference/windows__random_access_handle_service/get_io_service.html -/doc/html/boost_asio/reference/windows__random_access_handle_service.html -/doc/html/boost_asio/reference/windows__random_access_handle_service/id.html -/doc/html/boost_asio/reference/windows__random_access_handle_service/implementation_type.html -/doc/html/boost_asio/reference/windows__random_access_handle_service/is_open.html -/doc/html/boost_asio/reference/windows__random_access_handle_service/move_assign.html -/doc/html/boost_asio/reference/windows__random_access_handle_service/move_construct.html -/doc/html/boost_asio/reference/windows__random_access_handle_service/native_handle.html -/doc/html/boost_asio/reference/windows__random_access_handle_service/native_handle_type.html -/doc/html/boost_asio/reference/windows__random_access_handle_service/native.html -/doc/html/boost_asio/reference/windows__random_access_handle_service/native_type.html -/doc/html/boost_asio/reference/windows__random_access_handle_service/random_access_handle_service.html -/doc/html/boost_asio/reference/windows__random_access_handle_service/read_some_at.html -/doc/html/boost_asio/reference/windows__random_access_handle_service/write_some_at.html +/doc/html/boost_asio/reference/windows__random_access_handle/is_open.html +/doc/html/boost_asio/reference/windows__random_access_handle/lowest_layer/ +/doc/html/boost_asio/reference/windows__random_access_handle/lowest_layer.html +/doc/html/boost_asio/reference/windows__random_access_handle/lowest_layer/overload1.html +/doc/html/boost_asio/reference/windows__random_access_handle/lowest_layer/overload2.html +/doc/html/boost_asio/reference/windows__random_access_handle/lowest_layer_type.html +/doc/html/boost_asio/reference/windows__random_access_handle/native_handle.html +/doc/html/boost_asio/reference/windows__random_access_handle/native_handle_type.html +/doc/html/boost_asio/reference/windows__random_access_handle/operator_eq_.html +/doc/html/boost_asio/reference/windows__random_access_handle/random_access_handle/ +/doc/html/boost_asio/reference/windows__random_access_handle/random_access_handle.html +/doc/html/boost_asio/reference/windows__random_access_handle/random_access_handle/overload1.html +/doc/html/boost_asio/reference/windows__random_access_handle/random_access_handle/overload2.html +/doc/html/boost_asio/reference/windows__random_access_handle/random_access_handle/overload3.html +/doc/html/boost_asio/reference/windows__random_access_handle/read_some_at/ +/doc/html/boost_asio/reference/windows__random_access_handle/read_some_at.html +/doc/html/boost_asio/reference/windows__random_access_handle/read_some_at/overload1.html +/doc/html/boost_asio/reference/windows__random_access_handle/read_some_at/overload2.html +/doc/html/boost_asio/reference/windows__random_access_handle/write_some_at/ +/doc/html/boost_asio/reference/windows__random_access_handle/write_some_at.html +/doc/html/boost_asio/reference/windows__random_access_handle/write_some_at/overload1.html +/doc/html/boost_asio/reference/windows__random_access_handle/write_some_at/overload2.html +/doc/html/boost_asio/reference/windows__stream_handle/ +/doc/html/boost_asio/reference/windows__stream_handle/assign/ +/doc/html/boost_asio/reference/windows__stream_handle/assign.html +/doc/html/boost_asio/reference/windows__stream_handle/assign/overload1.html +/doc/html/boost_asio/reference/windows__stream_handle/assign/overload2.html +/doc/html/boost_asio/reference/windows__stream_handle/async_read_some.html +/doc/html/boost_asio/reference/windows__stream_handle/async_write_some.html +/doc/html/boost_asio/reference/windows__stream_handle/cancel/ +/doc/html/boost_asio/reference/windows__stream_handle/cancel.html +/doc/html/boost_asio/reference/windows__stream_handle/cancel/overload1.html +/doc/html/boost_asio/reference/windows__stream_handle/cancel/overload2.html +/doc/html/boost_asio/reference/windows__stream_handle/close/ +/doc/html/boost_asio/reference/windows__stream_handle/close.html +/doc/html/boost_asio/reference/windows__stream_handle/close/overload1.html +/doc/html/boost_asio/reference/windows__stream_handle/close/overload2.html +/doc/html/boost_asio/reference/windows__stream_handle/executor_type.html +/doc/html/boost_asio/reference/windows__stream_handle/get_executor.html +/doc/html/boost_asio/reference/windows__stream_handle/get_io_context.html +/doc/html/boost_asio/reference/windows__stream_handle/get_io_service.html /doc/html/boost_asio/reference/windows__stream_handle.html -/doc/html/boost_asio/reference/windows__stream_handle_service/ -/doc/html/boost_asio/reference/windows__stream_handle_service/assign.html -/doc/html/boost_asio/reference/windows__stream_handle_service/async_read_some.html -/doc/html/boost_asio/reference/windows__stream_handle_service/async_write_some.html -/doc/html/boost_asio/reference/windows__stream_handle_service/cancel.html -/doc/html/boost_asio/reference/windows__stream_handle_service/close.html -/doc/html/boost_asio/reference/windows__stream_handle_service/construct.html -/doc/html/boost_asio/reference/windows__stream_handle_service/destroy.html -/doc/html/boost_asio/reference/windows__stream_handle_service/get_io_service.html -/doc/html/boost_asio/reference/windows__stream_handle_service.html -/doc/html/boost_asio/reference/windows__stream_handle_service/id.html -/doc/html/boost_asio/reference/windows__stream_handle_service/implementation_type.html -/doc/html/boost_asio/reference/windows__stream_handle_service/is_open.html -/doc/html/boost_asio/reference/windows__stream_handle_service/move_assign.html -/doc/html/boost_asio/reference/windows__stream_handle_service/move_construct.html -/doc/html/boost_asio/reference/windows__stream_handle_service/native_handle.html -/doc/html/boost_asio/reference/windows__stream_handle_service/native_handle_type.html -/doc/html/boost_asio/reference/windows__stream_handle_service/native.html -/doc/html/boost_asio/reference/windows__stream_handle_service/native_type.html -/doc/html/boost_asio/reference/windows__stream_handle_service/read_some.html -/doc/html/boost_asio/reference/windows__stream_handle_service/stream_handle_service.html -/doc/html/boost_asio/reference/windows__stream_handle_service/write_some.html +/doc/html/boost_asio/reference/windows__stream_handle/is_open.html +/doc/html/boost_asio/reference/windows__stream_handle/lowest_layer/ +/doc/html/boost_asio/reference/windows__stream_handle/lowest_layer.html +/doc/html/boost_asio/reference/windows__stream_handle/lowest_layer/overload1.html +/doc/html/boost_asio/reference/windows__stream_handle/lowest_layer/overload2.html +/doc/html/boost_asio/reference/windows__stream_handle/lowest_layer_type.html +/doc/html/boost_asio/reference/windows__stream_handle/native_handle.html +/doc/html/boost_asio/reference/windows__stream_handle/native_handle_type.html +/doc/html/boost_asio/reference/windows__stream_handle/operator_eq_.html +/doc/html/boost_asio/reference/windows__stream_handle/read_some/ +/doc/html/boost_asio/reference/windows__stream_handle/read_some.html +/doc/html/boost_asio/reference/windows__stream_handle/read_some/overload1.html +/doc/html/boost_asio/reference/windows__stream_handle/read_some/overload2.html +/doc/html/boost_asio/reference/windows__stream_handle/stream_handle/ +/doc/html/boost_asio/reference/windows__stream_handle/stream_handle.html +/doc/html/boost_asio/reference/windows__stream_handle/stream_handle/overload1.html +/doc/html/boost_asio/reference/windows__stream_handle/stream_handle/overload2.html +/doc/html/boost_asio/reference/windows__stream_handle/stream_handle/overload3.html +/doc/html/boost_asio/reference/windows__stream_handle/write_some/ +/doc/html/boost_asio/reference/windows__stream_handle/write_some.html +/doc/html/boost_asio/reference/windows__stream_handle/write_some/overload1.html +/doc/html/boost_asio/reference/windows__stream_handle/write_some/overload2.html /doc/html/boost_asio/reference/write/ /doc/html/boost_asio/reference/write_at/ /doc/html/boost_asio/reference/write_at.html @@ -4034,6 +4243,9 @@ /doc/html/boost_asio/reference/write_at/overload8.html /doc/html/boost_asio/reference/WriteHandler.html /doc/html/boost_asio/reference/write.html +/doc/html/boost_asio/reference/write/overload10.html +/doc/html/boost_asio/reference/write/overload11.html +/doc/html/boost_asio/reference/write/overload12.html /doc/html/boost_asio/reference/write/overload1.html /doc/html/boost_asio/reference/write/overload2.html /doc/html/boost_asio/reference/write/overload3.html @@ -4042,6 +4254,7 @@ /doc/html/boost_asio/reference/write/overload6.html /doc/html/boost_asio/reference/write/overload7.html /doc/html/boost_asio/reference/write/overload8.html +/doc/html/boost_asio/reference/write/overload9.html /doc/html/boost_asio/reference/yield_context.html /doc/html/boost_asio/sync_op.png /doc/html/boost_asio/tutorial/ @@ -4092,6 +4305,7 @@ /libs/asio/doc/history.qbk /libs/asio/doc/index.xml /libs/asio/doc/Jamfile.v2 +/libs/asio/doc/net_ts.qbk /libs/asio/doc/noncopyable_dox.txt /libs/asio/doc/overview/ /libs/asio/doc/overview/allocation.qbk @@ -4103,6 +4317,7 @@ /libs/asio/doc/overview/basics.qbk /libs/asio/doc/overview/bsd_sockets.qbk /libs/asio/doc/overview/buffers.qbk +/libs/asio/doc/overview/concurrency_hint.qbk /libs/asio/doc/overview/coroutine.qbk /libs/asio/doc/overview/cpp2011.qbk /libs/asio/doc/overview/handler_tracking.qbk @@ -4133,59 +4348,53 @@ /libs/asio/doc/reference.qbk /libs/asio/doc/reference.xsl /libs/asio/doc/requirements/ +/libs/asio/doc/requirements/AcceptableProtocol.qbk /libs/asio/doc/requirements/AcceptHandler.qbk /libs/asio/doc/requirements/asynchronous_operations.qbk +/libs/asio/doc/requirements/asynchronous_socket_operations.qbk /libs/asio/doc/requirements/AsyncRandomAccessReadDevice.qbk /libs/asio/doc/requirements/AsyncRandomAccessWriteDevice.qbk /libs/asio/doc/requirements/AsyncReadStream.qbk /libs/asio/doc/requirements/AsyncWriteStream.qbk /libs/asio/doc/requirements/BufferedHandshakeHandler.qbk +/libs/asio/doc/requirements/CompletionCondition.qbk /libs/asio/doc/requirements/CompletionHandler.qbk -/libs/asio/doc/requirements/ComposedConnectHandler.qbk +/libs/asio/doc/requirements/ConnectCondition.qbk /libs/asio/doc/requirements/ConnectHandler.qbk /libs/asio/doc/requirements/ConstBufferSequence.qbk -/libs/asio/doc/requirements/ConvertibleToConstBuffer.qbk -/libs/asio/doc/requirements/ConvertibleToMutableBuffer.qbk -/libs/asio/doc/requirements/DatagramSocketService.qbk -/libs/asio/doc/requirements/DescriptorService.qbk +/libs/asio/doc/requirements/DynamicBuffer.qbk /libs/asio/doc/requirements/Endpoint.qbk +/libs/asio/doc/requirements/EndpointSequence.qbk +/libs/asio/doc/requirements/ExecutionContext.qbk +/libs/asio/doc/requirements/Executor.qbk /libs/asio/doc/requirements/GettableSerialPortOption.qbk /libs/asio/doc/requirements/GettableSocketOption.qbk /libs/asio/doc/requirements/Handler.qbk -/libs/asio/doc/requirements/HandleService.qbk /libs/asio/doc/requirements/HandshakeHandler.qbk /libs/asio/doc/requirements/InternetProtocol.qbk /libs/asio/doc/requirements/IoControlCommand.qbk /libs/asio/doc/requirements/IoObjectService.qbk +/libs/asio/doc/requirements/IteratorConnectHandler.qbk +/libs/asio/doc/requirements/MoveAcceptHandler.qbk /libs/asio/doc/requirements/MutableBufferSequence.qbk -/libs/asio/doc/requirements/ObjectHandleService.qbk +/libs/asio/doc/requirements/ProtoAllocator.qbk /libs/asio/doc/requirements/Protocol.qbk /libs/asio/doc/requirements.qbk -/libs/asio/doc/requirements/RandomAccessHandleService.qbk -/libs/asio/doc/requirements/RawSocketService.qbk +/libs/asio/doc/requirements/RangeConnectHandler.qbk /libs/asio/doc/requirements/ReadHandler.qbk +/libs/asio/doc/requirements/read_write_operations.qbk /libs/asio/doc/requirements/ResolveHandler.qbk -/libs/asio/doc/requirements/ResolverService.qbk -/libs/asio/doc/requirements/SeqPacketSocketService.qbk -/libs/asio/doc/requirements/SerialPortService.qbk /libs/asio/doc/requirements/Service.qbk /libs/asio/doc/requirements/SettableSerialPortOption.qbk /libs/asio/doc/requirements/SettableSocketOption.qbk /libs/asio/doc/requirements/ShutdownHandler.qbk /libs/asio/doc/requirements/SignalHandler.qbk -/libs/asio/doc/requirements/SignalSetService.qbk -/libs/asio/doc/requirements/SocketAcceptorService.qbk -/libs/asio/doc/requirements/SocketService.qbk -/libs/asio/doc/requirements/StreamDescriptorService.qbk -/libs/asio/doc/requirements/StreamHandleService.qbk -/libs/asio/doc/requirements/StreamSocketService.qbk +/libs/asio/doc/requirements/synchronous_socket_operations.qbk /libs/asio/doc/requirements/SyncRandomAccessReadDevice.qbk /libs/asio/doc/requirements/SyncRandomAccessWriteDevice.qbk /libs/asio/doc/requirements/SyncReadStream.qbk /libs/asio/doc/requirements/SyncWriteStream.qbk -/libs/asio/doc/requirements/TimerService.qbk /libs/asio/doc/requirements/TimeTraits.qbk -/libs/asio/doc/requirements/WaitableTimerService.qbk /libs/asio/doc/requirements/WaitHandler.qbk /libs/asio/doc/requirements/WaitTraits.qbk /libs/asio/doc/requirements/WriteHandler.qbk @@ -4197,18 +4406,15 @@ /libs/asio/example/ /libs/asio/example/cpp03/ /libs/asio/example/cpp03/allocation/ -/libs/asio/example/cpp03/allocation/Jamfile /libs/asio/example/cpp03/allocation/Jamfile.v2 /libs/asio/example/cpp03/allocation/server.cpp /libs/asio/example/cpp03/buffers/ -/libs/asio/example/cpp03/buffers/Jamfile /libs/asio/example/cpp03/buffers/Jamfile.v2 /libs/asio/example/cpp03/buffers/reference_counted.cpp /libs/asio/example/cpp03/chat/ /libs/asio/example/cpp03/chat/chat_client.cpp /libs/asio/example/cpp03/chat/chat_message.hpp /libs/asio/example/cpp03/chat/chat_server.cpp -/libs/asio/example/cpp03/chat/Jamfile /libs/asio/example/cpp03/chat/Jamfile.v2 /libs/asio/example/cpp03/chat/posix_chat_client.cpp /libs/asio/example/cpp03/echo/ @@ -4218,17 +4424,14 @@ /libs/asio/example/cpp03/echo/blocking_tcp_echo_server.cpp /libs/asio/example/cpp03/echo/blocking_udp_echo_client.cpp /libs/asio/example/cpp03/echo/blocking_udp_echo_server.cpp -/libs/asio/example/cpp03/echo/Jamfile /libs/asio/example/cpp03/echo/Jamfile.v2 /libs/asio/example/cpp03/fork/ /libs/asio/example/cpp03/fork/daemon.cpp -/libs/asio/example/cpp03/fork/Jamfile /libs/asio/example/cpp03/fork/Jamfile.v2 /libs/asio/example/cpp03/fork/process_per_connection.cpp /libs/asio/example/cpp03/http/ /libs/asio/example/cpp03/http/client/ /libs/asio/example/cpp03/http/client/async_client.cpp -/libs/asio/example/cpp03/http/client/Jamfile /libs/asio/example/cpp03/http/client/Jamfile.v2 /libs/asio/example/cpp03/http/client/sync_client.cpp /libs/asio/example/cpp03/http/doc_root/ @@ -4241,9 +4444,8 @@ /libs/asio/example/cpp03/http/server2/connection.cpp /libs/asio/example/cpp03/http/server2/connection.hpp /libs/asio/example/cpp03/http/server2/header.hpp -/libs/asio/example/cpp03/http/server2/io_service_pool.cpp -/libs/asio/example/cpp03/http/server2/io_service_pool.hpp -/libs/asio/example/cpp03/http/server2/Jamfile +/libs/asio/example/cpp03/http/server2/io_context_pool.cpp +/libs/asio/example/cpp03/http/server2/io_context_pool.hpp /libs/asio/example/cpp03/http/server2/Jamfile.v2 /libs/asio/example/cpp03/http/server2/main.cpp /libs/asio/example/cpp03/http/server2/mime_types.cpp @@ -4261,7 +4463,6 @@ /libs/asio/example/cpp03/http/server3/connection.cpp /libs/asio/example/cpp03/http/server3/connection.hpp /libs/asio/example/cpp03/http/server3/header.hpp -/libs/asio/example/cpp03/http/server3/Jamfile /libs/asio/example/cpp03/http/server3/Jamfile.v2 /libs/asio/example/cpp03/http/server3/main.cpp /libs/asio/example/cpp03/http/server3/mime_types.cpp @@ -4279,7 +4480,6 @@ /libs/asio/example/cpp03/http/server4/file_handler.cpp /libs/asio/example/cpp03/http/server4/file_handler.hpp /libs/asio/example/cpp03/http/server4/header.hpp -/libs/asio/example/cpp03/http/server4/Jamfile /libs/asio/example/cpp03/http/server4/Jamfile.v2 /libs/asio/example/cpp03/http/server4/main.cpp /libs/asio/example/cpp03/http/server4/mime_types.cpp @@ -4296,7 +4496,6 @@ /libs/asio/example/cpp03/http/server/connection_manager.cpp /libs/asio/example/cpp03/http/server/connection_manager.hpp /libs/asio/example/cpp03/http/server/header.hpp -/libs/asio/example/cpp03/http/server/Jamfile /libs/asio/example/cpp03/http/server/Jamfile.v2 /libs/asio/example/cpp03/http/server/main.cpp /libs/asio/example/cpp03/http/server/mime_types.cpp @@ -4313,70 +4512,61 @@ /libs/asio/example/cpp03/icmp/ /libs/asio/example/cpp03/icmp/icmp_header.hpp /libs/asio/example/cpp03/icmp/ipv4_header.hpp -/libs/asio/example/cpp03/icmp/Jamfile /libs/asio/example/cpp03/icmp/Jamfile.v2 /libs/asio/example/cpp03/icmp/ping.cpp /libs/asio/example/cpp03/invocation/ -/libs/asio/example/cpp03/invocation/Jamfile /libs/asio/example/cpp03/invocation/Jamfile.v2 /libs/asio/example/cpp03/invocation/prioritised_handlers.cpp /libs/asio/example/cpp03/iostreams/ /libs/asio/example/cpp03/iostreams/daytime_client.cpp /libs/asio/example/cpp03/iostreams/daytime_server.cpp /libs/asio/example/cpp03/iostreams/http_client.cpp -/libs/asio/example/cpp03/iostreams/Jamfile /libs/asio/example/cpp03/iostreams/Jamfile.v2 /libs/asio/example/cpp03/local/ /libs/asio/example/cpp03/local/connect_pair.cpp /libs/asio/example/cpp03/local/iostream_client.cpp -/libs/asio/example/cpp03/local/Jamfile /libs/asio/example/cpp03/local/Jamfile.v2 /libs/asio/example/cpp03/local/stream_client.cpp /libs/asio/example/cpp03/local/stream_server.cpp /libs/asio/example/cpp03/multicast/ -/libs/asio/example/cpp03/multicast/Jamfile /libs/asio/example/cpp03/multicast/Jamfile.v2 /libs/asio/example/cpp03/multicast/receiver.cpp /libs/asio/example/cpp03/multicast/sender.cpp /libs/asio/example/cpp03/nonblocking/ -/libs/asio/example/cpp03/nonblocking/Jamfile /libs/asio/example/cpp03/nonblocking/Jamfile.v2 /libs/asio/example/cpp03/nonblocking/third_party_lib.cpp /libs/asio/example/cpp03/porthopper/ /libs/asio/example/cpp03/porthopper/client.cpp -/libs/asio/example/cpp03/porthopper/Jamfile /libs/asio/example/cpp03/porthopper/Jamfile.v2 /libs/asio/example/cpp03/porthopper/protocol.hpp /libs/asio/example/cpp03/porthopper/server.cpp /libs/asio/example/cpp03/serialization/ /libs/asio/example/cpp03/serialization/client.cpp /libs/asio/example/cpp03/serialization/connection.hpp -/libs/asio/example/cpp03/serialization/Jamfile /libs/asio/example/cpp03/serialization/Jamfile.v2 /libs/asio/example/cpp03/serialization/server.cpp /libs/asio/example/cpp03/serialization/stock.hpp /libs/asio/example/cpp03/services/ /libs/asio/example/cpp03/services/basic_logger.hpp /libs/asio/example/cpp03/services/daytime_client.cpp -/libs/asio/example/cpp03/services/Jamfile /libs/asio/example/cpp03/services/Jamfile.v2 /libs/asio/example/cpp03/services/logger.hpp /libs/asio/example/cpp03/services/logger_service.cpp /libs/asio/example/cpp03/services/logger_service.hpp -/libs/asio/example/cpp03/services/stream_socket_service.hpp /libs/asio/example/cpp03/socks4/ -/libs/asio/example/cpp03/socks4/Jamfile /libs/asio/example/cpp03/socks4/Jamfile.v2 /libs/asio/example/cpp03/socks4/socks4.hpp /libs/asio/example/cpp03/socks4/sync_client.cpp /libs/asio/example/cpp03/spawn/ /libs/asio/example/cpp03/spawn/echo_server.cpp /libs/asio/example/cpp03/spawn/Jamfile.v2 +/libs/asio/example/cpp03/spawn/parallel_grep.cpp /libs/asio/example/cpp03/ssl/ +/libs/asio/example/cpp03/ssl/ca2.pem +/libs/asio/example/cpp03/ssl/ca3.pem /libs/asio/example/cpp03/ssl/ca.pem /libs/asio/example/cpp03/ssl/client.cpp -/libs/asio/example/cpp03/ssl/dh512.pem -/libs/asio/example/cpp03/ssl/Jamfile +/libs/asio/example/cpp03/ssl/dh2048.pem /libs/asio/example/cpp03/ssl/Jamfile.v2 /libs/asio/example/cpp03/ssl/README /libs/asio/example/cpp03/ssl/server.cpp @@ -4385,11 +4575,9 @@ /libs/asio/example/cpp03/timeouts/async_tcp_client.cpp /libs/asio/example/cpp03/timeouts/blocking_tcp_client.cpp /libs/asio/example/cpp03/timeouts/blocking_udp_client.cpp -/libs/asio/example/cpp03/timeouts/Jamfile /libs/asio/example/cpp03/timeouts/Jamfile.v2 /libs/asio/example/cpp03/timeouts/server.cpp /libs/asio/example/cpp03/timers/ -/libs/asio/example/cpp03/timers/Jamfile /libs/asio/example/cpp03/timers/Jamfile.v2 /libs/asio/example/cpp03/timers/tick_count_timer.cpp /libs/asio/example/cpp03/timers/time_t_timer.cpp @@ -4410,7 +4598,6 @@ /libs/asio/example/cpp03/tutorial/daytime7/server.cpp /libs/asio/example/cpp03/tutorial/daytime_dox.txt /libs/asio/example/cpp03/tutorial/index_dox.txt -/libs/asio/example/cpp03/tutorial/Jamfile /libs/asio/example/cpp03/tutorial/Jamfile.v2 /libs/asio/example/cpp03/tutorial/timer1/ /libs/asio/example/cpp03/tutorial/timer1/timer.cpp @@ -4424,23 +4611,19 @@ /libs/asio/example/cpp03/tutorial/timer5/timer.cpp /libs/asio/example/cpp03/tutorial/timer_dox.txt /libs/asio/example/cpp03/windows/ -/libs/asio/example/cpp03/windows/Jamfile /libs/asio/example/cpp03/windows/Jamfile.v2 /libs/asio/example/cpp03/windows/transmit_file.cpp /libs/asio/example/cpp11/ /libs/asio/example/cpp11/allocation/ -/libs/asio/example/cpp11/allocation/Jamfile /libs/asio/example/cpp11/allocation/Jamfile.v2 /libs/asio/example/cpp11/allocation/server.cpp /libs/asio/example/cpp11/buffers/ -/libs/asio/example/cpp11/buffers/Jamfile /libs/asio/example/cpp11/buffers/Jamfile.v2 /libs/asio/example/cpp11/buffers/reference_counted.cpp /libs/asio/example/cpp11/chat/ /libs/asio/example/cpp11/chat/chat_client.cpp /libs/asio/example/cpp11/chat/chat_message.hpp /libs/asio/example/cpp11/chat/chat_server.cpp -/libs/asio/example/cpp11/chat/Jamfile /libs/asio/example/cpp11/chat/Jamfile.v2 /libs/asio/example/cpp11/echo/ /libs/asio/example/cpp11/echo/async_tcp_echo_server.cpp @@ -4449,12 +4632,26 @@ /libs/asio/example/cpp11/echo/blocking_tcp_echo_server.cpp /libs/asio/example/cpp11/echo/blocking_udp_echo_client.cpp /libs/asio/example/cpp11/echo/blocking_udp_echo_server.cpp -/libs/asio/example/cpp11/echo/Jamfile /libs/asio/example/cpp11/echo/Jamfile.v2 +/libs/asio/example/cpp11/executors/ +/libs/asio/example/cpp11/executors/actor.cpp +/libs/asio/example/cpp11/executors/bank_account_1.cpp +/libs/asio/example/cpp11/executors/bank_account_2.cpp +/libs/asio/example/cpp11/executors/fork_join.cpp +/libs/asio/example/cpp11/executors/Jamfile.v2 +/libs/asio/example/cpp11/executors/pipeline.cpp +/libs/asio/example/cpp11/executors/priority_scheduler.cpp +/libs/asio/example/cpp11/fork/ +/libs/asio/example/cpp11/fork/daemon.cpp +/libs/asio/example/cpp11/fork/Jamfile.v2 +/libs/asio/example/cpp11/fork/process_per_connection.cpp /libs/asio/example/cpp11/futures/ /libs/asio/example/cpp11/futures/daytime_client.cpp -/libs/asio/example/cpp11/futures/Jamfile /libs/asio/example/cpp11/futures/Jamfile.v2 +/libs/asio/example/cpp11/handler_tracking/ +/libs/asio/example/cpp11/handler_tracking/async_tcp_echo_server.cpp +/libs/asio/example/cpp11/handler_tracking/custom_tracking.hpp +/libs/asio/example/cpp11/handler_tracking/Jamfile.v2 /libs/asio/example/cpp11/http/ /libs/asio/example/cpp11/http/server/ /libs/asio/example/cpp11/http/server/connection.cpp @@ -4462,7 +4659,6 @@ /libs/asio/example/cpp11/http/server/connection_manager.cpp /libs/asio/example/cpp11/http/server/connection_manager.hpp /libs/asio/example/cpp11/http/server/header.hpp -/libs/asio/example/cpp11/http/server/Jamfile /libs/asio/example/cpp11/http/server/Jamfile.v2 /libs/asio/example/cpp11/http/server/main.cpp /libs/asio/example/cpp11/http/server/mime_types.cpp @@ -4476,16 +4672,53 @@ /libs/asio/example/cpp11/http/server/request_parser.hpp /libs/asio/example/cpp11/http/server/server.cpp /libs/asio/example/cpp11/http/server/server.hpp +/libs/asio/example/cpp11/invocation/ +/libs/asio/example/cpp11/invocation/Jamfile.v2 +/libs/asio/example/cpp11/invocation/prioritised_handlers.cpp +/libs/asio/example/cpp11/iostreams/ +/libs/asio/example/cpp11/iostreams/http_client.cpp +/libs/asio/example/cpp11/local/ +/libs/asio/example/cpp11/local/connect_pair.cpp +/libs/asio/example/cpp11/local/iostream_client.cpp +/libs/asio/example/cpp11/local/Jamfile.v2 +/libs/asio/example/cpp11/local/stream_client.cpp +/libs/asio/example/cpp11/local/stream_server.cpp +/libs/asio/example/cpp11/multicast/ +/libs/asio/example/cpp11/multicast/Jamfile.v2 +/libs/asio/example/cpp11/multicast/receiver.cpp +/libs/asio/example/cpp11/multicast/sender.cpp +/libs/asio/example/cpp11/nonblocking/ +/libs/asio/example/cpp11/nonblocking/Jamfile.v2 +/libs/asio/example/cpp11/nonblocking/third_party_lib.cpp /libs/asio/example/cpp11/spawn/ /libs/asio/example/cpp11/spawn/echo_server.cpp /libs/asio/example/cpp11/spawn/Jamfile.v2 +/libs/asio/example/cpp11/spawn/parallel_grep.cpp +/libs/asio/example/cpp14/ +/libs/asio/example/cpp14/executors/ +/libs/asio/example/cpp14/executors/actor.cpp +/libs/asio/example/cpp14/executors/async_1.cpp +/libs/asio/example/cpp14/executors/async_2.cpp +/libs/asio/example/cpp14/executors/bank_account_1.cpp +/libs/asio/example/cpp14/executors/bank_account_2.cpp +/libs/asio/example/cpp14/executors/fork_join.cpp +/libs/asio/example/cpp14/executors/pipeline.cpp +/libs/asio/example/cpp14/executors/priority_scheduler.cpp /libs/asio/index.html +/libs/asio/meta/ +/libs/asio/meta/libraries.json /libs/asio/test/ /libs/asio/test/archetypes/ +/libs/asio/test/archetypes/async_ops.hpp /libs/asio/test/archetypes/async_result.hpp +/libs/asio/test/archetypes/deprecated_async_ops.hpp +/libs/asio/test/archetypes/deprecated_async_result.hpp /libs/asio/test/archetypes/gettable_socket_option.hpp /libs/asio/test/archetypes/io_control_command.hpp /libs/asio/test/archetypes/settable_socket_option.hpp +/libs/asio/test/associated_allocator.cpp +/libs/asio/test/associated_executor.cpp +/libs/asio/test/async_result.cpp /libs/asio/test/basic_datagram_socket.cpp /libs/asio/test/basic_deadline_timer.cpp /libs/asio/test/basic_raw_socket.cpp @@ -4496,6 +4729,7 @@ /libs/asio/test/basic_streambuf.cpp /libs/asio/test/basic_stream_socket.cpp /libs/asio/test/basic_waitable_timer.cpp +/libs/asio/test/bind_executor.cpp /libs/asio/test/buffer.cpp /libs/asio/test/buffered_read_stream.cpp /libs/asio/test/buffered_stream.cpp @@ -4507,7 +4741,12 @@ /libs/asio/test/datagram_socket_service.cpp /libs/asio/test/deadline_timer.cpp /libs/asio/test/deadline_timer_service.cpp +/libs/asio/test/defer.cpp +/libs/asio/test/dispatch.cpp /libs/asio/test/error.cpp +/libs/asio/test/execution_context.cpp +/libs/asio/test/executor.cpp +/libs/asio/test/executor_work_guard.cpp /libs/asio/test/generic/ /libs/asio/test/generic/basic_endpoint.cpp /libs/asio/test/generic/datagram_protocol.cpp @@ -4515,11 +4754,15 @@ /libs/asio/test/generic/seq_packet_protocol.cpp /libs/asio/test/generic/stream_protocol.cpp /libs/asio/test/high_resolution_timer.cpp -/libs/asio/test/io_service.cpp +/libs/asio/test/io_context.cpp /libs/asio/test/ip/ /libs/asio/test/ip/address.cpp /libs/asio/test/ip/address_v4.cpp +/libs/asio/test/ip/address_v4_iterator.cpp +/libs/asio/test/ip/address_v4_range.cpp /libs/asio/test/ip/address_v6.cpp +/libs/asio/test/ip/address_v6_iterator.cpp +/libs/asio/test/ip/address_v6_range.cpp /libs/asio/test/ip/basic_endpoint.cpp /libs/asio/test/ip/basic_resolver.cpp /libs/asio/test/ip/basic_resolver_entry.cpp @@ -4528,6 +4771,8 @@ /libs/asio/test/ip/host_name.cpp /libs/asio/test/ip/icmp.cpp /libs/asio/test/ip/multicast.cpp +/libs/asio/test/ip/network_v4.cpp +/libs/asio/test/ip/network_v6.cpp /libs/asio/test/ip/resolver_query_base.cpp /libs/asio/test/ip/resolver_service.cpp /libs/asio/test/ip/tcp.cpp @@ -4536,31 +4781,30 @@ /libs/asio/test/ip/v6_only.cpp /libs/asio/test/is_read_buffered.cpp /libs/asio/test/is_write_buffered.cpp -/libs/asio/test/Jamfile /libs/asio/test/Jamfile.v2 /libs/asio/test/latency/ /libs/asio/test/latency/allocator.hpp -/libs/asio/test/latency/coroutine.hpp /libs/asio/test/latency/high_res_clock.hpp /libs/asio/test/latency/Jamfile.v2 /libs/asio/test/latency/tcp_client.cpp /libs/asio/test/latency/tcp_server.cpp /libs/asio/test/latency/udp_client.cpp /libs/asio/test/latency/udp_server.cpp -/libs/asio/test/latency/unyield.hpp -/libs/asio/test/latency/yield.hpp /libs/asio/test/local/ /libs/asio/test/local/basic_endpoint.cpp /libs/asio/test/local/connect_pair.cpp /libs/asio/test/local/datagram_protocol.cpp /libs/asio/test/local/stream_protocol.cpp +/libs/asio/test/packaged_task.cpp /libs/asio/test/placeholders.cpp /libs/asio/test/posix/ /libs/asio/test/posix/basic_descriptor.cpp /libs/asio/test/posix/basic_stream_descriptor.cpp /libs/asio/test/posix/descriptor_base.cpp +/libs/asio/test/posix/descriptor.cpp /libs/asio/test/posix/stream_descriptor.cpp /libs/asio/test/posix/stream_descriptor_service.cpp +/libs/asio/test/post.cpp /libs/asio/test/raw_socket_service.cpp /libs/asio/test/read_at.cpp /libs/asio/test/read.cpp @@ -4574,23 +4818,33 @@ /libs/asio/test/socket_acceptor_service.cpp /libs/asio/test/socket_base.cpp /libs/asio/test/ssl/ -/libs/asio/test/ssl/basic_context.cpp /libs/asio/test/ssl/context_base.cpp /libs/asio/test/ssl/context.cpp -/libs/asio/test/ssl/context_service.cpp -/libs/asio/test/ssl/Jamfile +/libs/asio/test/ssl/error.cpp /libs/asio/test/ssl/Jamfile.v2 /libs/asio/test/ssl/rfc2818_verification.cpp /libs/asio/test/ssl/stream_base.cpp /libs/asio/test/ssl/stream.cpp -/libs/asio/test/ssl/stream_service.cpp /libs/asio/test/steady_timer.cpp /libs/asio/test/strand.cpp /libs/asio/test/streambuf.cpp /libs/asio/test/stream_socket_service.cpp +/libs/asio/test/system_context.cpp +/libs/asio/test/system_executor.cpp /libs/asio/test/system_timer.cpp /libs/asio/test/time_traits.cpp +/libs/asio/test/ts/ +/libs/asio/test/ts/buffer.cpp +/libs/asio/test/ts/executor.cpp +/libs/asio/test/ts/internet.cpp +/libs/asio/test/ts/io_context.cpp +/libs/asio/test/ts/net.cpp +/libs/asio/test/ts/netfwd.cpp +/libs/asio/test/ts/socket.cpp +/libs/asio/test/ts/timer.cpp /libs/asio/test/unit_test.hpp +/libs/asio/test/use_future.cpp +/libs/asio/test/uses_executor.cpp /libs/asio/test/waitable_timer_service.cpp /libs/asio/test/wait_traits.cpp /libs/asio/test/windows/ @@ -4600,6 +4854,7 @@ /libs/asio/test/windows/basic_stream_handle.cpp /libs/asio/test/windows/object_handle.cpp /libs/asio/test/windows/object_handle_service.cpp +/libs/asio/test/windows/overlapped_handle.cpp /libs/asio/test/windows/overlapped_ptr.cpp /libs/asio/test/windows/random_access_handle.cpp /libs/asio/test/windows/random_access_handle_service.cpp @@ -4610,6 +4865,7 @@ /libs/asio/tools/ /libs/asio/tools/handlerviz.pl /libs/system/ +/libs/system/appveyor.yml /libs/system/build/ /libs/system/build/Jamfile /libs/system/build/Jamfile.v2 @@ -4617,24 +4873,37 @@ /libs/system/doc/index.html /libs/system/doc/reference.html /libs/system/index.html +/libs/system/meta/ +/libs/system/meta/libraries.json /libs/system/src/ /libs/system/src/error_code.cpp /libs/system/test/ +/libs/system/test/config_test.cpp /libs/system/test/dynamic_link_test.cpp /libs/system/test/error_code_test.cpp /libs/system/test/error_code_user_test.cpp /libs/system/test/header_only_test.cpp /libs/system/test/initialization_test.cpp /libs/system/test/Jamfile.v2 -/libs/system/test/system/ -/libs/system/test/system/common.props -/libs/system/test/system/error_code_test/ -/libs/system/test/system/error_code_test/error_code_test.vcxproj +/libs/system/test/msvc/ +/libs/system/test/msvc/common.props +/libs/system/test/msvc/config_test/ +/libs/system/test/msvc/config_test/config_test.vcxproj +/libs/system/test/msvc/error_code_test/ +/libs/system/test/msvc/error_code_test/error_code_test.vcxproj +/libs/system/test/msvc/header_only_error_code_test/ +/libs/system/test/msvc/header_only_error_code_test/header_only_error_code_test.vcxproj +/libs/system/test/msvc/header_only_test/ +/libs/system/test/msvc/header_only_test/header_only_test.vcxproj +/libs/system/test/msvc/std_interop_test/ +/libs/system/test/msvc/std_interop_test/std_interop_test.vcxproj +/libs/system/test/msvc/system-dll/ +/libs/system/test/msvc/system-dll/system-dll.vcxproj +/libs/system/test/msvc/system.sln +/libs/system/test/quick.cpp +/libs/system/test/std_interop_test.cpp +/libs/system/test/std_mismatch_test.cpp /libs/system/test/system_error_test.cpp -/libs/system/test/system/header_only_test/ -/libs/system/test/system/header_only_test/header_only_test.vcxproj -/libs/system/test/system/system-dll/ -/libs/system/test/system/system-dll/system-dll.vcxproj -/libs/system/test/system/system.sln /libs/system/test/throw_test.cpp +/libs/system/.travis.yml /README.txt diff --git a/asio/boostify.pl b/asio/boostify.pl index c29b83b..df1a03c 100755 --- a/asio/boostify.pl +++ b/asio/boostify.pl @@ -139,6 +139,7 @@ sub copy_source_file $line =~ s/asio\.examples/boost_asio.examples/g; $line =~ s/asio\.history/boost_asio.history/g; $line =~ s/asio\.index/boost_asio.index/g; + $line =~ s/asio\.net_ts/boost_asio.net_ts/g; $line =~ s/asio\.overview/boost_asio.overview/g; $line =~ s/asio\.reference/boost_asio.reference/g; $line =~ s/asio\.tutorial/boost_asio.tutorial/g; @@ -154,7 +155,7 @@ sub copy_source_file } # Conditional replacements. - if ($line =~ /^( *)namespace asio {/) + if ($line =~ /^( *)namespace asio \{/) { if ($is_qbk) { @@ -242,7 +243,7 @@ sub copy_source_file { # Line is removed. } - elsif ($line =~ /asio::thread/) + elsif ($line =~ /asio::thread\b/) { if ($is_test) { @@ -269,7 +270,7 @@ sub copy_source_file print_line($output, $1 . "boost::thread" . $2, $from, $lineno); } } - elsif ($line =~ /namespace std {/) + elsif ($line =~ /namespace std \{ *$/) { print_line($output, "namespace boost {", $from, $lineno); print_line($output, "namespace system {", $from, $lineno); @@ -277,6 +278,7 @@ sub copy_source_file elsif ($line =~ /std::error_code/) { $line =~ s/std::error_code/boost::system::error_code/g; + $line =~ s/asio::/boost::asio::/g if !$is_xsl; print_line($output, $line, $from, $lineno); } elsif ($line =~ /} \/\/ namespace std/) @@ -381,6 +383,7 @@ sub copy_include_files "include/asio/ssl/impl", "include/asio/ssl/old", "include/asio/ssl/old/detail", + "include/asio/ts", "include/asio/windows"); foreach my $dir (@dirs) @@ -428,6 +431,7 @@ sub copy_unit_tests "src/tests/unit/local", "src/tests/unit/posix", "src/tests/unit/ssl", + "src/tests/unit/ts", "src/tests/unit/windows"); our $boost_dir; @@ -515,9 +519,15 @@ sub copy_examples "src/examples/cpp11/chat", "src/examples/cpp11/echo", "src/examples/cpp11/executors", + "src/examples/cpp11/fork", "src/examples/cpp11/futures", + "src/examples/cpp11/handler_tracking", "src/examples/cpp11/http/server", + "src/examples/cpp11/invocation", "src/examples/cpp11/iostreams", + "src/examples/cpp11/local", + "src/examples/cpp11/multicast", + "src/examples/cpp11/nonblocking", "src/examples/cpp11/spawn", "src/examples/cpp14/executors"); @@ -547,6 +557,7 @@ sub copy_doc my @files = ( "src/doc/asio.qbk", "src/doc/examples.qbk", + "src/doc/net_ts.qbk", "src/doc/reference.xsl", "src/doc/tutorial.xsl", glob("src/doc/overview/*.qbk"), diff --git a/asio/configure.ac b/asio/configure.ac index e8dff8d..ef13bc3 100644 --- a/asio/configure.ac +++ b/asio/configure.ac @@ -1,4 +1,4 @@ -AC_INIT(asio, [1.11.0]) +AC_INIT(asio, [1.12.0]) AC_CONFIG_SRCDIR(include/asio.hpp) AM_MAINTAINER_MODE AM_INIT_AUTOMAKE([tar-ustar]) @@ -17,140 +17,18 @@ AC_ARG_WITH(boost, if test "${withval}" = no; then STANDALONE="yes" else - CPPFLAGS="$CPPFLAGS -I${withval}" + CPPFLAGS="$CPPFLAGS -I${withval} -DBOOST_CHRONO_DONT_PROVIDE_HYBRID_ERROR_HANDLING" LIBS="$LIBS -L${withval}/stage/lib" fi ], [ - BOOSTDIR="`pwd`/../boost_1_55_0" - if test -d "${BOOSTDIR}"; then - CPPFLAGS="$CPPFLAGS -I${BOOSTDIR}" - LIBS="$LIBS -L${BOOSTDIR}/stage/lib" - else - BOOSTDIR="`pwd`/../boost_1_54_0" + BOOSTDIR=`ls -1d ../boost_*_*_*/ 2>/dev/null | sort -t "_" -k 2nr -k 3nr -k 4nr | head -n 1 | sed -e 's/\/$//'` + if test "${BOOSTDIR}" != ""; then + BOOSTDIR="`pwd`/${BOOSTDIR}" if test -d "${BOOSTDIR}"; then - CPPFLAGS="$CPPFLAGS -I${BOOSTDIR}" + echo "using automatically detected boost from ${BOOSTDIR}" + CPPFLAGS="$CPPFLAGS -I${BOOSTDIR} -DBOOST_CHRONO_DONT_PROVIDE_HYBRID_ERROR_HANDLING" LIBS="$LIBS -L${BOOSTDIR}/stage/lib" - else - BOOSTDIR="`pwd`/../boost_1_53_0" - if test -d "${BOOSTDIR}"; then - CPPFLAGS="$CPPFLAGS -I${BOOSTDIR}" - else - BOOSTDIR="`pwd`/../boost_1_52_0" - if test -d "${BOOSTDIR}"; then - CPPFLAGS="$CPPFLAGS -I${BOOSTDIR}" - else - BOOSTDIR="`pwd`/../boost_1_51_0" - if test -d "${BOOSTDIR}"; then - CPPFLAGS="$CPPFLAGS -I${BOOSTDIR}" - else - BOOSTDIR="`pwd`/../boost_1_50_0" - if test -d "${BOOSTDIR}"; then - CPPFLAGS="$CPPFLAGS -I${BOOSTDIR}" - else - BOOSTDIR="`pwd`/../boost_1_49_0" - if test -d "${BOOSTDIR}"; then - CPPFLAGS="$CPPFLAGS -I${BOOSTDIR}" - else - BOOSTDIR="`pwd`/../boost_1_48_0" - if test -d "${BOOSTDIR}"; then - CPPFLAGS="$CPPFLAGS -I${BOOSTDIR}" - else - BOOSTDIR="`pwd`/../boost_1_47_0" - if test -d "${BOOSTDIR}"; then - CPPFLAGS="$CPPFLAGS -I${BOOSTDIR}" - else - BOOSTDIR="`pwd`/../boost_1_46_0" - if test -d "${BOOSTDIR}"; then - CPPFLAGS="$CPPFLAGS -I${BOOSTDIR}" - else - BOOSTDIR="`pwd`/../boost_1_46_1" - if test -d "${BOOSTDIR}"; then - CPPFLAGS="$CPPFLAGS -I${BOOSTDIR}" - else - BOOSTDIR="`pwd`/../boost_1_45_0" - if test -d "${BOOSTDIR}"; then - CPPFLAGS="$CPPFLAGS -I${BOOSTDIR}" - else - BOOSTDIR="`pwd`/../boost_1_44_0" - if test -d "${BOOSTDIR}"; then - CPPFLAGS="$CPPFLAGS -I${BOOSTDIR}" - else - BOOSTDIR="`pwd`/../boost_1_43_0" - if test -d "${BOOSTDIR}"; then - CPPFLAGS="$CPPFLAGS -I${BOOSTDIR}" - else - BOOSTDIR="`pwd`/../boost_1_42_0" - if test -d "${BOOSTDIR}"; then - CPPFLAGS="$CPPFLAGS -I${BOOSTDIR}" - else - BOOSTDIR="`pwd`/../boost_1_41_0" - if test -d "${BOOSTDIR}"; then - CPPFLAGS="$CPPFLAGS -I${BOOSTDIR}" - else - BOOSTDIR="`pwd`/../boost_1_40_0" - if test -d "${BOOSTDIR}"; then - CPPFLAGS="$CPPFLAGS -I${BOOSTDIR}" - else - BOOSTDIR="`pwd`/../boost_1_39_0" - if test -d "${BOOSTDIR}"; then - CPPFLAGS="$CPPFLAGS -I${BOOSTDIR}" - else - BOOSTDIR="`pwd`/../boost_1_38_0" - if test -d "${BOOSTDIR}"; then - CPPFLAGS="$CPPFLAGS -I${BOOSTDIR}" - else - BOOSTDIR="`pwd`/../boost_1_37_0" - if test -d "${BOOSTDIR}"; then - CPPFLAGS="$CPPFLAGS -I${BOOSTDIR}" - else - BOOSTDIR="`pwd`/../boost_1_36_0" - if test -d "${BOOSTDIR}"; then - CPPFLAGS="$CPPFLAGS -I${BOOSTDIR}" - else - BOOSTDIR="`pwd`/../boost_1_35_0" - if test -d "${BOOSTDIR}"; then - CPPFLAGS="$CPPFLAGS -I${BOOSTDIR}" - else - BOOSTDIR="`pwd`/../boost_1_34_1" - if test -d "${BOOSTDIR}"; then - CPPFLAGS="$CPPFLAGS -I${BOOSTDIR}" - else - BOOSTDIR="`pwd`/../boost_1_34_0" - if test -d "${BOOSTDIR}"; then - CPPFLAGS="$CPPFLAGS -I${BOOSTDIR}" - else - BOOSTDIR="`pwd`/../boost_1_33_1" - if test -d "${BOOSTDIR}"; then - CPPFLAGS="$CPPFLAGS -I${BOOSTDIR}" - else - BOOSTDIR="`pwd`/../boost_1_33_0" - if test -d "${BOOSTDIR}"; then - CPPFLAGS="$CPPFLAGS -I${BOOSTDIR}" - fi - fi - fi - fi - fi - fi - fi - fi - fi - fi - fi - fi - fi - fi - fi - fi - fi - fi - fi - fi - fi - fi - fi - fi fi fi ]) @@ -179,7 +57,8 @@ fi AC_ARG_WITH(openssl, AC_HELP_STRING([--with-openssl=DIR],[location of openssl]), [ - CPPFLAGS="$CPPFLAGS -I${withval}" + CPPFLAGS="$CPPFLAGS -I${withval}/include" + LIBS="$LIBS -L${withval}/lib" ],[]) AC_CHECK_HEADER([openssl/ssl.h],, @@ -198,6 +77,7 @@ case $host in *-*-linux*) CXXFLAGS="$CXXFLAGS -pthread" LDFLAGS="$LDFLAGS -pthread" + LIBS="$LIBS -lrt" ;; *-*-solaris*) if test "$GXX" = yes; then diff --git a/asio/include/Makefile.am b/asio/include/Makefile.am index 104267c..e1c0e1f 100644 --- a/asio/include/Makefile.am +++ b/asio/include/Makefile.am @@ -322,8 +322,9 @@ nobase_include_HEADERS = \ asio/impl/spawn.hpp \ asio/impl/src.cpp \ asio/impl/src.hpp \ + asio/impl/system_context.hpp \ + asio/impl/system_context.ipp \ asio/impl/system_executor.hpp \ - asio/impl/system_executor.ipp \ asio/impl/thread_pool.hpp \ asio/impl/thread_pool.ipp \ asio/impl/use_future.hpp \ @@ -437,6 +438,7 @@ nobase_include_HEADERS = \ asio/strand.hpp \ asio/streambuf.hpp \ asio/stream_socket_service.hpp \ + asio/system_context.hpp \ asio/system_error.hpp \ asio/system_executor.hpp \ asio/system_timer.hpp \ diff --git a/asio/include/asio.hpp b/asio/include/asio.hpp index 1e42e03..fafb838 100644 --- a/asio/include/asio.hpp +++ b/asio/include/asio.hpp @@ -2,7 +2,7 @@ // asio.hpp // ~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) @@ -62,6 +62,7 @@ #include "asio/handler_continuation_hook.hpp" #include "asio/handler_invoke_hook.hpp" #include "asio/handler_type.hpp" +#include "asio/high_resolution_timer.hpp" #include "asio/io_context.hpp" #include "asio/io_context_strand.hpp" #include "asio/io_service.hpp" @@ -117,11 +118,14 @@ #include "asio/signal_set_service.hpp" #include "asio/socket_acceptor_service.hpp" #include "asio/socket_base.hpp" +#include "asio/steady_timer.hpp" #include "asio/strand.hpp" #include "asio/stream_socket_service.hpp" #include "asio/streambuf.hpp" +#include "asio/system_context.hpp" #include "asio/system_error.hpp" #include "asio/system_executor.hpp" +#include "asio/system_timer.hpp" #include "asio/thread.hpp" #include "asio/thread_pool.hpp" #include "asio/time_traits.hpp" diff --git a/asio/include/asio/associated_allocator.hpp b/asio/include/asio/associated_allocator.hpp index 3834b86..e2b70b5 100644 --- a/asio/include/asio/associated_allocator.hpp +++ b/asio/include/asio/associated_allocator.hpp @@ -2,7 +2,7 @@ // associated_allocator.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) @@ -116,6 +116,14 @@ get_associated_allocator(const T& t, const Allocator& a) ASIO_NOEXCEPT return associated_allocator::get(t, a); } +#if defined(ASIO_HAS_ALIAS_TEMPLATES) + +template > +using associated_allocator_t + = typename associated_allocator::type; + +#endif // defined(ASIO_HAS_ALIAS_TEMPLATES) + } // namespace asio #include "asio/detail/pop_options.hpp" diff --git a/asio/include/asio/associated_executor.hpp b/asio/include/asio/associated_executor.hpp index 74603c5..6e3fef5 100644 --- a/asio/include/asio/associated_executor.hpp +++ b/asio/include/asio/associated_executor.hpp @@ -2,7 +2,7 @@ // associated_executor.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) @@ -135,6 +135,13 @@ get_associated_executor(const T& t, ExecutionContext& ctx, typename ExecutionContext::executor_type>::get(t, ctx.get_executor()); } +#if defined(ASIO_HAS_ALIAS_TEMPLATES) + +template +using associated_executor_t = typename associated_executor::type; + +#endif // defined(ASIO_HAS_ALIAS_TEMPLATES) + } // namespace asio #include "asio/detail/pop_options.hpp" diff --git a/asio/include/asio/async_result.hpp b/asio/include/asio/async_result.hpp index cd866bb..f218de7 100644 --- a/asio/include/asio/async_result.hpp +++ b/asio/include/asio/async_result.hpp @@ -2,7 +2,7 @@ // async_result.hpp // ~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/basic_datagram_socket.hpp b/asio/include/asio/basic_datagram_socket.hpp index a451013..cd5ef2e 100644 --- a/asio/include/asio/basic_datagram_socket.hpp +++ b/asio/include/asio/basic_datagram_socket.hpp @@ -2,7 +2,7 @@ // basic_datagram_socket.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/basic_deadline_timer.hpp b/asio/include/asio/basic_deadline_timer.hpp index 085c8ee..4e97cce 100644 --- a/asio/include/asio/basic_deadline_timer.hpp +++ b/asio/include/asio/basic_deadline_timer.hpp @@ -2,7 +2,7 @@ // basic_deadline_timer.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/basic_io_object.hpp b/asio/include/asio/basic_io_object.hpp index e1850d5..669427a 100644 --- a/asio/include/asio/basic_io_object.hpp +++ b/asio/include/asio/basic_io_object.hpp @@ -2,7 +2,7 @@ // basic_io_object.hpp // ~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/basic_raw_socket.hpp b/asio/include/asio/basic_raw_socket.hpp index 3011493..ee9bcbf 100644 --- a/asio/include/asio/basic_raw_socket.hpp +++ b/asio/include/asio/basic_raw_socket.hpp @@ -2,7 +2,7 @@ // basic_raw_socket.hpp // ~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/basic_seq_packet_socket.hpp b/asio/include/asio/basic_seq_packet_socket.hpp index ca992ec..f6e8dc5 100644 --- a/asio/include/asio/basic_seq_packet_socket.hpp +++ b/asio/include/asio/basic_seq_packet_socket.hpp @@ -2,7 +2,7 @@ // basic_seq_packet_socket.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/basic_serial_port.hpp b/asio/include/asio/basic_serial_port.hpp index b6ac51e..22ed8f7 100644 --- a/asio/include/asio/basic_serial_port.hpp +++ b/asio/include/asio/basic_serial_port.hpp @@ -2,7 +2,7 @@ // basic_serial_port.hpp // ~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2008 Rep Invariant Systems, Inc. (info@repinvariant.com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying diff --git a/asio/include/asio/basic_signal_set.hpp b/asio/include/asio/basic_signal_set.hpp index 6f1d07e..b7302ab 100644 --- a/asio/include/asio/basic_signal_set.hpp +++ b/asio/include/asio/basic_signal_set.hpp @@ -2,7 +2,7 @@ // basic_signal_set.hpp // ~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/basic_socket.hpp b/asio/include/asio/basic_socket.hpp index 9d31ad7..4343016 100644 --- a/asio/include/asio/basic_socket.hpp +++ b/asio/include/asio/basic_socket.hpp @@ -2,7 +2,7 @@ // basic_socket.hpp // ~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/basic_socket_acceptor.hpp b/asio/include/asio/basic_socket_acceptor.hpp index 8af2bdc..dab58ad 100644 --- a/asio/include/asio/basic_socket_acceptor.hpp +++ b/asio/include/asio/basic_socket_acceptor.hpp @@ -2,7 +2,7 @@ // basic_socket_acceptor.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/basic_socket_iostream.hpp b/asio/include/asio/basic_socket_iostream.hpp index ad4759b..48acfee 100644 --- a/asio/include/asio/basic_socket_iostream.hpp +++ b/asio/include/asio/basic_socket_iostream.hpp @@ -2,7 +2,7 @@ // basic_socket_iostream.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) @@ -215,6 +215,8 @@ public: this->setf(std::ios_base::unitbuf); } +#if defined(ASIO_HAS_STD_IOSTREAM_MOVE) \ + || defined(GENERATING_DOCUMENTATION) /// Move-construct a basic_socket_iostream from another. basic_socket_iostream(basic_socket_iostream&& other) : detail::socket_iostream_base< @@ -236,6 +238,8 @@ public: WaitTraits ASIO_SVC_TARG1>::operator=(std::move(other)); return *this; } +#endif // defined(ASIO_HAS_STD_IOSTREAM_MOVE) + // || defined(GENERATING_DOCUMENTATION) #endif // defined(ASIO_HAS_MOVE) || defined(GENERATING_DOCUMENTATION) #if defined(GENERATING_DOCUMENTATION) diff --git a/asio/include/asio/basic_socket_streambuf.hpp b/asio/include/asio/basic_socket_streambuf.hpp index 42fb3ca..81fa55e 100644 --- a/asio/include/asio/basic_socket_streambuf.hpp +++ b/asio/include/asio/basic_socket_streambuf.hpp @@ -2,7 +2,7 @@ // basic_socket_streambuf.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/basic_stream_socket.hpp b/asio/include/asio/basic_stream_socket.hpp index 31e6850..95d9ccd 100644 --- a/asio/include/asio/basic_stream_socket.hpp +++ b/asio/include/asio/basic_stream_socket.hpp @@ -2,7 +2,7 @@ // basic_stream_socket.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/basic_streambuf.hpp b/asio/include/asio/basic_streambuf.hpp index 0f06032..6c83939 100644 --- a/asio/include/asio/basic_streambuf.hpp +++ b/asio/include/asio/basic_streambuf.hpp @@ -2,7 +2,7 @@ // basic_streambuf.hpp // ~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) @@ -232,8 +232,7 @@ public: */ void commit(std::size_t n) { - if (pptr() + n > epptr()) - n = epptr() - pptr(); + n = std::min(n, epptr() - pptr()); pbump(static_cast(n)); setg(eback(), gptr(), pptr()); } diff --git a/asio/include/asio/basic_streambuf_fwd.hpp b/asio/include/asio/basic_streambuf_fwd.hpp index 361997b..09a5b75 100644 --- a/asio/include/asio/basic_streambuf_fwd.hpp +++ b/asio/include/asio/basic_streambuf_fwd.hpp @@ -2,7 +2,7 @@ // basic_streambuf_fwd.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/basic_waitable_timer.hpp b/asio/include/asio/basic_waitable_timer.hpp index 6e9a3e1..976c173 100644 --- a/asio/include/asio/basic_waitable_timer.hpp +++ b/asio/include/asio/basic_waitable_timer.hpp @@ -2,7 +2,7 @@ // basic_waitable_timer.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/bind_executor.hpp b/asio/include/asio/bind_executor.hpp index 3ed890d..3971f05 100644 --- a/asio/include/asio/bind_executor.hpp +++ b/asio/include/asio/bind_executor.hpp @@ -2,7 +2,7 @@ // bind_executor.hpp // ~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/buffer.hpp b/asio/include/asio/buffer.hpp index 7d53dde..a7c9b8a 100644 --- a/asio/include/asio/buffer.hpp +++ b/asio/include/asio/buffer.hpp @@ -2,7 +2,7 @@ // buffer.hpp // ~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) @@ -28,13 +28,13 @@ #include "asio/detail/throw_exception.hpp" #include "asio/detail/type_traits.hpp" -#if defined(ASIO_MSVC) +#if defined(ASIO_MSVC) && (ASIO_MSVC >= 1700) # if defined(_HAS_ITERATOR_DEBUGGING) && (_HAS_ITERATOR_DEBUGGING != 0) # if !defined(ASIO_DISABLE_BUFFER_DEBUGGING) # define ASIO_ENABLE_BUFFER_DEBUGGING # endif // !defined(ASIO_DISABLE_BUFFER_DEBUGGING) # endif // defined(_HAS_ITERATOR_DEBUGGING) -#endif // defined(ASIO_MSVC) +#endif // defined(ASIO_MSVC) && (ASIO_MSVC >= 1700) #if defined(__GNUC__) # if defined(_GLIBCXX_DEBUG) @@ -1920,7 +1920,8 @@ inline std::size_t buffer_copy_1(const mutable_buffer& target, std::size_t target_size = target.size(); std::size_t source_size = source.size(); std::size_t n = target_size < source_size ? target_size : source_size; - memcpy(target.data(), source.data(), n); + if (n > 0) + memcpy(target.data(), source.data(), n); return n; } diff --git a/asio/include/asio/buffered_read_stream.hpp b/asio/include/asio/buffered_read_stream.hpp index 908dd37..3196ce9 100644 --- a/asio/include/asio/buffered_read_stream.hpp +++ b/asio/include/asio/buffered_read_stream.hpp @@ -2,7 +2,7 @@ // buffered_read_stream.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/buffered_read_stream_fwd.hpp b/asio/include/asio/buffered_read_stream_fwd.hpp index 3f1646a..379450c 100644 --- a/asio/include/asio/buffered_read_stream_fwd.hpp +++ b/asio/include/asio/buffered_read_stream_fwd.hpp @@ -2,7 +2,7 @@ // buffered_read_stream_fwd.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/buffered_stream.hpp b/asio/include/asio/buffered_stream.hpp index cabab60..425a508 100644 --- a/asio/include/asio/buffered_stream.hpp +++ b/asio/include/asio/buffered_stream.hpp @@ -2,7 +2,7 @@ // buffered_stream.hpp // ~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/buffered_stream_fwd.hpp b/asio/include/asio/buffered_stream_fwd.hpp index cc445d2..fbf1824 100644 --- a/asio/include/asio/buffered_stream_fwd.hpp +++ b/asio/include/asio/buffered_stream_fwd.hpp @@ -2,7 +2,7 @@ // buffered_stream_fwd.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/buffered_write_stream.hpp b/asio/include/asio/buffered_write_stream.hpp index 9cdab8b..7e67a08 100644 --- a/asio/include/asio/buffered_write_stream.hpp +++ b/asio/include/asio/buffered_write_stream.hpp @@ -2,7 +2,7 @@ // buffered_write_stream.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/buffered_write_stream_fwd.hpp b/asio/include/asio/buffered_write_stream_fwd.hpp index 88f93a4..c55d2e2 100644 --- a/asio/include/asio/buffered_write_stream_fwd.hpp +++ b/asio/include/asio/buffered_write_stream_fwd.hpp @@ -2,7 +2,7 @@ // buffered_write_stream_fwd.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/buffers_iterator.hpp b/asio/include/asio/buffers_iterator.hpp index 9080915..cd2f1a1 100644 --- a/asio/include/asio/buffers_iterator.hpp +++ b/asio/include/asio/buffers_iterator.hpp @@ -2,7 +2,7 @@ // buffers_iterator.hpp // ~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/completion_condition.hpp b/asio/include/asio/completion_condition.hpp index cb22ddd..949c5f6 100644 --- a/asio/include/asio/completion_condition.hpp +++ b/asio/include/asio/completion_condition.hpp @@ -2,7 +2,7 @@ // completion_condition.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/connect.hpp b/asio/include/asio/connect.hpp index 7dba932..a80db1c 100644 --- a/asio/include/asio/connect.hpp +++ b/asio/include/asio/connect.hpp @@ -2,7 +2,7 @@ // connect.hpp // ~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/coroutine.hpp b/asio/include/asio/coroutine.hpp index d4a0335..102cefb 100644 --- a/asio/include/asio/coroutine.hpp +++ b/asio/include/asio/coroutine.hpp @@ -2,7 +2,7 @@ // coroutine.hpp // ~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) @@ -289,7 +289,7 @@ private: bail_out_of_coroutine: \ break; \ } \ - else case 0: + else /* fall-through */ case 0: #define ASIO_CORO_YIELD_IMPL(n) \ for (_coro_value = (n);;) \ @@ -301,12 +301,12 @@ private: else \ switch (_coro_value ? 0 : 1) \ for (;;) \ - case -1: if (_coro_value) \ + /* fall-through */ case -1: if (_coro_value) \ goto terminate_coroutine; \ else for (;;) \ - case 1: if (_coro_value) \ + /* fall-through */ case 1: if (_coro_value) \ goto bail_out_of_coroutine; \ - else case 0: + else /* fall-through */ case 0: #define ASIO_CORO_FORK_IMPL(n) \ for (_coro_value = -(n);; _coro_value = (n)) \ diff --git a/asio/include/asio/datagram_socket_service.hpp b/asio/include/asio/datagram_socket_service.hpp index 5388742..5253fd1 100644 --- a/asio/include/asio/datagram_socket_service.hpp +++ b/asio/include/asio/datagram_socket_service.hpp @@ -2,7 +2,7 @@ // datagram_socket_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/deadline_timer.hpp b/asio/include/asio/deadline_timer.hpp index 1ffbfe5..996d1b1 100644 --- a/asio/include/asio/deadline_timer.hpp +++ b/asio/include/asio/deadline_timer.hpp @@ -2,7 +2,7 @@ // deadline_timer.hpp // ~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/deadline_timer_service.hpp b/asio/include/asio/deadline_timer_service.hpp index 7acac1c..ba232e1 100644 --- a/asio/include/asio/deadline_timer_service.hpp +++ b/asio/include/asio/deadline_timer_service.hpp @@ -2,7 +2,7 @@ // deadline_timer_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/defer.hpp b/asio/include/asio/defer.hpp index 5e80614..5e2f24d 100644 --- a/asio/include/asio/defer.hpp +++ b/asio/include/asio/defer.hpp @@ -2,7 +2,7 @@ // defer.hpp // ~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/array.hpp b/asio/include/asio/detail/array.hpp index cfb0acc..1890541 100644 --- a/asio/include/asio/detail/array.hpp +++ b/asio/include/asio/detail/array.hpp @@ -2,7 +2,7 @@ // detail/array.hpp // ~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/array_fwd.hpp b/asio/include/asio/detail/array_fwd.hpp index 6a19a82..c871872 100644 --- a/asio/include/asio/detail/array_fwd.hpp +++ b/asio/include/asio/detail/array_fwd.hpp @@ -2,7 +2,7 @@ // detail/array_fwd.hpp // ~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/assert.hpp b/asio/include/asio/detail/assert.hpp index 22bb4b9..45860f0 100644 --- a/asio/include/asio/detail/assert.hpp +++ b/asio/include/asio/detail/assert.hpp @@ -2,7 +2,7 @@ // detail/assert.hpp // ~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/atomic_count.hpp b/asio/include/asio/detail/atomic_count.hpp index 798f915..581afa9 100644 --- a/asio/include/asio/detail/atomic_count.hpp +++ b/asio/include/asio/detail/atomic_count.hpp @@ -2,7 +2,7 @@ // detail/atomic_count.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/base_from_completion_cond.hpp b/asio/include/asio/detail/base_from_completion_cond.hpp index 9f5165b..a6b0bf5 100644 --- a/asio/include/asio/detail/base_from_completion_cond.hpp +++ b/asio/include/asio/detail/base_from_completion_cond.hpp @@ -2,7 +2,7 @@ // detail/base_from_completion_cond.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/bind_handler.hpp b/asio/include/asio/detail/bind_handler.hpp index 3752464..b16edda 100644 --- a/asio/include/asio/detail/bind_handler.hpp +++ b/asio/include/asio/detail/bind_handler.hpp @@ -2,7 +2,7 @@ // detail/bind_handler.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) @@ -223,6 +223,363 @@ inline binder2::type, Arg1, Arg2> bind_handler( ASIO_MOVE_CAST(Handler)(handler), arg1, arg2); } +template +class binder3 +{ +public: + template + binder3(int, ASIO_MOVE_ARG(T) handler, const Arg1& arg1, + const Arg2& arg2, const Arg3& arg3) + : handler_(ASIO_MOVE_CAST(T)(handler)), + arg1_(arg1), + arg2_(arg2), + arg3_(arg3) + { + } + + binder3(Handler& handler, const Arg1& arg1, + const Arg2& arg2, const Arg3& arg3) + : handler_(ASIO_MOVE_CAST(Handler)(handler)), + arg1_(arg1), + arg2_(arg2), + arg3_(arg3) + { + } + +#if defined(ASIO_HAS_MOVE) + binder3(const binder3& other) + : handler_(other.handler_), + arg1_(other.arg1_), + arg2_(other.arg2_), + arg3_(other.arg3_) + { + } + + binder3(binder3&& other) + : handler_(ASIO_MOVE_CAST(Handler)(other.handler_)), + arg1_(ASIO_MOVE_CAST(Arg1)(other.arg1_)), + arg2_(ASIO_MOVE_CAST(Arg2)(other.arg2_)), + arg3_(ASIO_MOVE_CAST(Arg3)(other.arg3_)) + { + } +#endif // defined(ASIO_HAS_MOVE) + + void operator()() + { + handler_(static_cast(arg1_), + static_cast(arg2_), static_cast(arg3_)); + } + + void operator()() const + { + handler_(arg1_, arg2_, arg3_); + } + +//private: + Handler handler_; + Arg1 arg1_; + Arg2 arg2_; + Arg3 arg3_; +}; + +template +inline void* asio_handler_allocate(std::size_t size, + binder3* this_handler) +{ + return asio_handler_alloc_helpers::allocate( + size, this_handler->handler_); +} + +template +inline void asio_handler_deallocate(void* pointer, std::size_t size, + binder3* this_handler) +{ + asio_handler_alloc_helpers::deallocate( + pointer, size, this_handler->handler_); +} + +template +inline bool asio_handler_is_continuation( + binder3* this_handler) +{ + return asio_handler_cont_helpers::is_continuation( + this_handler->handler_); +} + +template +inline void asio_handler_invoke(Function& function, + binder3* this_handler) +{ + asio_handler_invoke_helpers::invoke( + function, this_handler->handler_); +} + +template +inline void asio_handler_invoke(const Function& function, + binder3* this_handler) +{ + asio_handler_invoke_helpers::invoke( + function, this_handler->handler_); +} + +template +inline binder3::type, Arg1, Arg2, Arg3> bind_handler( + ASIO_MOVE_ARG(Handler) handler, const Arg1& arg1, const Arg2& arg2, + const Arg3& arg3) +{ + return binder3::type, Arg1, Arg2, Arg3>(0, + ASIO_MOVE_CAST(Handler)(handler), arg1, arg2, arg3); +} + +template +class binder4 +{ +public: + template + binder4(int, ASIO_MOVE_ARG(T) handler, const Arg1& arg1, + const Arg2& arg2, const Arg3& arg3, const Arg4& arg4) + : handler_(ASIO_MOVE_CAST(T)(handler)), + arg1_(arg1), + arg2_(arg2), + arg3_(arg3), + arg4_(arg4) + { + } + + binder4(Handler& handler, const Arg1& arg1, + const Arg2& arg2, const Arg3& arg3, const Arg4& arg4) + : handler_(ASIO_MOVE_CAST(Handler)(handler)), + arg1_(arg1), + arg2_(arg2), + arg3_(arg3), + arg4_(arg4) + { + } + +#if defined(ASIO_HAS_MOVE) + binder4(const binder4& other) + : handler_(other.handler_), + arg1_(other.arg1_), + arg2_(other.arg2_), + arg3_(other.arg3_), + arg4_(other.arg4_) + { + } + + binder4(binder4&& other) + : handler_(ASIO_MOVE_CAST(Handler)(other.handler_)), + arg1_(ASIO_MOVE_CAST(Arg1)(other.arg1_)), + arg2_(ASIO_MOVE_CAST(Arg2)(other.arg2_)), + arg3_(ASIO_MOVE_CAST(Arg3)(other.arg3_)), + arg4_(ASIO_MOVE_CAST(Arg4)(other.arg4_)) + { + } +#endif // defined(ASIO_HAS_MOVE) + + void operator()() + { + handler_(static_cast(arg1_), + static_cast(arg2_), static_cast(arg3_), + static_cast(arg4_)); + } + + void operator()() const + { + handler_(arg1_, arg2_, arg3_, arg4_); + } + +//private: + Handler handler_; + Arg1 arg1_; + Arg2 arg2_; + Arg3 arg3_; + Arg4 arg4_; +}; + +template +inline void* asio_handler_allocate(std::size_t size, + binder4* this_handler) +{ + return asio_handler_alloc_helpers::allocate( + size, this_handler->handler_); +} + +template +inline void asio_handler_deallocate(void* pointer, std::size_t size, + binder4* this_handler) +{ + asio_handler_alloc_helpers::deallocate( + pointer, size, this_handler->handler_); +} + +template +inline bool asio_handler_is_continuation( + binder4* this_handler) +{ + return asio_handler_cont_helpers::is_continuation( + this_handler->handler_); +} + +template +inline void asio_handler_invoke(Function& function, + binder4* this_handler) +{ + asio_handler_invoke_helpers::invoke( + function, this_handler->handler_); +} + +template +inline void asio_handler_invoke(const Function& function, + binder4* this_handler) +{ + asio_handler_invoke_helpers::invoke( + function, this_handler->handler_); +} + +template +inline binder4::type, Arg1, Arg2, Arg3, Arg4> +bind_handler(ASIO_MOVE_ARG(Handler) handler, const Arg1& arg1, + const Arg2& arg2, const Arg3& arg3, const Arg4& arg4) +{ + return binder4::type, Arg1, Arg2, Arg3, Arg4>(0, + ASIO_MOVE_CAST(Handler)(handler), arg1, arg2, arg3, arg4); +} + +template +class binder5 +{ +public: + template + binder5(int, ASIO_MOVE_ARG(T) handler, const Arg1& arg1, + const Arg2& arg2, const Arg3& arg3, const Arg4& arg4, const Arg5& arg5) + : handler_(ASIO_MOVE_CAST(T)(handler)), + arg1_(arg1), + arg2_(arg2), + arg3_(arg3), + arg4_(arg4), + arg5_(arg5) + { + } + + binder5(Handler& handler, const Arg1& arg1, const Arg2& arg2, + const Arg3& arg3, const Arg4& arg4, const Arg5& arg5) + : handler_(ASIO_MOVE_CAST(Handler)(handler)), + arg1_(arg1), + arg2_(arg2), + arg3_(arg3), + arg4_(arg4), + arg5_(arg5) + { + } + +#if defined(ASIO_HAS_MOVE) + binder5(const binder5& other) + : handler_(other.handler_), + arg1_(other.arg1_), + arg2_(other.arg2_), + arg3_(other.arg3_), + arg4_(other.arg4_), + arg5_(other.arg5_) + { + } + + binder5(binder5&& other) + : handler_(ASIO_MOVE_CAST(Handler)(other.handler_)), + arg1_(ASIO_MOVE_CAST(Arg1)(other.arg1_)), + arg2_(ASIO_MOVE_CAST(Arg2)(other.arg2_)), + arg3_(ASIO_MOVE_CAST(Arg3)(other.arg3_)), + arg4_(ASIO_MOVE_CAST(Arg4)(other.arg4_)), + arg5_(ASIO_MOVE_CAST(Arg5)(other.arg5_)) + { + } +#endif // defined(ASIO_HAS_MOVE) + + void operator()() + { + handler_(static_cast(arg1_), + static_cast(arg2_), static_cast(arg3_), + static_cast(arg4_), static_cast(arg5_)); + } + + void operator()() const + { + handler_(arg1_, arg2_, arg3_, arg4_, arg5_); + } + +//private: + Handler handler_; + Arg1 arg1_; + Arg2 arg2_; + Arg3 arg3_; + Arg4 arg4_; + Arg5 arg5_; +}; + +template +inline void* asio_handler_allocate(std::size_t size, + binder5* this_handler) +{ + return asio_handler_alloc_helpers::allocate( + size, this_handler->handler_); +} + +template +inline void asio_handler_deallocate(void* pointer, std::size_t size, + binder5* this_handler) +{ + asio_handler_alloc_helpers::deallocate( + pointer, size, this_handler->handler_); +} + +template +inline bool asio_handler_is_continuation( + binder5* this_handler) +{ + return asio_handler_cont_helpers::is_continuation( + this_handler->handler_); +} + +template +inline void asio_handler_invoke(Function& function, + binder5* this_handler) +{ + asio_handler_invoke_helpers::invoke( + function, this_handler->handler_); +} + +template +inline void asio_handler_invoke(const Function& function, + binder5* this_handler) +{ + asio_handler_invoke_helpers::invoke( + function, this_handler->handler_); +} + +template +inline binder5::type, Arg1, Arg2, Arg3, Arg4, Arg5> +bind_handler(ASIO_MOVE_ARG(Handler) handler, const Arg1& arg1, + const Arg2& arg2, const Arg3& arg3, const Arg4& arg4, const Arg5& arg5) +{ + return binder5::type, Arg1, Arg2, Arg3, Arg4, Arg5>(0, + ASIO_MOVE_CAST(Handler)(handler), arg1, arg2, arg3, arg4, arg5); +} + #if defined(ASIO_HAS_MOVE) template diff --git a/asio/include/asio/detail/buffer_resize_guard.hpp b/asio/include/asio/detail/buffer_resize_guard.hpp index 2768c8a..0eee411 100644 --- a/asio/include/asio/detail/buffer_resize_guard.hpp +++ b/asio/include/asio/detail/buffer_resize_guard.hpp @@ -2,7 +2,7 @@ // detail/buffer_resize_guard.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/buffer_sequence_adapter.hpp b/asio/include/asio/detail/buffer_sequence_adapter.hpp index f81e312..450b3ee 100644 --- a/asio/include/asio/detail/buffer_sequence_adapter.hpp +++ b/asio/include/asio/detail/buffer_sequence_adapter.hpp @@ -2,7 +2,7 @@ // detail/buffer_sequence_adapter.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/buffered_stream_storage.hpp b/asio/include/asio/detail/buffered_stream_storage.hpp index a71120d..1469711 100644 --- a/asio/include/asio/detail/buffered_stream_storage.hpp +++ b/asio/include/asio/detail/buffered_stream_storage.hpp @@ -2,7 +2,7 @@ // detail/buffered_stream_storage.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/call_stack.hpp b/asio/include/asio/detail/call_stack.hpp index 9835e64..414b621 100644 --- a/asio/include/asio/detail/call_stack.hpp +++ b/asio/include/asio/detail/call_stack.hpp @@ -2,7 +2,7 @@ // detail/call_stack.hpp // ~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/chrono.hpp b/asio/include/asio/detail/chrono.hpp index 31d6c6e..733e550 100644 --- a/asio/include/asio/detail/chrono.hpp +++ b/asio/include/asio/detail/chrono.hpp @@ -2,7 +2,7 @@ // detail/chrono.hpp // ~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/chrono_time_traits.hpp b/asio/include/asio/detail/chrono_time_traits.hpp index b6236a5..553bfa4 100644 --- a/asio/include/asio/detail/chrono_time_traits.hpp +++ b/asio/include/asio/detail/chrono_time_traits.hpp @@ -2,7 +2,7 @@ // detail/chrono_time_traits.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/completion_handler.hpp b/asio/include/asio/detail/completion_handler.hpp index e510ded..46b38eb 100644 --- a/asio/include/asio/detail/completion_handler.hpp +++ b/asio/include/asio/detail/completion_handler.hpp @@ -2,7 +2,7 @@ // detail/completion_handler.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/concurrency_hint.hpp b/asio/include/asio/detail/concurrency_hint.hpp index 8a378c5..b4dbb74 100644 --- a/asio/include/asio/detail/concurrency_hint.hpp +++ b/asio/include/asio/detail/concurrency_hint.hpp @@ -2,7 +2,7 @@ // detail/concurrency_hint.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/conditionally_enabled_event.hpp b/asio/include/asio/detail/conditionally_enabled_event.hpp index 7ce806a..f2a18d3 100644 --- a/asio/include/asio/detail/conditionally_enabled_event.hpp +++ b/asio/include/asio/detail/conditionally_enabled_event.hpp @@ -2,7 +2,7 @@ // detail/conditionally_enabled_event.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/conditionally_enabled_mutex.hpp b/asio/include/asio/detail/conditionally_enabled_mutex.hpp index 39c1687..df5a78f 100644 --- a/asio/include/asio/detail/conditionally_enabled_mutex.hpp +++ b/asio/include/asio/detail/conditionally_enabled_mutex.hpp @@ -2,7 +2,7 @@ // detail/conditionally_enabled_mutex.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/config.hpp b/asio/include/asio/detail/config.hpp index 26eecfa..0c86db3 100644 --- a/asio/include/asio/detail/config.hpp +++ b/asio/include/asio/detail/config.hpp @@ -2,7 +2,7 @@ // detail/config.hpp // ~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) @@ -161,6 +161,11 @@ # endif // defined(__GXX_EXPERIMENTAL_CXX0X__) # endif // ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 4) # endif // defined(__GNUC__) +# if defined(ASIO_MSVC) +# if (_MSC_VER >= 1900) +# define ASIO_HAS_VARIADIC_TEMPLATES 1 +# endif // (_MSC_VER >= 1900) +# endif // defined(ASIO_MSVC) # endif // !defined(ASIO_DISABLE_VARIADIC_TEMPLATES) #endif // !defined(ASIO_HAS_VARIADIC_TEMPLATES) @@ -178,6 +183,11 @@ # define ASIO_DELETED = delete # endif // __has_feature(__cxx_deleted_functions__) # endif // defined(__clang__) +# if defined(ASIO_MSVC) +# if (_MSC_VER >= 1900) +# define ASIO_DELETED = delete +# endif // (_MSC_VER >= 1900) +# endif // defined(ASIO_MSVC) # if !defined(ASIO_DELETED) # define ASIO_DELETED # endif // !defined(ASIO_DELETED) @@ -198,6 +208,11 @@ # endif // defined(__GXX_EXPERIMENTAL_CXX0X__) # endif // ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 6)) || (__GNUC__ > 4) # endif // defined(__GNUC__) +# if defined(ASIO_MSVC) +# if (_MSC_VER >= 1900) +# define ASIO_HAS_CONSTEXPR 1 +# endif // (_MSC_VER >= 1900) +# endif // defined(ASIO_MSVC) # endif // !defined(ASIO_DISABLE_CONSTEXPR) #endif // !defined(ASIO_HAS_CONSTEXPR) #if !defined(ASIO_CONSTEXPR) @@ -264,6 +279,29 @@ # endif // !defined(ASIO_DISABLE_DECLTYPE) #endif // !defined(ASIO_HAS_DECLTYPE) +// Support alias templates on compilers known to allow it. +#if !defined(ASIO_HAS_ALIAS_TEMPLATES) +# if !defined(ASIO_DISABLE_ALIAS_TEMPLATES) +# if defined(__clang__) +# if __has_feature(__cxx_alias_templates__) +# define ASIO_HAS_ALIAS_TEMPLATES 1 +# endif // __has_feature(__cxx_alias_templates__) +# endif // defined(__clang__) +# if defined(__GNUC__) +# if ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7)) || (__GNUC__ > 4) +# if defined(__GXX_EXPERIMENTAL_CXX0X__) +# define ASIO_HAS_ALIAS_TEMPLATES 1 +# endif // defined(__GXX_EXPERIMENTAL_CXX0X__) +# endif // ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7)) || (__GNUC__ > 4) +# endif // defined(__GNUC__) +# if defined(ASIO_MSVC) +# if (_MSC_VER >= 1900) +# define ASIO_HAS_ALIAS_TEMPLATES 1 +# endif // (_MSC_VER >= 1900) +# endif // defined(ASIO_MSVC) +# endif // !defined(ASIO_DISABLE_ALIAS_TEMPLATES) +#endif // !defined(ASIO_HAS_ALIAS_TEMPLATES) + // Standard library support for system errors. #if !defined(ASIO_HAS_STD_SYSTEM_ERROR) # if !defined(ASIO_DISABLE_STD_SYSTEM_ERROR) @@ -405,11 +443,11 @@ # endif // (__cplusplus >= 201103) # endif // defined(__clang__) # if defined(__GNUC__) -# if ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 5)) || (__GNUC__ > 4) +# if ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7)) || (__GNUC__ > 4) # if defined(__GXX_EXPERIMENTAL_CXX0X__) # define ASIO_HAS_STD_ATOMIC 1 # endif // defined(__GXX_EXPERIMENTAL_CXX0X__) -# endif // ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 5)) || (__GNUC__ > 4) +# endif // ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7)) || (__GNUC__ > 4) # endif // defined(__GNUC__) # if defined(ASIO_MSVC) # if (_MSC_VER >= 1700) @@ -585,16 +623,16 @@ # define ASIO_HAS_CXX11_ALLOCATORS 1 # endif // (__cplusplus >= 201103) # elif defined(__GNUC__) -# if ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 6)) || (__GNUC__ > 4) +# if ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7)) || (__GNUC__ > 4) # if defined(__GXX_EXPERIMENTAL_CXX0X__) # define ASIO_HAS_CXX11_ALLOCATORS 1 # endif // defined(__GXX_EXPERIMENTAL_CXX0X__) -# endif // ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 6)) || (__GNUC__ > 4) +# endif // ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7)) || (__GNUC__ > 4) # endif // defined(__GNUC__) # if defined(ASIO_MSVC) -# if (_MSC_VER >= 1700) +# if (_MSC_VER >= 1800) # define ASIO_HAS_CXX11_ALLOCATORS 1 -# endif // (_MSC_VER >= 1700) +# endif // (_MSC_VER >= 1800) # endif // defined(ASIO_MSVC) # endif // !defined(ASIO_DISABLE_CXX11_ALLOCATORS) #endif // !defined(ASIO_HAS_CXX11_ALLOCATORS) @@ -736,24 +774,47 @@ #if !defined(ASIO_HAS_STD_STRING_VIEW) # if !defined(ASIO_DISABLE_STD_STRING_VIEW) # if defined(__clang__) -# if (__cplusplus >= 201103) +# if (__cplusplus >= 201402) # if __has_include() # define ASIO_HAS_STD_STRING_VIEW 1 # define ASIO_HAS_STD_EXPERIMENTAL_STRING_VIEW 1 # endif // __has_include() -# endif // (__cplusplus >= 201103) +# endif // (__cplusplus >= 201402) # endif // defined(__clang__) # if defined(__GNUC__) # if ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 9)) || (__GNUC__ > 4) -# if (__cplusplus >= 201300) +# if (__cplusplus >= 201402) # define ASIO_HAS_STD_STRING_VIEW 1 # define ASIO_HAS_STD_EXPERIMENTAL_STRING_VIEW 1 -# endif // (__cplusplus >= 201300) +# endif // (__cplusplus >= 201402) # endif // ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7)) || (__GNUC__ > 4) # endif // defined(__GNUC__) +# if defined(ASIO_MSVC) +# if (_MSC_VER >= 1910 && _HAS_CXX17) +# define ASIO_HAS_STD_STRING_VIEW +# endif // (_MSC_VER >= 1910) +# endif // defined(ASIO_MSVC) # endif // !defined(ASIO_DISABLE_STD_STRING_VIEW) #endif // !defined(ASIO_HAS_STD_STRING_VIEW) +// Standard library support for iostream move construction and assignment. +#if !defined(ASIO_HAS_STD_IOSTREAM_MOVE) +# if !defined(ASIO_DISABLE_STD_IOSTREAM_MOVE) +# if defined(__GNUC__) +# if (__GNUC__ > 4) +# if defined(__GXX_EXPERIMENTAL_CXX0X__) +# define ASIO_HAS_STD_IOSTREAM_MOVE 1 +# endif // defined(__GXX_EXPERIMENTAL_CXX0X__) +# endif // (__GNUC__ > 4) +# endif // defined(__GNUC__) +# if defined(ASIO_MSVC) +# if (_MSC_VER >= 1700) +# define ASIO_HAS_STD_IOSTREAM_MOVE 1 +# endif // (_MSC_VER >= 1700) +# endif // defined(ASIO_MSVC) +# endif // !defined(ASIO_DISABLE_STD_IOSTREAM_MOVE) +#endif // !defined(ASIO_HAS_STD_IOSTREAM_MOVE) + // Windows App target. Windows but with a limited API. #if !defined(ASIO_WINDOWS_APP) # if defined(_WIN32_WINNT) && (_WIN32_WINNT >= 0x0603) @@ -1279,8 +1340,16 @@ #endif // defined(ASIO_NO_DEPRECATED) // Newer gcc, clang need special treatment to suppress unused typedef warnings. -#if defined(__clang__) && (__clang_major__ >= 7) -# define ASIO_UNUSED_TYPEDEF __attribute__((__unused__)) +#if defined(__clang__) +# if defined(__apple_build_version__) +# if (__clang_major__ >= 7) +# define ASIO_UNUSED_TYPEDEF __attribute__((__unused__)) +# endif // (__clang_major__ >= 7) +# elif ((__clang_major__ == 3) && (__clang_minor__ >= 6)) \ + || (__clang_major__ > 3) +# define ASIO_UNUSED_TYPEDEF __attribute__((__unused__)) +# endif // ((__clang_major__ == 3) && (__clang_minor__ >= 6)) + // || (__clang_major__ > 3) #elif defined(__GNUC__) # if ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 8)) || (__GNUC__ > 4) # define ASIO_UNUSED_TYPEDEF __attribute__((__unused__)) diff --git a/asio/include/asio/detail/consuming_buffers.hpp b/asio/include/asio/detail/consuming_buffers.hpp index b1d6567..ccdc86b 100644 --- a/asio/include/asio/detail/consuming_buffers.hpp +++ b/asio/include/asio/detail/consuming_buffers.hpp @@ -2,7 +2,7 @@ // detail/consuming_buffers.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) @@ -26,19 +26,37 @@ namespace asio { namespace detail { +// Helper template to determine the maximum number of prepared buffers. +template +struct prepared_buffers_max +{ + enum { value = buffer_sequence_adapter_base::max_buffers }; +}; + +template +struct prepared_buffers_max > +{ + enum { value = N }; +}; + +#if defined(ASIO_HAS_STD_ARRAY) + +template +struct prepared_buffers_max > +{ + enum { value = N }; +}; + +#endif // defined(ASIO_HAS_STD_ARRAY) // A buffer sequence used to represent a subsequence of the buffers. -template +template struct prepared_buffers { typedef Buffer value_type; typedef const Buffer* const_iterator; - enum - { - max_buffers = buffer_sequence_adapter_base::max_buffers < 8 - ? buffer_sequence_adapter_base::max_buffers : 8 - }; + enum { max_buffers = MaxBuffers < 16 ? MaxBuffers : 16 }; prepared_buffers() : count(0) {} const_iterator begin() const { return elems; } @@ -53,14 +71,18 @@ template class consuming_buffers { public: + typedef prepared_buffers::value> + prepared_buffers_type; + // Construct to represent the entire list of buffers. explicit consuming_buffers(const Buffers& buffers) : buffers_(buffers), - total_size_(asio::buffer_size(buffers)), total_consumed_(0), next_elem_(0), next_elem_offset_(0) { + using asio::buffer_size; + total_size_ = buffer_size(buffers); } // Determine if we are at the end of the buffers. @@ -70,9 +92,9 @@ public: } // Get the buffer for a single transfer, with a size. - prepared_buffers prepare(std::size_t max_size) + prepared_buffers_type prepare(std::size_t max_size) { - prepared_buffers result; + prepared_buffers_type result; Buffer_Iterator next = asio::buffer_sequence_begin(buffers_); Buffer_Iterator end = asio::buffer_sequence_end(buffers_); diff --git a/asio/include/asio/detail/cstddef.hpp b/asio/include/asio/detail/cstddef.hpp index a5092ce..15cc2f8 100644 --- a/asio/include/asio/detail/cstddef.hpp +++ b/asio/include/asio/detail/cstddef.hpp @@ -2,7 +2,7 @@ // detail/cstddef.hpp // ~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/cstdint.hpp b/asio/include/asio/detail/cstdint.hpp index 2c06414..7d5bb0f 100644 --- a/asio/include/asio/detail/cstdint.hpp +++ b/asio/include/asio/detail/cstdint.hpp @@ -2,7 +2,7 @@ // detail/cstdint.hpp // ~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/date_time_fwd.hpp b/asio/include/asio/detail/date_time_fwd.hpp index 918bb7b..ce10b4b 100644 --- a/asio/include/asio/detail/date_time_fwd.hpp +++ b/asio/include/asio/detail/date_time_fwd.hpp @@ -2,7 +2,7 @@ // detail/date_time_fwd.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/deadline_timer_service.hpp b/asio/include/asio/detail/deadline_timer_service.hpp index 816f16f..de22cea 100644 --- a/asio/include/asio/detail/deadline_timer_service.hpp +++ b/asio/include/asio/detail/deadline_timer_service.hpp @@ -2,7 +2,7 @@ // detail/deadline_timer_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/dependent_type.hpp b/asio/include/asio/detail/dependent_type.hpp index a4737e2..5d82923 100644 --- a/asio/include/asio/detail/dependent_type.hpp +++ b/asio/include/asio/detail/dependent_type.hpp @@ -2,7 +2,7 @@ // detail/dependent_type.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/descriptor_ops.hpp b/asio/include/asio/detail/descriptor_ops.hpp index 677f010..2f5b0b5 100644 --- a/asio/include/asio/detail/descriptor_ops.hpp +++ b/asio/include/asio/detail/descriptor_ops.hpp @@ -2,7 +2,7 @@ // detail/descriptor_ops.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/descriptor_read_op.hpp b/asio/include/asio/detail/descriptor_read_op.hpp index f1027b0..ce7e44e 100644 --- a/asio/include/asio/detail/descriptor_read_op.hpp +++ b/asio/include/asio/detail/descriptor_read_op.hpp @@ -2,7 +2,7 @@ // detail/descriptor_read_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/descriptor_write_op.hpp b/asio/include/asio/detail/descriptor_write_op.hpp index 96d6e5b..3815251 100644 --- a/asio/include/asio/detail/descriptor_write_op.hpp +++ b/asio/include/asio/detail/descriptor_write_op.hpp @@ -2,7 +2,7 @@ // detail/descriptor_write_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/dev_poll_reactor.hpp b/asio/include/asio/detail/dev_poll_reactor.hpp index 1f59cf3..0a9a780 100644 --- a/asio/include/asio/detail/dev_poll_reactor.hpp +++ b/asio/include/asio/detail/dev_poll_reactor.hpp @@ -2,7 +2,7 @@ // detail/dev_poll_reactor.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) @@ -101,15 +101,21 @@ public: ASIO_DECL void cancel_ops(socket_type descriptor, per_descriptor_data&); // Cancel any operations that are running against the descriptor and remove - // its registration from the reactor. + // its registration from the reactor. The reactor resources associated with + // the descriptor must be released by calling cleanup_descriptor_data. ASIO_DECL void deregister_descriptor(socket_type descriptor, per_descriptor_data&, bool closing); - // Cancel any operations that are running against the descriptor and remove - // its registration from the reactor. + // Remove the descriptor's registration from the reactor. The reactor + // resources associated with the descriptor must be released by calling + // cleanup_descriptor_data. ASIO_DECL void deregister_internal_descriptor( socket_type descriptor, per_descriptor_data&); + // Perform any post-deregistration cleanup tasks associated with the + // descriptor data. + ASIO_DECL void cleanup_descriptor_data(per_descriptor_data&); + // Add a new timer queue to the reactor. template void add_timer_queue(timer_queue& queue); @@ -139,7 +145,7 @@ public: typename timer_queue::per_timer_data& source); // Run /dev/poll once until interrupted or events are ready to be dispatched. - ASIO_DECL void run(bool block, op_queue& ops); + ASIO_DECL void run(long usec, op_queue& ops); // Interrupt the select loop. ASIO_DECL void interrupt(); diff --git a/asio/include/asio/detail/epoll_reactor.hpp b/asio/include/asio/detail/epoll_reactor.hpp index ba8b2a1..be18564 100644 --- a/asio/include/asio/detail/epoll_reactor.hpp +++ b/asio/include/asio/detail/epoll_reactor.hpp @@ -2,7 +2,7 @@ // detail/epoll_reactor.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) @@ -67,6 +67,7 @@ public: ASIO_DECL descriptor_state(bool locking); void set_ready_events(uint32_t events) { task_result_ = events; } + void add_ready_events(uint32_t events) { task_result_ |= events; } ASIO_DECL operation* perform_io(uint32_t events); ASIO_DECL static void do_complete( void* owner, operation* base, @@ -127,14 +128,22 @@ public: per_descriptor_data& descriptor_data); // Cancel any operations that are running against the descriptor and remove - // its registration from the reactor. + // its registration from the reactor. The reactor resources associated with + // the descriptor must be released by calling cleanup_descriptor_data. ASIO_DECL void deregister_descriptor(socket_type descriptor, per_descriptor_data& descriptor_data, bool closing); - // Remote the descriptor's registration from the reactor. + // Remove the descriptor's registration from the reactor. The reactor + // resources associated with the descriptor must be released by calling + // cleanup_descriptor_data. ASIO_DECL void deregister_internal_descriptor( socket_type descriptor, per_descriptor_data& descriptor_data); + // Perform any post-deregistration cleanup tasks associated with the + // descriptor data. + ASIO_DECL void cleanup_descriptor_data( + per_descriptor_data& descriptor_data); + // Add a new timer queue to the reactor. template void add_timer_queue(timer_queue& timer_queue); diff --git a/asio/include/asio/detail/event.hpp b/asio/include/asio/detail/event.hpp index bb07fcd..92901e7 100644 --- a/asio/include/asio/detail/event.hpp +++ b/asio/include/asio/detail/event.hpp @@ -2,7 +2,7 @@ // detail/event.hpp // ~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/eventfd_select_interrupter.hpp b/asio/include/asio/detail/eventfd_select_interrupter.hpp index fcc8663..d6e45f0 100644 --- a/asio/include/asio/detail/eventfd_select_interrupter.hpp +++ b/asio/include/asio/detail/eventfd_select_interrupter.hpp @@ -2,7 +2,7 @@ // detail/eventfd_select_interrupter.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2008 Roelof Naude (roelof.naude at gmail dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying diff --git a/asio/include/asio/detail/executor_op.hpp b/asio/include/asio/detail/executor_op.hpp index 3145130..d9cd8ad 100644 --- a/asio/include/asio/detail/executor_op.hpp +++ b/asio/include/asio/detail/executor_op.hpp @@ -2,7 +2,7 @@ // detail/executor_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) @@ -31,11 +31,12 @@ template + executor_op(ASIO_MOVE_ARG(H) h, const Alloc& allocator) : Operation(&executor_op::do_complete), - handler_(ASIO_MOVE_CAST(Handler)(h)), + handler_(ASIO_MOVE_CAST(H)(h)), allocator_(allocator) { } @@ -46,7 +47,8 @@ public: { // Take ownership of the handler object. executor_op* o(static_cast(base)); - ptr p = { o->allocator_, o, o }; + Alloc allocator(o->allocator_); + ptr p = { detail::addressof(allocator), o, o }; ASIO_HANDLER_COMPLETION((*o)); diff --git a/asio/include/asio/detail/fd_set_adapter.hpp b/asio/include/asio/detail/fd_set_adapter.hpp index 44c4c46..cc842b2 100644 --- a/asio/include/asio/detail/fd_set_adapter.hpp +++ b/asio/include/asio/detail/fd_set_adapter.hpp @@ -2,7 +2,7 @@ // detail/fd_set_adapter.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/fenced_block.hpp b/asio/include/asio/detail/fenced_block.hpp index 6ad7dff..6db72c2 100644 --- a/asio/include/asio/detail/fenced_block.hpp +++ b/asio/include/asio/detail/fenced_block.hpp @@ -2,7 +2,7 @@ // detail/fenced_block.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/functional.hpp b/asio/include/asio/detail/functional.hpp index a72a5fc..540103d 100644 --- a/asio/include/asio/detail/functional.hpp +++ b/asio/include/asio/detail/functional.hpp @@ -2,7 +2,7 @@ // detail/functional.hpp // ~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/gcc_arm_fenced_block.hpp b/asio/include/asio/detail/gcc_arm_fenced_block.hpp index debdd3c..a134aaa 100644 --- a/asio/include/asio/detail/gcc_arm_fenced_block.hpp +++ b/asio/include/asio/detail/gcc_arm_fenced_block.hpp @@ -2,7 +2,7 @@ // detail/gcc_arm_fenced_block.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/gcc_hppa_fenced_block.hpp b/asio/include/asio/detail/gcc_hppa_fenced_block.hpp index cd41eb2..a850ac1 100644 --- a/asio/include/asio/detail/gcc_hppa_fenced_block.hpp +++ b/asio/include/asio/detail/gcc_hppa_fenced_block.hpp @@ -2,7 +2,7 @@ // detail/gcc_hppa_fenced_block.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/gcc_sync_fenced_block.hpp b/asio/include/asio/detail/gcc_sync_fenced_block.hpp index 1933099..d947096 100644 --- a/asio/include/asio/detail/gcc_sync_fenced_block.hpp +++ b/asio/include/asio/detail/gcc_sync_fenced_block.hpp @@ -2,7 +2,7 @@ // detail/gcc_sync_fenced_block.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/gcc_x86_fenced_block.hpp b/asio/include/asio/detail/gcc_x86_fenced_block.hpp index 0ec66c5..8f4c527 100644 --- a/asio/include/asio/detail/gcc_x86_fenced_block.hpp +++ b/asio/include/asio/detail/gcc_x86_fenced_block.hpp @@ -2,7 +2,7 @@ // detail/gcc_x86_fenced_block.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/global.hpp b/asio/include/asio/detail/global.hpp index 87c57a0..b937887 100644 --- a/asio/include/asio/detail/global.hpp +++ b/asio/include/asio/detail/global.hpp @@ -2,7 +2,7 @@ // detail/global.hpp // ~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/handler_alloc_helpers.hpp b/asio/include/asio/detail/handler_alloc_helpers.hpp index 861f5d4..558793d 100644 --- a/asio/include/asio/detail/handler_alloc_helpers.hpp +++ b/asio/include/asio/detail/handler_alloc_helpers.hpp @@ -2,7 +2,7 @@ // detail/handler_alloc_helpers.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) @@ -18,6 +18,7 @@ #include "asio/detail/config.hpp" #include "asio/detail/memory.hpp" #include "asio/detail/noncopyable.hpp" +#include "asio/detail/recycling_allocator.hpp" #include "asio/associated_allocator.hpp" #include "asio/handler_alloc_hook.hpp" @@ -120,17 +121,34 @@ public: Handler& handler_; }; +template +struct get_hook_allocator +{ + typedef Allocator type; + + static type get(Handler&, const Allocator& a) + { + return a; + } +}; + +template +struct get_hook_allocator > +{ + typedef hook_allocator type; + + static type get(Handler& handler, const std::allocator&) + { + return type(handler); + } +}; + } // namespace detail } // namespace asio #define ASIO_DEFINE_HANDLER_PTR(op) \ struct ptr \ { \ - typedef typename ::asio::associated_allocator >::type associated_allocator_type; \ - typedef ASIO_REBIND_ALLOC( \ - associated_allocator_type, op) allocator_type; \ Handler* h; \ op* v; \ op* p; \ @@ -140,16 +158,18 @@ public: } \ static op* allocate(Handler& handler) \ { \ - allocator_type a(::asio::associated_allocator >::get(handler, \ - ::asio::detail::hook_allocator(handler))); \ + typedef typename ::asio::associated_allocator< \ + Handler>::type associated_allocator_type; \ + typedef typename ::asio::detail::get_hook_allocator< \ + Handler, associated_allocator_type>::type hook_allocator_type; \ + ASIO_REBIND_ALLOC(hook_allocator_type, op) a( \ + ::asio::detail::get_hook_allocator< \ + Handler, associated_allocator_type>::get( \ + handler, ::asio::get_associated_allocator(handler))); \ return a.allocate(1); \ } \ void reset() \ { \ - allocator_type a(::asio::associated_allocator >::get(*h, \ - ::asio::detail::hook_allocator(*h))); \ if (p) \ { \ p->~op(); \ @@ -157,6 +177,14 @@ public: } \ if (v) \ { \ + typedef typename ::asio::associated_allocator< \ + Handler>::type associated_allocator_type; \ + typedef typename ::asio::detail::get_hook_allocator< \ + Handler, associated_allocator_type>::type hook_allocator_type; \ + ASIO_REBIND_ALLOC(hook_allocator_type, op) a( \ + ::asio::detail::get_hook_allocator< \ + Handler, associated_allocator_type>::get( \ + *h, ::asio::get_associated_allocator(*h))); \ a.deallocate(static_cast(v), 1); \ v = 0; \ } \ @@ -164,16 +192,24 @@ public: } \ /**/ -#define ASIO_DEFINE_HANDLER_ALLOCATOR_PTR(op, alloc) \ +#define ASIO_DEFINE_HANDLER_ALLOCATOR_PTR(op) \ struct ptr \ { \ - ASIO_REBIND_ALLOC(alloc, op) a; \ + const Alloc* a; \ void* v; \ op* p; \ ~ptr() \ { \ reset(); \ } \ + static op* allocate(const Alloc& a) \ + { \ + typedef typename ::asio::detail::get_recycling_allocator< \ + Alloc>::type recycling_allocator_type; \ + ASIO_REBIND_ALLOC(recycling_allocator_type, op) a1( \ + ::asio::detail::get_recycling_allocator::get(a)); \ + return a1.allocate(1); \ + } \ void reset() \ { \ if (p) \ @@ -183,7 +219,11 @@ public: } \ if (v) \ { \ - a.deallocate(static_cast(v), 1); \ + typedef typename ::asio::detail::get_recycling_allocator< \ + Alloc>::type recycling_allocator_type; \ + ASIO_REBIND_ALLOC(recycling_allocator_type, op) a1( \ + ::asio::detail::get_recycling_allocator::get(*a)); \ + a1.deallocate(static_cast(v), 1); \ v = 0; \ } \ } \ diff --git a/asio/include/asio/detail/handler_cont_helpers.hpp b/asio/include/asio/detail/handler_cont_helpers.hpp index defdf26..c57810b 100644 --- a/asio/include/asio/detail/handler_cont_helpers.hpp +++ b/asio/include/asio/detail/handler_cont_helpers.hpp @@ -2,7 +2,7 @@ // detail/handler_cont_helpers.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/handler_invoke_helpers.hpp b/asio/include/asio/detail/handler_invoke_helpers.hpp index 91325ee..4b160c3 100644 --- a/asio/include/asio/detail/handler_invoke_helpers.hpp +++ b/asio/include/asio/detail/handler_invoke_helpers.hpp @@ -2,7 +2,7 @@ // detail/handler_invoke_helpers.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/handler_tracking.hpp b/asio/include/asio/detail/handler_tracking.hpp index 6ea19a3..187db67 100644 --- a/asio/include/asio/detail/handler_tracking.hpp +++ b/asio/include/asio/detail/handler_tracking.hpp @@ -2,7 +2,7 @@ // detail/handler_tracking.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/handler_type_requirements.hpp b/asio/include/asio/detail/handler_type_requirements.hpp index 9fb1318..2bff91a 100644 --- a/asio/include/asio/detail/handler_type_requirements.hpp +++ b/asio/include/asio/detail/handler_type_requirements.hpp @@ -2,7 +2,7 @@ // detail/handler_type_requirements.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) @@ -508,6 +508,10 @@ struct handler_type_requirements handler_type, handler) \ typedef int ASIO_UNUSED_TYPEDEF +#define ASIO_MOVE_ACCEPT_HANDLER_CHECK( \ + handler_type, handler, socket_type) \ + typedef int ASIO_UNUSED_TYPEDEF + #define ASIO_CONNECT_HANDLER_CHECK( \ handler_type, handler) \ typedef int ASIO_UNUSED_TYPEDEF diff --git a/asio/include/asio/detail/handler_work.hpp b/asio/include/asio/detail/handler_work.hpp index 327c552..16a5d3a 100644 --- a/asio/include/asio/detail/handler_work.hpp +++ b/asio/include/asio/detail/handler_work.hpp @@ -2,7 +2,7 @@ // detail/handler_work.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/hash_map.hpp b/asio/include/asio/detail/hash_map.hpp index 8c52edc..3702194 100644 --- a/asio/include/asio/detail/hash_map.hpp +++ b/asio/include/asio/detail/hash_map.hpp @@ -2,7 +2,7 @@ // detail/hash_map.hpp // ~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/impl/buffer_sequence_adapter.ipp b/asio/include/asio/detail/impl/buffer_sequence_adapter.ipp index 9bf955f..a5bc28d 100644 --- a/asio/include/asio/detail/impl/buffer_sequence_adapter.ipp +++ b/asio/include/asio/detail/impl/buffer_sequence_adapter.ipp @@ -2,7 +2,7 @@ // detail/impl/buffer_sequence_adapter.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/impl/descriptor_ops.ipp b/asio/include/asio/detail/impl/descriptor_ops.ipp index 07355e8..a76477b 100644 --- a/asio/include/asio/detail/impl/descriptor_ops.ipp +++ b/asio/include/asio/detail/impl/descriptor_ops.ipp @@ -2,7 +2,7 @@ // detail/impl/descriptor_ops.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/impl/dev_poll_reactor.hpp b/asio/include/asio/detail/impl/dev_poll_reactor.hpp index f6c00a5..3bb5db2 100644 --- a/asio/include/asio/detail/impl/dev_poll_reactor.hpp +++ b/asio/include/asio/detail/impl/dev_poll_reactor.hpp @@ -2,7 +2,7 @@ // detail/impl/dev_poll_reactor.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/impl/dev_poll_reactor.ipp b/asio/include/asio/detail/impl/dev_poll_reactor.ipp index ac0cede..58d6cd7 100644 --- a/asio/include/asio/detail/impl/dev_poll_reactor.ipp +++ b/asio/include/asio/detail/impl/dev_poll_reactor.ipp @@ -2,7 +2,7 @@ // detail/impl/dev_poll_reactor.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) @@ -67,7 +67,8 @@ void dev_poll_reactor::shutdown() scheduler_.abandon_operations(ops); } -void dev_poll_reactor::notify_fork(asio::io_context::fork_event fork_ev) +void dev_poll_reactor::notify_fork( + asio::execution_context::fork_event fork_ev) { if (fork_ev == asio::execution_context::fork_child) { @@ -234,13 +235,18 @@ void dev_poll_reactor::deregister_internal_descriptor( op_queue_[i].cancel_operations(descriptor, ops, ec); } +void dev_poll_reactor::cleanup_descriptor_data( + dev_poll_reactor::per_descriptor_data&) +{ +} + void dev_poll_reactor::run(long usec, op_queue& ops) { asio::detail::mutex::scoped_lock lock(mutex_); // We can return immediately if there's no work to do and the reactor is // not supposed to block. - if (!block && op_queue_[read_op].empty() && op_queue_[write_op].empty() + if (usec == 0 && op_queue_[read_op].empty() && op_queue_[write_op].empty() && op_queue_[except_op].empty() && timer_queues_.all_empty()) return; diff --git a/asio/include/asio/detail/impl/epoll_reactor.hpp b/asio/include/asio/detail/impl/epoll_reactor.hpp index a906654..db344b6 100644 --- a/asio/include/asio/detail/impl/epoll_reactor.hpp +++ b/asio/include/asio/detail/impl/epoll_reactor.hpp @@ -2,7 +2,7 @@ // detail/impl/epoll_reactor.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/impl/epoll_reactor.ipp b/asio/include/asio/detail/impl/epoll_reactor.ipp index 9a487d4..7ffcf3f 100644 --- a/asio/include/asio/detail/impl/epoll_reactor.ipp +++ b/asio/include/asio/detail/impl/epoll_reactor.ipp @@ -2,7 +2,7 @@ // detail/impl/epoll_reactor.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) @@ -383,10 +383,16 @@ void epoll_reactor::deregister_descriptor(socket_type descriptor, context(), static_cast(descriptor), reinterpret_cast(descriptor_data))); - free_descriptor_state(descriptor_data); - descriptor_data = 0; - scheduler_.post_deferred_completions(ops); + + // Leave descriptor_data set so that it will be freed by the subsequent + // call to cleanup_descriptor_data. + } + else + { + // We are shutting down, so prevent cleanup_descriptor_data from freeing + // the descriptor_data object and let the destructor free it instead. + descriptor_data = 0; } } @@ -416,6 +422,22 @@ void epoll_reactor::deregister_internal_descriptor(socket_type descriptor, context(), static_cast(descriptor), reinterpret_cast(descriptor_data))); + // Leave descriptor_data set so that it will be freed by the subsequent + // call to cleanup_descriptor_data. + } + else + { + // We are shutting down, so prevent cleanup_descriptor_data from freeing + // the descriptor_data object and let the destructor free it instead. + descriptor_data = 0; + } +} + +void epoll_reactor::cleanup_descriptor_data( + per_descriptor_data& descriptor_data) +{ + if (descriptor_data) + { free_descriptor_state(descriptor_data); descriptor_data = 0; } @@ -462,6 +484,7 @@ void epoll_reactor::run(long usec, op_queue& ops) // Ignore. } # endif // defined(ASIO_HAS_TIMERFD) + else { unsigned event_mask = 0; if ((events[i].events & EPOLLIN) != 0) @@ -512,8 +535,15 @@ void epoll_reactor::run(long usec, op_queue& ops) // don't call work_started() here. This still allows the scheduler to // stop if the only remaining operations are descriptor operations. descriptor_state* descriptor_data = static_cast(ptr); - descriptor_data->set_ready_events(events[i].events); - ops.push(descriptor_data); + if (!ops.is_enqueued(descriptor_data)) + { + descriptor_data->set_ready_events(events[i].events); + ops.push(descriptor_data); + } + else + { + descriptor_data->add_ready_events(events[i].events); + } } } diff --git a/asio/include/asio/detail/impl/eventfd_select_interrupter.ipp b/asio/include/asio/detail/impl/eventfd_select_interrupter.ipp index 152bffd..8141145 100644 --- a/asio/include/asio/detail/impl/eventfd_select_interrupter.ipp +++ b/asio/include/asio/detail/impl/eventfd_select_interrupter.ipp @@ -2,7 +2,7 @@ // detail/impl/eventfd_select_interrupter.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2008 Roelof Naude (roelof.naude at gmail dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying diff --git a/asio/include/asio/detail/impl/handler_tracking.ipp b/asio/include/asio/detail/impl/handler_tracking.ipp index 7e628d0..b185601 100644 --- a/asio/include/asio/detail/impl/handler_tracking.ipp +++ b/asio/include/asio/detail/impl/handler_tracking.ipp @@ -2,7 +2,7 @@ // detail/impl/handler_tracking.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/impl/kqueue_reactor.hpp b/asio/include/asio/detail/impl/kqueue_reactor.hpp index eaa7a55..7e3448f 100644 --- a/asio/include/asio/detail/impl/kqueue_reactor.hpp +++ b/asio/include/asio/detail/impl/kqueue_reactor.hpp @@ -2,7 +2,7 @@ // detail/impl/kqueue_reactor.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2005 Stefan Arentz (stefan at soze dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying diff --git a/asio/include/asio/detail/impl/kqueue_reactor.ipp b/asio/include/asio/detail/impl/kqueue_reactor.ipp index 4344e50..617c44f 100644 --- a/asio/include/asio/detail/impl/kqueue_reactor.ipp +++ b/asio/include/asio/detail/impl/kqueue_reactor.ipp @@ -2,7 +2,7 @@ // detail/impl/kqueue_reactor.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2005 Stefan Arentz (stefan at soze dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying @@ -327,10 +327,16 @@ void kqueue_reactor::deregister_descriptor(socket_type descriptor, context(), static_cast(descriptor), reinterpret_cast(descriptor_data))); - free_descriptor_state(descriptor_data); - descriptor_data = 0; - scheduler_.post_deferred_completions(ops); + + // Leave descriptor_data set so that it will be freed by the subsequent + // call to cleanup_descriptor_data. + } + else + { + // We are shutting down, so prevent cleanup_descriptor_data from freeing + // the descriptor_data object and let the destructor free it instead. + descriptor_data = 0; } } @@ -364,6 +370,22 @@ void kqueue_reactor::deregister_internal_descriptor(socket_type descriptor, context(), static_cast(descriptor), reinterpret_cast(descriptor_data))); + // Leave descriptor_data set so that it will be freed by the subsequent + // call to cleanup_descriptor_data. + } + else + { + // We are shutting down, so prevent cleanup_descriptor_data from freeing + // the descriptor_data object and let the destructor free it instead. + descriptor_data = 0; + } +} + +void kqueue_reactor::cleanup_descriptor_data( + per_descriptor_data& descriptor_data) +{ + if (descriptor_data) + { free_descriptor_state(descriptor_data); descriptor_data = 0; } diff --git a/asio/include/asio/detail/impl/null_event.ipp b/asio/include/asio/detail/impl/null_event.ipp index b94f6e5..4409f44 100644 --- a/asio/include/asio/detail/impl/null_event.ipp +++ b/asio/include/asio/detail/impl/null_event.ipp @@ -2,7 +2,7 @@ // detail/impl/null_event.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/impl/pipe_select_interrupter.ipp b/asio/include/asio/detail/impl/pipe_select_interrupter.ipp index 435da01..1b3f6b8 100644 --- a/asio/include/asio/detail/impl/pipe_select_interrupter.ipp +++ b/asio/include/asio/detail/impl/pipe_select_interrupter.ipp @@ -2,7 +2,7 @@ // detail/impl/pipe_select_interrupter.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/impl/posix_event.ipp b/asio/include/asio/detail/impl/posix_event.ipp index 14de4c2..09e5754 100644 --- a/asio/include/asio/detail/impl/posix_event.ipp +++ b/asio/include/asio/detail/impl/posix_event.ipp @@ -2,7 +2,7 @@ // detail/impl/posix_event.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/impl/posix_mutex.ipp b/asio/include/asio/detail/impl/posix_mutex.ipp index c629f6b..427a8ca 100644 --- a/asio/include/asio/detail/impl/posix_mutex.ipp +++ b/asio/include/asio/detail/impl/posix_mutex.ipp @@ -2,7 +2,7 @@ // detail/impl/posix_mutex.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/impl/posix_thread.ipp b/asio/include/asio/detail/impl/posix_thread.ipp index a4eb2a8..c9861f4 100644 --- a/asio/include/asio/detail/impl/posix_thread.ipp +++ b/asio/include/asio/detail/impl/posix_thread.ipp @@ -2,7 +2,7 @@ // detail/impl/posix_thread.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/impl/posix_tss_ptr.ipp b/asio/include/asio/detail/impl/posix_tss_ptr.ipp index 4d35ebc..568fb06 100644 --- a/asio/include/asio/detail/impl/posix_tss_ptr.ipp +++ b/asio/include/asio/detail/impl/posix_tss_ptr.ipp @@ -2,7 +2,7 @@ // detail/impl/posix_tss_ptr.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/impl/reactive_descriptor_service.ipp b/asio/include/asio/detail/impl/reactive_descriptor_service.ipp index 7aaf362..8a340ed 100644 --- a/asio/include/asio/detail/impl/reactive_descriptor_service.ipp +++ b/asio/include/asio/detail/impl/reactive_descriptor_service.ipp @@ -2,7 +2,7 @@ // detail/impl/reactive_descriptor_service.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) @@ -89,10 +89,12 @@ void reactive_descriptor_service::destroy( reactor_.deregister_descriptor(impl.descriptor_, impl.reactor_data_, (impl.state_ & descriptor_ops::possible_dup) == 0); - } - asio::error_code ignored_ec; - descriptor_ops::close(impl.descriptor_, impl.state_, ignored_ec); + asio::error_code ignored_ec; + descriptor_ops::close(impl.descriptor_, impl.state_, ignored_ec); + + reactor_.cleanup_descriptor_data(impl.reactor_data_); + } } asio::error_code reactive_descriptor_service::assign( @@ -130,9 +132,15 @@ asio::error_code reactive_descriptor_service::close( reactor_.deregister_descriptor(impl.descriptor_, impl.reactor_data_, (impl.state_ & descriptor_ops::possible_dup) == 0); - } - descriptor_ops::close(impl.descriptor_, impl.state_, ec); + descriptor_ops::close(impl.descriptor_, impl.state_, ec); + + reactor_.cleanup_descriptor_data(impl.reactor_data_); + } + else + { + ec = asio::error_code(); + } // The descriptor is closed by the OS even if close() returns an error. // @@ -157,6 +165,7 @@ reactive_descriptor_service::release( "descriptor", &impl, impl.descriptor_, "release")); reactor_.deregister_descriptor(impl.descriptor_, impl.reactor_data_, false); + reactor_.cleanup_descriptor_data(impl.reactor_data_); construct(impl); } 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 7ea37a4..2456ca9 100644 --- a/asio/include/asio/detail/impl/reactive_serial_port_service.ipp +++ b/asio/include/asio/detail/impl/reactive_serial_port_service.ipp @@ -2,7 +2,7 @@ // detail/impl/reactive_serial_port_service.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2008 Rep Invariant Systems, Inc. (info@repinvariant.com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying @@ -73,7 +73,7 @@ asio::error_code reactive_serial_port_service::open( s = descriptor_ops::error_wrapper(::tcgetattr(fd, &ios), ec); if (s >= 0) { -#if defined(_BSD_SOURCE) +#if defined(_BSD_SOURCE) || defined(_DEFAULT_SOURCE) ::cfmakeraw(&ios); #else ios.c_iflag &= ~(IGNBRK | BRKINT | PARMRK 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 d258c75..890e8a2 100644 --- a/asio/include/asio/detail/impl/reactive_socket_service_base.ipp +++ b/asio/include/asio/detail/impl/reactive_socket_service_base.ipp @@ -2,7 +2,7 @@ // detail/reactive_socket_service_base.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) @@ -90,6 +90,8 @@ void reactive_socket_service_base::destroy( asio::error_code ignored_ec; socket_ops::close(impl.socket_, impl.state_, true, ignored_ec); + + reactor_.cleanup_descriptor_data(impl.reactor_data_); } } @@ -104,9 +106,15 @@ asio::error_code reactive_socket_service_base::close( reactor_.deregister_descriptor(impl.socket_, impl.reactor_data_, (impl.state_ & socket_ops::possible_dup) == 0); - } - socket_ops::close(impl.socket_, impl.state_, false, ec); + socket_ops::close(impl.socket_, impl.state_, false, ec); + + reactor_.cleanup_descriptor_data(impl.reactor_data_); + } + else + { + ec = asio::error_code(); + } // The descriptor is closed by the OS even if close() returns an error. // @@ -126,18 +134,20 @@ socket_type reactive_socket_service_base::release( asio::error_code& ec) { if (!is_open(impl)) + { + ec = asio::error::bad_descriptor; return invalid_socket; + } - cancel(impl, ec); - if (ec) - return invalid_socket; + ASIO_HANDLER_OPERATION((reactor_.context(), + "socket", &impl, impl.socket_, "release")); - reactor_.deregister_descriptor(impl.socket_, impl.reactor_data_, - (impl.state_ & socket_ops::possible_dup) == 0); - - socket_type tmp = impl.socket_; - impl.socket_ = invalid_socket; - return tmp; + reactor_.deregister_descriptor(impl.socket_, impl.reactor_data_, false); + reactor_.cleanup_descriptor_data(impl.reactor_data_); + socket_type sock = impl.socket_; + construct(impl); + ec = asio::error_code(); + return sock; } asio::error_code reactive_socket_service_base::cancel( @@ -246,7 +256,7 @@ void reactive_socket_service_base::start_accept_op( reactor_op* op, bool is_continuation, bool peer_is_open) { if (!peer_is_open) - start_op(impl, reactor::read_op, op, true, is_continuation, false); + start_op(impl, reactor::read_op, op, is_continuation, true, false); else { op->ec_ = asio::error::already_open; diff --git a/asio/include/asio/detail/impl/resolver_service_base.ipp b/asio/include/asio/detail/impl/resolver_service_base.ipp index 5899db5..0e8b217 100644 --- a/asio/include/asio/detail/impl/resolver_service_base.ipp +++ b/asio/include/asio/detail/impl/resolver_service_base.ipp @@ -2,7 +2,7 @@ // detail/impl/resolver_service_base.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/impl/scheduler.ipp b/asio/include/asio/detail/impl/scheduler.ipp index 1b20465..a5e76ac 100644 --- a/asio/include/asio/detail/impl/scheduler.ipp +++ b/asio/include/asio/detail/impl/scheduler.ipp @@ -2,7 +2,7 @@ // detail/impl/scheduler.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) @@ -89,7 +89,9 @@ scheduler::scheduler( : asio::detail::execution_context_service_base(ctx), one_thread_(concurrency_hint == 1 || !ASIO_CONCURRENCY_HINT_IS_LOCKING( - SCHEDULER, concurrency_hint)), + SCHEDULER, concurrency_hint) + || !ASIO_CONCURRENCY_HINT_IS_LOCKING( + REACTOR_IO, concurrency_hint)), mutex_(ASIO_CONCURRENCY_HINT_IS_LOCKING( SCHEDULER, concurrency_hint)), task_(0), diff --git a/asio/include/asio/detail/impl/select_reactor.hpp b/asio/include/asio/detail/impl/select_reactor.hpp index 04e17f8..6eed733 100644 --- a/asio/include/asio/detail/impl/select_reactor.hpp +++ b/asio/include/asio/detail/impl/select_reactor.hpp @@ -2,7 +2,7 @@ // detail/impl/select_reactor.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/impl/select_reactor.ipp b/asio/include/asio/detail/impl/select_reactor.ipp index dc0737b..d7b5f0a 100644 --- a/asio/include/asio/detail/impl/select_reactor.ipp +++ b/asio/include/asio/detail/impl/select_reactor.ipp @@ -2,7 +2,7 @@ // detail/impl/select_reactor.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) @@ -180,6 +180,11 @@ void select_reactor::deregister_internal_descriptor( op_queue_[i].cancel_operations(descriptor, ops); } +void select_reactor::cleanup_descriptor_data( + select_reactor::per_descriptor_data&) +{ +} + void select_reactor::run(long usec, op_queue& ops) { asio::detail::mutex::scoped_lock lock(mutex_); diff --git a/asio/include/asio/detail/impl/service_registry.hpp b/asio/include/asio/detail/impl/service_registry.hpp index 1b735e1..27b9ba2 100644 --- a/asio/include/asio/detail/impl/service_registry.hpp +++ b/asio/include/asio/detail/impl/service_registry.hpp @@ -2,7 +2,7 @@ // detail/impl/service_registry.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/impl/service_registry.ipp b/asio/include/asio/detail/impl/service_registry.ipp index ef1955f..e27c70f 100644 --- a/asio/include/asio/detail/impl/service_registry.ipp +++ b/asio/include/asio/detail/impl/service_registry.ipp @@ -2,7 +2,7 @@ // detail/impl/service_registry.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/impl/signal_set_service.ipp b/asio/include/asio/detail/impl/signal_set_service.ipp index 114a0b1..f19f8e2 100644 --- a/asio/include/asio/detail/impl/signal_set_service.ipp +++ b/asio/include/asio/detail/impl/signal_set_service.ipp @@ -2,7 +2,7 @@ // detail/impl/signal_set_service.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) @@ -189,6 +189,7 @@ void signal_set_service::notify_fork( state->fork_prepared_ = true; lock.unlock(); reactor_.deregister_internal_descriptor(read_descriptor, reactor_data_); + reactor_.cleanup_descriptor_data(reactor_data_); } break; case asio::io_context::fork_parent: @@ -558,8 +559,9 @@ void signal_set_service::remove_service(signal_set_service* service) // Disable the pipe readiness notifications. int read_descriptor = state->read_descriptor_; lock.unlock(); - service->reactor_.deregister_descriptor( - read_descriptor, service->reactor_data_, false); + service->reactor_.deregister_internal_descriptor( + read_descriptor, service->reactor_data_); + service->reactor_.cleanup_descriptor_data(service->reactor_data_); lock.lock(); #endif // !defined(ASIO_WINDOWS) // && !defined(ASIO_WINDOWS_RUNTIME) diff --git a/asio/include/asio/detail/impl/socket_ops.ipp b/asio/include/asio/detail/impl/socket_ops.ipp index 8b1680e..b3b1a0c 100644 --- a/asio/include/asio/detail/impl/socket_ops.ipp +++ b/asio/include/asio/detail/impl/socket_ops.ipp @@ -2,7 +2,7 @@ // detail/impl/socket_ops.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) @@ -241,8 +241,6 @@ bool non_blocking_accept(socket_type s, if (ec == asio::error::would_block || ec == asio::error::try_again) { - if (state & user_set_non_blocking) - return true; // Fall through to retry operation. } else if (ec == asio::error::connection_aborted) @@ -772,6 +770,8 @@ signed_size_type recv(socket_type s, buf* bufs, size_t count, ec = asio::error::connection_reset; else if (ec.value() == ERROR_PORT_UNREACHABLE) ec = asio::error::connection_refused; + else if (ec.value() == WSAEMSGSIZE || ec.value() == ERROR_MORE_DATA) + ec.assign(0, ec.category()); if (result != 0) return socket_error_retval; ec = asio::error_code(); @@ -850,6 +850,10 @@ void complete_iocp_recv(state_type state, { ec = asio::error::connection_refused; } + else if (ec.value() == WSAEMSGSIZE || ec.value() == ERROR_MORE_DATA) + { + ec.assign(0, ec.category()); + } // Check for connection closed. else if (!ec && bytes_transferred == 0 @@ -920,6 +924,8 @@ signed_size_type recvfrom(socket_type s, buf* bufs, size_t count, ec = asio::error::connection_reset; else if (ec.value() == ERROR_PORT_UNREACHABLE) ec = asio::error::connection_refused; + else if (ec.value() == WSAEMSGSIZE || ec.value() == ERROR_MORE_DATA) + ec.assign(0, ec.category()); if (result != 0) return socket_error_retval; ec = asio::error_code(); @@ -989,6 +995,10 @@ void complete_iocp_recvfrom( { ec = asio::error::connection_refused; } + else if (ec.value() == WSAEMSGSIZE || ec.value() == ERROR_MORE_DATA) + { + ec.assign(0, ec.category()); + } } #else // defined(ASIO_HAS_IOCP) @@ -1102,6 +1112,10 @@ void complete_iocp_recvmsg( { ec = asio::error::connection_refused; } + else if (ec.value() == WSAEMSGSIZE || ec.value() == ERROR_MORE_DATA) + { + ec.assign(0, ec.category()); + } } #else // defined(ASIO_HAS_IOCP) @@ -3435,7 +3449,6 @@ asio::error_code getnameinfo(const socket_addr_type* addr, using namespace std; // For memcpy. sockaddr_storage_type tmp_addr; memcpy(&tmp_addr, addr, addrlen); - tmp_addr.ss_len = addrlen; addr = reinterpret_cast(&tmp_addr); clear_last_error(); return getnameinfo_emulation(addr, addrlen, diff --git a/asio/include/asio/detail/impl/socket_select_interrupter.ipp b/asio/include/asio/detail/impl/socket_select_interrupter.ipp index 2f4d377..b15b8f4 100644 --- a/asio/include/asio/detail/impl/socket_select_interrupter.ipp +++ b/asio/include/asio/detail/impl/socket_select_interrupter.ipp @@ -2,7 +2,7 @@ // detail/impl/socket_select_interrupter.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/impl/strand_executor_service.hpp b/asio/include/asio/detail/impl/strand_executor_service.hpp index fedea1c..2fad849 100644 --- a/asio/include/asio/detail/impl/strand_executor_service.hpp +++ b/asio/include/asio/detail/impl/strand_executor_service.hpp @@ -2,7 +2,7 @@ // detail/impl/strand_executor_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) @@ -99,27 +99,23 @@ template void strand_executor_service::dispatch(const implementation_type& impl, Executor& ex, ASIO_MOVE_ARG(Function) function, const Allocator& a) { - // Make a local, non-const copy of the function. typedef typename decay::type function_type; - function_type tmp(ASIO_MOVE_CAST(Function)(function)); // If we are already in the strand then the function can run immediately. if (call_stack::contains(impl.get())) { + // Make a local, non-const copy of the function. + function_type tmp(ASIO_MOVE_CAST(Function)(function)); + fenced_block b(fenced_block::full); asio_handler_invoke_helpers::invoke(tmp, tmp); return; } - // Construct an allocator to be used for the operation. - typedef typename detail::get_recycling_allocator::type alloc_type; - alloc_type allocator(detail::get_recycling_allocator::get(a)); - // Allocate and construct an operation to wrap the function. - typedef executor_op op; - typename op::ptr p = { allocator, 0, 0 }; - p.v = p.a.allocate(1); - p.p = new (p.v) op(tmp, allocator); + typedef executor_op op; + typename op::ptr p = { detail::addressof(a), op::ptr::allocate(a), 0 }; + p.p = new (p.v) op(ASIO_MOVE_CAST(Function)(function), a); ASIO_HANDLER_CREATION((impl->service_->context(), *p.p, "strand_executor", impl.get(), 0, "dispatch")); @@ -128,7 +124,7 @@ void strand_executor_service::dispatch(const implementation_type& impl, bool first = enqueue(impl, p.p); p.v = p.p = 0; if (first) - ex.dispatch(invoker(impl, ex), allocator); + ex.dispatch(invoker(impl, ex), a); } // Request invocation of the given function and return immediately. @@ -136,19 +132,12 @@ template void strand_executor_service::post(const implementation_type& impl, Executor& ex, ASIO_MOVE_ARG(Function) function, const Allocator& a) { - // Make a local, non-const copy of the function. typedef typename decay::type function_type; - function_type tmp(ASIO_MOVE_CAST(Function)(function)); - - // Construct an allocator to be used for the operation. - typedef typename detail::get_recycling_allocator::type alloc_type; - alloc_type allocator(detail::get_recycling_allocator::get(a)); // Allocate and construct an operation to wrap the function. - typedef executor_op op; - typename op::ptr p = { allocator, 0, 0 }; - p.v = p.a.allocate(1); - p.p = new (p.v) op(tmp, allocator); + typedef executor_op op; + typename op::ptr p = { detail::addressof(a), op::ptr::allocate(a), 0 }; + p.p = new (p.v) op(ASIO_MOVE_CAST(Function)(function), a); ASIO_HANDLER_CREATION((impl->service_->context(), *p.p, "strand_executor", impl.get(), 0, "post")); @@ -157,7 +146,7 @@ void strand_executor_service::post(const implementation_type& impl, bool first = enqueue(impl, p.p); p.v = p.p = 0; if (first) - ex.post(invoker(impl, ex), allocator); + ex.post(invoker(impl, ex), a); } // Request invocation of the given function and return immediately. @@ -165,19 +154,12 @@ template void strand_executor_service::defer(const implementation_type& impl, Executor& ex, ASIO_MOVE_ARG(Function) function, const Allocator& a) { - // Make a local, non-const copy of the function. typedef typename decay::type function_type; - function_type tmp(ASIO_MOVE_CAST(Function)(function)); - - // Construct an allocator to be used for the operation. - typedef typename detail::get_recycling_allocator::type alloc_type; - alloc_type allocator(detail::get_recycling_allocator::get(a)); // Allocate and construct an operation to wrap the function. - typedef executor_op op; - typename op::ptr p = { allocator, 0, 0 }; - p.v = p.a.allocate(1); - p.p = new (p.v) op(tmp, allocator); + typedef executor_op op; + typename op::ptr p = { detail::addressof(a), op::ptr::allocate(a), 0 }; + p.p = new (p.v) op(ASIO_MOVE_CAST(Function)(function), a); ASIO_HANDLER_CREATION((impl->service_->context(), *p.p, "strand_executor", impl.get(), 0, "defer")); @@ -186,7 +168,7 @@ void strand_executor_service::defer(const implementation_type& impl, bool first = enqueue(impl, p.p); p.v = p.p = 0; if (first) - ex.defer(invoker(impl, ex), allocator); + ex.defer(invoker(impl, ex), a); } } // namespace detail diff --git a/asio/include/asio/detail/impl/strand_executor_service.ipp b/asio/include/asio/detail/impl/strand_executor_service.ipp index 3baadcb..91f80d7 100644 --- a/asio/include/asio/detail/impl/strand_executor_service.ipp +++ b/asio/include/asio/detail/impl/strand_executor_service.ipp @@ -2,7 +2,7 @@ // detail/impl/strand_executor_service.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/impl/strand_service.hpp b/asio/include/asio/detail/impl/strand_service.hpp index 00b88a4..dfeeaf5 100644 --- a/asio/include/asio/detail/impl/strand_service.hpp +++ b/asio/include/asio/detail/impl/strand_service.hpp @@ -2,7 +2,7 @@ // detail/impl/strand_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/impl/strand_service.ipp b/asio/include/asio/detail/impl/strand_service.ipp index 16946dc..5b6e8ee 100644 --- a/asio/include/asio/detail/impl/strand_service.ipp +++ b/asio/include/asio/detail/impl/strand_service.ipp @@ -2,7 +2,7 @@ // detail/impl/strand_service.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/impl/throw_error.ipp b/asio/include/asio/detail/impl/throw_error.ipp index d59eca2..67ca630 100644 --- a/asio/include/asio/detail/impl/throw_error.ipp +++ b/asio/include/asio/detail/impl/throw_error.ipp @@ -2,7 +2,7 @@ // detail/impl/throw_error.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/impl/timer_queue_ptime.ipp b/asio/include/asio/detail/impl/timer_queue_ptime.ipp index 10c4295..2a809f4 100644 --- a/asio/include/asio/detail/impl/timer_queue_ptime.ipp +++ b/asio/include/asio/detail/impl/timer_queue_ptime.ipp @@ -2,7 +2,7 @@ // detail/impl/timer_queue_ptime.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/impl/timer_queue_set.ipp b/asio/include/asio/detail/impl/timer_queue_set.ipp index a683182..fb7a913 100644 --- a/asio/include/asio/detail/impl/timer_queue_set.ipp +++ b/asio/include/asio/detail/impl/timer_queue_set.ipp @@ -2,7 +2,7 @@ // detail/impl/timer_queue_set.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/impl/win_event.ipp b/asio/include/asio/detail/impl/win_event.ipp index e3d77e6..3e4edaa 100644 --- a/asio/include/asio/detail/impl/win_event.ipp +++ b/asio/include/asio/detail/impl/win_event.ipp @@ -2,7 +2,7 @@ // detail/win_event.ipp // ~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) @@ -32,7 +32,8 @@ win_event::win_event() : state_(0) { #if defined(ASIO_WINDOWS_APP) - events_[0] = ::CreateEventExW(0, 0, CREATE_EVENT_MANUAL_RESET, 0); + events_[0] = ::CreateEventExW(0, 0, + CREATE_EVENT_MANUAL_RESET, EVENT_ALL_ACCESS); #else // defined(ASIO_WINDOWS_APP) events_[0] = ::CreateEventW(0, true, false, 0); #endif // defined(ASIO_WINDOWS_APP) @@ -45,7 +46,7 @@ win_event::win_event() } #if defined(ASIO_WINDOWS_APP) - events_[1] = ::CreateEventExW(0, 0, 0, 0); + events_[1] = ::CreateEventExW(0, 0, 0, EVENT_ALL_ACCESS); #else // defined(ASIO_WINDOWS_APP) events_[1] = ::CreateEventW(0, false, false, 0); #endif // defined(ASIO_WINDOWS_APP) 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 7e6fcb9..b5bcc4c 100644 --- a/asio/include/asio/detail/impl/win_iocp_handle_service.ipp +++ b/asio/include/asio/detail/impl/win_iocp_handle_service.ipp @@ -2,7 +2,7 @@ // detail/impl/win_iocp_handle_service.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2008 Rep Invariant Systems, Inc. (info@repinvariant.com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying diff --git a/asio/include/asio/detail/impl/win_iocp_io_context.hpp b/asio/include/asio/detail/impl/win_iocp_io_context.hpp index 4d1d75a..9a61eb3 100644 --- a/asio/include/asio/detail/impl/win_iocp_io_context.hpp +++ b/asio/include/asio/detail/impl/win_iocp_io_context.hpp @@ -2,7 +2,7 @@ // detail/impl/win_iocp_io_context.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/impl/win_iocp_io_context.ipp b/asio/include/asio/detail/impl/win_iocp_io_context.ipp index d4a1638..f9de261 100644 --- a/asio/include/asio/detail/impl/win_iocp_io_context.ipp +++ b/asio/include/asio/detail/impl/win_iocp_io_context.ipp @@ -2,7 +2,7 @@ // detail/impl/win_iocp_io_context.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) 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 d84f4b2..9f18a09 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 @@ -2,7 +2,7 @@ // detail/impl/win_iocp_serial_port_service.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2008 Rep Invariant Systems, Inc. (info@repinvariant.com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying 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 37e41ec..5b64d64 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 @@ -2,7 +2,7 @@ // detail/impl/win_iocp_socket_service_base.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) @@ -45,7 +45,6 @@ void win_iocp_socket_service_base::base_shutdown() base_implementation_type* impl = impl_list_; while (impl) { - asio::error_code ignored_ec; close_for_destruction(*impl); impl = impl->next_; } @@ -178,9 +177,16 @@ asio::error_code win_iocp_socket_service_base::close( reinterpret_cast(&reactor_), 0, 0)); if (r) r->deregister_descriptor(impl.socket_, impl.reactor_data_, true); - } - socket_ops::close(impl.socket_, impl.state_, false, ec); + socket_ops::close(impl.socket_, impl.state_, false, ec); + + if (r) + r->cleanup_descriptor_data(impl.reactor_data_); + } + else + { + ec = asio::error_code(); + } impl.socket_ = invalid_socket; impl.state_ = 0; @@ -665,10 +671,14 @@ void win_iocp_socket_service_base::close_for_destruction( reinterpret_cast(&reactor_), 0, 0)); if (r) r->deregister_descriptor(impl.socket_, impl.reactor_data_, true); + + asio::error_code ignored_ec; + socket_ops::close(impl.socket_, impl.state_, true, ignored_ec); + + if (r) + r->cleanup_descriptor_data(impl.reactor_data_); } - asio::error_code ignored_ec; - socket_ops::close(impl.socket_, impl.state_, true, ignored_ec); impl.socket_ = invalid_socket; impl.state_ = 0; impl.cancel_token_.reset(); @@ -744,7 +754,7 @@ win_iocp_socket_service_base::get_nt_set_info() void* ptr = interlocked_compare_exchange_pointer(&nt_set_info_, 0, 0); if (!ptr) { - if (HMODULE h = GetModuleHandle("NTDLL.DLL")) + if (HMODULE h = ::GetModuleHandleA("NTDLL.DLL")) ptr = reinterpret_cast(GetProcAddress(h, "NtSetInformationFile")); // On failure, set nt_set_info_ to a special value to indicate that the diff --git a/asio/include/asio/detail/impl/win_mutex.ipp b/asio/include/asio/detail/impl/win_mutex.ipp index 61198b5..faa521d 100644 --- a/asio/include/asio/detail/impl/win_mutex.ipp +++ b/asio/include/asio/detail/impl/win_mutex.ipp @@ -2,7 +2,7 @@ // detail/impl/win_mutex.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) 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 9b3da7f..0452c8a 100644 --- a/asio/include/asio/detail/impl/win_object_handle_service.ipp +++ b/asio/include/asio/detail/impl/win_object_handle_service.ipp @@ -2,7 +2,7 @@ // detail/impl/win_object_handle_service.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2011 Boris Schaeling (boris@highscore.de) // // Distributed under the Boost Software License, Version 1.0. (See accompanying diff --git a/asio/include/asio/detail/impl/win_static_mutex.ipp b/asio/include/asio/detail/impl/win_static_mutex.ipp index bf264a9..df51f37 100644 --- a/asio/include/asio/detail/impl/win_static_mutex.ipp +++ b/asio/include/asio/detail/impl/win_static_mutex.ipp @@ -2,7 +2,7 @@ // detail/impl/win_static_mutex.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/impl/win_thread.ipp b/asio/include/asio/detail/impl/win_thread.ipp index 4269e6b..20266f0 100644 --- a/asio/include/asio/detail/impl/win_thread.ipp +++ b/asio/include/asio/detail/impl/win_thread.ipp @@ -2,7 +2,7 @@ // detail/impl/win_thread.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/impl/win_tss_ptr.ipp b/asio/include/asio/detail/impl/win_tss_ptr.ipp index 75a436c..16e25d3 100644 --- a/asio/include/asio/detail/impl/win_tss_ptr.ipp +++ b/asio/include/asio/detail/impl/win_tss_ptr.ipp @@ -2,7 +2,7 @@ // detail/impl/win_tss_ptr.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) @@ -31,9 +31,9 @@ namespace detail { DWORD win_tss_ptr_create() { #if defined(UNDER_CE) - enum { out_of_indexes = 0xFFFFFFFF }; + const DWORD out_of_indexes = 0xFFFFFFFF; #else - enum { out_of_indexes = TLS_OUT_OF_INDEXES }; + const DWORD out_of_indexes = TLS_OUT_OF_INDEXES; #endif DWORD tss_key = ::TlsAlloc(); 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 46a5439..ea815f1 100644 --- a/asio/include/asio/detail/impl/winrt_ssocket_service_base.ipp +++ b/asio/include/asio/detail/impl/winrt_ssocket_service_base.ipp @@ -2,7 +2,7 @@ // detail/impl/winrt_ssocket_service_base.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/impl/winrt_timer_scheduler.hpp b/asio/include/asio/detail/impl/winrt_timer_scheduler.hpp index e844731..47fd77c 100644 --- a/asio/include/asio/detail/impl/winrt_timer_scheduler.hpp +++ b/asio/include/asio/detail/impl/winrt_timer_scheduler.hpp @@ -2,7 +2,7 @@ // detail/impl/winrt_timer_scheduler.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/impl/winrt_timer_scheduler.ipp b/asio/include/asio/detail/impl/winrt_timer_scheduler.ipp index 2bc92b7..d0b06b0 100644 --- a/asio/include/asio/detail/impl/winrt_timer_scheduler.ipp +++ b/asio/include/asio/detail/impl/winrt_timer_scheduler.ipp @@ -2,7 +2,7 @@ // detail/impl/winrt_timer_scheduler.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/impl/winsock_init.ipp b/asio/include/asio/detail/impl/winsock_init.ipp index 094b58b..ea34038 100644 --- a/asio/include/asio/detail/impl/winsock_init.ipp +++ b/asio/include/asio/detail/impl/winsock_init.ipp @@ -2,7 +2,7 @@ // detail/impl/winsock_init.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/io_control.hpp b/asio/include/asio/detail/io_control.hpp index 81b3d49..6d9fa2d 100644 --- a/asio/include/asio/detail/io_control.hpp +++ b/asio/include/asio/detail/io_control.hpp @@ -2,7 +2,7 @@ // detail/io_control.hpp // ~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/is_buffer_sequence.hpp b/asio/include/asio/detail/is_buffer_sequence.hpp index 95f29c5..bd6d7c1 100644 --- a/asio/include/asio/detail/is_buffer_sequence.hpp +++ b/asio/include/asio/detail/is_buffer_sequence.hpp @@ -2,7 +2,7 @@ // detail/is_buffer_sequence.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/is_executor.hpp b/asio/include/asio/detail/is_executor.hpp index ec0ee00..a1c5a53 100644 --- a/asio/include/asio/detail/is_executor.hpp +++ b/asio/include/asio/detail/is_executor.hpp @@ -2,7 +2,7 @@ // detail/is_executor.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/keyword_tss_ptr.hpp b/asio/include/asio/detail/keyword_tss_ptr.hpp index c1f9b93..a8372a7 100644 --- a/asio/include/asio/detail/keyword_tss_ptr.hpp +++ b/asio/include/asio/detail/keyword_tss_ptr.hpp @@ -2,7 +2,7 @@ // detail/keyword_tss_ptr.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/kqueue_reactor.hpp b/asio/include/asio/detail/kqueue_reactor.hpp index 8d1c667..3596a80 100644 --- a/asio/include/asio/detail/kqueue_reactor.hpp +++ b/asio/include/asio/detail/kqueue_reactor.hpp @@ -2,7 +2,7 @@ // detail/kqueue_reactor.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2005 Stefan Arentz (stefan at soze dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying @@ -132,14 +132,22 @@ public: per_descriptor_data& descriptor_data); // Cancel any operations that are running against the descriptor and remove - // its registration from the reactor. + // its registration from the reactor. The reactor resources associated with + // the descriptor must be released by calling cleanup_descriptor_data. ASIO_DECL void deregister_descriptor(socket_type descriptor, per_descriptor_data& descriptor_data, bool closing); - // Remote the descriptor's registration from the reactor. + // Remove the descriptor's registration from the reactor. The reactor + // resources associated with the descriptor must be released by calling + // cleanup_descriptor_data. ASIO_DECL void deregister_internal_descriptor( socket_type descriptor, per_descriptor_data& descriptor_data); + // Perform any post-deregistration cleanup tasks associated with the + // descriptor data. + ASIO_DECL void cleanup_descriptor_data( + per_descriptor_data& descriptor_data); + // Add a new timer queue to the reactor. template void add_timer_queue(timer_queue& queue); diff --git a/asio/include/asio/detail/local_free_on_block_exit.hpp b/asio/include/asio/detail/local_free_on_block_exit.hpp index a0ea47c..0ab6453 100644 --- a/asio/include/asio/detail/local_free_on_block_exit.hpp +++ b/asio/include/asio/detail/local_free_on_block_exit.hpp @@ -2,7 +2,7 @@ // detail/local_free_on_block_exit.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/macos_fenced_block.hpp b/asio/include/asio/detail/macos_fenced_block.hpp index e44b900..584dcbe 100644 --- a/asio/include/asio/detail/macos_fenced_block.hpp +++ b/asio/include/asio/detail/macos_fenced_block.hpp @@ -2,7 +2,7 @@ // detail/macos_fenced_block.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/memory.hpp b/asio/include/asio/detail/memory.hpp index 04bad7e..64fc5d0 100644 --- a/asio/include/asio/detail/memory.hpp +++ b/asio/include/asio/detail/memory.hpp @@ -2,7 +2,7 @@ // detail/memory.hpp // ~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/mutex.hpp b/asio/include/asio/detail/mutex.hpp index 9821e81..e1fae1c 100644 --- a/asio/include/asio/detail/mutex.hpp +++ b/asio/include/asio/detail/mutex.hpp @@ -2,7 +2,7 @@ // detail/mutex.hpp // ~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/noncopyable.hpp b/asio/include/asio/detail/noncopyable.hpp index 31f646a..18ed35b 100644 --- a/asio/include/asio/detail/noncopyable.hpp +++ b/asio/include/asio/detail/noncopyable.hpp @@ -2,7 +2,7 @@ // detail/noncopyable.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/null_event.hpp b/asio/include/asio/detail/null_event.hpp index 465a701..0bd107d 100644 --- a/asio/include/asio/detail/null_event.hpp +++ b/asio/include/asio/detail/null_event.hpp @@ -2,7 +2,7 @@ // detail/null_event.hpp // ~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/null_fenced_block.hpp b/asio/include/asio/detail/null_fenced_block.hpp index 2ec3554..3c38fd5 100644 --- a/asio/include/asio/detail/null_fenced_block.hpp +++ b/asio/include/asio/detail/null_fenced_block.hpp @@ -2,7 +2,7 @@ // detail/null_fenced_block.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/null_global.hpp b/asio/include/asio/detail/null_global.hpp index 7d3c0df..9126201 100644 --- a/asio/include/asio/detail/null_global.hpp +++ b/asio/include/asio/detail/null_global.hpp @@ -2,7 +2,7 @@ // detail/null_global.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/null_mutex.hpp b/asio/include/asio/detail/null_mutex.hpp index 582ab1d..fde34a6 100644 --- a/asio/include/asio/detail/null_mutex.hpp +++ b/asio/include/asio/detail/null_mutex.hpp @@ -2,7 +2,7 @@ // detail/null_mutex.hpp // ~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/null_reactor.hpp b/asio/include/asio/detail/null_reactor.hpp index 3b6f1d4..79f015b 100644 --- a/asio/include/asio/detail/null_reactor.hpp +++ b/asio/include/asio/detail/null_reactor.hpp @@ -2,7 +2,7 @@ // detail/null_reactor.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/null_signal_blocker.hpp b/asio/include/asio/detail/null_signal_blocker.hpp index 9992bd6..5954743 100644 --- a/asio/include/asio/detail/null_signal_blocker.hpp +++ b/asio/include/asio/detail/null_signal_blocker.hpp @@ -2,7 +2,7 @@ // detail/null_signal_blocker.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/null_socket_service.hpp b/asio/include/asio/detail/null_socket_service.hpp index 946b90f..ef814ef 100644 --- a/asio/include/asio/detail/null_socket_service.hpp +++ b/asio/include/asio/detail/null_socket_service.hpp @@ -2,7 +2,7 @@ // detail/null_socket_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/null_static_mutex.hpp b/asio/include/asio/detail/null_static_mutex.hpp index ee30120..376ab6c 100644 --- a/asio/include/asio/detail/null_static_mutex.hpp +++ b/asio/include/asio/detail/null_static_mutex.hpp @@ -2,7 +2,7 @@ // detail/null_static_mutex.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/null_thread.hpp b/asio/include/asio/detail/null_thread.hpp index eb1753f..8152604 100644 --- a/asio/include/asio/detail/null_thread.hpp +++ b/asio/include/asio/detail/null_thread.hpp @@ -2,7 +2,7 @@ // detail/null_thread.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/null_tss_ptr.hpp b/asio/include/asio/detail/null_tss_ptr.hpp index 5277ee5..3819376 100644 --- a/asio/include/asio/detail/null_tss_ptr.hpp +++ b/asio/include/asio/detail/null_tss_ptr.hpp @@ -2,7 +2,7 @@ // detail/null_tss_ptr.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/object_pool.hpp b/asio/include/asio/detail/object_pool.hpp index 82a6dd7..34542ed 100644 --- a/asio/include/asio/detail/object_pool.hpp +++ b/asio/include/asio/detail/object_pool.hpp @@ -2,7 +2,7 @@ // detail/object_pool.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/old_win_sdk_compat.hpp b/asio/include/asio/detail/old_win_sdk_compat.hpp index 9b34816..90010e9 100644 --- a/asio/include/asio/detail/old_win_sdk_compat.hpp +++ b/asio/include/asio/detail/old_win_sdk_compat.hpp @@ -2,7 +2,7 @@ // detail/old_win_sdk_compat.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/op_queue.hpp b/asio/include/asio/detail/op_queue.hpp index 1ab4046..7f48f5b 100644 --- a/asio/include/asio/detail/op_queue.hpp +++ b/asio/include/asio/detail/op_queue.hpp @@ -2,7 +2,7 @@ // detail/op_queue.hpp // ~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) @@ -138,6 +138,12 @@ public: return front_ == 0; } + // Test whether an operation is already enqueued. + bool is_enqueued(Operation* o) const + { + return op_queue_access::next(o) != 0 || back_ == o; + } + private: friend class op_queue_access; diff --git a/asio/include/asio/detail/operation.hpp b/asio/include/asio/detail/operation.hpp index 72144d6..6514d9a 100644 --- a/asio/include/asio/detail/operation.hpp +++ b/asio/include/asio/detail/operation.hpp @@ -2,7 +2,7 @@ // detail/operation.hpp // ~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/pipe_select_interrupter.hpp b/asio/include/asio/detail/pipe_select_interrupter.hpp index b339def..1f57fc0 100644 --- a/asio/include/asio/detail/pipe_select_interrupter.hpp +++ b/asio/include/asio/detail/pipe_select_interrupter.hpp @@ -2,7 +2,7 @@ // detail/pipe_select_interrupter.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/pop_options.hpp b/asio/include/asio/detail/pop_options.hpp index 880121f..2cf2b6c 100644 --- a/asio/include/asio/detail/pop_options.hpp +++ b/asio/include/asio/detail/pop_options.hpp @@ -2,7 +2,7 @@ // detail/pop_options.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) @@ -67,6 +67,10 @@ # pragma GCC visibility pop # endif // (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4) +# if (__GNUC__ >= 7) +# pragma GCC diagnostic pop +# endif // (__GNUC__ >= 7) + #elif defined(__KCC) // Kai C++ diff --git a/asio/include/asio/detail/posix_event.hpp b/asio/include/asio/detail/posix_event.hpp index f639b93..57acc6d 100644 --- a/asio/include/asio/detail/posix_event.hpp +++ b/asio/include/asio/detail/posix_event.hpp @@ -2,7 +2,7 @@ // detail/posix_event.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/posix_fd_set_adapter.hpp b/asio/include/asio/detail/posix_fd_set_adapter.hpp index 5ab9c8e..9c246df 100644 --- a/asio/include/asio/detail/posix_fd_set_adapter.hpp +++ b/asio/include/asio/detail/posix_fd_set_adapter.hpp @@ -2,7 +2,7 @@ // detail/posix_fd_set_adapter.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/posix_global.hpp b/asio/include/asio/detail/posix_global.hpp index bb9373b..152c7c9 100644 --- a/asio/include/asio/detail/posix_global.hpp +++ b/asio/include/asio/detail/posix_global.hpp @@ -2,7 +2,7 @@ // detail/posix_global.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/posix_mutex.hpp b/asio/include/asio/detail/posix_mutex.hpp index 08b220b..cf49731 100644 --- a/asio/include/asio/detail/posix_mutex.hpp +++ b/asio/include/asio/detail/posix_mutex.hpp @@ -2,7 +2,7 @@ // detail/posix_mutex.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/posix_signal_blocker.hpp b/asio/include/asio/detail/posix_signal_blocker.hpp index dc476fd..100a05d 100644 --- a/asio/include/asio/detail/posix_signal_blocker.hpp +++ b/asio/include/asio/detail/posix_signal_blocker.hpp @@ -2,7 +2,7 @@ // detail/posix_signal_blocker.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/posix_static_mutex.hpp b/asio/include/asio/detail/posix_static_mutex.hpp index e65d09a..4d31663 100644 --- a/asio/include/asio/detail/posix_static_mutex.hpp +++ b/asio/include/asio/detail/posix_static_mutex.hpp @@ -2,7 +2,7 @@ // detail/posix_static_mutex.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/posix_thread.hpp b/asio/include/asio/detail/posix_thread.hpp index a07d5b3..fba2a2d 100644 --- a/asio/include/asio/detail/posix_thread.hpp +++ b/asio/include/asio/detail/posix_thread.hpp @@ -2,7 +2,7 @@ // detail/posix_thread.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/posix_tss_ptr.hpp b/asio/include/asio/detail/posix_tss_ptr.hpp index a677d15..3fce2c6 100644 --- a/asio/include/asio/detail/posix_tss_ptr.hpp +++ b/asio/include/asio/detail/posix_tss_ptr.hpp @@ -2,7 +2,7 @@ // detail/posix_tss_ptr.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/push_options.hpp b/asio/include/asio/detail/push_options.hpp index 384bab1..a1c811f 100644 --- a/asio/include/asio/detail/push_options.hpp +++ b/asio/include/asio/detail/push_options.hpp @@ -2,7 +2,7 @@ // detail/push_options.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) @@ -71,6 +71,11 @@ # pragma GCC visibility push (default) # endif // (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4) +# if (__GNUC__ >= 7) +# pragma GCC diagnostic push +# pragma GCC diagnostic ignored "-Wimplicit-fallthrough" +# endif // (__GNUC__ >= 7) + #elif defined(__KCC) // Kai C++ diff --git a/asio/include/asio/detail/reactive_descriptor_service.hpp b/asio/include/asio/detail/reactive_descriptor_service.hpp index 42bc3df..b0b53ee 100644 --- a/asio/include/asio/detail/reactive_descriptor_service.hpp +++ b/asio/include/asio/detail/reactive_descriptor_service.hpp @@ -2,7 +2,7 @@ // detail/reactive_descriptor_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/reactive_null_buffers_op.hpp b/asio/include/asio/detail/reactive_null_buffers_op.hpp index 504e4f6..178a01b 100644 --- a/asio/include/asio/detail/reactive_null_buffers_op.hpp +++ b/asio/include/asio/detail/reactive_null_buffers_op.hpp @@ -2,7 +2,7 @@ // detail/reactive_null_buffers_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/reactive_serial_port_service.hpp b/asio/include/asio/detail/reactive_serial_port_service.hpp index 986e87b..8709595 100644 --- a/asio/include/asio/detail/reactive_serial_port_service.hpp +++ b/asio/include/asio/detail/reactive_serial_port_service.hpp @@ -2,7 +2,7 @@ // detail/reactive_serial_port_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2008 Rep Invariant Systems, Inc. (info@repinvariant.com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying diff --git a/asio/include/asio/detail/reactive_socket_accept_op.hpp b/asio/include/asio/detail/reactive_socket_accept_op.hpp index 11b81d5..da8f0ef 100644 --- a/asio/include/asio/detail/reactive_socket_accept_op.hpp +++ b/asio/include/asio/detail/reactive_socket_accept_op.hpp @@ -2,7 +2,7 @@ // detail/reactive_socket_accept_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/reactive_socket_connect_op.hpp b/asio/include/asio/detail/reactive_socket_connect_op.hpp index 428db3f..4289bd9 100644 --- a/asio/include/asio/detail/reactive_socket_connect_op.hpp +++ b/asio/include/asio/detail/reactive_socket_connect_op.hpp @@ -2,7 +2,7 @@ // detail/reactive_socket_connect_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/reactive_socket_recv_op.hpp b/asio/include/asio/detail/reactive_socket_recv_op.hpp index cb19a9d..f646e7c 100644 --- a/asio/include/asio/detail/reactive_socket_recv_op.hpp +++ b/asio/include/asio/detail/reactive_socket_recv_op.hpp @@ -2,7 +2,7 @@ // detail/reactive_socket_recv_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/reactive_socket_recvfrom_op.hpp b/asio/include/asio/detail/reactive_socket_recvfrom_op.hpp index 309a032..e0ed177 100644 --- a/asio/include/asio/detail/reactive_socket_recvfrom_op.hpp +++ b/asio/include/asio/detail/reactive_socket_recvfrom_op.hpp @@ -2,7 +2,7 @@ // detail/reactive_socket_recvfrom_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/reactive_socket_recvmsg_op.hpp b/asio/include/asio/detail/reactive_socket_recvmsg_op.hpp index e0c801f..4f9370b 100644 --- a/asio/include/asio/detail/reactive_socket_recvmsg_op.hpp +++ b/asio/include/asio/detail/reactive_socket_recvmsg_op.hpp @@ -2,7 +2,7 @@ // detail/reactive_socket_recvmsg_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/reactive_socket_send_op.hpp b/asio/include/asio/detail/reactive_socket_send_op.hpp index 708e8ea..88092cd 100644 --- a/asio/include/asio/detail/reactive_socket_send_op.hpp +++ b/asio/include/asio/detail/reactive_socket_send_op.hpp @@ -2,7 +2,7 @@ // detail/reactive_socket_send_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/reactive_socket_sendto_op.hpp b/asio/include/asio/detail/reactive_socket_sendto_op.hpp index cab8f88..fdb9b64 100644 --- a/asio/include/asio/detail/reactive_socket_sendto_op.hpp +++ b/asio/include/asio/detail/reactive_socket_sendto_op.hpp @@ -2,7 +2,7 @@ // detail/reactive_socket_sendto_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/reactive_socket_service.hpp b/asio/include/asio/detail/reactive_socket_service.hpp index 968ac48..b7b2648 100644 --- a/asio/include/asio/detail/reactive_socket_service.hpp +++ b/asio/include/asio/detail/reactive_socket_service.hpp @@ -2,7 +2,7 @@ // detail/reactive_socket_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/reactive_socket_service_base.hpp b/asio/include/asio/detail/reactive_socket_service_base.hpp index ca8a5e7..a8e72ac 100644 --- a/asio/include/asio/detail/reactive_socket_service_base.hpp +++ b/asio/include/asio/detail/reactive_socket_service_base.hpp @@ -2,7 +2,7 @@ // detail/reactive_socket_service_base.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/reactive_wait_op.hpp b/asio/include/asio/detail/reactive_wait_op.hpp index 99f8811..7bd7e2f 100644 --- a/asio/include/asio/detail/reactive_wait_op.hpp +++ b/asio/include/asio/detail/reactive_wait_op.hpp @@ -2,7 +2,7 @@ // detail/reactive_wait_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/reactor.hpp b/asio/include/asio/detail/reactor.hpp index 1f684a2..edf7816 100644 --- a/asio/include/asio/detail/reactor.hpp +++ b/asio/include/asio/detail/reactor.hpp @@ -2,7 +2,7 @@ // detail/reactor.hpp // ~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/reactor_fwd.hpp b/asio/include/asio/detail/reactor_fwd.hpp index 1b25e69..caeb53e 100644 --- a/asio/include/asio/detail/reactor_fwd.hpp +++ b/asio/include/asio/detail/reactor_fwd.hpp @@ -2,7 +2,7 @@ // detail/reactor_fwd.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/reactor_op.hpp b/asio/include/asio/detail/reactor_op.hpp index 491787b..bdbaefe 100644 --- a/asio/include/asio/detail/reactor_op.hpp +++ b/asio/include/asio/detail/reactor_op.hpp @@ -2,7 +2,7 @@ // detail/reactor_op.hpp // ~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/reactor_op_queue.hpp b/asio/include/asio/detail/reactor_op_queue.hpp index 426adfb..af4e0cb 100644 --- a/asio/include/asio/detail/reactor_op_queue.hpp +++ b/asio/include/asio/detail/reactor_op_queue.hpp @@ -2,7 +2,7 @@ // detail/reactor_op_queue.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/recycling_allocator.hpp b/asio/include/asio/detail/recycling_allocator.hpp index bd2908a..11e28f9 100644 --- a/asio/include/asio/detail/recycling_allocator.hpp +++ b/asio/include/asio/detail/recycling_allocator.hpp @@ -2,7 +2,7 @@ // detail/recycling_allocator.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/regex_fwd.hpp b/asio/include/asio/detail/regex_fwd.hpp index 447c6b1..32f3f75 100644 --- a/asio/include/asio/detail/regex_fwd.hpp +++ b/asio/include/asio/detail/regex_fwd.hpp @@ -2,7 +2,7 @@ // detail/regex_fwd.hpp // ~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/resolve_endpoint_op.hpp b/asio/include/asio/detail/resolve_endpoint_op.hpp index 234ac24..5efc4c5 100644 --- a/asio/include/asio/detail/resolve_endpoint_op.hpp +++ b/asio/include/asio/detail/resolve_endpoint_op.hpp @@ -2,7 +2,7 @@ // detail/resolve_endpoint_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/resolve_op.hpp b/asio/include/asio/detail/resolve_op.hpp index 724edc5..4e6bfd8 100644 --- a/asio/include/asio/detail/resolve_op.hpp +++ b/asio/include/asio/detail/resolve_op.hpp @@ -2,7 +2,7 @@ // detail/resolve_op.hpp // ~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/resolve_query_op.hpp b/asio/include/asio/detail/resolve_query_op.hpp index 0ce450b..d68cb7e 100644 --- a/asio/include/asio/detail/resolve_query_op.hpp +++ b/asio/include/asio/detail/resolve_query_op.hpp @@ -2,7 +2,7 @@ // detail/resolve_query_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) @@ -67,7 +67,6 @@ public: // Take ownership of the operation object. resolve_query_op* o(static_cast(base)); ptr p = { asio::detail::addressof(o->handler_), o, o }; - handler_work w(o->handler_); if (owner && owner != &o->io_context_impl_) { @@ -88,6 +87,9 @@ public: // The operation has been returned to the main io_context. The completion // handler is ready to be delivered. + // Take ownership of the operation's outstanding work. + handler_work w(o->handler_); + ASIO_HANDLER_COMPLETION((*o)); // Make a copy of the handler so that the memory can be deallocated diff --git a/asio/include/asio/detail/resolver_service.hpp b/asio/include/asio/detail/resolver_service.hpp index 155e4f3..cee380a 100644 --- a/asio/include/asio/detail/resolver_service.hpp +++ b/asio/include/asio/detail/resolver_service.hpp @@ -2,7 +2,7 @@ // detail/resolver_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/resolver_service_base.hpp b/asio/include/asio/detail/resolver_service_base.hpp index e3dd4f7..aa6ff1e 100644 --- a/asio/include/asio/detail/resolver_service_base.hpp +++ b/asio/include/asio/detail/resolver_service_base.hpp @@ -2,7 +2,7 @@ // detail/resolver_service_base.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/scheduler.hpp b/asio/include/asio/detail/scheduler.hpp index 3781472..6ff0b7b 100644 --- a/asio/include/asio/detail/scheduler.hpp +++ b/asio/include/asio/detail/scheduler.hpp @@ -2,7 +2,7 @@ // detail/scheduler.hpp // ~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/scheduler_operation.hpp b/asio/include/asio/detail/scheduler_operation.hpp index 112b3df..444a9ed 100644 --- a/asio/include/asio/detail/scheduler_operation.hpp +++ b/asio/include/asio/detail/scheduler_operation.hpp @@ -2,7 +2,7 @@ // detail/scheduler_operation.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/scheduler_thread_info.hpp b/asio/include/asio/detail/scheduler_thread_info.hpp index aa8260c..7309707 100644 --- a/asio/include/asio/detail/scheduler_thread_info.hpp +++ b/asio/include/asio/detail/scheduler_thread_info.hpp @@ -2,7 +2,7 @@ // detail/scheduler_thread_info.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/scoped_lock.hpp b/asio/include/asio/detail/scoped_lock.hpp index cf52614..0c89ec5 100644 --- a/asio/include/asio/detail/scoped_lock.hpp +++ b/asio/include/asio/detail/scoped_lock.hpp @@ -2,7 +2,7 @@ // detail/scoped_lock.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/scoped_ptr.hpp b/asio/include/asio/detail/scoped_ptr.hpp index 3bc26f1..b1ea0c4 100644 --- a/asio/include/asio/detail/scoped_ptr.hpp +++ b/asio/include/asio/detail/scoped_ptr.hpp @@ -2,7 +2,7 @@ // detail/scoped_ptr.hpp // ~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/select_interrupter.hpp b/asio/include/asio/detail/select_interrupter.hpp index ecac7db..88b4337 100644 --- a/asio/include/asio/detail/select_interrupter.hpp +++ b/asio/include/asio/detail/select_interrupter.hpp @@ -2,7 +2,7 @@ // detail/select_interrupter.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/select_reactor.hpp b/asio/include/asio/detail/select_reactor.hpp index 7f9b55b..7faa258 100644 --- a/asio/include/asio/detail/select_reactor.hpp +++ b/asio/include/asio/detail/select_reactor.hpp @@ -2,7 +2,7 @@ // detail/select_reactor.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) @@ -106,13 +106,20 @@ public: ASIO_DECL void cancel_ops(socket_type descriptor, per_descriptor_data&); // Cancel any operations that are running against the descriptor and remove - // its registration from the reactor. + // its registration from the reactor. The reactor resources associated with + // the descriptor must be released by calling cleanup_descriptor_data. ASIO_DECL void deregister_descriptor(socket_type descriptor, per_descriptor_data&, bool closing); - // Remote the descriptor's registration from the reactor. + // Remove the descriptor's registration from the reactor. The reactor + // resources associated with the descriptor must be released by calling + // cleanup_descriptor_data. ASIO_DECL void deregister_internal_descriptor( - socket_type descriptor, per_descriptor_data& descriptor_data); + socket_type descriptor, per_descriptor_data&); + + // Perform any post-deregistration cleanup tasks associated with the + // descriptor data. + ASIO_DECL void cleanup_descriptor_data(per_descriptor_data&); // Move descriptor registration from one descriptor_data object to another. ASIO_DECL void move_descriptor(socket_type descriptor, diff --git a/asio/include/asio/detail/service_registry.hpp b/asio/include/asio/detail/service_registry.hpp index 06f49de..3970a28 100644 --- a/asio/include/asio/detail/service_registry.hpp +++ b/asio/include/asio/detail/service_registry.hpp @@ -2,7 +2,7 @@ // detail/service_registry.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/signal_blocker.hpp b/asio/include/asio/detail/signal_blocker.hpp index f0fac08..a694888 100644 --- a/asio/include/asio/detail/signal_blocker.hpp +++ b/asio/include/asio/detail/signal_blocker.hpp @@ -2,7 +2,7 @@ // detail/signal_blocker.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/signal_handler.hpp b/asio/include/asio/detail/signal_handler.hpp index 19fee65..fa69090 100644 --- a/asio/include/asio/detail/signal_handler.hpp +++ b/asio/include/asio/detail/signal_handler.hpp @@ -2,7 +2,7 @@ // detail/signal_handler.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/signal_init.hpp b/asio/include/asio/detail/signal_init.hpp index 266a3e0..7c96f83 100644 --- a/asio/include/asio/detail/signal_init.hpp +++ b/asio/include/asio/detail/signal_init.hpp @@ -2,7 +2,7 @@ // detail/signal_init.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/signal_op.hpp b/asio/include/asio/detail/signal_op.hpp index 9921de0..8c42efb 100644 --- a/asio/include/asio/detail/signal_op.hpp +++ b/asio/include/asio/detail/signal_op.hpp @@ -2,7 +2,7 @@ // detail/signal_op.hpp // ~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/signal_set_service.hpp b/asio/include/asio/detail/signal_set_service.hpp index 58ee99b..301fb8c 100644 --- a/asio/include/asio/detail/signal_set_service.hpp +++ b/asio/include/asio/detail/signal_set_service.hpp @@ -2,7 +2,7 @@ // detail/signal_set_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/socket_holder.hpp b/asio/include/asio/detail/socket_holder.hpp index 1c9e721..4688f23 100644 --- a/asio/include/asio/detail/socket_holder.hpp +++ b/asio/include/asio/detail/socket_holder.hpp @@ -2,7 +2,7 @@ // detail/socket_holder.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/socket_ops.hpp b/asio/include/asio/detail/socket_ops.hpp index 5529a27..b1fe32a 100644 --- a/asio/include/asio/detail/socket_ops.hpp +++ b/asio/include/asio/detail/socket_ops.hpp @@ -2,7 +2,7 @@ // detail/socket_ops.hpp // ~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/socket_option.hpp b/asio/include/asio/detail/socket_option.hpp index 02860b9..c5cdd82 100644 --- a/asio/include/asio/detail/socket_option.hpp +++ b/asio/include/asio/detail/socket_option.hpp @@ -2,7 +2,7 @@ // detail/socket_option.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/socket_select_interrupter.hpp b/asio/include/asio/detail/socket_select_interrupter.hpp index 7089640..7f7fc17 100644 --- a/asio/include/asio/detail/socket_select_interrupter.hpp +++ b/asio/include/asio/detail/socket_select_interrupter.hpp @@ -2,7 +2,7 @@ // detail/socket_select_interrupter.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/socket_types.hpp b/asio/include/asio/detail/socket_types.hpp index d2e93d1..6aab433 100644 --- a/asio/include/asio/detail/socket_types.hpp +++ b/asio/include/asio/detail/socket_types.hpp @@ -2,7 +2,7 @@ // detail/socket_types.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) @@ -57,7 +57,12 @@ # include "asio/detail/old_win_sdk_compat.hpp" #else # include -# if !defined(__SYMBIAN32__) +# if (defined(__MACH__) && defined(__APPLE__)) \ + || defined(__FreeBSD__) || defined(__NetBSD__) \ + || defined(__OpenBSD__) || defined(__linux__) \ + || defined(__EMSCRIPTEN__) +# include +# elif !defined(__SYMBIAN32__) # include # endif # include @@ -147,6 +152,7 @@ typedef int signed_size_type; # define ASIO_OS_DEF_SO_DONTROUTE 0x10 # define ASIO_OS_DEF_SO_KEEPALIVE 0x8 # define ASIO_OS_DEF_SO_LINGER 0x80 +# define ASIO_OS_DEF_SO_OOBINLINE 0x100 # define ASIO_OS_DEF_SO_SNDBUF 0x1001 # define ASIO_OS_DEF_SO_RCVBUF 0x1002 # define ASIO_OS_DEF_SO_SNDLOWAT 0x1003 @@ -231,6 +237,7 @@ typedef int signed_size_type; # define ASIO_OS_DEF_SO_DONTROUTE SO_DONTROUTE # define ASIO_OS_DEF_SO_KEEPALIVE SO_KEEPALIVE # define ASIO_OS_DEF_SO_LINGER SO_LINGER +# define ASIO_OS_DEF_SO_OOBINLINE SO_OOBINLINE # define ASIO_OS_DEF_SO_SNDBUF SO_SNDBUF # define ASIO_OS_DEF_SO_RCVBUF SO_RCVBUF # define ASIO_OS_DEF_SO_SNDLOWAT SO_SNDLOWAT @@ -346,6 +353,7 @@ typedef int signed_size_type; # define ASIO_OS_DEF_SO_DONTROUTE SO_DONTROUTE # define ASIO_OS_DEF_SO_KEEPALIVE SO_KEEPALIVE # define ASIO_OS_DEF_SO_LINGER SO_LINGER +# define ASIO_OS_DEF_SO_OOBINLINE SO_OOBINLINE # define ASIO_OS_DEF_SO_SNDBUF SO_SNDBUF # define ASIO_OS_DEF_SO_RCVBUF SO_RCVBUF # define ASIO_OS_DEF_SO_SNDLOWAT SO_SNDLOWAT diff --git a/asio/include/asio/detail/solaris_fenced_block.hpp b/asio/include/asio/detail/solaris_fenced_block.hpp index c1b599e..d65532f 100644 --- a/asio/include/asio/detail/solaris_fenced_block.hpp +++ b/asio/include/asio/detail/solaris_fenced_block.hpp @@ -2,7 +2,7 @@ // detail/solaris_fenced_block.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/static_mutex.hpp b/asio/include/asio/detail/static_mutex.hpp index 1be0a85..7875dce 100644 --- a/asio/include/asio/detail/static_mutex.hpp +++ b/asio/include/asio/detail/static_mutex.hpp @@ -2,7 +2,7 @@ // detail/static_mutex.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/std_event.hpp b/asio/include/asio/detail/std_event.hpp index e05fcca..11da013 100644 --- a/asio/include/asio/detail/std_event.hpp +++ b/asio/include/asio/detail/std_event.hpp @@ -2,7 +2,7 @@ // detail/std_event.hpp // ~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/std_fenced_block.hpp b/asio/include/asio/detail/std_fenced_block.hpp index 01acf91..49b3101 100644 --- a/asio/include/asio/detail/std_fenced_block.hpp +++ b/asio/include/asio/detail/std_fenced_block.hpp @@ -2,7 +2,7 @@ // detail/std_fenced_block.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/std_global.hpp b/asio/include/asio/detail/std_global.hpp index 416f0d3..e589431 100644 --- a/asio/include/asio/detail/std_global.hpp +++ b/asio/include/asio/detail/std_global.hpp @@ -2,7 +2,7 @@ // detail/std_global.hpp // ~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/std_mutex.hpp b/asio/include/asio/detail/std_mutex.hpp index 31af56a..7b185aa 100644 --- a/asio/include/asio/detail/std_mutex.hpp +++ b/asio/include/asio/detail/std_mutex.hpp @@ -2,7 +2,7 @@ // detail/std_mutex.hpp // ~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/std_static_mutex.hpp b/asio/include/asio/detail/std_static_mutex.hpp index 166ede9..485a8d1 100644 --- a/asio/include/asio/detail/std_static_mutex.hpp +++ b/asio/include/asio/detail/std_static_mutex.hpp @@ -2,7 +2,7 @@ // detail/std_static_mutex.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/std_thread.hpp b/asio/include/asio/detail/std_thread.hpp index f6fcec1..8d144ab 100644 --- a/asio/include/asio/detail/std_thread.hpp +++ b/asio/include/asio/detail/std_thread.hpp @@ -2,7 +2,7 @@ // detail/std_thread.hpp // ~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/strand_executor_service.hpp b/asio/include/asio/detail/strand_executor_service.hpp index 5ca77a3..02de974 100644 --- a/asio/include/asio/detail/strand_executor_service.hpp +++ b/asio/include/asio/detail/strand_executor_service.hpp @@ -2,7 +2,7 @@ // detail/strand_executor_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/strand_service.hpp b/asio/include/asio/detail/strand_service.hpp index c5d95e7..eb72607 100644 --- a/asio/include/asio/detail/strand_service.hpp +++ b/asio/include/asio/detail/strand_service.hpp @@ -2,7 +2,7 @@ // detail/strand_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/string_view.hpp b/asio/include/asio/detail/string_view.hpp index 6f4072d..222c021 100644 --- a/asio/include/asio/detail/string_view.hpp +++ b/asio/include/asio/detail/string_view.hpp @@ -2,7 +2,7 @@ // detail/string_view.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) @@ -15,10 +15,10 @@ # pragma once #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) -#if defined(ASIO_HAS_STD_STRING_VIEW) - #include "asio/detail/config.hpp" +#if defined(ASIO_HAS_STD_STRING_VIEW) + #if defined(ASIO_HAS_STD_EXPERIMENTAL_STRING_VIEW) # include #else // defined(ASIO_HAS_EXPERIMENTAL_STRING_VIEW) diff --git a/asio/include/asio/detail/thread.hpp b/asio/include/asio/detail/thread.hpp index cfb5bad..dc98675 100644 --- a/asio/include/asio/detail/thread.hpp +++ b/asio/include/asio/detail/thread.hpp @@ -2,7 +2,7 @@ // detail/thread.hpp // ~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/thread_context.hpp b/asio/include/asio/detail/thread_context.hpp index 66d20d6..c0fd06d 100644 --- a/asio/include/asio/detail/thread_context.hpp +++ b/asio/include/asio/detail/thread_context.hpp @@ -2,7 +2,7 @@ // detail/thread_context.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/thread_group.hpp b/asio/include/asio/detail/thread_group.hpp index 312af44..6e62ded 100644 --- a/asio/include/asio/detail/thread_group.hpp +++ b/asio/include/asio/detail/thread_group.hpp @@ -2,7 +2,7 @@ // detail/thread_group.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/thread_info_base.hpp b/asio/include/asio/detail/thread_info_base.hpp index 5fc26c3..4ae8d92 100644 --- a/asio/include/asio/detail/thread_info_base.hpp +++ b/asio/include/asio/detail/thread_info_base.hpp @@ -2,7 +2,7 @@ // detail/thread_info_base.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) @@ -41,13 +41,15 @@ public: static void* allocate(thread_info_base* this_thread, std::size_t size) { + std::size_t chunks = (size + chunk_size - 1) / chunk_size; + if (this_thread && this_thread->reusable_memory_) { void* const pointer = this_thread->reusable_memory_; this_thread->reusable_memory_ = 0; unsigned char* const mem = static_cast(pointer); - if (static_cast(mem[0]) >= size) + if (static_cast(mem[0]) >= chunks) { mem[size] = mem[0]; return pointer; @@ -56,16 +58,16 @@ public: ::operator delete(pointer); } - void* const pointer = ::operator new(size + 1); + void* const pointer = ::operator new(chunks * chunk_size + 1); unsigned char* const mem = static_cast(pointer); - mem[size] = (size <= UCHAR_MAX) ? static_cast(size) : 0; + mem[size] = (chunks <= UCHAR_MAX) ? static_cast(chunks) : 0; return pointer; } static void deallocate(thread_info_base* this_thread, void* pointer, std::size_t size) { - if (size <= UCHAR_MAX) + if (size <= chunk_size * UCHAR_MAX) { if (this_thread && this_thread->reusable_memory_ == 0) { @@ -80,6 +82,7 @@ public: } private: + enum { chunk_size = 4 }; void* reusable_memory_; }; diff --git a/asio/include/asio/detail/throw_error.hpp b/asio/include/asio/detail/throw_error.hpp index 3c1d59c..e4dba07 100644 --- a/asio/include/asio/detail/throw_error.hpp +++ b/asio/include/asio/detail/throw_error.hpp @@ -2,7 +2,7 @@ // detail/throw_error.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/throw_exception.hpp b/asio/include/asio/detail/throw_exception.hpp index a0c3cf8..b401e10 100644 --- a/asio/include/asio/detail/throw_exception.hpp +++ b/asio/include/asio/detail/throw_exception.hpp @@ -2,7 +2,7 @@ // detail/throw_exception.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/timer_queue.hpp b/asio/include/asio/detail/timer_queue.hpp index 1575e03..db5c33d 100644 --- a/asio/include/asio/detail/timer_queue.hpp +++ b/asio/include/asio/detail/timer_queue.hpp @@ -2,7 +2,7 @@ // detail/timer_queue.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/timer_queue_base.hpp b/asio/include/asio/detail/timer_queue_base.hpp index 326d055..e0a3f0b 100644 --- a/asio/include/asio/detail/timer_queue_base.hpp +++ b/asio/include/asio/detail/timer_queue_base.hpp @@ -2,7 +2,7 @@ // detail/timer_queue_base.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/timer_queue_ptime.hpp b/asio/include/asio/detail/timer_queue_ptime.hpp index 9d3cb7d..40b3cb0 100644 --- a/asio/include/asio/detail/timer_queue_ptime.hpp +++ b/asio/include/asio/detail/timer_queue_ptime.hpp @@ -2,7 +2,7 @@ // detail/timer_queue_ptime.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/timer_queue_set.hpp b/asio/include/asio/detail/timer_queue_set.hpp index 38f46d1..4c20b6f 100644 --- a/asio/include/asio/detail/timer_queue_set.hpp +++ b/asio/include/asio/detail/timer_queue_set.hpp @@ -2,7 +2,7 @@ // detail/timer_queue_set.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/timer_scheduler.hpp b/asio/include/asio/detail/timer_scheduler.hpp index 1907316..8f76fbb 100644 --- a/asio/include/asio/detail/timer_scheduler.hpp +++ b/asio/include/asio/detail/timer_scheduler.hpp @@ -2,7 +2,7 @@ // detail/timer_scheduler.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/timer_scheduler_fwd.hpp b/asio/include/asio/detail/timer_scheduler_fwd.hpp index cf27b8c..1fbe9fe 100644 --- a/asio/include/asio/detail/timer_scheduler_fwd.hpp +++ b/asio/include/asio/detail/timer_scheduler_fwd.hpp @@ -2,7 +2,7 @@ // detail/timer_scheduler_fwd.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/tss_ptr.hpp b/asio/include/asio/detail/tss_ptr.hpp index 2d03061..3362719 100644 --- a/asio/include/asio/detail/tss_ptr.hpp +++ b/asio/include/asio/detail/tss_ptr.hpp @@ -2,7 +2,7 @@ // detail/tss_ptr.hpp // ~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/type_traits.hpp b/asio/include/asio/detail/type_traits.hpp index 0866589..5163771 100644 --- a/asio/include/asio/detail/type_traits.hpp +++ b/asio/include/asio/detail/type_traits.hpp @@ -2,7 +2,7 @@ // detail/type_traits.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/variadic_templates.hpp b/asio/include/asio/detail/variadic_templates.hpp index 272ae28..9cb4ca3 100644 --- a/asio/include/asio/detail/variadic_templates.hpp +++ b/asio/include/asio/detail/variadic_templates.hpp @@ -2,7 +2,7 @@ // detail/variadic_templates.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/wait_handler.hpp b/asio/include/asio/detail/wait_handler.hpp index 29bcfd7..9f02477 100644 --- a/asio/include/asio/detail/wait_handler.hpp +++ b/asio/include/asio/detail/wait_handler.hpp @@ -2,7 +2,7 @@ // detail/wait_handler.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/wait_op.hpp b/asio/include/asio/detail/wait_op.hpp index 68bb86f..d6e5be9 100644 --- a/asio/include/asio/detail/wait_op.hpp +++ b/asio/include/asio/detail/wait_op.hpp @@ -2,7 +2,7 @@ // detail/wait_op.hpp // ~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/win_event.hpp b/asio/include/asio/detail/win_event.hpp index aa04fd5..ee2e743 100644 --- a/asio/include/asio/detail/win_event.hpp +++ b/asio/include/asio/detail/win_event.hpp @@ -2,7 +2,7 @@ // detail/win_event.hpp // ~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/win_fd_set_adapter.hpp b/asio/include/asio/detail/win_fd_set_adapter.hpp index 7d288f6..78d7d1c 100644 --- a/asio/include/asio/detail/win_fd_set_adapter.hpp +++ b/asio/include/asio/detail/win_fd_set_adapter.hpp @@ -2,7 +2,7 @@ // detail/win_fd_set_adapter.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/win_fenced_block.hpp b/asio/include/asio/detail/win_fenced_block.hpp index 42846ca..0e2c59c 100644 --- a/asio/include/asio/detail/win_fenced_block.hpp +++ b/asio/include/asio/detail/win_fenced_block.hpp @@ -2,7 +2,7 @@ // detail/win_fenced_block.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/win_global.hpp b/asio/include/asio/detail/win_global.hpp index 92ebdad..c6aea0f 100644 --- a/asio/include/asio/detail/win_global.hpp +++ b/asio/include/asio/detail/win_global.hpp @@ -2,7 +2,7 @@ // detail/win_global.hpp // ~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/win_iocp_handle_read_op.hpp b/asio/include/asio/detail/win_iocp_handle_read_op.hpp index c3ff79b..16afc21 100644 --- a/asio/include/asio/detail/win_iocp_handle_read_op.hpp +++ b/asio/include/asio/detail/win_iocp_handle_read_op.hpp @@ -2,7 +2,7 @@ // detail/win_iocp_handle_read_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2008 Rep Invariant Systems, Inc. (info@repinvariant.com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying diff --git a/asio/include/asio/detail/win_iocp_handle_service.hpp b/asio/include/asio/detail/win_iocp_handle_service.hpp index a1d07bd..37358c8 100644 --- a/asio/include/asio/detail/win_iocp_handle_service.hpp +++ b/asio/include/asio/detail/win_iocp_handle_service.hpp @@ -2,7 +2,7 @@ // detail/win_iocp_handle_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2008 Rep Invariant Systems, Inc. (info@repinvariant.com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying diff --git a/asio/include/asio/detail/win_iocp_handle_write_op.hpp b/asio/include/asio/detail/win_iocp_handle_write_op.hpp index 36019c8..590180d 100644 --- a/asio/include/asio/detail/win_iocp_handle_write_op.hpp +++ b/asio/include/asio/detail/win_iocp_handle_write_op.hpp @@ -2,7 +2,7 @@ // detail/win_iocp_handle_write_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2008 Rep Invariant Systems, Inc. (info@repinvariant.com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying diff --git a/asio/include/asio/detail/win_iocp_io_context.hpp b/asio/include/asio/detail/win_iocp_io_context.hpp index 8b6803d..c6a8d2b 100644 --- a/asio/include/asio/detail/win_iocp_io_context.hpp +++ b/asio/include/asio/detail/win_iocp_io_context.hpp @@ -2,7 +2,7 @@ // detail/win_iocp_io_context.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/win_iocp_null_buffers_op.hpp b/asio/include/asio/detail/win_iocp_null_buffers_op.hpp index f9e296d..1502bf2 100644 --- a/asio/include/asio/detail/win_iocp_null_buffers_op.hpp +++ b/asio/include/asio/detail/win_iocp_null_buffers_op.hpp @@ -2,7 +2,7 @@ // detail/win_iocp_null_buffers_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/win_iocp_operation.hpp b/asio/include/asio/detail/win_iocp_operation.hpp index 9f888b1..9e14d14 100644 --- a/asio/include/asio/detail/win_iocp_operation.hpp +++ b/asio/include/asio/detail/win_iocp_operation.hpp @@ -2,7 +2,7 @@ // detail/win_iocp_operation.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/win_iocp_overlapped_op.hpp b/asio/include/asio/detail/win_iocp_overlapped_op.hpp index fde9a92..1121a1f 100644 --- a/asio/include/asio/detail/win_iocp_overlapped_op.hpp +++ b/asio/include/asio/detail/win_iocp_overlapped_op.hpp @@ -2,7 +2,7 @@ // detail/win_iocp_overlapped_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/win_iocp_overlapped_ptr.hpp b/asio/include/asio/detail/win_iocp_overlapped_ptr.hpp index 22025fd..130312d 100644 --- a/asio/include/asio/detail/win_iocp_overlapped_ptr.hpp +++ b/asio/include/asio/detail/win_iocp_overlapped_ptr.hpp @@ -2,7 +2,7 @@ // detail/win_iocp_overlapped_ptr.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) 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 5385646..ca6fdc7 100644 --- a/asio/include/asio/detail/win_iocp_serial_port_service.hpp +++ b/asio/include/asio/detail/win_iocp_serial_port_service.hpp @@ -2,7 +2,7 @@ // detail/win_iocp_serial_port_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2008 Rep Invariant Systems, Inc. (info@repinvariant.com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying 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 937f4c0..b1a01bd 100644 --- a/asio/include/asio/detail/win_iocp_socket_accept_op.hpp +++ b/asio/include/asio/detail/win_iocp_socket_accept_op.hpp @@ -2,7 +2,7 @@ // detail/win_iocp_socket_accept_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/win_iocp_socket_connect_op.hpp b/asio/include/asio/detail/win_iocp_socket_connect_op.hpp index 4edd869..af5bc08 100644 --- a/asio/include/asio/detail/win_iocp_socket_connect_op.hpp +++ b/asio/include/asio/detail/win_iocp_socket_connect_op.hpp @@ -2,7 +2,7 @@ // detail/win_iocp_socket_connect_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/win_iocp_socket_recv_op.hpp b/asio/include/asio/detail/win_iocp_socket_recv_op.hpp index 98b0005..d82bd0c 100644 --- a/asio/include/asio/detail/win_iocp_socket_recv_op.hpp +++ b/asio/include/asio/detail/win_iocp_socket_recv_op.hpp @@ -2,7 +2,7 @@ // detail/win_iocp_socket_recv_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/win_iocp_socket_recvfrom_op.hpp b/asio/include/asio/detail/win_iocp_socket_recvfrom_op.hpp index a7af878..071ce6e 100644 --- a/asio/include/asio/detail/win_iocp_socket_recvfrom_op.hpp +++ b/asio/include/asio/detail/win_iocp_socket_recvfrom_op.hpp @@ -2,7 +2,7 @@ // detail/win_iocp_socket_recvfrom_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/win_iocp_socket_recvmsg_op.hpp b/asio/include/asio/detail/win_iocp_socket_recvmsg_op.hpp index 9e5952f..a3760c1 100644 --- a/asio/include/asio/detail/win_iocp_socket_recvmsg_op.hpp +++ b/asio/include/asio/detail/win_iocp_socket_recvmsg_op.hpp @@ -2,7 +2,7 @@ // detail/win_iocp_socket_recvmsg_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/win_iocp_socket_send_op.hpp b/asio/include/asio/detail/win_iocp_socket_send_op.hpp index 15c88a5..7740763 100644 --- a/asio/include/asio/detail/win_iocp_socket_send_op.hpp +++ b/asio/include/asio/detail/win_iocp_socket_send_op.hpp @@ -2,7 +2,7 @@ // detail/win_iocp_socket_send_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/win_iocp_socket_service.hpp b/asio/include/asio/detail/win_iocp_socket_service.hpp index ec937e2..ab099f6 100644 --- a/asio/include/asio/detail/win_iocp_socket_service.hpp +++ b/asio/include/asio/detail/win_iocp_socket_service.hpp @@ -2,7 +2,7 @@ // detail/win_iocp_socket_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) 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 c27240a..220e8c8 100644 --- a/asio/include/asio/detail/win_iocp_socket_service_base.hpp +++ b/asio/include/asio/detail/win_iocp_socket_service_base.hpp @@ -2,7 +2,7 @@ // detail/win_iocp_socket_service_base.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/win_iocp_thread_info.hpp b/asio/include/asio/detail/win_iocp_thread_info.hpp index ae13dd4..4a24d1e 100644 --- a/asio/include/asio/detail/win_iocp_thread_info.hpp +++ b/asio/include/asio/detail/win_iocp_thread_info.hpp @@ -2,7 +2,7 @@ // detail/win_iocp_thread_info.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/win_iocp_wait_op.hpp b/asio/include/asio/detail/win_iocp_wait_op.hpp index d5178d0..04ad5f6 100644 --- a/asio/include/asio/detail/win_iocp_wait_op.hpp +++ b/asio/include/asio/detail/win_iocp_wait_op.hpp @@ -2,7 +2,7 @@ // detail/win_iocp_wait_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/win_mutex.hpp b/asio/include/asio/detail/win_mutex.hpp index 350a02d..67c077e 100644 --- a/asio/include/asio/detail/win_mutex.hpp +++ b/asio/include/asio/detail/win_mutex.hpp @@ -2,7 +2,7 @@ // detail/win_mutex.hpp // ~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/win_object_handle_service.hpp b/asio/include/asio/detail/win_object_handle_service.hpp index 5960554..fad6b81 100644 --- a/asio/include/asio/detail/win_object_handle_service.hpp +++ b/asio/include/asio/detail/win_object_handle_service.hpp @@ -2,7 +2,7 @@ // detail/win_object_handle_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2011 Boris Schaeling (boris@highscore.de) // // Distributed under the Boost Software License, Version 1.0. (See accompanying diff --git a/asio/include/asio/detail/win_static_mutex.hpp b/asio/include/asio/detail/win_static_mutex.hpp index 6f0e75b..420110d 100644 --- a/asio/include/asio/detail/win_static_mutex.hpp +++ b/asio/include/asio/detail/win_static_mutex.hpp @@ -2,7 +2,7 @@ // detail/win_static_mutex.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/win_thread.hpp b/asio/include/asio/detail/win_thread.hpp index ab2ba8d..e5a92ca 100644 --- a/asio/include/asio/detail/win_thread.hpp +++ b/asio/include/asio/detail/win_thread.hpp @@ -2,7 +2,7 @@ // detail/win_thread.hpp // ~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/win_tss_ptr.hpp b/asio/include/asio/detail/win_tss_ptr.hpp index 490c705..3e0c13e 100644 --- a/asio/include/asio/detail/win_tss_ptr.hpp +++ b/asio/include/asio/detail/win_tss_ptr.hpp @@ -2,7 +2,7 @@ // detail/win_tss_ptr.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/winapp_thread.hpp b/asio/include/asio/detail/winapp_thread.hpp index 4d13109..be4e21d 100644 --- a/asio/include/asio/detail/winapp_thread.hpp +++ b/asio/include/asio/detail/winapp_thread.hpp @@ -2,7 +2,7 @@ // detail/winapp_thread.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) @@ -19,8 +19,8 @@ #if defined(ASIO_WINDOWS) && defined(ASIO_WINDOWS_APP) -#include "asio/detail/memory.hpp" #include "asio/detail/noncopyable.hpp" +#include "asio/detail/scoped_ptr.hpp" #include "asio/detail/socket_types.hpp" #include "asio/detail/throw_error.hpp" #include "asio/error.hpp" @@ -40,7 +40,7 @@ public: template winapp_thread(Function f, unsigned int = 0) { - std::auto_ptr arg(new func(f)); + scoped_ptr arg(new func(f)); DWORD thread_id = 0; thread_ = ::CreateThread(0, 0, winapp_thread_function, arg.get(), 0, &thread_id); @@ -108,7 +108,7 @@ private: inline DWORD WINAPI winapp_thread_function(LPVOID arg) { - std::auto_ptr func( + scoped_ptr func( static_cast(arg)); func->run(); return 0; diff --git a/asio/include/asio/detail/wince_thread.hpp b/asio/include/asio/detail/wince_thread.hpp index 5e0d4ec..691050d 100644 --- a/asio/include/asio/detail/wince_thread.hpp +++ b/asio/include/asio/detail/wince_thread.hpp @@ -2,7 +2,7 @@ // detail/wince_thread.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) @@ -19,8 +19,8 @@ #if defined(ASIO_WINDOWS) && defined(UNDER_CE) -#include "asio/detail/memory.hpp" #include "asio/detail/noncopyable.hpp" +#include "asio/detail/scoped_ptr.hpp" #include "asio/detail/socket_types.hpp" #include "asio/detail/throw_error.hpp" #include "asio/error.hpp" @@ -40,7 +40,7 @@ public: template wince_thread(Function f, unsigned int = 0) { - std::auto_ptr arg(new func(f)); + scoped_ptr arg(new func(f)); DWORD thread_id = 0; thread_ = ::CreateThread(0, 0, wince_thread_function, arg.get(), 0, &thread_id); @@ -108,7 +108,7 @@ private: inline DWORD WINAPI wince_thread_function(LPVOID arg) { - std::auto_ptr func( + scoped_ptr func( static_cast(arg)); func->run(); return 0; diff --git a/asio/include/asio/detail/winrt_async_manager.hpp b/asio/include/asio/detail/winrt_async_manager.hpp index 921dfdd..56b342b 100644 --- a/asio/include/asio/detail/winrt_async_manager.hpp +++ b/asio/include/asio/detail/winrt_async_manager.hpp @@ -2,7 +2,7 @@ // detail/winrt_async_manager.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/winrt_async_op.hpp b/asio/include/asio/detail/winrt_async_op.hpp index 2b18b43..ca436ef 100644 --- a/asio/include/asio/detail/winrt_async_op.hpp +++ b/asio/include/asio/detail/winrt_async_op.hpp @@ -2,7 +2,7 @@ // detail/winrt_async_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/winrt_resolve_op.hpp b/asio/include/asio/detail/winrt_resolve_op.hpp index a197c3d..01dca8e 100644 --- a/asio/include/asio/detail/winrt_resolve_op.hpp +++ b/asio/include/asio/detail/winrt_resolve_op.hpp @@ -2,7 +2,7 @@ // detail/winrt_resolve_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/winrt_resolver_service.hpp b/asio/include/asio/detail/winrt_resolver_service.hpp index 8e38331..9947d3c 100644 --- a/asio/include/asio/detail/winrt_resolver_service.hpp +++ b/asio/include/asio/detail/winrt_resolver_service.hpp @@ -2,7 +2,7 @@ // detail/winrt_resolver_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/winrt_socket_connect_op.hpp b/asio/include/asio/detail/winrt_socket_connect_op.hpp index 94b4048..0e6aaeb 100644 --- a/asio/include/asio/detail/winrt_socket_connect_op.hpp +++ b/asio/include/asio/detail/winrt_socket_connect_op.hpp @@ -2,7 +2,7 @@ // detail/winrt_socket_connect_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/winrt_socket_recv_op.hpp b/asio/include/asio/detail/winrt_socket_recv_op.hpp index d19f1f7..49b1323 100644 --- a/asio/include/asio/detail/winrt_socket_recv_op.hpp +++ b/asio/include/asio/detail/winrt_socket_recv_op.hpp @@ -2,7 +2,7 @@ // detail/winrt_socket_recv_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/winrt_socket_send_op.hpp b/asio/include/asio/detail/winrt_socket_send_op.hpp index 6d16ef3..9fbb65a 100644 --- a/asio/include/asio/detail/winrt_socket_send_op.hpp +++ b/asio/include/asio/detail/winrt_socket_send_op.hpp @@ -2,7 +2,7 @@ // detail/winrt_socket_send_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/winrt_ssocket_service.hpp b/asio/include/asio/detail/winrt_ssocket_service.hpp index f62131a..616df7e 100644 --- a/asio/include/asio/detail/winrt_ssocket_service.hpp +++ b/asio/include/asio/detail/winrt_ssocket_service.hpp @@ -2,7 +2,7 @@ // detail/winrt_ssocket_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/winrt_ssocket_service_base.hpp b/asio/include/asio/detail/winrt_ssocket_service_base.hpp index c491c23..849408c 100644 --- a/asio/include/asio/detail/winrt_ssocket_service_base.hpp +++ b/asio/include/asio/detail/winrt_ssocket_service_base.hpp @@ -2,7 +2,7 @@ // detail/winrt_ssocket_service_base.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/winrt_timer_scheduler.hpp b/asio/include/asio/detail/winrt_timer_scheduler.hpp index f3ffe61..93847f4 100644 --- a/asio/include/asio/detail/winrt_timer_scheduler.hpp +++ b/asio/include/asio/detail/winrt_timer_scheduler.hpp @@ -2,7 +2,7 @@ // detail/winrt_timer_scheduler.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/winrt_utils.hpp b/asio/include/asio/detail/winrt_utils.hpp index 52f7143..4808fdc 100644 --- a/asio/include/asio/detail/winrt_utils.hpp +++ b/asio/include/asio/detail/winrt_utils.hpp @@ -2,7 +2,7 @@ // detail/winrt_utils.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) @@ -82,7 +82,8 @@ inline Windows::Storage::Streams::IBuffer^ buffer_dup( const ConstBufferSequence& buffers) { using Microsoft::WRL::ComPtr; - std::size_t size = asio::buffer_size(buffers); + using asio::buffer_size; + std::size_t size = buffer_size(buffers); auto b = ref new Windows::Storage::Streams::Buffer(size); ComPtr insp = reinterpret_cast(b); ComPtr bacc; diff --git a/asio/include/asio/detail/winsock_init.hpp b/asio/include/asio/detail/winsock_init.hpp index b88cd51..e82787f 100644 --- a/asio/include/asio/detail/winsock_init.hpp +++ b/asio/include/asio/detail/winsock_init.hpp @@ -2,7 +2,7 @@ // detail/winsock_init.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/detail/work_dispatcher.hpp b/asio/include/asio/detail/work_dispatcher.hpp index 460fbd6..af242af 100644 --- a/asio/include/asio/detail/work_dispatcher.hpp +++ b/asio/include/asio/detail/work_dispatcher.hpp @@ -2,7 +2,7 @@ // detail/work_dispatcher.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) @@ -52,10 +52,10 @@ public: void operator()() { - typename associated_executor::type ex(work_.get_executor()); typename associated_allocator::type alloc( (get_associated_allocator)(handler_)); - ex.dispatch(ASIO_MOVE_CAST(Handler)(handler_), alloc); + work_.get_executor().dispatch( + ASIO_MOVE_CAST(Handler)(handler_), alloc); work_.reset(); } diff --git a/asio/include/asio/detail/wrapped_handler.hpp b/asio/include/asio/detail/wrapped_handler.hpp index aff903e..a6d8620 100644 --- a/asio/include/asio/detail/wrapped_handler.hpp +++ b/asio/include/asio/detail/wrapped_handler.hpp @@ -2,7 +2,7 @@ // detail/wrapped_handler.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/dispatch.hpp b/asio/include/asio/dispatch.hpp index 2addadc..87a7726 100644 --- a/asio/include/asio/dispatch.hpp +++ b/asio/include/asio/dispatch.hpp @@ -2,7 +2,7 @@ // dispatch.hpp // ~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/error.hpp b/asio/include/asio/error.hpp index 3566c3a..a9ebc53 100644 --- a/asio/include/asio/error.hpp +++ b/asio/include/asio/error.hpp @@ -2,7 +2,7 @@ // error.hpp // ~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) @@ -336,7 +336,7 @@ namespace socket_errc { namespace resolver_errc { // Simulates the proposed resolver_errc scoped enum. using error::host_not_found; - using error::host_not_found_try_again; + const error::netdb_errors try_again = error::host_not_found_try_again; using error::service_not_found; } // namespace resolver_errc } // namespace asio diff --git a/asio/include/asio/error_code.hpp b/asio/include/asio/error_code.hpp index 09a2acb..6a8d29c 100644 --- a/asio/include/asio/error_code.hpp +++ b/asio/include/asio/error_code.hpp @@ -2,7 +2,7 @@ // error_code.hpp // ~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) @@ -101,6 +101,20 @@ public: *this = make_error_code(e); } + /// Clear the error value to the default. + void clear() + { + value_ = 0; + category_ = &system_category(); + } + + /// Assign a new error value. + void assign(int v, const error_category& c) + { + value_ = v; + category_ = &c; + } + /// Get the error value. int value() const { diff --git a/asio/include/asio/execution_context.hpp b/asio/include/asio/execution_context.hpp index 0d91195..80f3988 100644 --- a/asio/include/asio/execution_context.hpp +++ b/asio/include/asio/execution_context.hpp @@ -2,7 +2,7 @@ // execution_context.hpp // ~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/executor.hpp b/asio/include/asio/executor.hpp index f22b991..b66a392 100644 --- a/asio/include/asio/executor.hpp +++ b/asio/include/asio/executor.hpp @@ -2,7 +2,7 @@ // executor.hpp // ~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/executor_work_guard.hpp b/asio/include/asio/executor_work_guard.hpp index a791dcd..1c59b20 100644 --- a/asio/include/asio/executor_work_guard.hpp +++ b/asio/include/asio/executor_work_guard.hpp @@ -2,7 +2,7 @@ // executor_work_guard.hpp // ~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/generic/basic_endpoint.hpp b/asio/include/asio/generic/basic_endpoint.hpp index 1faf4a1..7ded134 100644 --- a/asio/include/asio/generic/basic_endpoint.hpp +++ b/asio/include/asio/generic/basic_endpoint.hpp @@ -2,7 +2,7 @@ // generic/basic_endpoint.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/generic/datagram_protocol.hpp b/asio/include/asio/generic/datagram_protocol.hpp index 21a39de..8526b5f 100644 --- a/asio/include/asio/generic/datagram_protocol.hpp +++ b/asio/include/asio/generic/datagram_protocol.hpp @@ -2,7 +2,7 @@ // generic/datagram_protocol.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/generic/detail/endpoint.hpp b/asio/include/asio/generic/detail/endpoint.hpp index 8de7b2a..23b1d6e 100644 --- a/asio/include/asio/generic/detail/endpoint.hpp +++ b/asio/include/asio/generic/detail/endpoint.hpp @@ -2,7 +2,7 @@ // generic/detail/endpoint.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/generic/detail/impl/endpoint.ipp b/asio/include/asio/generic/detail/impl/endpoint.ipp index 1a66fb9..112c1b2 100644 --- a/asio/include/asio/generic/detail/impl/endpoint.ipp +++ b/asio/include/asio/generic/detail/impl/endpoint.ipp @@ -2,7 +2,7 @@ // generic/detail/impl/endpoint.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) @@ -94,7 +94,8 @@ void endpoint::init(const void* sock_addr, using namespace std; // For memset and memcpy. memset(&data_.generic, 0, sizeof(asio::detail::sockaddr_storage_type)); - memcpy(&data_.generic, sock_addr, sock_addr_size); + if (sock_addr_size > 0) + memcpy(&data_.generic, sock_addr, sock_addr_size); size_ = sock_addr_size; protocol_ = sock_protocol; diff --git a/asio/include/asio/generic/raw_protocol.hpp b/asio/include/asio/generic/raw_protocol.hpp index 9a74073..b785f99 100644 --- a/asio/include/asio/generic/raw_protocol.hpp +++ b/asio/include/asio/generic/raw_protocol.hpp @@ -2,7 +2,7 @@ // generic/raw_protocol.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/generic/seq_packet_protocol.hpp b/asio/include/asio/generic/seq_packet_protocol.hpp index d01d9cb..a34acf3 100644 --- a/asio/include/asio/generic/seq_packet_protocol.hpp +++ b/asio/include/asio/generic/seq_packet_protocol.hpp @@ -2,7 +2,7 @@ // generic/seq_packet_protocol.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/generic/stream_protocol.hpp b/asio/include/asio/generic/stream_protocol.hpp index 6917c19..5ea07f3 100644 --- a/asio/include/asio/generic/stream_protocol.hpp +++ b/asio/include/asio/generic/stream_protocol.hpp @@ -2,7 +2,7 @@ // generic/stream_protocol.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/handler_alloc_hook.hpp b/asio/include/asio/handler_alloc_hook.hpp index a05ad4c..8bba951 100644 --- a/asio/include/asio/handler_alloc_hook.hpp +++ b/asio/include/asio/handler_alloc_hook.hpp @@ -2,7 +2,7 @@ // handler_alloc_hook.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/handler_continuation_hook.hpp b/asio/include/asio/handler_continuation_hook.hpp index bea0cdc..5a64c07 100644 --- a/asio/include/asio/handler_continuation_hook.hpp +++ b/asio/include/asio/handler_continuation_hook.hpp @@ -2,7 +2,7 @@ // handler_continuation_hook.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/handler_invoke_hook.hpp b/asio/include/asio/handler_invoke_hook.hpp index 65c0d08..d326698 100644 --- a/asio/include/asio/handler_invoke_hook.hpp +++ b/asio/include/asio/handler_invoke_hook.hpp @@ -2,7 +2,7 @@ // handler_invoke_hook.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/handler_type.hpp b/asio/include/asio/handler_type.hpp index 49e7123..a40e4b1 100644 --- a/asio/include/asio/handler_type.hpp +++ b/asio/include/asio/handler_type.hpp @@ -2,7 +2,7 @@ // handler_type.hpp // ~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/high_resolution_timer.hpp b/asio/include/asio/high_resolution_timer.hpp index dd9d485..f8a50d2 100644 --- a/asio/include/asio/high_resolution_timer.hpp +++ b/asio/include/asio/high_resolution_timer.hpp @@ -2,7 +2,7 @@ // high_resolution_timer.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/impl/buffered_read_stream.hpp b/asio/include/asio/impl/buffered_read_stream.hpp index c1a2e14..00a11d8 100644 --- a/asio/include/asio/impl/buffered_read_stream.hpp +++ b/asio/include/asio/impl/buffered_read_stream.hpp @@ -2,7 +2,7 @@ // impl/buffered_read_stream.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) @@ -201,7 +201,8 @@ template std::size_t buffered_read_stream::read_some( const MutableBufferSequence& buffers) { - if (asio::buffer_size(buffers) == 0) + using asio::buffer_size; + if (buffer_size(buffers) == 0) return 0; if (storage_.empty()) @@ -217,7 +218,8 @@ std::size_t buffered_read_stream::read_some( { ec = asio::error_code(); - if (asio::buffer_size(buffers) == 0) + using asio::buffer_size; + if (buffer_size(buffers) == 0) return 0; if (storage_.empty() && !this->fill(ec)) @@ -379,7 +381,8 @@ buffered_read_stream::async_read_some( async_completion init(handler); - if (asio::buffer_size(buffers) == 0 || !storage_.empty()) + using asio::buffer_size; + if (buffer_size(buffers) == 0 || !storage_.empty()) { next_layer_.async_read_some(ASIO_MUTABLE_BUFFER(0, 0), detail::buffered_read_some_handler< diff --git a/asio/include/asio/impl/buffered_write_stream.hpp b/asio/include/asio/impl/buffered_write_stream.hpp index 4ce6e5e..25290f3 100644 --- a/asio/include/asio/impl/buffered_write_stream.hpp +++ b/asio/include/asio/impl/buffered_write_stream.hpp @@ -2,7 +2,7 @@ // impl/buffered_write_stream.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) @@ -182,7 +182,8 @@ template std::size_t buffered_write_stream::write_some( const ConstBufferSequence& buffers) { - if (asio::buffer_size(buffers) == 0) + using asio::buffer_size; + if (buffer_size(buffers) == 0) return 0; if (storage_.size() == storage_.capacity()) @@ -198,7 +199,8 @@ std::size_t buffered_write_stream::write_some( { ec = asio::error_code(); - if (asio::buffer_size(buffers) == 0) + using asio::buffer_size; + if (buffer_size(buffers) == 0) return 0; if (storage_.size() == storage_.capacity() && !flush(ec)) @@ -246,9 +248,10 @@ namespace detail } else { + using asio::buffer_size; std::size_t orig_size = storage_.size(); std::size_t space_avail = storage_.capacity() - orig_size; - std::size_t bytes_avail = asio::buffer_size(buffers_); + std::size_t bytes_avail = buffer_size(buffers_); std::size_t length = bytes_avail < space_avail ? bytes_avail : space_avail; storage_.resize(orig_size + length); @@ -365,7 +368,8 @@ buffered_write_stream::async_write_some( async_completion init(handler); - if (asio::buffer_size(buffers) == 0 + using asio::buffer_size; + if (buffer_size(buffers) == 0 || storage_.size() < storage_.capacity()) { next_layer_.async_write_some(ASIO_CONST_BUFFER(0, 0), @@ -390,9 +394,10 @@ template std::size_t buffered_write_stream::copy( const ConstBufferSequence& buffers) { + using asio::buffer_size; std::size_t orig_size = storage_.size(); std::size_t space_avail = storage_.capacity() - orig_size; - std::size_t bytes_avail = asio::buffer_size(buffers); + std::size_t bytes_avail = buffer_size(buffers); std::size_t length = bytes_avail < space_avail ? bytes_avail : space_avail; storage_.resize(orig_size + length); return asio::buffer_copy( diff --git a/asio/include/asio/impl/connect.hpp b/asio/include/asio/impl/connect.hpp index 2ab72f6..73770a3 100644 --- a/asio/include/asio/impl/connect.hpp +++ b/asio/include/asio/impl/connect.hpp @@ -2,7 +2,7 @@ // impl/connect.hpp // ~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) @@ -41,6 +41,63 @@ namespace detail return true; } }; + + template + inline typename Protocol::endpoint deref_connect_result( + Iterator iter, asio::error_code& ec) + { + return ec ? typename Protocol::endpoint() : *iter; + } + + template + struct legacy_connect_condition_helper : T + { + typedef char (*fallback_func_type)(...); + operator fallback_func_type() const; + }; + + template + struct legacy_connect_condition_helper + { + R operator()(Arg1, Arg2) const; + char operator()(...) const; + }; + + template + struct is_legacy_connect_condition + { + static char asio_connect_condition_check(char); + static char (&asio_connect_condition_check(Iterator))[2]; + + static const bool value = + sizeof(asio_connect_condition_check( + (*static_cast*>(0))( + *static_cast(0), + *static_cast(0)))) != 1; + }; + + template + inline Iterator call_connect_condition(ConnectCondition& connect_condition, + const asio::error_code& ec, Iterator next, Iterator end, + typename enable_if::value>::type* = 0) + { + if (next != end) + return connect_condition(ec, next); + return end; + } + + template + inline Iterator call_connect_condition(ConnectCondition& connect_condition, + const asio::error_code& ec, Iterator next, Iterator end, + typename enable_if::value>::type* = 0) + { + for (;next != end; ++next) + if (connect_condition(ec, *next)) + return next; + return end; + } } template @@ -63,10 +120,9 @@ typename Protocol::endpoint connect( typename enable_if::value>::type*) { - typename EndpointSequence::iterator iter = connect( - s, endpoints.begin(), endpoints.end(), - detail::default_connect_condition(), ec); - return ec ? typename Protocol::endpoint() : *iter; + return detail::deref_connect_result( + connect(s, endpoints.begin(), endpoints.end(), + detail::default_connect_condition(), ec), ec); } #if !defined(ASIO_NO_DEPRECATED) @@ -130,9 +186,9 @@ typename Protocol::endpoint connect( typename enable_if::value>::type*) { - typename EndpointSequence::iterator iter = connect( - s, endpoints.begin(), endpoints.end(), connect_condition, ec); - return ec ? typename Protocol::endpoint() : *iter; + return detail::deref_connect_result( + connect(s, endpoints.begin(), endpoints.end(), + connect_condition, ec), ec); } #if !defined(ASIO_NO_DEPRECATED) @@ -180,13 +236,16 @@ Iterator connect(basic_socket& s, for (Iterator iter = begin; iter != end; ++iter) { - if (connect_condition(ec, iter)) + iter = (detail::call_connect_condition(connect_condition, ec, iter, end)); + if (iter != end) { s.close(ec); s.connect(*iter, ec); if (!ec) return iter; } + else + break; } if (!ec) @@ -208,11 +267,11 @@ namespace detail { } - template - bool check_condition(const asio::error_code& ec, - const Endpoint& endpoint) + template + void check_condition(const asio::error_code& ec, + Iterator& iter, Iterator& end) { - return connect_condition_(ec, endpoint); + iter = detail::call_connect_condition(connect_condition_, ec, iter, end); } private: @@ -229,10 +288,9 @@ namespace detail { } - template - bool check_condition(const asio::error_code&, const Endpoint&) + template + void check_condition(const asio::error_code&, Iterator&, Iterator&) { - return true; } }; @@ -279,18 +337,18 @@ namespace detail void operator()(asio::error_code ec, int start = 0) { - typename EndpointSequence::iterator iter = endpoints_.begin(); + typename EndpointSequence::const_iterator begin = endpoints_.begin(); + typename EndpointSequence::const_iterator iter = begin; std::advance(iter, index_); - typename EndpointSequence::iterator end = endpoints_.end(); + typename EndpointSequence::const_iterator end = endpoints_.end(); switch (start_ = start) { case 1: for (;;) { - for (; iter != end; ++iter, ++index_) - if (this->check_condition(ec, *iter)) - break; + this->check_condition(ec, iter, end); + index_ = std::distance(begin, iter); if (iter != end) { @@ -443,9 +501,7 @@ namespace detail case 1: for (;;) { - for (; iter_ != end_; ++iter_) - if (this->check_condition(ec, *iter_)) - break; + this->check_condition(ec, iter_, end_); if (iter_ != end_) { diff --git a/asio/include/asio/impl/defer.hpp b/asio/include/asio/impl/defer.hpp index cf76ba5..69d7a32 100644 --- a/asio/include/asio/impl/defer.hpp +++ b/asio/include/asio/impl/defer.hpp @@ -2,7 +2,7 @@ // impl/defer.hpp // ~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) @@ -52,12 +52,10 @@ ASIO_INITFN_RESULT_TYPE(CompletionToken, void()) defer( async_completion init(token); - Executor ex1(ex); - typename associated_allocator::type alloc( (get_associated_allocator)(init.completion_handler)); - ex1.defer(detail::work_dispatcher(init.completion_handler), alloc); + ex.defer(detail::work_dispatcher(init.completion_handler), alloc); return init.result.get(); } diff --git a/asio/include/asio/impl/dispatch.hpp b/asio/include/asio/impl/dispatch.hpp index cfebc5c..dc8f4d0 100644 --- a/asio/include/asio/impl/dispatch.hpp +++ b/asio/include/asio/impl/dispatch.hpp @@ -2,7 +2,7 @@ // impl/dispatch.hpp // ~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) @@ -52,12 +52,10 @@ ASIO_INITFN_RESULT_TYPE(CompletionToken, void()) dispatch( async_completion init(token); - Executor ex1(ex); - typename associated_allocator::type alloc( (get_associated_allocator)(init.completion_handler)); - ex1.dispatch(detail::work_dispatcher( + ex.dispatch(detail::work_dispatcher( init.completion_handler), alloc); return init.result.get(); diff --git a/asio/include/asio/impl/error.ipp b/asio/include/asio/impl/error.ipp index 7351785..5be1bcc 100644 --- a/asio/include/asio/impl/error.ipp +++ b/asio/include/asio/impl/error.ipp @@ -2,7 +2,7 @@ // impl/error.ipp // ~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/impl/error_code.ipp b/asio/include/asio/impl/error_code.ipp index c986812..55f5b36 100644 --- a/asio/include/asio/impl/error_code.ipp +++ b/asio/include/asio/impl/error_code.ipp @@ -2,7 +2,7 @@ // impl/error_code.ipp // ~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/impl/execution_context.hpp b/asio/include/asio/impl/execution_context.hpp index 2e44ec1..3cbff32 100644 --- a/asio/include/asio/impl/execution_context.hpp +++ b/asio/include/asio/impl/execution_context.hpp @@ -2,7 +2,7 @@ // impl/execution_context.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/impl/execution_context.ipp b/asio/include/asio/impl/execution_context.ipp index 40bb263..3d60263 100644 --- a/asio/include/asio/impl/execution_context.ipp +++ b/asio/include/asio/impl/execution_context.ipp @@ -2,7 +2,7 @@ // impl/execution_context.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/impl/executor.hpp b/asio/include/asio/impl/executor.hpp index aac223e..19608e8 100644 --- a/asio/include/asio/impl/executor.hpp +++ b/asio/include/asio/impl/executor.hpp @@ -2,7 +2,7 @@ // impl/executor.hpp // ~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) @@ -39,15 +39,10 @@ public: template explicit function(F f, const Alloc& a) { - // Construct an allocator to be used for the operation. - typedef typename detail::get_recycling_allocator::type alloc_type; - alloc_type allocator(detail::get_recycling_allocator::get(a)); - // Allocate and construct an operation to wrap the function. - typedef detail::executor_op op; - typename op::ptr p = { allocator, 0, 0 }; - p.v = p.a.allocate(1); - op_ = new (p.v) op(f, allocator); + typedef detail::executor_op op; + typename op::ptr p = { detail::addressof(a), op::ptr::allocate(a), 0 }; + op_ = new (p.v) op(ASIO_MOVE_CAST(F)(f), a); p.v = 0; } diff --git a/asio/include/asio/impl/executor.ipp b/asio/include/asio/impl/executor.ipp index 605333e..905c6e0 100644 --- a/asio/include/asio/impl/executor.ipp +++ b/asio/include/asio/impl/executor.ipp @@ -2,7 +2,7 @@ // impl/executor.ipp // ~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/impl/handler_alloc_hook.ipp b/asio/include/asio/impl/handler_alloc_hook.ipp index f4bcdf9..41a22a1 100644 --- a/asio/include/asio/impl/handler_alloc_hook.ipp +++ b/asio/include/asio/impl/handler_alloc_hook.ipp @@ -2,7 +2,7 @@ // impl/handler_alloc_hook.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/impl/io_context.hpp b/asio/include/asio/impl/io_context.hpp index 45805ae..e0e50df 100644 --- a/asio/include/asio/impl/io_context.hpp +++ b/asio/include/asio/impl/io_context.hpp @@ -2,7 +2,7 @@ // impl/io_context.hpp // ~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) @@ -226,27 +226,23 @@ template void io_context::executor_type::dispatch( ASIO_MOVE_ARG(Function) f, const Allocator& a) const { - // Make a local, non-const copy of the function. typedef typename decay::type function_type; - function_type tmp(ASIO_MOVE_CAST(Function)(f)); // Invoke immediately if we are already inside the thread pool. if (io_context_.impl_.can_dispatch()) { + // Make a local, non-const copy of the function. + function_type tmp(ASIO_MOVE_CAST(Function)(f)); + detail::fenced_block b(detail::fenced_block::full); asio_handler_invoke_helpers::invoke(tmp, tmp); return; } - // Construct an allocator to be used for the operation. - typedef typename detail::get_recycling_allocator::type alloc_type; - alloc_type allocator(detail::get_recycling_allocator::get(a)); - // Allocate and construct an operation to wrap the function. - typedef detail::executor_op op; - typename op::ptr p = { allocator, 0, 0 }; - p.v = p.a.allocate(1); - p.p = new (p.v) op(tmp, allocator); + typedef detail::executor_op op; + typename op::ptr p = { detail::addressof(a), op::ptr::allocate(a), 0 }; + p.p = new (p.v) op(ASIO_MOVE_CAST(Function)(f), a); ASIO_HANDLER_CREATION((this->context(), *p.p, "io_context", &this->context(), 0, "post")); @@ -259,19 +255,12 @@ template void io_context::executor_type::post( ASIO_MOVE_ARG(Function) f, const Allocator& a) const { - // Make a local, non-const copy of the function. typedef typename decay::type function_type; - function_type tmp(ASIO_MOVE_CAST(Function)(f)); - - // Construct an allocator to be used for the operation. - typedef typename detail::get_recycling_allocator::type alloc_type; - alloc_type allocator(detail::get_recycling_allocator::get(a)); // Allocate and construct an operation to wrap the function. - typedef detail::executor_op op; - typename op::ptr p = { allocator, 0, 0 }; - p.v = p.a.allocate(1); - p.p = new (p.v) op(tmp, allocator); + typedef detail::executor_op op; + typename op::ptr p = { detail::addressof(a), op::ptr::allocate(a), 0 }; + p.p = new (p.v) op(ASIO_MOVE_CAST(Function)(f), a); ASIO_HANDLER_CREATION((this->context(), *p.p, "io_context", &this->context(), 0, "post")); @@ -284,19 +273,12 @@ template void io_context::executor_type::defer( ASIO_MOVE_ARG(Function) f, const Allocator& a) const { - // Make a local, non-const copy of the function. typedef typename decay::type function_type; - function_type tmp(ASIO_MOVE_CAST(Function)(f)); - - // Construct an allocator to be used for the operation. - typedef typename detail::get_recycling_allocator::type alloc_type; - alloc_type allocator(detail::get_recycling_allocator::get(a)); // Allocate and construct an operation to wrap the function. - typedef detail::executor_op op; - typename op::ptr p = { allocator, 0, 0 }; - p.v = p.a.allocate(1); - p.p = new (p.v) op(tmp, allocator); + typedef detail::executor_op op; + typename op::ptr p = { detail::addressof(a), op::ptr::allocate(a), 0 }; + p.p = new (p.v) op(ASIO_MOVE_CAST(Function)(f), a); ASIO_HANDLER_CREATION((this->context(), *p.p, "io_context", &this->context(), 0, "defer")); diff --git a/asio/include/asio/impl/io_context.ipp b/asio/include/asio/impl/io_context.ipp index b78ec1e..7c64283 100644 --- a/asio/include/asio/impl/io_context.ipp +++ b/asio/include/asio/impl/io_context.ipp @@ -2,7 +2,7 @@ // impl/io_context.ipp // ~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/impl/post.hpp b/asio/include/asio/impl/post.hpp index 293b387..2be3d72 100644 --- a/asio/include/asio/impl/post.hpp +++ b/asio/include/asio/impl/post.hpp @@ -2,7 +2,7 @@ // impl/post.hpp // ~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) @@ -52,12 +52,10 @@ ASIO_INITFN_RESULT_TYPE(CompletionToken, void()) post( async_completion init(token); - Executor ex1(ex); - typename associated_allocator::type alloc( (get_associated_allocator)(init.completion_handler)); - ex1.post(detail::work_dispatcher(init.completion_handler), alloc); + ex.post(detail::work_dispatcher(init.completion_handler), alloc); return init.result.get(); } diff --git a/asio/include/asio/impl/read.hpp b/asio/include/asio/impl/read.hpp index 385a552..f7a8e28 100644 --- a/asio/include/asio/impl/read.hpp +++ b/asio/include/asio/impl/read.hpp @@ -2,7 +2,7 @@ // impl/read.hpp // ~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/impl/read_at.hpp b/asio/include/asio/impl/read_at.hpp index 273312f..019fd42 100644 --- a/asio/include/asio/impl/read_at.hpp +++ b/asio/include/asio/impl/read_at.hpp @@ -2,7 +2,7 @@ // impl/read_at.hpp // ~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/impl/read_until.hpp b/asio/include/asio/impl/read_until.hpp index c0a435e..6401bd1 100644 --- a/asio/include/asio/impl/read_until.hpp +++ b/asio/include/asio/impl/read_until.hpp @@ -2,7 +2,7 @@ // impl/read_until.hpp // ~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/impl/serial_port_base.hpp b/asio/include/asio/impl/serial_port_base.hpp index c118d93..fe7c5e2 100644 --- a/asio/include/asio/impl/serial_port_base.hpp +++ b/asio/include/asio/impl/serial_port_base.hpp @@ -2,7 +2,7 @@ // impl/serial_port_base.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2008 Rep Invariant Systems, Inc. (info@repinvariant.com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying diff --git a/asio/include/asio/impl/serial_port_base.ipp b/asio/include/asio/impl/serial_port_base.ipp index 748c8ca..bad1fe3 100644 --- a/asio/include/asio/impl/serial_port_base.ipp +++ b/asio/include/asio/impl/serial_port_base.ipp @@ -2,7 +2,7 @@ // impl/serial_port_base.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2008 Rep Invariant Systems, Inc. (info@repinvariant.com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying @@ -113,7 +113,7 @@ ASIO_SYNC_OP_VOID serial_port_base::baud_rate::store( ec = asio::error::invalid_argument; ASIO_SYNC_OP_VOID_RETURN(ec); } -# if defined(_BSD_SOURCE) +# if defined(_BSD_SOURCE) || defined(_DEFAULT_SOURCE) ::cfsetspeed(&storage, baud); # else ::cfsetispeed(&storage, baud); @@ -249,7 +249,7 @@ ASIO_SYNC_OP_VOID serial_port_base::flow_control::store( { case none: storage.c_iflag &= ~(IXOFF | IXON); -# if defined(_BSD_SOURCE) +# if defined(_BSD_SOURCE) || defined(_DEFAULT_SOURCE) storage.c_cflag &= ~CRTSCTS; # elif defined(__QNXNTO__) storage.c_cflag &= ~(IHFLOW | OHFLOW); @@ -257,14 +257,14 @@ ASIO_SYNC_OP_VOID serial_port_base::flow_control::store( break; case software: storage.c_iflag |= IXOFF | IXON; -# if defined(_BSD_SOURCE) +# if defined(_BSD_SOURCE) || defined(_DEFAULT_SOURCE) storage.c_cflag &= ~CRTSCTS; # elif defined(__QNXNTO__) storage.c_cflag &= ~(IHFLOW | OHFLOW); # endif break; case hardware: -# if defined(_BSD_SOURCE) +# if defined(_BSD_SOURCE) || defined(_DEFAULT_SOURCE) storage.c_iflag &= ~(IXOFF | IXON); storage.c_cflag |= CRTSCTS; break; @@ -305,7 +305,7 @@ ASIO_SYNC_OP_VOID serial_port_base::flow_control::load( { value_ = software; } -# if defined(_BSD_SOURCE) +# if defined(_BSD_SOURCE) || defined(_DEFAULT_SOURCE) else if (storage.c_cflag & CRTSCTS) { value_ = hardware; diff --git a/asio/include/asio/impl/spawn.hpp b/asio/include/asio/impl/spawn.hpp index 82a05f0..3f23ed3 100644 --- a/asio/include/asio/impl/spawn.hpp +++ b/asio/include/asio/impl/spawn.hpp @@ -2,7 +2,7 @@ // impl/spawn.hpp // ~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/impl/src.cpp b/asio/include/asio/impl/src.cpp index fe56a79..d0c7595 100644 --- a/asio/include/asio/impl/src.cpp +++ b/asio/include/asio/impl/src.cpp @@ -2,7 +2,7 @@ // impl/src.cpp // ~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/impl/src.hpp b/asio/include/asio/impl/src.hpp index a22b1fb..41a1d75 100644 --- a/asio/include/asio/impl/src.hpp +++ b/asio/include/asio/impl/src.hpp @@ -2,7 +2,7 @@ // impl/src.hpp // ~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) @@ -26,7 +26,7 @@ #include "asio/impl/handler_alloc_hook.ipp" #include "asio/impl/io_context.ipp" #include "asio/impl/serial_port_base.ipp" -#include "asio/impl/system_executor.ipp" +#include "asio/impl/system_context.ipp" #include "asio/impl/thread_pool.ipp" #include "asio/detail/impl/buffer_sequence_adapter.ipp" #include "asio/detail/impl/descriptor_ops.ipp" diff --git a/asio/include/asio/impl/system_context.hpp b/asio/include/asio/impl/system_context.hpp new file mode 100644 index 0000000..e7cce6e --- /dev/null +++ b/asio/include/asio/impl/system_context.hpp @@ -0,0 +1,34 @@ +// +// impl/system_context.hpp +// ~~~~~~~~~~~~~~~~~~~~~~~ +// +// Copyright (c) 2003-2017 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_IMPL_SYSTEM_CONTEXT_HPP +#define ASIO_IMPL_SYSTEM_CONTEXT_HPP + +#if defined(_MSC_VER) && (_MSC_VER >= 1200) +# pragma once +#endif // defined(_MSC_VER) && (_MSC_VER >= 1200) + +#include "asio/system_executor.hpp" + +#include "asio/detail/push_options.hpp" + +namespace asio { + +inline system_context::executor_type +system_context::get_executor() ASIO_NOEXCEPT +{ + return system_executor(); +} + +} // namespace asio + +#include "asio/detail/pop_options.hpp" + +#endif // ASIO_IMPL_SYSTEM_CONTEXT_HPP diff --git a/asio/include/asio/impl/system_executor.ipp b/asio/include/asio/impl/system_context.ipp similarity index 60% rename from asio/include/asio/impl/system_executor.ipp rename to asio/include/asio/impl/system_context.ipp index 6e5b16e..21e6578 100644 --- a/asio/include/asio/impl/system_executor.ipp +++ b/asio/include/asio/impl/system_context.ipp @@ -1,28 +1,28 @@ // -// impl/system_executor.ipp -// ~~~~~~~~~~~~~~~~~~~~ +// impl/system_context.ipp +// ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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_IMPL_SYSTEM_EXECUTOR_IPP -#define ASIO_IMPL_SYSTEM_EXECUTOR_IPP +#ifndef ASIO_IMPL_SYSTEM_CONTEXT_IPP +#define ASIO_IMPL_SYSTEM_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/system_executor.hpp" +#include "asio/system_context.hpp" #include "asio/detail/push_options.hpp" namespace asio { -struct system_executor::thread_function +struct system_context::thread_function { detail::scheduler* scheduler_; @@ -33,7 +33,7 @@ struct system_executor::thread_function } }; -system_executor::context_impl::context_impl() +system_context::system_context() : scheduler_(use_service(*this)) { scheduler_.work_started(); @@ -43,15 +43,31 @@ system_executor::context_impl::context_impl() threads_.create_threads(f, num_threads ? num_threads : 2); } -system_executor::context_impl::~context_impl() +system_context::~system_context() { scheduler_.work_finished(); scheduler_.stop(); threads_.join(); } +void system_context::stop() +{ + scheduler_.stop(); +} + +bool system_context::stopped() const ASIO_NOEXCEPT +{ + return scheduler_.stopped(); +} + +void system_context::join() +{ + scheduler_.work_finished(); + threads_.join(); +} + } // namespace asio #include "asio/detail/pop_options.hpp" -#endif // ASIO_IMPL_SYSTEM_EXECUTOR_IPP +#endif // ASIO_IMPL_SYSTEM_CONTEXT_IPP diff --git a/asio/include/asio/impl/system_executor.hpp b/asio/include/asio/impl/system_executor.hpp index 12ca9b9..af90dc4 100644 --- a/asio/include/asio/impl/system_executor.hpp +++ b/asio/include/asio/impl/system_executor.hpp @@ -2,7 +2,7 @@ // impl/system_executor.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) @@ -19,15 +19,15 @@ #include "asio/detail/global.hpp" #include "asio/detail/recycling_allocator.hpp" #include "asio/detail/type_traits.hpp" -#include "asio/execution_context.hpp" +#include "asio/system_context.hpp" #include "asio/detail/push_options.hpp" namespace asio { -inline execution_context& system_executor::context() const ASIO_NOEXCEPT +inline system_context& system_executor::context() const ASIO_NOEXCEPT { - return detail::global(); + return detail::global(); } template @@ -42,21 +42,14 @@ template void system_executor::post( ASIO_MOVE_ARG(Function) f, const Allocator& a) const { - context_impl& ctx = detail::global(); - - // Make a local, non-const copy of the function. typedef typename decay::type function_type; - function_type tmp(ASIO_MOVE_CAST(Function)(f)); - // Construct an allocator to be used for the operation. - typedef typename detail::get_recycling_allocator::type alloc_type; - alloc_type allocator(detail::get_recycling_allocator::get(a)); + system_context& ctx = detail::global(); // Allocate and construct an operation to wrap the function. - typedef detail::executor_op op; - typename op::ptr p = { allocator, 0, 0 }; - p.v = p.a.allocate(1); - p.p = new (p.v) op(tmp, allocator); + typedef detail::executor_op op; + typename op::ptr p = { detail::addressof(a), op::ptr::allocate(a), 0 }; + p.p = new (p.v) op(ASIO_MOVE_CAST(Function)(f), a); ASIO_HANDLER_CREATION((ctx, *p.p, "system_executor", &this->context(), 0, "post")); @@ -69,21 +62,14 @@ template void system_executor::defer( ASIO_MOVE_ARG(Function) f, const Allocator& a) const { - context_impl& ctx = detail::global(); - - // Make a local, non-const copy of the function. typedef typename decay::type function_type; - function_type tmp(ASIO_MOVE_CAST(Function)(f)); - // Construct an allocator to be used for the operation. - typedef typename detail::get_recycling_allocator::type alloc_type; - alloc_type allocator(detail::get_recycling_allocator::get(a)); + system_context& ctx = detail::global(); // Allocate and construct an operation to wrap the function. - typedef detail::executor_op op; - typename op::ptr p = { allocator, 0, 0 }; - p.v = p.a.allocate(1); - p.p = new (p.v) op(tmp, allocator); + typedef detail::executor_op op; + typename op::ptr p = { detail::addressof(a), op::ptr::allocate(a), 0 }; + p.p = new (p.v) op(ASIO_MOVE_CAST(Function)(f), a); ASIO_HANDLER_CREATION((ctx, *p.p, "system_executor", &this->context(), 0, "defer")); diff --git a/asio/include/asio/impl/thread_pool.hpp b/asio/include/asio/impl/thread_pool.hpp index db7d5c0..5e069ee 100644 --- a/asio/include/asio/impl/thread_pool.hpp +++ b/asio/include/asio/impl/thread_pool.hpp @@ -2,7 +2,7 @@ // impl/thread_pool.hpp // ~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) @@ -53,27 +53,23 @@ template void thread_pool::executor_type::dispatch( ASIO_MOVE_ARG(Function) f, const Allocator& a) const { - // Make a local, non-const copy of the function. typedef typename decay::type function_type; - function_type tmp(ASIO_MOVE_CAST(Function)(f)); // Invoke immediately if we are already inside the thread pool. if (pool_.scheduler_.can_dispatch()) { + // Make a local, non-const copy of the function. + function_type tmp(ASIO_MOVE_CAST(Function)(f)); + detail::fenced_block b(detail::fenced_block::full); asio_handler_invoke_helpers::invoke(tmp, tmp); return; } - // Construct an allocator to be used for the operation. - typedef typename detail::get_recycling_allocator::type alloc_type; - alloc_type allocator(detail::get_recycling_allocator::get(a)); - // Allocate and construct an operation to wrap the function. - typedef detail::executor_op op; - typename op::ptr p = { allocator, 0, 0 }; - p.v = p.a.allocate(1); - p.p = new (p.v) op(tmp, allocator); + typedef detail::executor_op op; + typename op::ptr p = { detail::addressof(a), op::ptr::allocate(a), 0 }; + p.p = new (p.v) op(ASIO_MOVE_CAST(Function)(f), a); ASIO_HANDLER_CREATION((pool_, *p.p, "thread_pool", &this->context(), 0, "dispatch")); @@ -86,19 +82,12 @@ template void thread_pool::executor_type::post( ASIO_MOVE_ARG(Function) f, const Allocator& a) const { - // Make a local, non-const copy of the function. typedef typename decay::type function_type; - function_type tmp(ASIO_MOVE_CAST(Function)(f)); - - // Construct an allocator to be used for the operation. - typedef typename detail::get_recycling_allocator::type alloc_type; - alloc_type allocator(detail::get_recycling_allocator::get(a)); // Allocate and construct an operation to wrap the function. - typedef detail::executor_op op; - typename op::ptr p = { allocator, 0, 0 }; - p.v = p.a.allocate(1); - p.p = new (p.v) op(tmp, allocator); + typedef detail::executor_op op; + typename op::ptr p = { detail::addressof(a), op::ptr::allocate(a), 0 }; + p.p = new (p.v) op(ASIO_MOVE_CAST(Function)(f), a); ASIO_HANDLER_CREATION((pool_, *p.p, "thread_pool", &this->context(), 0, "post")); @@ -111,19 +100,12 @@ template void thread_pool::executor_type::defer( ASIO_MOVE_ARG(Function) f, const Allocator& a) const { - // Make a local, non-const copy of the function. typedef typename decay::type function_type; - function_type tmp(ASIO_MOVE_CAST(Function)(f)); - - // Construct an allocator to be used for the operation. - typedef typename detail::get_recycling_allocator::type alloc_type; - alloc_type allocator(detail::get_recycling_allocator::get(a)); // Allocate and construct an operation to wrap the function. - typedef detail::executor_op op; - typename op::ptr p = { allocator, 0, 0 }; - p.v = p.a.allocate(1); - p.p = new (p.v) op(tmp, allocator); + typedef detail::executor_op op; + typename op::ptr p = { detail::addressof(a), op::ptr::allocate(a), 0 }; + p.p = new (p.v) op(ASIO_MOVE_CAST(Function)(f), a); ASIO_HANDLER_CREATION((pool_, *p.p, "thread_pool", &this->context(), 0, "defer")); diff --git a/asio/include/asio/impl/thread_pool.ipp b/asio/include/asio/impl/thread_pool.ipp index f56b94a..373b01c 100644 --- a/asio/include/asio/impl/thread_pool.ipp +++ b/asio/include/asio/impl/thread_pool.ipp @@ -2,7 +2,7 @@ // impl/thread_pool.ipp // ~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/impl/use_future.hpp b/asio/include/asio/impl/use_future.hpp index 94e8af7..67b329d 100644 --- a/asio/include/asio/impl/use_future.hpp +++ b/asio/include/asio/impl/use_future.hpp @@ -2,7 +2,7 @@ // impl/use_future.hpp // ~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) @@ -174,7 +174,7 @@ class promise_invoker public: promise_invoker(const shared_ptr >& p, ASIO_MOVE_ARG(F) f) - : p_(p), f_(f) + : p_(p), f_(ASIO_MOVE_CAST(F)(f)) { } @@ -543,6 +543,8 @@ template class promise_handler_selector : public promise_handler_ex_1 {}; +#if defined(ASIO_HAS_VARIADIC_TEMPLATES) + template class promise_handler_selector : public promise_handler_n > {}; @@ -555,6 +557,32 @@ template class promise_handler_selector : public promise_handler_ex_n > {}; +#else // defined(ASIO_HAS_VARIADIC_TEMPLATES) + +#define ASIO_PRIVATE_PROMISE_SELECTOR_DEF(n) \ + template \ + class promise_handler_selector< \ + void(Arg, ASIO_VARIADIC_TARGS(n))> \ + : public promise_handler_n< \ + std::tuple > {}; \ + \ + template \ + class promise_handler_selector< \ + void(asio::error_code, Arg, ASIO_VARIADIC_TARGS(n))> \ + : public promise_handler_ec_n< \ + std::tuple > {}; \ + \ + template \ + class promise_handler_selector< \ + void(std::exception_ptr, Arg, ASIO_VARIADIC_TARGS(n))> \ + : public promise_handler_ex_n< \ + std::tuple > {}; \ + /**/ + ASIO_VARIADIC_GENERATE(ASIO_PRIVATE_PROMISE_SELECTOR_DEF) +#undef ASIO_PRIVATE_PROMISE_SELECTOR_DEF + +#endif // defined(ASIO_HAS_VARIADIC_TEMPLATES) + // Completion handlers produced from the use_future completion token, when not // using use_future::operator(). template diff --git a/asio/include/asio/impl/write.hpp b/asio/include/asio/impl/write.hpp index 8250aa3..7e0b15e 100644 --- a/asio/include/asio/impl/write.hpp +++ b/asio/include/asio/impl/write.hpp @@ -2,7 +2,7 @@ // impl/write.hpp // ~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/impl/write_at.hpp b/asio/include/asio/impl/write_at.hpp index 9e06bd2..b79fe24 100644 --- a/asio/include/asio/impl/write_at.hpp +++ b/asio/include/asio/impl/write_at.hpp @@ -2,7 +2,7 @@ // impl/write_at.hpp // ~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/io_context.hpp b/asio/include/asio/io_context.hpp index 44fe432..6f1c0b4 100644 --- a/asio/include/asio/io_context.hpp +++ b/asio/include/asio/io_context.hpp @@ -2,7 +2,7 @@ // io_context.hpp // ~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) @@ -64,12 +64,12 @@ namespace detail { * * @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. + * @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(), run_for(), run_until(), 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. @@ -78,25 +78,26 @@ namespace detail { * * 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. + * run_for(), run_until(), 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(), run_for(), + * run_until(), 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. + * run_for(), run_until(), 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. + * After the exception has been caught, the run(), run_one(), run_for(), + * run_until(), 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: * @@ -117,6 +118,35 @@ namespace detail { * } * @endcode * + * @par Submitting arbitrary tasks to the io_context + * + * To submit functions to the io_context, use the @ref asio::dispatch, + * @ref asio::post or @ref asio::defer free functions. + * + * For example: + * + * @code void my_task() + * { + * ... + * } + * + * ... + * + * asio::io_context io_context; + * + * // Submit a function to the io_context. + * asio::post(io_context, my_task); + * + * // Submit a lambda object to the io_context. + * asio::post(io_context, + * []() + * { + * ... + * }); + * + * // Run the io_context until it runs out of work. + * io_context.run(); @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 @@ -238,9 +268,10 @@ public: * * @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. + * @note Calling the run() function from a thread that is currently calling + * one of run(), run_one(), run_for(), run_until(), poll() or poll_one() on + * the same io_context object may introduce the potential for deadlock. It is + * the caller's reponsibility to avoid this. * * The poll() function may also be used to dispatch ready handlers, but * without blocking. @@ -268,9 +299,10 @@ public: * * @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. + * @note Calling the run() function from a thread that is currently calling + * one of run(), run_one(), run_for(), run_until(), poll() or poll_one() on + * the same io_context object may introduce the potential for deadlock. It is + * the caller's reponsibility to avoid this. * * The poll() function may also be used to dispatch ready handlers, but * without blocking. @@ -318,6 +350,11 @@ public: * returns @c true). Subsequent calls to run(), run_one(), poll() or * poll_one() will return immediately unless there is a prior call to * restart(). + * + * @note Calling the run_one() function from a thread that is currently + * calling one of run(), run_one(), run_for(), run_until(), poll() or + * poll_one() on the same io_context object may introduce the potential for + * deadlock. It is the caller's reponsibility to avoid this. */ ASIO_DECL count_type run_one(); @@ -335,6 +372,11 @@ public: * restart(). * * @return The number of handlers that were executed. + * + * @note Calling the run_one() function from a thread that is currently + * calling one of run(), run_one(), run_for(), run_until(), poll() or + * poll_one() on the same io_context object may introduce the potential for + * deadlock. It is the caller's reponsibility to avoid this. */ ASIO_DECL count_type run_one(asio::error_code& ec); #endif // !defined(ASIO_NO_DEPRECATED) diff --git a/asio/include/asio/io_context_strand.hpp b/asio/include/asio/io_context_strand.hpp index 53a6c46..052990b 100644 --- a/asio/include/asio/io_context_strand.hpp +++ b/asio/include/asio/io_context_strand.hpp @@ -2,7 +2,7 @@ // io_context_strand.hpp // ~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) @@ -144,7 +144,7 @@ public: #endif // !defined(ASIO_NO_DEPRECATED) /// Obtain the underlying execution context. - asio::io_context& context() ASIO_NOEXCEPT + asio::io_context& context() const ASIO_NOEXCEPT { return service_.get_io_context(); } @@ -153,7 +153,7 @@ public: /** * The strand delegates this call to its underlying io_context. */ - void on_work_started() ASIO_NOEXCEPT + void on_work_started() const ASIO_NOEXCEPT { context().get_executor().on_work_started(); } @@ -162,7 +162,7 @@ public: /** * The strand delegates this call to its underlying io_context. */ - void on_work_finished() ASIO_NOEXCEPT + void on_work_finished() const ASIO_NOEXCEPT { context().get_executor().on_work_finished(); } @@ -183,7 +183,7 @@ public: * internal storage needed for function invocation. */ template - void dispatch(ASIO_MOVE_ARG(Function) f, const Allocator& a) + void dispatch(ASIO_MOVE_ARG(Function) f, const Allocator& a) const { typename decay::type tmp(ASIO_MOVE_CAST(Function)(f)); service_.dispatch(impl_, tmp); @@ -241,7 +241,7 @@ public: * internal storage needed for function invocation. */ template - void post(ASIO_MOVE_ARG(Function) f, const Allocator& a) + void post(ASIO_MOVE_ARG(Function) f, const Allocator& a) const { typename decay::type tmp(ASIO_MOVE_CAST(Function)(f)); service_.post(impl_, tmp); @@ -295,7 +295,7 @@ public: * internal storage needed for function invocation. */ template - void defer(ASIO_MOVE_ARG(Function) f, const Allocator& a) + void defer(ASIO_MOVE_ARG(Function) f, const Allocator& a) const { typename decay::type tmp(ASIO_MOVE_CAST(Function)(f)); service_.post(impl_, tmp); @@ -370,7 +370,7 @@ public: private: asio::detail::strand_service& service_; - asio::detail::strand_service::implementation_type impl_; + mutable asio::detail::strand_service::implementation_type impl_; }; } // namespace asio diff --git a/asio/include/asio/io_service.hpp b/asio/include/asio/io_service.hpp index 73772a0..9f0d838 100644 --- a/asio/include/asio/io_service.hpp +++ b/asio/include/asio/io_service.hpp @@ -2,7 +2,7 @@ // io_service.hpp // ~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/io_service_strand.hpp b/asio/include/asio/io_service_strand.hpp index 49f6f3b..92f275e 100644 --- a/asio/include/asio/io_service_strand.hpp +++ b/asio/include/asio/io_service_strand.hpp @@ -2,7 +2,7 @@ // io_service_strand.hpp // ~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/ip/address.hpp b/asio/include/asio/ip/address.hpp index 351a815..ca3fdea 100644 --- a/asio/include/asio/ip/address.hpp +++ b/asio/include/asio/ip/address.hpp @@ -2,7 +2,7 @@ // ip/address.hpp // ~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/ip/address_v4.hpp b/asio/include/asio/ip/address_v4.hpp index 6e16313..f30abd6 100644 --- a/asio/include/asio/ip/address_v4.hpp +++ b/asio/include/asio/ip/address_v4.hpp @@ -2,7 +2,7 @@ // ip/address_v4.hpp // ~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/ip/address_v4_iterator.hpp b/asio/include/asio/ip/address_v4_iterator.hpp index ad0889c..34e99bb 100644 --- a/asio/include/asio/ip/address_v4_iterator.hpp +++ b/asio/include/asio/ip/address_v4_iterator.hpp @@ -2,7 +2,7 @@ // ip/address_v4_iterator.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/ip/address_v4_range.hpp b/asio/include/asio/ip/address_v4_range.hpp index 06f3bd1..9aa2497 100644 --- a/asio/include/asio/ip/address_v4_range.hpp +++ b/asio/include/asio/ip/address_v4_range.hpp @@ -2,7 +2,7 @@ // ip/address_v4_range.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/ip/address_v6.hpp b/asio/include/asio/ip/address_v6.hpp index 663601d..77038da 100644 --- a/asio/include/asio/ip/address_v6.hpp +++ b/asio/include/asio/ip/address_v6.hpp @@ -2,7 +2,7 @@ // ip/address_v6.hpp // ~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/ip/address_v6_iterator.hpp b/asio/include/asio/ip/address_v6_iterator.hpp index 947af07..620f0ad 100644 --- a/asio/include/asio/ip/address_v6_iterator.hpp +++ b/asio/include/asio/ip/address_v6_iterator.hpp @@ -2,7 +2,7 @@ // ip/address_v6_iterator.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Oliver Kowalke (oliver dot kowalke at gmail dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying diff --git a/asio/include/asio/ip/address_v6_range.hpp b/asio/include/asio/ip/address_v6_range.hpp index 4dc7a30..afb0624 100644 --- a/asio/include/asio/ip/address_v6_range.hpp +++ b/asio/include/asio/ip/address_v6_range.hpp @@ -2,7 +2,7 @@ // ip/address_v6_range.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Oliver Kowalke (oliver dot kowalke at gmail dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying diff --git a/asio/include/asio/ip/bad_address_cast.hpp b/asio/include/asio/ip/bad_address_cast.hpp index 6c47914..e3c8991 100644 --- a/asio/include/asio/ip/bad_address_cast.hpp +++ b/asio/include/asio/ip/bad_address_cast.hpp @@ -2,7 +2,7 @@ // ip/bad_address_cast.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/ip/basic_endpoint.hpp b/asio/include/asio/ip/basic_endpoint.hpp index d48f644..fc0a723 100644 --- a/asio/include/asio/ip/basic_endpoint.hpp +++ b/asio/include/asio/ip/basic_endpoint.hpp @@ -2,7 +2,7 @@ // ip/basic_endpoint.hpp // ~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/ip/basic_resolver.hpp b/asio/include/asio/ip/basic_resolver.hpp index 3aa61fb..7c28c61 100644 --- a/asio/include/asio/ip/basic_resolver.hpp +++ b/asio/include/asio/ip/basic_resolver.hpp @@ -2,7 +2,7 @@ // ip/basic_resolver.hpp // ~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/ip/basic_resolver_entry.hpp b/asio/include/asio/ip/basic_resolver_entry.hpp index ce689aa..268551b 100644 --- a/asio/include/asio/ip/basic_resolver_entry.hpp +++ b/asio/include/asio/ip/basic_resolver_entry.hpp @@ -2,7 +2,7 @@ // ip/basic_resolver_entry.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/ip/basic_resolver_iterator.hpp b/asio/include/asio/ip/basic_resolver_iterator.hpp index 8cab75d..85272e6 100644 --- a/asio/include/asio/ip/basic_resolver_iterator.hpp +++ b/asio/include/asio/ip/basic_resolver_iterator.hpp @@ -2,7 +2,7 @@ // ip/basic_resolver_iterator.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/ip/basic_resolver_query.hpp b/asio/include/asio/ip/basic_resolver_query.hpp index 9bde9fe..269bc95 100644 --- a/asio/include/asio/ip/basic_resolver_query.hpp +++ b/asio/include/asio/ip/basic_resolver_query.hpp @@ -2,7 +2,7 @@ // ip/basic_resolver_query.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/ip/basic_resolver_results.hpp b/asio/include/asio/ip/basic_resolver_results.hpp index dec2c7e..4146a46 100644 --- a/asio/include/asio/ip/basic_resolver_results.hpp +++ b/asio/include/asio/ip/basic_resolver_results.hpp @@ -2,7 +2,7 @@ // ip/basic_resolver_results.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/ip/detail/endpoint.hpp b/asio/include/asio/ip/detail/endpoint.hpp index 82875a4..7b90590 100644 --- a/asio/include/asio/ip/detail/endpoint.hpp +++ b/asio/include/asio/ip/detail/endpoint.hpp @@ -2,7 +2,7 @@ // ip/detail/endpoint.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/ip/detail/impl/endpoint.ipp b/asio/include/asio/ip/detail/impl/endpoint.ipp index 1c8a93b..dd3403e 100644 --- a/asio/include/asio/ip/detail/impl/endpoint.ipp +++ b/asio/include/asio/ip/detail/impl/endpoint.ipp @@ -2,7 +2,7 @@ // ip/detail/impl/endpoint.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/ip/detail/socket_option.hpp b/asio/include/asio/ip/detail/socket_option.hpp index d555a40..636d967 100644 --- a/asio/include/asio/ip/detail/socket_option.hpp +++ b/asio/include/asio/ip/detail/socket_option.hpp @@ -2,7 +2,7 @@ // detail/socket_option.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/ip/host_name.hpp b/asio/include/asio/ip/host_name.hpp index 6e556c6..df94006 100644 --- a/asio/include/asio/ip/host_name.hpp +++ b/asio/include/asio/ip/host_name.hpp @@ -2,7 +2,7 @@ // ip/host_name.hpp // ~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/ip/icmp.hpp b/asio/include/asio/ip/icmp.hpp index 752a82c..bf29c06 100644 --- a/asio/include/asio/ip/icmp.hpp +++ b/asio/include/asio/ip/icmp.hpp @@ -2,7 +2,7 @@ // ip/icmp.hpp // ~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/ip/impl/address.hpp b/asio/include/asio/ip/impl/address.hpp index c64fb02..6e2eee7 100644 --- a/asio/include/asio/ip/impl/address.hpp +++ b/asio/include/asio/ip/impl/address.hpp @@ -2,7 +2,7 @@ // ip/impl/address.hpp // ~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/ip/impl/address.ipp b/asio/include/asio/ip/impl/address.ipp index c558d9a..f63b626 100644 --- a/asio/include/asio/ip/impl/address.ipp +++ b/asio/include/asio/ip/impl/address.ipp @@ -2,7 +2,7 @@ // ip/impl/address.ipp // ~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/ip/impl/address_v4.hpp b/asio/include/asio/ip/impl/address_v4.hpp index 1897fd2..9153213 100644 --- a/asio/include/asio/ip/impl/address_v4.hpp +++ b/asio/include/asio/ip/impl/address_v4.hpp @@ -2,7 +2,7 @@ // ip/impl/address_v4.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/ip/impl/address_v4.ipp b/asio/include/asio/ip/impl/address_v4.ipp index 09439eb..9afdc30 100644 --- a/asio/include/asio/ip/impl/address_v4.ipp +++ b/asio/include/asio/ip/impl/address_v4.ipp @@ -2,7 +2,7 @@ // ip/impl/address_v4.ipp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/ip/impl/address_v6.hpp b/asio/include/asio/ip/impl/address_v6.hpp index 407d9c1..d9ada71 100644 --- a/asio/include/asio/ip/impl/address_v6.hpp +++ b/asio/include/asio/ip/impl/address_v6.hpp @@ -2,7 +2,7 @@ // ip/impl/address_v6.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/ip/impl/address_v6.ipp b/asio/include/asio/ip/impl/address_v6.ipp index 79025ae..1bfa71b 100644 --- a/asio/include/asio/ip/impl/address_v6.ipp +++ b/asio/include/asio/ip/impl/address_v6.ipp @@ -2,7 +2,7 @@ // ip/impl/address_v6.ipp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/ip/impl/basic_endpoint.hpp b/asio/include/asio/ip/impl/basic_endpoint.hpp index c1a29a8..3c283ae 100644 --- a/asio/include/asio/ip/impl/basic_endpoint.hpp +++ b/asio/include/asio/ip/impl/basic_endpoint.hpp @@ -2,7 +2,7 @@ // ip/impl/basic_endpoint.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/ip/impl/host_name.ipp b/asio/include/asio/ip/impl/host_name.ipp index a1f8a0d..47a3f5f 100644 --- a/asio/include/asio/ip/impl/host_name.ipp +++ b/asio/include/asio/ip/impl/host_name.ipp @@ -2,7 +2,7 @@ // ip/impl/host_name.ipp // ~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/ip/impl/network_v4.hpp b/asio/include/asio/ip/impl/network_v4.hpp index 34c03fd..857eeee 100644 --- a/asio/include/asio/ip/impl/network_v4.hpp +++ b/asio/include/asio/ip/impl/network_v4.hpp @@ -2,7 +2,7 @@ // ip/impl/network_v4.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2014 Oliver Kowalke (oliver dot kowalke at gmail dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying diff --git a/asio/include/asio/ip/impl/network_v4.ipp b/asio/include/asio/ip/impl/network_v4.ipp index ec39aae..58a6a34 100644 --- a/asio/include/asio/ip/impl/network_v4.ipp +++ b/asio/include/asio/ip/impl/network_v4.ipp @@ -2,7 +2,7 @@ // ip/impl/network_v4.ipp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2014 Oliver Kowalke (oliver dot kowalke at gmail dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying @@ -178,8 +178,18 @@ network_v4 make_network_v4(const std::string& str, return network_v4(); } - return network_v4(make_address_v4(str.substr(0, pos)), - std::atoi(str.substr(pos + 1).c_str())); + const address_v4 addr = make_address_v4(str.substr(0, pos), ec); + if (ec) + return network_v4(); + + const int prefix_len = std::atoi(str.substr(pos + 1).c_str()); + if (prefix_len < 0 || prefix_len > 32) + { + ec = asio::error::invalid_argument; + return network_v4(); + } + + return network_v4(addr, static_cast(prefix_len)); } #if defined(ASIO_HAS_STD_STRING_VIEW) diff --git a/asio/include/asio/ip/impl/network_v6.hpp b/asio/include/asio/ip/impl/network_v6.hpp index 03b9ed8..df4dccb 100644 --- a/asio/include/asio/ip/impl/network_v6.hpp +++ b/asio/include/asio/ip/impl/network_v6.hpp @@ -2,7 +2,7 @@ // ip/impl/network_v6.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/ip/impl/network_v6.ipp b/asio/include/asio/ip/impl/network_v6.ipp index c2418e3..648af8a 100644 --- a/asio/include/asio/ip/impl/network_v6.ipp +++ b/asio/include/asio/ip/impl/network_v6.ipp @@ -2,7 +2,7 @@ // ip/impl/network_v6.ipp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2014 Oliver Kowalke (oliver dot kowalke at gmail dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying @@ -147,8 +147,18 @@ network_v6 make_network_v6(const std::string& str, return network_v6(); } - return network_v6(make_address_v6(str.substr(0, pos)), - std::atoi(str.substr(pos + 1).c_str())); + const address_v6 addr = make_address_v6(str.substr(0, pos), ec); + if (ec) + return network_v6(); + + const int prefix_len = std::atoi(str.substr(pos + 1).c_str()); + if (prefix_len < 0 || prefix_len > 128) + { + ec = asio::error::invalid_argument; + return network_v6(); + } + + return network_v6(addr, static_cast(prefix_len)); } #if defined(ASIO_HAS_STD_STRING_VIEW) diff --git a/asio/include/asio/ip/multicast.hpp b/asio/include/asio/ip/multicast.hpp index 16fbf4c..7beddea 100644 --- a/asio/include/asio/ip/multicast.hpp +++ b/asio/include/asio/ip/multicast.hpp @@ -2,7 +2,7 @@ // ip/multicast.hpp // ~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/ip/network_v4.hpp b/asio/include/asio/ip/network_v4.hpp index 5980b8e..ed9048c 100644 --- a/asio/include/asio/ip/network_v4.hpp +++ b/asio/include/asio/ip/network_v4.hpp @@ -2,7 +2,7 @@ // ip/network_v4.hpp // ~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2014 Oliver Kowalke (oliver dot kowalke at gmail dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying diff --git a/asio/include/asio/ip/network_v6.hpp b/asio/include/asio/ip/network_v6.hpp index 4e07dbb..3a7b55f 100644 --- a/asio/include/asio/ip/network_v6.hpp +++ b/asio/include/asio/ip/network_v6.hpp @@ -2,7 +2,7 @@ // ip/network_v6.hpp // ~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2014 Oliver Kowalke (oliver dot kowalke at gmail dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying diff --git a/asio/include/asio/ip/resolver_base.hpp b/asio/include/asio/ip/resolver_base.hpp index a8a94d5..2ed7899 100644 --- a/asio/include/asio/ip/resolver_base.hpp +++ b/asio/include/asio/ip/resolver_base.hpp @@ -2,7 +2,7 @@ // ip/resolver_base.hpp // ~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/ip/resolver_query_base.hpp b/asio/include/asio/ip/resolver_query_base.hpp index 297c9c9..809edbd 100644 --- a/asio/include/asio/ip/resolver_query_base.hpp +++ b/asio/include/asio/ip/resolver_query_base.hpp @@ -2,7 +2,7 @@ // ip/resolver_query_base.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/ip/resolver_service.hpp b/asio/include/asio/ip/resolver_service.hpp index 18e2dc1..2e4cfd9 100644 --- a/asio/include/asio/ip/resolver_service.hpp +++ b/asio/include/asio/ip/resolver_service.hpp @@ -2,7 +2,7 @@ // ip/resolver_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/ip/tcp.hpp b/asio/include/asio/ip/tcp.hpp index 40e5470..aaa2cc4 100644 --- a/asio/include/asio/ip/tcp.hpp +++ b/asio/include/asio/ip/tcp.hpp @@ -2,7 +2,7 @@ // ip/tcp.hpp // ~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/ip/udp.hpp b/asio/include/asio/ip/udp.hpp index a011acc..7407099 100644 --- a/asio/include/asio/ip/udp.hpp +++ b/asio/include/asio/ip/udp.hpp @@ -2,7 +2,7 @@ // ip/udp.hpp // ~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/ip/unicast.hpp b/asio/include/asio/ip/unicast.hpp index 8b768c2..86444e0 100644 --- a/asio/include/asio/ip/unicast.hpp +++ b/asio/include/asio/ip/unicast.hpp @@ -2,7 +2,7 @@ // ip/unicast.hpp // ~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/ip/v6_only.hpp b/asio/include/asio/ip/v6_only.hpp index 9106b25..dff26cb 100644 --- a/asio/include/asio/ip/v6_only.hpp +++ b/asio/include/asio/ip/v6_only.hpp @@ -2,7 +2,7 @@ // ip/v6_only.hpp // ~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/is_executor.hpp b/asio/include/asio/is_executor.hpp index d5abf7b..fd851c9 100644 --- a/asio/include/asio/is_executor.hpp +++ b/asio/include/asio/is_executor.hpp @@ -2,7 +2,7 @@ // is_executor.hpp // ~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/is_read_buffered.hpp b/asio/include/asio/is_read_buffered.hpp index 10483b1..936c44a 100644 --- a/asio/include/asio/is_read_buffered.hpp +++ b/asio/include/asio/is_read_buffered.hpp @@ -2,7 +2,7 @@ // is_read_buffered.hpp // ~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/is_write_buffered.hpp b/asio/include/asio/is_write_buffered.hpp index b0efbbb..8075e80 100644 --- a/asio/include/asio/is_write_buffered.hpp +++ b/asio/include/asio/is_write_buffered.hpp @@ -2,7 +2,7 @@ // is_write_buffered.hpp // ~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/local/basic_endpoint.hpp b/asio/include/asio/local/basic_endpoint.hpp index ae30100..421e252 100644 --- a/asio/include/asio/local/basic_endpoint.hpp +++ b/asio/include/asio/local/basic_endpoint.hpp @@ -2,7 +2,7 @@ // local/basic_endpoint.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Derived from a public domain implementation written by Daniel Casimiro. // // Distributed under the Boost Software License, Version 1.0. (See accompanying diff --git a/asio/include/asio/local/connect_pair.hpp b/asio/include/asio/local/connect_pair.hpp index 3542d9b..ba584df 100644 --- a/asio/include/asio/local/connect_pair.hpp +++ b/asio/include/asio/local/connect_pair.hpp @@ -2,7 +2,7 @@ // local/connect_pair.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/local/datagram_protocol.hpp b/asio/include/asio/local/datagram_protocol.hpp index 17773d7..b1cd84f 100644 --- a/asio/include/asio/local/datagram_protocol.hpp +++ b/asio/include/asio/local/datagram_protocol.hpp @@ -2,7 +2,7 @@ // local/datagram_protocol.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/local/detail/endpoint.hpp b/asio/include/asio/local/detail/endpoint.hpp index 6125e97..7e7e4a5 100644 --- a/asio/include/asio/local/detail/endpoint.hpp +++ b/asio/include/asio/local/detail/endpoint.hpp @@ -2,7 +2,7 @@ // local/detail/endpoint.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Derived from a public domain implementation written by Daniel Casimiro. // // Distributed under the Boost Software License, Version 1.0. (See accompanying diff --git a/asio/include/asio/local/detail/impl/endpoint.ipp b/asio/include/asio/local/detail/impl/endpoint.ipp index adda630..af02fea 100644 --- a/asio/include/asio/local/detail/impl/endpoint.ipp +++ b/asio/include/asio/local/detail/impl/endpoint.ipp @@ -2,7 +2,7 @@ // local/detail/impl/endpoint.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Derived from a public domain implementation written by Daniel Casimiro. // // Distributed under the Boost Software License, Version 1.0. (See accompanying @@ -108,7 +108,8 @@ void endpoint::init(const char* path_name, std::size_t path_length) using namespace std; // For memcpy. data_.local = asio::detail::sockaddr_un_type(); data_.local.sun_family = AF_UNIX; - memcpy(data_.local.sun_path, path_name, path_length); + if (path_length > 0) + memcpy(data_.local.sun_path, path_name, path_length); path_length_ = path_length; // NUL-terminate normal path names. Names that start with a NUL are in the diff --git a/asio/include/asio/local/stream_protocol.hpp b/asio/include/asio/local/stream_protocol.hpp index e8094cc..7a9a0a8 100644 --- a/asio/include/asio/local/stream_protocol.hpp +++ b/asio/include/asio/local/stream_protocol.hpp @@ -2,7 +2,7 @@ // local/stream_protocol.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/packaged_task.hpp b/asio/include/asio/packaged_task.hpp index af8d689..8b19bc1 100644 --- a/asio/include/asio/packaged_task.hpp +++ b/asio/include/asio/packaged_task.hpp @@ -2,7 +2,7 @@ // packaged_task.hpp // ~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/placeholders.hpp b/asio/include/asio/placeholders.hpp index 8e6e2e5..efa4315 100644 --- a/asio/include/asio/placeholders.hpp +++ b/asio/include/asio/placeholders.hpp @@ -2,7 +2,7 @@ // placeholders.hpp // ~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/posix/basic_descriptor.hpp b/asio/include/asio/posix/basic_descriptor.hpp index 27db872..1759388 100644 --- a/asio/include/asio/posix/basic_descriptor.hpp +++ b/asio/include/asio/posix/basic_descriptor.hpp @@ -2,7 +2,7 @@ // posix/basic_descriptor.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/posix/basic_stream_descriptor.hpp b/asio/include/asio/posix/basic_stream_descriptor.hpp index eb7bc8b..d6e3418 100644 --- a/asio/include/asio/posix/basic_stream_descriptor.hpp +++ b/asio/include/asio/posix/basic_stream_descriptor.hpp @@ -2,7 +2,7 @@ // posix/basic_stream_descriptor.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/posix/descriptor.hpp b/asio/include/asio/posix/descriptor.hpp index 9ab46a5..81a4812 100644 --- a/asio/include/asio/posix/descriptor.hpp +++ b/asio/include/asio/posix/descriptor.hpp @@ -2,7 +2,7 @@ // posix/descriptor.hpp // ~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/posix/descriptor_base.hpp b/asio/include/asio/posix/descriptor_base.hpp index b77d49d..f84332d 100644 --- a/asio/include/asio/posix/descriptor_base.hpp +++ b/asio/include/asio/posix/descriptor_base.hpp @@ -2,7 +2,7 @@ // posix/descriptor_base.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/posix/stream_descriptor.hpp b/asio/include/asio/posix/stream_descriptor.hpp index 29e1572..032f1b3 100644 --- a/asio/include/asio/posix/stream_descriptor.hpp +++ b/asio/include/asio/posix/stream_descriptor.hpp @@ -2,7 +2,7 @@ // posix/stream_descriptor.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/posix/stream_descriptor_service.hpp b/asio/include/asio/posix/stream_descriptor_service.hpp index e7a1b32..5b38b9d 100644 --- a/asio/include/asio/posix/stream_descriptor_service.hpp +++ b/asio/include/asio/posix/stream_descriptor_service.hpp @@ -2,7 +2,7 @@ // posix/stream_descriptor_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/post.hpp b/asio/include/asio/post.hpp index 17625cb..3a7cd0b 100644 --- a/asio/include/asio/post.hpp +++ b/asio/include/asio/post.hpp @@ -2,7 +2,7 @@ // post.hpp // ~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/raw_socket_service.hpp b/asio/include/asio/raw_socket_service.hpp index 9882abb..278dd24 100644 --- a/asio/include/asio/raw_socket_service.hpp +++ b/asio/include/asio/raw_socket_service.hpp @@ -2,7 +2,7 @@ // raw_socket_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/read.hpp b/asio/include/asio/read.hpp index 4839934..5cf981e 100644 --- a/asio/include/asio/read.hpp +++ b/asio/include/asio/read.hpp @@ -2,7 +2,7 @@ // read.hpp // ~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/read_at.hpp b/asio/include/asio/read_at.hpp index 16e6af1..a58c84d 100644 --- a/asio/include/asio/read_at.hpp +++ b/asio/include/asio/read_at.hpp @@ -2,7 +2,7 @@ // read_at.hpp // ~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/read_until.hpp b/asio/include/asio/read_until.hpp index 93bf96b..fd7d45a 100644 --- a/asio/include/asio/read_until.hpp +++ b/asio/include/asio/read_until.hpp @@ -2,7 +2,7 @@ // read_until.hpp // ~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) @@ -584,8 +584,8 @@ std::size_t read_until(SyncReadStream& s, * contains the delimiter: * @code { 'a', 'b', ..., 'c', '\n', 'd', 'e', ... } @endcode * The call to @c std::getline then extracts the data up to and including the - * delimiter, so that the string @c line contains: - * @code { 'a', 'b', ..., 'c', '\n' } @endcode + * newline (which is discarded), so that the string @c line contains: + * @code { 'a', 'b', ..., 'c' } @endcode * The remaining data is left in the buffer @c b as follows: * @code { 'd', 'e', ... } @endcode * This data may be the start of a new line, to be extracted by a subsequent @@ -671,8 +671,8 @@ std::size_t read_until(SyncReadStream& s, * contains the delimiter: * @code { 'a', 'b', ..., 'c', '\r', '\n', 'd', 'e', ... } @endcode * The call to @c std::getline then extracts the data up to and including the - * delimiter, so that the string @c line contains: - * @code { 'a', 'b', ..., 'c', '\r', '\n' } @endcode + * newline (which is discarded), so that the string @c line contains: + * @code { 'a', 'b', ..., 'c', '\r' } @endcode * The remaining data is left in the buffer @c b as follows: * @code { 'd', 'e', ... } @endcode * This data may be the start of a new line, to be extracted by a subsequent @@ -764,8 +764,8 @@ std::size_t read_until(SyncReadStream& s, * contains the data which matched the regular expression: * @code { 'a', 'b', ..., 'c', '\r', '\n', 'd', 'e', ... } @endcode * The call to @c std::getline then extracts the data up to and including the - * match, so that the string @c line contains: - * @code { 'a', 'b', ..., 'c', '\r', '\n' } @endcode + * newline (which is discarded), so that the string @c line contains: + * @code { 'a', 'b', ..., 'c', '\r' } @endcode * The remaining data is left in the buffer @c b as follows: * @code { 'd', 'e', ... } @endcode * This data may be the start of a new line, to be extracted by a subsequent @@ -1483,8 +1483,8 @@ async_read_until(AsyncReadStream& s, * @c b contains the delimiter: * @code { 'a', 'b', ..., 'c', '\n', 'd', 'e', ... } @endcode * The call to @c std::getline then extracts the data up to and including the - * delimiter, so that the string @c line contains: - * @code { 'a', 'b', ..., 'c', '\n' } @endcode + * newline (which is discarded), so that the string @c line contains: + * @code { 'a', 'b', ..., 'c' } @endcode * The remaining data is left in the buffer @c b as follows: * @code { 'd', 'e', ... } @endcode * This data may be the start of a new line, to be extracted by a subsequent @@ -1568,8 +1568,8 @@ async_read_until(AsyncReadStream& s, * @c b contains the delimiter: * @code { 'a', 'b', ..., 'c', '\r', '\n', 'd', 'e', ... } @endcode * The call to @c std::getline then extracts the data up to and including the - * delimiter, so that the string @c line contains: - * @code { 'a', 'b', ..., 'c', '\r', '\n' } @endcode + * newline (which is discarded), so that the string @c line contains: + * @code { 'a', 'b', ..., 'c', '\r' } @endcode * The remaining data is left in the buffer @c b as follows: * @code { 'd', 'e', ... } @endcode * This data may be the start of a new line, to be extracted by a subsequent @@ -1661,8 +1661,8 @@ async_read_until(AsyncReadStream& s, * @c b contains the data which matched the regular expression: * @code { 'a', 'b', ..., 'c', '\r', '\n', 'd', 'e', ... } @endcode * The call to @c std::getline then extracts the data up to and including the - * match, so that the string @c line contains: - * @code { 'a', 'b', ..., 'c', '\r', '\n' } @endcode + * newline (which is discarded), so that the string @c line contains: + * @code { 'a', 'b', ..., 'c', '\r' } @endcode * The remaining data is left in the buffer @c b as follows: * @code { 'd', 'e', ... } @endcode * This data may be the start of a new line, to be extracted by a subsequent diff --git a/asio/include/asio/seq_packet_socket_service.hpp b/asio/include/asio/seq_packet_socket_service.hpp index fceb1d0..e4335d3 100644 --- a/asio/include/asio/seq_packet_socket_service.hpp +++ b/asio/include/asio/seq_packet_socket_service.hpp @@ -2,7 +2,7 @@ // seq_packet_socket_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/serial_port.hpp b/asio/include/asio/serial_port.hpp index 4455a0a..317d9f0 100644 --- a/asio/include/asio/serial_port.hpp +++ b/asio/include/asio/serial_port.hpp @@ -2,7 +2,7 @@ // serial_port.hpp // ~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2008 Rep Invariant Systems, Inc. (info@repinvariant.com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying diff --git a/asio/include/asio/serial_port_base.hpp b/asio/include/asio/serial_port_base.hpp index b4ab4f3..900be1e 100644 --- a/asio/include/asio/serial_port_base.hpp +++ b/asio/include/asio/serial_port_base.hpp @@ -2,7 +2,7 @@ // serial_port_base.hpp // ~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2008 Rep Invariant Systems, Inc. (info@repinvariant.com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying diff --git a/asio/include/asio/serial_port_service.hpp b/asio/include/asio/serial_port_service.hpp index 4f47e57..6237ea7 100644 --- a/asio/include/asio/serial_port_service.hpp +++ b/asio/include/asio/serial_port_service.hpp @@ -2,7 +2,7 @@ // serial_port_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/signal_set.hpp b/asio/include/asio/signal_set.hpp index 0850901..016b294 100644 --- a/asio/include/asio/signal_set.hpp +++ b/asio/include/asio/signal_set.hpp @@ -2,7 +2,7 @@ // signal_set.hpp // ~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/signal_set_service.hpp b/asio/include/asio/signal_set_service.hpp index d4c54b8..3c6382d 100644 --- a/asio/include/asio/signal_set_service.hpp +++ b/asio/include/asio/signal_set_service.hpp @@ -2,7 +2,7 @@ // signal_set_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/socket_acceptor_service.hpp b/asio/include/asio/socket_acceptor_service.hpp index 933340a..430ecaa 100644 --- a/asio/include/asio/socket_acceptor_service.hpp +++ b/asio/include/asio/socket_acceptor_service.hpp @@ -2,7 +2,7 @@ // socket_acceptor_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/socket_base.hpp b/asio/include/asio/socket_base.hpp index 99ef377..aa78b55 100644 --- a/asio/include/asio/socket_base.hpp +++ b/asio/include/asio/socket_base.hpp @@ -2,7 +2,7 @@ // socket_base.hpp // ~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) @@ -432,6 +432,40 @@ public: linger; #endif + /// Socket option for putting received out-of-band data inline. + /** + * Implements the SOL_SOCKET/SO_OOBINLINE socket option. + * + * @par Examples + * Setting the option: + * @code + * asio::ip::tcp::socket socket(io_context); + * ... + * asio::socket_base::out_of_band_inline option(true); + * socket.set_option(option); + * @endcode + * + * @par + * Getting the current option value: + * @code + * asio::ip::tcp::socket socket(io_context); + * ... + * asio::socket_base::out_of_band_inline option; + * socket.get_option(option); + * bool value = option.value(); + * @endcode + * + * @par Concepts: + * Socket_Option, Boolean_Socket_Option. + */ +#if defined(GENERATING_DOCUMENTATION) + typedef implementation_defined out_of_band_inline; +#else + typedef asio::detail::socket_option::boolean< + ASIO_OS_DEF(SOL_SOCKET), ASIO_OS_DEF(SO_OOBINLINE)> + out_of_band_inline; +#endif + /// Socket option to report aborted connections on accept. /** * Implements a custom socket option that determines whether or not an accept diff --git a/asio/include/asio/spawn.hpp b/asio/include/asio/spawn.hpp index cffe431..d21733c 100644 --- a/asio/include/asio/spawn.hpp +++ b/asio/include/asio/spawn.hpp @@ -2,7 +2,7 @@ // spawn.hpp // ~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/ssl.hpp b/asio/include/asio/ssl.hpp index bc3dae0..e49eb17 100644 --- a/asio/include/asio/ssl.hpp +++ b/asio/include/asio/ssl.hpp @@ -2,7 +2,7 @@ // ssl.hpp // ~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/ssl/context.hpp b/asio/include/asio/ssl/context.hpp index 6e3f2ad..e00fd23 100644 --- a/asio/include/asio/ssl/context.hpp +++ b/asio/include/asio/ssl/context.hpp @@ -2,7 +2,7 @@ // ssl/context.hpp // ~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/ssl/context_base.hpp b/asio/include/asio/ssl/context_base.hpp index b3af107..1fea979 100644 --- a/asio/include/asio/ssl/context_base.hpp +++ b/asio/include/asio/ssl/context_base.hpp @@ -2,7 +2,7 @@ // ssl/context_base.hpp // ~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) @@ -83,7 +83,16 @@ public: tlsv12_client, /// TLS version 1.2 server. - tlsv12_server + tlsv12_server, + + /// Generic TLS. + tls, + + /// TLS client. + tls_client, + + /// TLS server. + tls_server }; /// Bitmask type for SSL options. diff --git a/asio/include/asio/ssl/detail/buffered_handshake_op.hpp b/asio/include/asio/ssl/detail/buffered_handshake_op.hpp index e661bde..ceb22e8 100644 --- a/asio/include/asio/ssl/detail/buffered_handshake_op.hpp +++ b/asio/include/asio/ssl/detail/buffered_handshake_op.hpp @@ -2,7 +2,7 @@ // ssl/detail/buffered_handshake_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/ssl/detail/engine.hpp b/asio/include/asio/ssl/detail/engine.hpp index c9ea33b..061a50d 100644 --- a/asio/include/asio/ssl/detail/engine.hpp +++ b/asio/include/asio/ssl/detail/engine.hpp @@ -2,7 +2,7 @@ // ssl/detail/engine.hpp // ~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/ssl/detail/handshake_op.hpp b/asio/include/asio/ssl/detail/handshake_op.hpp index b6848ea..23824d8 100644 --- a/asio/include/asio/ssl/detail/handshake_op.hpp +++ b/asio/include/asio/ssl/detail/handshake_op.hpp @@ -2,7 +2,7 @@ // ssl/detail/handshake_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/ssl/detail/impl/engine.ipp b/asio/include/asio/ssl/detail/impl/engine.ipp index 5566149..ca0a1ff 100644 --- a/asio/include/asio/ssl/detail/impl/engine.ipp +++ b/asio/include/asio/ssl/detail/impl/engine.ipp @@ -2,7 +2,7 @@ // ssl/detail/impl/engine.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) @@ -204,7 +204,7 @@ const asio::error_code& engine::map_error_code( // SSL v2 doesn't provide a protocol-level shutdown, so an eof on the // underlying transport is passed through. #if (OPENSSL_VERSION_NUMBER < 0x10100000L) - if (ssl_->version == SSL2_VERSION) + if (SSL_version(ssl_) == SSL2_VERSION) return ec; #endif // (OPENSSL_VERSION_NUMBER < 0x10100000L) diff --git a/asio/include/asio/ssl/detail/impl/openssl_init.ipp b/asio/include/asio/ssl/detail/impl/openssl_init.ipp index 5de0caa..75aefec 100644 --- a/asio/include/asio/ssl/detail/impl/openssl_init.ipp +++ b/asio/include/asio/ssl/detail/impl/openssl_init.ipp @@ -3,7 +3,7 @@ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // // Copyright (c) 2005 Voipster / Indrek dot Juhani at voipster dot com -// Copyright (c) 2005-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2005-2017 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) diff --git a/asio/include/asio/ssl/detail/io.hpp b/asio/include/asio/ssl/detail/io.hpp index 5d35ba4..553f1ff 100644 --- a/asio/include/asio/ssl/detail/io.hpp +++ b/asio/include/asio/ssl/detail/io.hpp @@ -2,7 +2,7 @@ // ssl/detail/io.hpp // ~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/ssl/detail/openssl_init.hpp b/asio/include/asio/ssl/detail/openssl_init.hpp index 6144534..623ee49 100644 --- a/asio/include/asio/ssl/detail/openssl_init.hpp +++ b/asio/include/asio/ssl/detail/openssl_init.hpp @@ -2,7 +2,7 @@ // ssl/detail/openssl_init.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/ssl/detail/openssl_types.hpp b/asio/include/asio/ssl/detail/openssl_types.hpp index 981fcb1..a5ef5bb 100644 --- a/asio/include/asio/ssl/detail/openssl_types.hpp +++ b/asio/include/asio/ssl/detail/openssl_types.hpp @@ -2,7 +2,7 @@ // ssl/detail/openssl_types.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/ssl/detail/password_callback.hpp b/asio/include/asio/ssl/detail/password_callback.hpp index abff36c..d43d7ee 100644 --- a/asio/include/asio/ssl/detail/password_callback.hpp +++ b/asio/include/asio/ssl/detail/password_callback.hpp @@ -2,7 +2,7 @@ // ssl/detail/password_callback.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/ssl/detail/read_op.hpp b/asio/include/asio/ssl/detail/read_op.hpp index 2195bc8..bbb8505 100644 --- a/asio/include/asio/ssl/detail/read_op.hpp +++ b/asio/include/asio/ssl/detail/read_op.hpp @@ -2,7 +2,7 @@ // ssl/detail/read_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/ssl/detail/shutdown_op.hpp b/asio/include/asio/ssl/detail/shutdown_op.hpp index 974eaa0..fa06ede 100644 --- a/asio/include/asio/ssl/detail/shutdown_op.hpp +++ b/asio/include/asio/ssl/detail/shutdown_op.hpp @@ -2,7 +2,7 @@ // ssl/detail/shutdown_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/ssl/detail/stream_core.hpp b/asio/include/asio/ssl/detail/stream_core.hpp index 1872912..86cbfc0 100644 --- a/asio/include/asio/ssl/detail/stream_core.hpp +++ b/asio/include/asio/ssl/detail/stream_core.hpp @@ -2,7 +2,7 @@ // ssl/detail/stream_core.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/ssl/detail/verify_callback.hpp b/asio/include/asio/ssl/detail/verify_callback.hpp index 288ff66..9314aae 100644 --- a/asio/include/asio/ssl/detail/verify_callback.hpp +++ b/asio/include/asio/ssl/detail/verify_callback.hpp @@ -2,7 +2,7 @@ // ssl/detail/verify_callback.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/ssl/detail/write_op.hpp b/asio/include/asio/ssl/detail/write_op.hpp index d40719e..7f6f928 100644 --- a/asio/include/asio/ssl/detail/write_op.hpp +++ b/asio/include/asio/ssl/detail/write_op.hpp @@ -2,7 +2,7 @@ // ssl/detail/write_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/ssl/error.hpp b/asio/include/asio/ssl/error.hpp index 727b5ca..6a0d221 100644 --- a/asio/include/asio/ssl/error.hpp +++ b/asio/include/asio/ssl/error.hpp @@ -2,7 +2,7 @@ // ssl/error.hpp // ~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/ssl/impl/context.hpp b/asio/include/asio/ssl/impl/context.hpp index 2b5a161..95808e0 100644 --- a/asio/include/asio/ssl/impl/context.hpp +++ b/asio/include/asio/ssl/impl/context.hpp @@ -3,7 +3,7 @@ // ~~~~~~~~~~~~~~~~~~~~ // // Copyright (c) 2005 Voipster / Indrek dot Juhani at voipster dot com -// Copyright (c) 2005-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2005-2017 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) diff --git a/asio/include/asio/ssl/impl/context.ipp b/asio/include/asio/ssl/impl/context.ipp index e80dc81..45e203f 100644 --- a/asio/include/asio/ssl/impl/context.ipp +++ b/asio/include/asio/ssl/impl/context.ipp @@ -3,7 +3,7 @@ // ~~~~~~~~~~~~~~~~~~~~ // // Copyright (c) 2005 Voipster / Indrek dot Juhani at voipster dot com -// Copyright (c) 2005-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2005-2017 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) @@ -66,16 +66,15 @@ context::context(context::method m) switch (m) { -#if defined(OPENSSL_NO_SSL2) \ - || (OPENSSL_VERSION_NUMBER >= 0x10100000L) + // SSL v2. +#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) || defined(OPENSSL_NO_SSL2) case context::sslv2: case context::sslv2_client: case context::sslv2_server: asio::detail::throw_error( asio::error::invalid_argument, "context"); break; -#else // defined(OPENSSL_NO_SSL2) - // || (OPENSSL_VERSION_NUMBER >= 0x10100000L) +#else // (OPENSSL_VERSION_NUMBER >= 0x10100000L) || defined(OPENSSL_NO_SSL2) case context::sslv2: handle_ = ::SSL_CTX_new(::SSLv2_method()); break; @@ -85,9 +84,35 @@ context::context(context::method m) case context::sslv2_server: handle_ = ::SSL_CTX_new(::SSLv2_server_method()); break; -#endif // defined(OPENSSL_NO_SSL2) - // || (OPENSSL_VERSION_NUMBER >= 0x10100000L) -#if defined(OPENSSL_NO_SSL3) +#endif // (OPENSSL_VERSION_NUMBER >= 0x10100000L) || defined(OPENSSL_NO_SSL2) + + // SSL v3. +#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && !defined(LIBRESSL_VERSION_NUMBER) + case context::sslv3: + handle_ = ::SSL_CTX_new(::TLS_method()); + if (handle_) + { + SSL_CTX_set_min_proto_version(handle_, SSL3_VERSION); + SSL_CTX_set_max_proto_version(handle_, SSL3_VERSION); + } + break; + case context::sslv3_client: + handle_ = ::SSL_CTX_new(::TLS_client_method()); + if (handle_) + { + SSL_CTX_set_min_proto_version(handle_, SSL3_VERSION); + SSL_CTX_set_max_proto_version(handle_, SSL3_VERSION); + } + break; + case context::sslv3_server: + handle_ = ::SSL_CTX_new(::TLS_server_method()); + if (handle_) + { + SSL_CTX_set_min_proto_version(handle_, SSL3_VERSION); + SSL_CTX_set_max_proto_version(handle_, SSL3_VERSION); + } + break; +#elif defined(OPENSSL_NO_SSL3) case context::sslv3: case context::sslv3_client: case context::sslv3_server: @@ -105,7 +130,34 @@ context::context(context::method m) handle_ = ::SSL_CTX_new(::SSLv3_server_method()); break; #endif // defined(OPENSSL_NO_SSL3) -#if (OPENSSL_VERSION_NUMBER < 0x10100000L) + + // TLS v1.0. +#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && !defined(LIBRESSL_VERSION_NUMBER) + case context::tlsv1: + handle_ = ::SSL_CTX_new(::TLS_method()); + if (handle_) + { + SSL_CTX_set_min_proto_version(handle_, TLS1_VERSION); + SSL_CTX_set_max_proto_version(handle_, TLS1_VERSION); + } + break; + case context::tlsv1_client: + handle_ = ::SSL_CTX_new(::TLS_client_method()); + if (handle_) + { + SSL_CTX_set_min_proto_version(handle_, TLS1_VERSION); + SSL_CTX_set_max_proto_version(handle_, TLS1_VERSION); + } + break; + case context::tlsv1_server: + handle_ = ::SSL_CTX_new(::TLS_server_method()); + if (handle_) + { + SSL_CTX_set_min_proto_version(handle_, TLS1_VERSION); + SSL_CTX_set_max_proto_version(handle_, TLS1_VERSION); + } + break; +#else // (OPENSSL_VERSION_NUMBER >= 0x10100000L) case context::tlsv1: handle_ = ::SSL_CTX_new(::TLSv1_method()); break; @@ -115,18 +167,35 @@ context::context(context::method m) case context::tlsv1_server: handle_ = ::SSL_CTX_new(::TLSv1_server_method()); break; -#endif // (OPENSSL_VERSION_NUMBER < 0x10100000L) - case context::sslv23: - handle_ = ::SSL_CTX_new(::SSLv23_method()); +#endif // (OPENSSL_VERSION_NUMBER >= 0x10100000L) + + // TLS v1.1. +#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && !defined(LIBRESSL_VERSION_NUMBER) + case context::tlsv11: + handle_ = ::SSL_CTX_new(::TLS_method()); + if (handle_) + { + SSL_CTX_set_min_proto_version(handle_, TLS1_1_VERSION); + SSL_CTX_set_max_proto_version(handle_, TLS1_1_VERSION); + } break; - case context::sslv23_client: - handle_ = ::SSL_CTX_new(::SSLv23_client_method()); + case context::tlsv11_client: + handle_ = ::SSL_CTX_new(::TLS_client_method()); + if (handle_) + { + SSL_CTX_set_min_proto_version(handle_, TLS1_1_VERSION); + SSL_CTX_set_max_proto_version(handle_, TLS1_1_VERSION); + } break; - case context::sslv23_server: - handle_ = ::SSL_CTX_new(::SSLv23_server_method()); + case context::tlsv11_server: + handle_ = ::SSL_CTX_new(::TLS_server_method()); + if (handle_) + { + SSL_CTX_set_min_proto_version(handle_, TLS1_1_VERSION); + SSL_CTX_set_max_proto_version(handle_, TLS1_1_VERSION); + } break; -#if (OPENSSL_VERSION_NUMBER < 0x10100000L) -#if defined(SSL_TXT_TLSV1_1) +#elif defined(SSL_TXT_TLSV1_1) case context::tlsv11: handle_ = ::SSL_CTX_new(::TLSv1_1_method()); break; @@ -144,7 +213,34 @@ context::context(context::method m) asio::error::invalid_argument, "context"); break; #endif // defined(SSL_TXT_TLSV1_1) -#if defined(SSL_TXT_TLSV1_2) + + // TLS v1.2. +#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && !defined(LIBRESSL_VERSION_NUMBER) + case context::tlsv12: + handle_ = ::SSL_CTX_new(::TLS_method()); + if (handle_) + { + SSL_CTX_set_min_proto_version(handle_, TLS1_2_VERSION); + SSL_CTX_set_max_proto_version(handle_, TLS1_2_VERSION); + } + break; + case context::tlsv12_client: + handle_ = ::SSL_CTX_new(::TLS_client_method()); + if (handle_) + { + SSL_CTX_set_min_proto_version(handle_, TLS1_2_VERSION); + SSL_CTX_set_max_proto_version(handle_, TLS1_2_VERSION); + } + break; + case context::tlsv12_server: + handle_ = ::SSL_CTX_new(::TLS_server_method()); + if (handle_) + { + SSL_CTX_set_min_proto_version(handle_, TLS1_2_VERSION); + SSL_CTX_set_max_proto_version(handle_, TLS1_2_VERSION); + } + break; +#elif defined(SSL_TXT_TLSV1_1) case context::tlsv12: handle_ = ::SSL_CTX_new(::TLSv1_2_method()); break; @@ -154,31 +250,61 @@ context::context(context::method m) case context::tlsv12_server: handle_ = ::SSL_CTX_new(::TLSv1_2_server_method()); break; -#else // defined(SSL_TXT_TLSV1_2) +#else // defined(SSL_TXT_TLSV1_1) case context::tlsv12: case context::tlsv12_client: case context::tlsv12_server: asio::detail::throw_error( asio::error::invalid_argument, "context"); break; -#endif // defined(SSL_TXT_TLSV1_2) -#else // (OPENSSL_VERSION_NUMBER < 0x10100000L) - case context::tlsv1: - case context::tlsv11: - case context::tlsv12: +#endif // defined(SSL_TXT_TLSV1_1) + + // Any supported SSL/TLS version. + case context::sslv23: + handle_ = ::SSL_CTX_new(::SSLv23_method()); + break; + case context::sslv23_client: + handle_ = ::SSL_CTX_new(::SSLv23_client_method()); + break; + case context::sslv23_server: + handle_ = ::SSL_CTX_new(::SSLv23_server_method()); + break; + + // Any supported TLS version. +#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && !defined(LIBRESSL_VERSION_NUMBER) + case context::tls: handle_ = ::SSL_CTX_new(::TLS_method()); + if (handle_) + SSL_CTX_set_min_proto_version(handle_, TLS1_VERSION); break; - case context::tlsv1_client: - case context::tlsv11_client: - case context::tlsv12_client: + case context::tls_client: handle_ = ::SSL_CTX_new(::TLS_client_method()); + if (handle_) + SSL_CTX_set_min_proto_version(handle_, TLS1_VERSION); break; - case context::tlsv1_server: - case context::tlsv11_server: - case context::tlsv12_server: + case context::tls_server: handle_ = ::SSL_CTX_new(::TLS_server_method()); + if (handle_) + SSL_CTX_set_min_proto_version(handle_, TLS1_VERSION); break; -#endif // (OPENSSL_VERSION_NUMBER < 0x10100000L) +#else // (OPENSSL_VERSION_NUMBER >= 0x10100000L) + case context::tls: + handle_ = ::SSL_CTX_new(::SSLv23_method()); + if (handle_) + SSL_CTX_set_options(handle_, SSL_OP_NO_SSLv2 | SSL_OP_NO_SSLv3); + break; + case context::tls_client: + handle_ = ::SSL_CTX_new(::SSLv23_client_method()); + if (handle_) + SSL_CTX_set_options(handle_, SSL_OP_NO_SSLv2 | SSL_OP_NO_SSLv3); + break; + case context::tls_server: + handle_ = ::SSL_CTX_new(::SSLv23_server_method()); + if (handle_) + SSL_CTX_set_options(handle_, SSL_OP_NO_SSLv2 | SSL_OP_NO_SSLv3); + break; +#endif // (OPENSSL_VERSION_NUMBER >= 0x10100000L) + default: handle_ = ::SSL_CTX_new(0); break; @@ -215,7 +341,7 @@ context::~context() { if (handle_) { -#if (OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)) +#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && !defined(LIBRESSL_VERSION_NUMBER) void* cb_userdata = ::SSL_CTX_get_default_passwd_cb_userdata(handle_); #else // (OPENSSL_VERSION_NUMBER >= 0x10100000L) void* cb_userdata = handle_->default_passwd_callback_userdata; @@ -226,7 +352,7 @@ context::~context() static_cast( cb_userdata); delete callback; -#if (OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)) +#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && !defined(LIBRESSL_VERSION_NUMBER) ::SSL_CTX_set_default_passwd_cb_userdata(handle_, 0); #else // (OPENSSL_VERSION_NUMBER >= 0x10100000L) handle_->default_passwd_callback_userdata = 0; @@ -560,7 +686,7 @@ ASIO_SYNC_OP_VOID context::use_certificate_chain( bio_cleanup bio = { make_buffer_bio(chain) }; if (bio.p) { -#if (OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)) +#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && !defined(LIBRESSL_VERSION_NUMBER) pem_password_cb* callback = ::SSL_CTX_get_default_passwd_cb(handle_); void* cb_userdata = ::SSL_CTX_get_default_passwd_cb_userdata(handle_); #else // (OPENSSL_VERSION_NUMBER >= 0x10100000L) @@ -664,7 +790,7 @@ ASIO_SYNC_OP_VOID context::use_private_key( { ::ERR_clear_error(); -#if (OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)) +#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && !defined(LIBRESSL_VERSION_NUMBER) pem_password_cb* callback = ::SSL_CTX_get_default_passwd_cb(handle_); void* cb_userdata = ::SSL_CTX_get_default_passwd_cb_userdata(handle_); #else // (OPENSSL_VERSION_NUMBER >= 0x10100000L) @@ -731,7 +857,7 @@ ASIO_SYNC_OP_VOID context::use_rsa_private_key( { ::ERR_clear_error(); -#if (OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)) +#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && !defined(LIBRESSL_VERSION_NUMBER) pem_password_cb* callback = ::SSL_CTX_get_default_passwd_cb(handle_); void* cb_userdata = ::SSL_CTX_get_default_passwd_cb_userdata(handle_); #else // (OPENSSL_VERSION_NUMBER >= 0x10100000L) @@ -970,7 +1096,7 @@ int context::verify_callback_function(int preverified, X509_STORE_CTX* ctx) ASIO_SYNC_OP_VOID context::do_set_password_callback( detail::password_callback_base* callback, asio::error_code& ec) { -#if (OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)) +#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && !defined(LIBRESSL_VERSION_NUMBER) void* old_callback = ::SSL_CTX_get_default_passwd_cb_userdata(handle_); ::SSL_CTX_set_default_passwd_cb_userdata(handle_, callback); #else // (OPENSSL_VERSION_NUMBER >= 0x10100000L) diff --git a/asio/include/asio/ssl/impl/error.ipp b/asio/include/asio/ssl/impl/error.ipp index 268fc96..42caeb7 100644 --- a/asio/include/asio/ssl/impl/error.ipp +++ b/asio/include/asio/ssl/impl/error.ipp @@ -2,7 +2,7 @@ // ssl/impl/error.ipp // ~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/ssl/impl/rfc2818_verification.ipp b/asio/include/asio/ssl/impl/rfc2818_verification.ipp index f84b025..11eb36d 100644 --- a/asio/include/asio/ssl/impl/rfc2818_verification.ipp +++ b/asio/include/asio/ssl/impl/rfc2818_verification.ipp @@ -2,7 +2,7 @@ // ssl/impl/rfc2818_verification.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/ssl/impl/src.hpp b/asio/include/asio/ssl/impl/src.hpp index e6e269f..39c85e3 100644 --- a/asio/include/asio/ssl/impl/src.hpp +++ b/asio/include/asio/ssl/impl/src.hpp @@ -2,7 +2,7 @@ // impl/ssl/src.hpp // ~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/ssl/rfc2818_verification.hpp b/asio/include/asio/ssl/rfc2818_verification.hpp index a4ab67b..4489c83 100644 --- a/asio/include/asio/ssl/rfc2818_verification.hpp +++ b/asio/include/asio/ssl/rfc2818_verification.hpp @@ -2,7 +2,7 @@ // ssl/rfc2818_verification.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/ssl/stream.hpp b/asio/include/asio/ssl/stream.hpp index bc259b5..0dbffe2 100644 --- a/asio/include/asio/ssl/stream.hpp +++ b/asio/include/asio/ssl/stream.hpp @@ -2,7 +2,7 @@ // ssl/stream.hpp // ~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/ssl/stream_base.hpp b/asio/include/asio/ssl/stream_base.hpp index 275d3e3..ca95c76 100644 --- a/asio/include/asio/ssl/stream_base.hpp +++ b/asio/include/asio/ssl/stream_base.hpp @@ -2,7 +2,7 @@ // ssl/stream_base.hpp // ~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/ssl/verify_context.hpp b/asio/include/asio/ssl/verify_context.hpp index 560ffcc..34f9353 100644 --- a/asio/include/asio/ssl/verify_context.hpp +++ b/asio/include/asio/ssl/verify_context.hpp @@ -2,7 +2,7 @@ // ssl/verify_context.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/ssl/verify_mode.hpp b/asio/include/asio/ssl/verify_mode.hpp index 7a2bd56..6c444cc 100644 --- a/asio/include/asio/ssl/verify_mode.hpp +++ b/asio/include/asio/ssl/verify_mode.hpp @@ -2,7 +2,7 @@ // ssl/verify_mode.hpp // ~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/steady_timer.hpp b/asio/include/asio/steady_timer.hpp index 746ac04..2c73fa5 100644 --- a/asio/include/asio/steady_timer.hpp +++ b/asio/include/asio/steady_timer.hpp @@ -2,7 +2,7 @@ // steady_timer.hpp // ~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/strand.hpp b/asio/include/asio/strand.hpp index c70162b..b8ee0e6 100644 --- a/asio/include/asio/strand.hpp +++ b/asio/include/asio/strand.hpp @@ -2,7 +2,7 @@ // strand.hpp // ~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) @@ -148,7 +148,7 @@ public: } /// Obtain the underlying execution context. - execution_context& context() ASIO_NOEXCEPT + execution_context& context() const ASIO_NOEXCEPT { return executor_.context(); } @@ -157,7 +157,7 @@ public: /** * The strand delegates this call to its underlying executor. */ - void on_work_started() ASIO_NOEXCEPT + void on_work_started() const ASIO_NOEXCEPT { executor_.on_work_started(); } @@ -166,7 +166,7 @@ public: /** * The strand delegates this call to its underlying executor. */ - void on_work_finished() ASIO_NOEXCEPT + void on_work_finished() const ASIO_NOEXCEPT { executor_.on_work_finished(); } @@ -187,7 +187,7 @@ public: * internal storage needed for function invocation. */ template - void dispatch(ASIO_MOVE_ARG(Function) f, const Allocator& a) + void dispatch(ASIO_MOVE_ARG(Function) f, const Allocator& a) const { detail::strand_executor_service::dispatch(impl_, executor_, ASIO_MOVE_CAST(Function)(f), a); @@ -207,7 +207,7 @@ public: * internal storage needed for function invocation. */ template - void post(ASIO_MOVE_ARG(Function) f, const Allocator& a) + void post(ASIO_MOVE_ARG(Function) f, const Allocator& a) const { detail::strand_executor_service::post(impl_, executor_, ASIO_MOVE_CAST(Function)(f), a); @@ -227,7 +227,7 @@ public: * internal storage needed for function invocation. */ template - void defer(ASIO_MOVE_ARG(Function) f, const Allocator& a) + void defer(ASIO_MOVE_ARG(Function) f, const Allocator& a) const { detail::strand_executor_service::defer(impl_, executor_, ASIO_MOVE_CAST(Function)(f), a); diff --git a/asio/include/asio/stream_socket_service.hpp b/asio/include/asio/stream_socket_service.hpp index bffc1a1..9c0a361 100644 --- a/asio/include/asio/stream_socket_service.hpp +++ b/asio/include/asio/stream_socket_service.hpp @@ -2,7 +2,7 @@ // stream_socket_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/streambuf.hpp b/asio/include/asio/streambuf.hpp index 8e613e9..d2268fa 100644 --- a/asio/include/asio/streambuf.hpp +++ b/asio/include/asio/streambuf.hpp @@ -2,7 +2,7 @@ // streambuf.hpp // ~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/system_context.hpp b/asio/include/asio/system_context.hpp new file mode 100644 index 0000000..5762fca --- /dev/null +++ b/asio/include/asio/system_context.hpp @@ -0,0 +1,78 @@ +// +// system_context.hpp +// ~~~~~~~~~~~~~~~~~~ +// +// Copyright (c) 2003-2017 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_SYSTEM_CONTEXT_HPP +#define ASIO_SYSTEM_CONTEXT_HPP + +#if defined(_MSC_VER) && (_MSC_VER >= 1200) +# pragma once +#endif // defined(_MSC_VER) && (_MSC_VER >= 1200) + +#include "asio/detail/config.hpp" +#include "asio/detail/scheduler.hpp" +#include "asio/detail/thread_group.hpp" +#include "asio/execution_context.hpp" + +#include "asio/detail/push_options.hpp" + +namespace asio { + +class system_executor; + +/// The executor context for the system executor. +class system_context : public execution_context +{ +public: + /// The executor type associated with the context. + typedef system_executor executor_type; + + /// Destructor shuts down all threads in the system thread pool. + ASIO_DECL ~system_context(); + + /// Obtain an executor for the context. + executor_type get_executor() ASIO_NOEXCEPT; + + /// Signal all threads in the system thread pool to stop. + ASIO_DECL void stop(); + + /// Determine whether the system thread pool has been stopped. + ASIO_DECL bool stopped() const ASIO_NOEXCEPT; + + /// Join all threads in the system thread pool. + ASIO_DECL void join(); + +#if defined(GENERATING_DOCUMENTATION) +private: +#endif // defined(GENERATING_DOCUMENTATION) + // Constructor creates all threads in the system thread pool. + ASIO_DECL system_context(); + +private: + friend class system_executor; + + struct thread_function; + + // The underlying scheduler. + detail::scheduler& scheduler_; + + // The threads in the system thread pool. + detail::thread_group threads_; +}; + +} // namespace asio + +#include "asio/detail/pop_options.hpp" + +#include "asio/impl/system_context.hpp" +#if defined(ASIO_HEADER_ONLY) +# include "asio/impl/system_context.ipp" +#endif // defined(ASIO_HEADER_ONLY) + +#endif // ASIO_SYSTEM_CONTEXT_HPP diff --git a/asio/include/asio/system_error.hpp b/asio/include/asio/system_error.hpp index 6c7a1e1..37a0b7a 100644 --- a/asio/include/asio/system_error.hpp +++ b/asio/include/asio/system_error.hpp @@ -2,7 +2,7 @@ // system_error.hpp // ~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/system_executor.hpp b/asio/include/asio/system_executor.hpp index f23e35f..3cf3703 100644 --- a/asio/include/asio/system_executor.hpp +++ b/asio/include/asio/system_executor.hpp @@ -2,7 +2,7 @@ // system_executor.hpp // ~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) @@ -16,14 +16,13 @@ #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) #include "asio/detail/config.hpp" -#include "asio/detail/scheduler.hpp" -#include "asio/detail/thread_group.hpp" -#include "asio/execution_context.hpp" #include "asio/detail/push_options.hpp" namespace asio { +class system_context; + /// An executor that uses arbitrary threads. /** * The system executor represents an execution context where functions are @@ -35,7 +34,7 @@ class system_executor { public: /// Obtain the underlying execution context. - execution_context& context() const ASIO_NOEXCEPT; + system_context& context() const ASIO_NOEXCEPT; /// Inform the executor that it has some outstanding work to do. /** @@ -119,26 +118,6 @@ public: { return false; } - -private: - struct thread_function; - - // Hidden implementation of the system execution context. - struct context_impl - : public execution_context - { - // Constructor creates all threads in the system thread pool. - ASIO_DECL context_impl(); - - // Destructor shuts down all threads in the system thread pool. - ASIO_DECL ~context_impl(); - - // The underlying scheduler. - detail::scheduler& scheduler_; - - // The threads in the system thread pool. - detail::thread_group threads_; - }; }; } // namespace asio @@ -146,8 +125,5 @@ private: #include "asio/detail/pop_options.hpp" #include "asio/impl/system_executor.hpp" -#if defined(ASIO_HEADER_ONLY) -# include "asio/impl/system_executor.ipp" -#endif // defined(ASIO_HEADER_ONLY) #endif // ASIO_SYSTEM_EXECUTOR_HPP diff --git a/asio/include/asio/system_timer.hpp b/asio/include/asio/system_timer.hpp index d28e92c..a6d265b 100644 --- a/asio/include/asio/system_timer.hpp +++ b/asio/include/asio/system_timer.hpp @@ -2,7 +2,7 @@ // system_timer.hpp // ~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/thread.hpp b/asio/include/asio/thread.hpp index 45ae392..b587a2b 100644 --- a/asio/include/asio/thread.hpp +++ b/asio/include/asio/thread.hpp @@ -2,7 +2,7 @@ // thread.hpp // ~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/thread_pool.hpp b/asio/include/asio/thread_pool.hpp index f62fc9d..f12126a 100644 --- a/asio/include/asio/thread_pool.hpp +++ b/asio/include/asio/thread_pool.hpp @@ -2,7 +2,7 @@ // thread_pool.hpp // ~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) @@ -29,6 +29,36 @@ namespace asio { /** * The thread pool class is an execution context where functions are permitted * to run on one of a fixed number of threads. + * + * @par Submitting tasks to the pool + * + * To submit functions to the io_context, use the @ref asio::dispatch, + * @ref asio::post or @ref asio::defer free functions. + * + * For example: + * + * @code void my_task() + * { + * ... + * } + * + * ... + * + * // Launch the pool with four threads. + * asio::thread_pool pool(4); + * + * // Submit a function to the pool. + * asio::post(pool, my_task); + * + * // Submit a lambda object to the pool. + * asio::post(pool, + * []() + * { + * ... + * }); + * + * // Wait for all tasks in the pool to complete. + * pool.join(); @endcode */ class thread_pool : public execution_context diff --git a/asio/include/asio/time_traits.hpp b/asio/include/asio/time_traits.hpp index c046794..9c80722 100644 --- a/asio/include/asio/time_traits.hpp +++ b/asio/include/asio/time_traits.hpp @@ -2,7 +2,7 @@ // time_traits.hpp // ~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/ts/buffer.hpp b/asio/include/asio/ts/buffer.hpp index 257de20..3fdce8a 100644 --- a/asio/include/asio/ts/buffer.hpp +++ b/asio/include/asio/ts/buffer.hpp @@ -2,7 +2,7 @@ // ts/buffer.hpp // ~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/ts/executor.hpp b/asio/include/asio/ts/executor.hpp index d67c72e..24a12c0 100644 --- a/asio/include/asio/ts/executor.hpp +++ b/asio/include/asio/ts/executor.hpp @@ -2,7 +2,7 @@ // ts/executor.hpp // ~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/ts/internet.hpp b/asio/include/asio/ts/internet.hpp index 39e5b85..8c1f89f 100644 --- a/asio/include/asio/ts/internet.hpp +++ b/asio/include/asio/ts/internet.hpp @@ -2,7 +2,7 @@ // ts/internet.hpp // ~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/ts/io_context.hpp b/asio/include/asio/ts/io_context.hpp index fc7e8f8..d82db95 100644 --- a/asio/include/asio/ts/io_context.hpp +++ b/asio/include/asio/ts/io_context.hpp @@ -2,7 +2,7 @@ // ts/io_context.hpp // ~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/ts/net.hpp b/asio/include/asio/ts/net.hpp index 5af4c6f..1ea7c95 100644 --- a/asio/include/asio/ts/net.hpp +++ b/asio/include/asio/ts/net.hpp @@ -2,7 +2,7 @@ // ts/net.hpp // ~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/ts/netfwd.hpp b/asio/include/asio/ts/netfwd.hpp index 5902921..b0e75bc 100644 --- a/asio/include/asio/ts/netfwd.hpp +++ b/asio/include/asio/ts/netfwd.hpp @@ -2,7 +2,7 @@ // ts/netfwd.hpp // ~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/ts/socket.hpp b/asio/include/asio/ts/socket.hpp index ecc4a2e..c9002c0 100644 --- a/asio/include/asio/ts/socket.hpp +++ b/asio/include/asio/ts/socket.hpp @@ -2,7 +2,7 @@ // ts/socket.hpp // ~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/ts/timer.hpp b/asio/include/asio/ts/timer.hpp index a47d656..487422e 100644 --- a/asio/include/asio/ts/timer.hpp +++ b/asio/include/asio/ts/timer.hpp @@ -2,7 +2,7 @@ // ts/timer.hpp // ~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) @@ -15,7 +15,7 @@ # pragma once #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) -#include +#include "asio/detail/chrono.hpp" #include "asio/wait_traits.hpp" #include "asio/basic_waitable_timer.hpp" diff --git a/asio/include/asio/unyield.hpp b/asio/include/asio/unyield.hpp index ccbb043..3753981 100644 --- a/asio/include/asio/unyield.hpp +++ b/asio/include/asio/unyield.hpp @@ -2,7 +2,7 @@ // unyield.hpp // ~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/use_future.hpp b/asio/include/asio/use_future.hpp index 2a0e24f..42e33e4 100644 --- a/asio/include/asio/use_future.hpp +++ b/asio/include/asio/use_future.hpp @@ -2,7 +2,7 @@ // use_future.hpp // ~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) @@ -118,7 +118,23 @@ public: operator()(ASIO_MOVE_ARG(Function) f) const; private: - Allocator allocator_; + // Helper type to ensure that use_future can be constexpr default-constructed + // even when std::allocator can't be. + struct std_allocator_void + { + ASIO_CONSTEXPR std_allocator_void() + { + } + + operator std::allocator() const + { + return std::allocator(); + } + }; + + typename conditional< + is_same, Allocator>::value, + std_allocator_void, Allocator>::type allocator_; }; /// A special value, similar to std::nothrow. diff --git a/asio/include/asio/uses_executor.hpp b/asio/include/asio/uses_executor.hpp index 53b7272..455a8c6 100644 --- a/asio/include/asio/uses_executor.hpp +++ b/asio/include/asio/uses_executor.hpp @@ -2,7 +2,7 @@ // uses_executor.hpp // ~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/version.hpp b/asio/include/asio/version.hpp index 40b4e9a..9c9439b 100644 --- a/asio/include/asio/version.hpp +++ b/asio/include/asio/version.hpp @@ -2,7 +2,7 @@ // version.hpp // ~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) @@ -18,6 +18,6 @@ // ASIO_VERSION % 100 is the sub-minor version // ASIO_VERSION / 100 % 1000 is the minor version // ASIO_VERSION / 100000 is the major version -#define ASIO_VERSION 101100 // 1.11.0 +#define ASIO_VERSION 101200 // 1.12.0 #endif // ASIO_VERSION_HPP diff --git a/asio/include/asio/wait_traits.hpp b/asio/include/asio/wait_traits.hpp index 0cc6098..e27a735 100644 --- a/asio/include/asio/wait_traits.hpp +++ b/asio/include/asio/wait_traits.hpp @@ -2,7 +2,7 @@ // wait_traits.hpp // ~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/waitable_timer_service.hpp b/asio/include/asio/waitable_timer_service.hpp index bcb228d..f8e99ba 100644 --- a/asio/include/asio/waitable_timer_service.hpp +++ b/asio/include/asio/waitable_timer_service.hpp @@ -2,7 +2,7 @@ // waitable_timer_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/windows/basic_handle.hpp b/asio/include/asio/windows/basic_handle.hpp index 3b1ce2c..966a1b2 100644 --- a/asio/include/asio/windows/basic_handle.hpp +++ b/asio/include/asio/windows/basic_handle.hpp @@ -2,7 +2,7 @@ // windows/basic_handle.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/windows/basic_object_handle.hpp b/asio/include/asio/windows/basic_object_handle.hpp index d134dbf..a260373 100644 --- a/asio/include/asio/windows/basic_object_handle.hpp +++ b/asio/include/asio/windows/basic_object_handle.hpp @@ -2,7 +2,7 @@ // windows/basic_object_handle.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2011 Boris Schaeling (boris@highscore.de) // // Distributed under the Boost Software License, Version 1.0. (See accompanying diff --git a/asio/include/asio/windows/basic_random_access_handle.hpp b/asio/include/asio/windows/basic_random_access_handle.hpp index 4e9ebe5..f33957b 100644 --- a/asio/include/asio/windows/basic_random_access_handle.hpp +++ b/asio/include/asio/windows/basic_random_access_handle.hpp @@ -2,7 +2,7 @@ // windows/basic_random_access_handle.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/windows/basic_stream_handle.hpp b/asio/include/asio/windows/basic_stream_handle.hpp index c0a11fc..b8f98b4 100644 --- a/asio/include/asio/windows/basic_stream_handle.hpp +++ b/asio/include/asio/windows/basic_stream_handle.hpp @@ -2,7 +2,7 @@ // windows/basic_stream_handle.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/windows/object_handle.hpp b/asio/include/asio/windows/object_handle.hpp index 6b5ad59..ede1555 100644 --- a/asio/include/asio/windows/object_handle.hpp +++ b/asio/include/asio/windows/object_handle.hpp @@ -2,7 +2,7 @@ // windows/object_handle.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2011 Boris Schaeling (boris@highscore.de) // // Distributed under the Boost Software License, Version 1.0. (See accompanying diff --git a/asio/include/asio/windows/object_handle_service.hpp b/asio/include/asio/windows/object_handle_service.hpp index 524a9f8..cdefa0d 100644 --- a/asio/include/asio/windows/object_handle_service.hpp +++ b/asio/include/asio/windows/object_handle_service.hpp @@ -2,7 +2,7 @@ // windows/object_handle_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2011 Boris Schaeling (boris@highscore.de) // // Distributed under the Boost Software License, Version 1.0. (See accompanying diff --git a/asio/include/asio/windows/overlapped_handle.hpp b/asio/include/asio/windows/overlapped_handle.hpp index 3db0f1d..41130f8 100644 --- a/asio/include/asio/windows/overlapped_handle.hpp +++ b/asio/include/asio/windows/overlapped_handle.hpp @@ -2,7 +2,7 @@ // windows/overlapped_handle.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/windows/overlapped_ptr.hpp b/asio/include/asio/windows/overlapped_ptr.hpp index 00f3baa..1775166 100644 --- a/asio/include/asio/windows/overlapped_ptr.hpp +++ b/asio/include/asio/windows/overlapped_ptr.hpp @@ -2,7 +2,7 @@ // windows/overlapped_ptr.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/windows/random_access_handle.hpp b/asio/include/asio/windows/random_access_handle.hpp index cc3ea5c..62e9ff3 100644 --- a/asio/include/asio/windows/random_access_handle.hpp +++ b/asio/include/asio/windows/random_access_handle.hpp @@ -2,7 +2,7 @@ // windows/random_access_handle.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/windows/random_access_handle_service.hpp b/asio/include/asio/windows/random_access_handle_service.hpp index b3df24a..0dd66b4 100644 --- a/asio/include/asio/windows/random_access_handle_service.hpp +++ b/asio/include/asio/windows/random_access_handle_service.hpp @@ -2,7 +2,7 @@ // windows/random_access_handle_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/windows/stream_handle.hpp b/asio/include/asio/windows/stream_handle.hpp index 583637a..c273661 100644 --- a/asio/include/asio/windows/stream_handle.hpp +++ b/asio/include/asio/windows/stream_handle.hpp @@ -2,7 +2,7 @@ // windows/stream_handle.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/windows/stream_handle_service.hpp b/asio/include/asio/windows/stream_handle_service.hpp index 5da3dd7..62f6295 100644 --- a/asio/include/asio/windows/stream_handle_service.hpp +++ b/asio/include/asio/windows/stream_handle_service.hpp @@ -2,7 +2,7 @@ // windows/stream_handle_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/write.hpp b/asio/include/asio/write.hpp index 0010862..dadab67 100644 --- a/asio/include/asio/write.hpp +++ b/asio/include/asio/write.hpp @@ -2,7 +2,7 @@ // write.hpp // ~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/write_at.hpp b/asio/include/asio/write_at.hpp index 1722774..7cd053f 100644 --- a/asio/include/asio/write_at.hpp +++ b/asio/include/asio/write_at.hpp @@ -2,7 +2,7 @@ // write_at.hpp // ~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/include/asio/yield.hpp b/asio/include/asio/yield.hpp index fa17817..a739939 100644 --- a/asio/include/asio/yield.hpp +++ b/asio/include/asio/yield.hpp @@ -2,7 +2,7 @@ // yield.hpp // ~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/release.pl b/asio/release.pl index 332760c..65947cc 100755 --- a/asio/release.pl +++ b/asio/release.pl @@ -236,8 +236,9 @@ sub build_boost_asio_doc my $cwd = getcwd(); my $bjam = abs_path(glob("../boost/bjam")); chdir("../boost/doc"); - system("$bjam clean"); system("rm -rf html/boost_asio"); + chdir("../libs/asio/doc"); + system("$bjam clean"); system("$bjam asio"); chdir($cwd); } diff --git a/asio/src/Makefile.mgw b/asio/src/Makefile.mgw index ffbb1f2..5056c87 100644 --- a/asio/src/Makefile.mgw +++ b/asio/src/Makefile.mgw @@ -77,9 +77,19 @@ UNIT_TEST_EXES = \ tests/unit/strand.exe \ tests/unit/stream_socket_service.exe \ tests/unit/streambuf.exe \ + tests/unit/system_executor.exe \ + tests/unit/system_context.exe \ tests/unit/system_timer.exe \ tests/unit/thread.exe \ tests/unit/time_traits.exe \ + tests/unit/ts/buffer.exe \ + tests/unit/ts/executor.exe \ + tests/unit/ts/internet.exe \ + tests/unit/ts/io_context.exe \ + tests/unit/ts/net.exe \ + tests/unit/ts/netfwd.exe \ + tests/unit/ts/socket.exe \ + tests/unit/ts/timer.exe \ tests/unit/waitable_timer_service.exe \ tests/unit/windows/basic_handle.exe \ tests/unit/windows/basic_object_handle.exe \ diff --git a/asio/src/Makefile.msc b/asio/src/Makefile.msc index 7cb1c56..826fe6d 100644 --- a/asio/src/Makefile.msc +++ b/asio/src/Makefile.msc @@ -42,22 +42,26 @@ _WIN32_WINNT=0x0501 DEFINES = \ -DASIO_DISABLE_IOCP \ -D_WIN32_WINNT=$(_WIN32_WINNT) \ - -DBOOST_ALL_NO_LIB + -DBOOST_ALL_NO_LIB \ + -DBOOST_CHRONO_DONT_PROVIDE_HYBRID_ERROR_HANDLING !else ! ifdef STORE DEFINES = \ -DWINAPI_FAMILY=WINAPI_FAMILY_PC_APP \ -DBOOST_ALL_NO_LIB -D_WIN32_WINNT=$(_WIN32_WINNT) \ - -DUNICODE -D_UNICODE + -DUNICODE -D_UNICODE \ + -DBOOST_CHRONO_DONT_PROVIDE_HYBRID_ERROR_HANDLING ! else ! ifdef WINRT DEFINES = \ -ZW -FI SDKDDKVer.h -FI winapifamily.h -DWINAPI_FAMILY=WINAPI_PARTITION_APP \ - -DBOOST_ALL_NO_LIB + -DBOOST_ALL_NO_LIB \ + -DBOOST_CHRONO_DONT_PROVIDE_HYBRID_ERROR_HANDLING ! else DEFINES = \ -D_WIN32_WINNT=$(_WIN32_WINNT) \ - -DBOOST_ALL_NO_LIB + -DBOOST_ALL_NO_LIB \ + -DBOOST_CHRONO_DONT_PROVIDE_HYBRID_ERROR_HANDLING ! endif ! endif !endif @@ -171,9 +175,19 @@ UNIT_TEST_EXES = \ tests\unit\steady_timer.exe \ tests\unit\stream_socket_service.exe \ tests\unit\streambuf.exe \ + tests\unit\system_context.exe \ + tests\unit\system_executor.exe \ tests\unit\system_timer.exe \ tests\unit\thread.exe \ tests\unit\time_traits.exe \ + tests\unit\ts\buffer.exe \ + tests\unit\ts\executor.exe \ + tests\unit\ts\internet.exe \ + tests\unit\ts\io_context.exe \ + tests\unit\ts\net.exe \ + tests\unit\ts\netfwd.exe \ + tests\unit\ts\socket.exe \ + tests\unit\ts\timer.exe \ tests\unit\waitable_timer_service.exe \ tests\unit\windows\basic_handle.exe \ tests\unit\windows\basic_object_handle.exe \ @@ -298,6 +312,9 @@ tests\unit\unit_test.obj: tests\unit\unit_test.cpp {tests\unit\ssl}.cpp{tests\unit\ssl}.exe: cl -Fe$@ -Fo$(<:.cpp=.obj) $(CXXFLAGS) $(SSL_CXXFLAGS) $(DEFINES) $< $(SSL_LIBS) $(LIBS) -link -opt:ref +{tests\unit\ts}.cpp{tests\unit\ts}.exe: + cl -Fe$@ -Fo$(<:.cpp=.obj) $(CXXFLAGS) $(DEFINES) $< $(LIBS) -link -opt:ref + {tests\unit\windows}.cpp{tests\unit\windows}.exe: cl -Fe$@ -Fo$(<:.cpp=.obj) $(CXXFLAGS) $(DEFINES) $< $(LIBS) -link -opt:ref diff --git a/asio/src/asio.cpp b/asio/src/asio.cpp index 2125d62..3fc5d89 100644 --- a/asio/src/asio.cpp +++ b/asio/src/asio.cpp @@ -2,7 +2,7 @@ // asio.cpp // ~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/src/asio_ssl.cpp b/asio/src/asio_ssl.cpp index 68a16c0..959c14a 100644 --- a/asio/src/asio_ssl.cpp +++ b/asio/src/asio_ssl.cpp @@ -2,7 +2,7 @@ // asio_ssl.cpp // ~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 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) diff --git a/asio/src/doc/Jamfile.v2 b/asio/src/doc/Jamfile.v2 index 3e22af7..b6364bc 100644 --- a/asio/src/doc/Jamfile.v2 +++ b/asio/src/doc/Jamfile.v2 @@ -1,5 +1,5 @@ # -# Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +# Copyright (c) 2003-2017 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) diff --git a/asio/src/doc/asio.qbk b/asio/src/doc/asio.qbk index 68cc2e0..251c154 100644 --- a/asio/src/doc/asio.qbk +++ b/asio/src/doc/asio.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2017 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) @@ -7,7 +7,7 @@ [library Asio [quickbook 1.4] - [copyright 2003 - 2016 Christopher M. Kohlhoff] + [copyright 2003 - 2017 Christopher M. Kohlhoff] [purpose Networking library] [license Distributed under the Boost Software License, Version 1.0. @@ -89,6 +89,15 @@ C++ approach. Detailed class and function reference. ] ] + [ + [ + [link asio.net_ts Networking TS Compatibility] + ] + [ + Description of changes to provide compatibility with the "C++ Extensions + for Networking" Technical Specification. + ] + ] [ [ [link asio.history Revision History] @@ -112,5 +121,6 @@ C++ approach. [include tutorial.qbk] [include examples.qbk] [include reference.qbk] +[include net_ts.qbk] [include history.qbk] [xinclude index.xml] diff --git a/asio/src/doc/asioref.xsl b/asio/src/doc/asioref.xsl index 09c6fef..db8424a 100644 --- a/asio/src/doc/asioref.xsl +++ b/asio/src/doc/asioref.xsl @@ -2,7 +2,7 @@ [/ - / Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2017 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) @@ -100,6 +100,7 @@ not(contains(compoundname, '::detail')) and not(contains(compoundname, '::service::key')) and not(contains(compoundname, '_handler')) and + not(contains(compoundname, 'std_allocator_void')) and not(contains(compoundname, 'thread_function')) and not(contains(compoundname, 'context_impl'))"> @@ -111,6 +112,7 @@ not(contains(ancestor::*/compoundname, '::service::key')) and not(contains(ancestor::*/compoundname, '_helper')) and not(contains(name, '_helper')) and + not(contains(name, 'std_allocator_void')) and not(contains(name, 'thread_function')) and not(contains(name, 'io_context_impl'))"> @@ -765,24 +767,9 @@ [^asio/ssl.hpp] - - None - - - None - None - - None - - - None - - - None - [^asio.hpp] @@ -1363,9 +1350,25 @@ - - - + + + classasio_1_1ip_1_1basic__address__iterator_3_01address__v4_01_4 + + + classasio_1_1ip_1_1basic__address__iterator_3_01address__v6_01_4 + + + classasio_1_1ip_1_1basic__address__range_3_01address__v4_01_4 + + + classasio_1_1ip_1_1basic__address__range_3_01address__v6_01_4 + + + + + + + @@ -1517,6 +1520,9 @@ + + + diff --git a/asio/src/doc/requirements/AcceptHandler.qbk b/asio/src/doc/requirements/AcceptHandler.qbk index ae5ea3f..7601147 100644 --- a/asio/src/doc/requirements/AcceptHandler.qbk +++ b/asio/src/doc/requirements/AcceptHandler.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2017 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) diff --git a/asio/src/doc/requirements/AcceptableProtocol.qbk b/asio/src/doc/requirements/AcceptableProtocol.qbk index 3768387..10bf97b 100644 --- a/asio/src/doc/requirements/AcceptableProtocol.qbk +++ b/asio/src/doc/requirements/AcceptableProtocol.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2017 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) diff --git a/asio/src/doc/requirements/AsyncRandomAccessReadDevice.qbk b/asio/src/doc/requirements/AsyncRandomAccessReadDevice.qbk index 4109c01..72b7afd 100644 --- a/asio/src/doc/requirements/AsyncRandomAccessReadDevice.qbk +++ b/asio/src/doc/requirements/AsyncRandomAccessReadDevice.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2017 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) diff --git a/asio/src/doc/requirements/AsyncRandomAccessWriteDevice.qbk b/asio/src/doc/requirements/AsyncRandomAccessWriteDevice.qbk index bd9ecbd..ca5b765 100644 --- a/asio/src/doc/requirements/AsyncRandomAccessWriteDevice.qbk +++ b/asio/src/doc/requirements/AsyncRandomAccessWriteDevice.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2017 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) diff --git a/asio/src/doc/requirements/AsyncReadStream.qbk b/asio/src/doc/requirements/AsyncReadStream.qbk index 0fcd42f..594b063 100644 --- a/asio/src/doc/requirements/AsyncReadStream.qbk +++ b/asio/src/doc/requirements/AsyncReadStream.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2017 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) diff --git a/asio/src/doc/requirements/AsyncWriteStream.qbk b/asio/src/doc/requirements/AsyncWriteStream.qbk index ee53b23..bd6bec2 100644 --- a/asio/src/doc/requirements/AsyncWriteStream.qbk +++ b/asio/src/doc/requirements/AsyncWriteStream.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2017 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) diff --git a/asio/src/doc/requirements/BufferedHandshakeHandler.qbk b/asio/src/doc/requirements/BufferedHandshakeHandler.qbk index 6e6bbf2..2e481e2 100644 --- a/asio/src/doc/requirements/BufferedHandshakeHandler.qbk +++ b/asio/src/doc/requirements/BufferedHandshakeHandler.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2017 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) diff --git a/asio/src/doc/requirements/CompletionCondition.qbk b/asio/src/doc/requirements/CompletionCondition.qbk index 1575613..c009018 100644 --- a/asio/src/doc/requirements/CompletionCondition.qbk +++ b/asio/src/doc/requirements/CompletionCondition.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2017 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) diff --git a/asio/src/doc/requirements/CompletionHandler.qbk b/asio/src/doc/requirements/CompletionHandler.qbk index 28d158b..455f0c6 100644 --- a/asio/src/doc/requirements/CompletionHandler.qbk +++ b/asio/src/doc/requirements/CompletionHandler.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2017 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) diff --git a/asio/src/doc/requirements/ConnectCondition.qbk b/asio/src/doc/requirements/ConnectCondition.qbk index 995398c..88911ce 100644 --- a/asio/src/doc/requirements/ConnectCondition.qbk +++ b/asio/src/doc/requirements/ConnectCondition.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2017 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) diff --git a/asio/src/doc/requirements/ConnectHandler.qbk b/asio/src/doc/requirements/ConnectHandler.qbk index 14b57d2..a792b14 100644 --- a/asio/src/doc/requirements/ConnectHandler.qbk +++ b/asio/src/doc/requirements/ConnectHandler.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2017 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) diff --git a/asio/src/doc/requirements/ConstBufferSequence.qbk b/asio/src/doc/requirements/ConstBufferSequence.qbk index 1ff91eb..8267fbc 100644 --- a/asio/src/doc/requirements/ConstBufferSequence.qbk +++ b/asio/src/doc/requirements/ConstBufferSequence.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2017 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) @@ -40,11 +40,9 @@ denotes an identifier. asio::buffer_sequence_end(x), asio::buffer_sequence_begin(u), asio::buffer_sequence_end(u), - [](const typename X::value_type& v1, - const typename X::value_type& v2) + [](const const_buffer& b1, + const const_buffer& b2) { - const_buffer b1(v1); - const_buffer b2(v2); return b1.data() == b2.data() && b1.size() == b2.size(); }) diff --git a/asio/src/doc/requirements/DynamicBuffer.qbk b/asio/src/doc/requirements/DynamicBuffer.qbk index 4e0cd88..e114255 100644 --- a/asio/src/doc/requirements/DynamicBuffer.qbk +++ b/asio/src/doc/requirements/DynamicBuffer.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2017 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) diff --git a/asio/src/doc/requirements/Endpoint.qbk b/asio/src/doc/requirements/Endpoint.qbk index 4940dae..63e8590 100644 --- a/asio/src/doc/requirements/Endpoint.qbk +++ b/asio/src/doc/requirements/Endpoint.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2017 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) diff --git a/asio/src/doc/requirements/EndpointSequence.qbk b/asio/src/doc/requirements/EndpointSequence.qbk index 1e1648e..b8cf599 100644 --- a/asio/src/doc/requirements/EndpointSequence.qbk +++ b/asio/src/doc/requirements/EndpointSequence.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2017 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) diff --git a/asio/src/doc/requirements/ExecutionContext.qbk b/asio/src/doc/requirements/ExecutionContext.qbk index 94d1cd1..636551a 100644 --- a/asio/src/doc/requirements/ExecutionContext.qbk +++ b/asio/src/doc/requirements/ExecutionContext.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2017 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) diff --git a/asio/src/doc/requirements/Executor.qbk b/asio/src/doc/requirements/Executor.qbk index 0754860..c9cb08e 100644 --- a/asio/src/doc/requirements/Executor.qbk +++ b/asio/src/doc/requirements/Executor.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2017 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) diff --git a/asio/src/doc/requirements/GettableSerialPortOption.qbk b/asio/src/doc/requirements/GettableSerialPortOption.qbk index 8da158d..c04ccf6 100644 --- a/asio/src/doc/requirements/GettableSerialPortOption.qbk +++ b/asio/src/doc/requirements/GettableSerialPortOption.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2017 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) diff --git a/asio/src/doc/requirements/GettableSocketOption.qbk b/asio/src/doc/requirements/GettableSocketOption.qbk index e859a54..b423a6f 100644 --- a/asio/src/doc/requirements/GettableSocketOption.qbk +++ b/asio/src/doc/requirements/GettableSocketOption.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2017 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) diff --git a/asio/src/doc/requirements/Handler.qbk b/asio/src/doc/requirements/Handler.qbk index 74dcd05..da696c0 100644 --- a/asio/src/doc/requirements/Handler.qbk +++ b/asio/src/doc/requirements/Handler.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2017 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) diff --git a/asio/src/doc/requirements/HandshakeHandler.qbk b/asio/src/doc/requirements/HandshakeHandler.qbk index 98891bf..3636581 100644 --- a/asio/src/doc/requirements/HandshakeHandler.qbk +++ b/asio/src/doc/requirements/HandshakeHandler.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2017 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) diff --git a/asio/src/doc/requirements/InternetProtocol.qbk b/asio/src/doc/requirements/InternetProtocol.qbk index 70ab668..16f21d8 100644 --- a/asio/src/doc/requirements/InternetProtocol.qbk +++ b/asio/src/doc/requirements/InternetProtocol.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2017 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) diff --git a/asio/src/doc/requirements/IoControlCommand.qbk b/asio/src/doc/requirements/IoControlCommand.qbk index 8809335..3cd6bf5 100644 --- a/asio/src/doc/requirements/IoControlCommand.qbk +++ b/asio/src/doc/requirements/IoControlCommand.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2017 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) diff --git a/asio/src/doc/requirements/IoObjectService.qbk b/asio/src/doc/requirements/IoObjectService.qbk index 3d3ccc0..d9f454a 100644 --- a/asio/src/doc/requirements/IoObjectService.qbk +++ b/asio/src/doc/requirements/IoObjectService.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2017 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) diff --git a/asio/src/doc/requirements/IteratorConnectHandler.qbk b/asio/src/doc/requirements/IteratorConnectHandler.qbk index db2aee4..26f0438 100644 --- a/asio/src/doc/requirements/IteratorConnectHandler.qbk +++ b/asio/src/doc/requirements/IteratorConnectHandler.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2017 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) diff --git a/asio/src/doc/requirements/MoveAcceptHandler.qbk b/asio/src/doc/requirements/MoveAcceptHandler.qbk index d545497..cb73609 100644 --- a/asio/src/doc/requirements/MoveAcceptHandler.qbk +++ b/asio/src/doc/requirements/MoveAcceptHandler.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2017 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) diff --git a/asio/src/doc/requirements/MutableBufferSequence.qbk b/asio/src/doc/requirements/MutableBufferSequence.qbk index 7683a68..cae89e2 100644 --- a/asio/src/doc/requirements/MutableBufferSequence.qbk +++ b/asio/src/doc/requirements/MutableBufferSequence.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2017 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) @@ -41,11 +41,9 @@ denotes an identifier. asio::buffer_sequence_end(x), asio::buffer_sequence_begin(u), asio::buffer_sequence_end(u), - [](const typename X::value_type& v1, - const typename X::value_type& v2) + [](const mutable_buffer& b1, + const mutable_buffer& b2) { - mutable_buffer b1(v1); - mutable_buffer b2(v2); return b1.data() == b2.data() && b1.size() == b2.size(); }) diff --git a/asio/src/doc/requirements/ProtoAllocator.qbk b/asio/src/doc/requirements/ProtoAllocator.qbk index 2d318f2..f08fb24 100644 --- a/asio/src/doc/requirements/ProtoAllocator.qbk +++ b/asio/src/doc/requirements/ProtoAllocator.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2017 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) diff --git a/asio/src/doc/requirements/Protocol.qbk b/asio/src/doc/requirements/Protocol.qbk index 7a55d14..61cd58c 100644 --- a/asio/src/doc/requirements/Protocol.qbk +++ b/asio/src/doc/requirements/Protocol.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2017 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) diff --git a/asio/src/doc/requirements/RangeConnectHandler.qbk b/asio/src/doc/requirements/RangeConnectHandler.qbk index 4300af1..7aaad3c 100644 --- a/asio/src/doc/requirements/RangeConnectHandler.qbk +++ b/asio/src/doc/requirements/RangeConnectHandler.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2017 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) diff --git a/asio/src/doc/requirements/ReadHandler.qbk b/asio/src/doc/requirements/ReadHandler.qbk index 373af87..67364e2 100644 --- a/asio/src/doc/requirements/ReadHandler.qbk +++ b/asio/src/doc/requirements/ReadHandler.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2017 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) diff --git a/asio/src/doc/requirements/ResolveHandler.qbk b/asio/src/doc/requirements/ResolveHandler.qbk index 0ba9385..1573890 100644 --- a/asio/src/doc/requirements/ResolveHandler.qbk +++ b/asio/src/doc/requirements/ResolveHandler.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2017 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) diff --git a/asio/src/doc/requirements/Service.qbk b/asio/src/doc/requirements/Service.qbk index 24a1ae5..ceda250 100644 --- a/asio/src/doc/requirements/Service.qbk +++ b/asio/src/doc/requirements/Service.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2017 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) diff --git a/asio/src/doc/requirements/SettableSerialPortOption.qbk b/asio/src/doc/requirements/SettableSerialPortOption.qbk index 5cbe5f1..b7ff681 100644 --- a/asio/src/doc/requirements/SettableSerialPortOption.qbk +++ b/asio/src/doc/requirements/SettableSerialPortOption.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2017 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) diff --git a/asio/src/doc/requirements/SettableSocketOption.qbk b/asio/src/doc/requirements/SettableSocketOption.qbk index 162c0a9..8f1842e 100644 --- a/asio/src/doc/requirements/SettableSocketOption.qbk +++ b/asio/src/doc/requirements/SettableSocketOption.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2017 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) diff --git a/asio/src/doc/requirements/ShutdownHandler.qbk b/asio/src/doc/requirements/ShutdownHandler.qbk index 601c625..1fa4595 100644 --- a/asio/src/doc/requirements/ShutdownHandler.qbk +++ b/asio/src/doc/requirements/ShutdownHandler.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2017 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) diff --git a/asio/src/doc/requirements/SignalHandler.qbk b/asio/src/doc/requirements/SignalHandler.qbk index cfd806a..7567eab 100644 --- a/asio/src/doc/requirements/SignalHandler.qbk +++ b/asio/src/doc/requirements/SignalHandler.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2017 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) diff --git a/asio/src/doc/requirements/SyncRandomAccessReadDevice.qbk b/asio/src/doc/requirements/SyncRandomAccessReadDevice.qbk index 4e960b0..f9b1227 100644 --- a/asio/src/doc/requirements/SyncRandomAccessReadDevice.qbk +++ b/asio/src/doc/requirements/SyncRandomAccessReadDevice.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2017 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) diff --git a/asio/src/doc/requirements/SyncRandomAccessWriteDevice.qbk b/asio/src/doc/requirements/SyncRandomAccessWriteDevice.qbk index c7a2686..c7eeb03 100644 --- a/asio/src/doc/requirements/SyncRandomAccessWriteDevice.qbk +++ b/asio/src/doc/requirements/SyncRandomAccessWriteDevice.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2017 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) diff --git a/asio/src/doc/requirements/SyncReadStream.qbk b/asio/src/doc/requirements/SyncReadStream.qbk index 48d3c23..5434462 100644 --- a/asio/src/doc/requirements/SyncReadStream.qbk +++ b/asio/src/doc/requirements/SyncReadStream.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2017 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) diff --git a/asio/src/doc/requirements/SyncWriteStream.qbk b/asio/src/doc/requirements/SyncWriteStream.qbk index 713050c..788452f 100644 --- a/asio/src/doc/requirements/SyncWriteStream.qbk +++ b/asio/src/doc/requirements/SyncWriteStream.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2017 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) diff --git a/asio/src/doc/requirements/TimeTraits.qbk b/asio/src/doc/requirements/TimeTraits.qbk index edd01b8..367290f 100644 --- a/asio/src/doc/requirements/TimeTraits.qbk +++ b/asio/src/doc/requirements/TimeTraits.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2017 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) diff --git a/asio/src/doc/requirements/WaitHandler.qbk b/asio/src/doc/requirements/WaitHandler.qbk index a7135f0..50b7ae1 100644 --- a/asio/src/doc/requirements/WaitHandler.qbk +++ b/asio/src/doc/requirements/WaitHandler.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2017 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) diff --git a/asio/src/doc/requirements/WaitTraits.qbk b/asio/src/doc/requirements/WaitTraits.qbk index 13eb748..11e93d1 100644 --- a/asio/src/doc/requirements/WaitTraits.qbk +++ b/asio/src/doc/requirements/WaitTraits.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2017 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) diff --git a/asio/src/doc/requirements/WriteHandler.qbk b/asio/src/doc/requirements/WriteHandler.qbk index 29987ad..392a110 100644 --- a/asio/src/doc/requirements/WriteHandler.qbk +++ b/asio/src/doc/requirements/WriteHandler.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2017 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) diff --git a/asio/src/doc/requirements/asynchronous_operations.qbk b/asio/src/doc/requirements/asynchronous_operations.qbk index 40ccccf..5fac487 100644 --- a/asio/src/doc/requirements/asynchronous_operations.qbk +++ b/asio/src/doc/requirements/asynchronous_operations.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2017 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) diff --git a/asio/src/doc/requirements/asynchronous_socket_operations.qbk b/asio/src/doc/requirements/asynchronous_socket_operations.qbk index c055528..1ac928d 100644 --- a/asio/src/doc/requirements/asynchronous_socket_operations.qbk +++ b/asio/src/doc/requirements/asynchronous_socket_operations.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2017 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) diff --git a/asio/src/doc/requirements/read_write_operations.qbk b/asio/src/doc/requirements/read_write_operations.qbk index d7185a9..645e807 100644 --- a/asio/src/doc/requirements/read_write_operations.qbk +++ b/asio/src/doc/requirements/read_write_operations.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2017 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) diff --git a/asio/src/doc/requirements/synchronous_socket_operations.qbk b/asio/src/doc/requirements/synchronous_socket_operations.qbk index e6d5250..ac2ca6b 100644 --- a/asio/src/doc/requirements/synchronous_socket_operations.qbk +++ b/asio/src/doc/requirements/synchronous_socket_operations.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2017 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) diff --git a/asio/src/doc/tutorial.qbk b/asio/src/doc/tutorial.qbk index e68c936..4c7737c 100644 --- a/asio/src/doc/tutorial.qbk +++ b/asio/src/doc/tutorial.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2017 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) @@ -88,16 +88,23 @@ Since this example uses timers, we need to include the appropriate Boost.Date\_T -All programs that use asio need to have at least one asio::io\_service object. This class provides access to I/O functionality. We declare an object of this type first thing in the main function. +All programs that use asio need to have at least one +[link asio.reference.io_context io_context] object. This class provides access to I/O functionality. We declare an object of this type first thing in the main function. + ``''''''``int main() + ``''''''``{ + ``''''''`` asio::io_context io; -Next we declare an object of type asio::deadline\_timer. The core asio classes that provide I/O functionality (or as in this case timer functionality) always take a reference to an io\_service as their first constructor argument. The second argument to the constructor sets the timer to expire 5 seconds from now. + +Next we declare an object of type asio::deadline\_timer. The core asio classes that provide I/O functionality (or as in this case timer functionality) always take a reference to an io\_context as their first constructor argument. The second argument to the constructor sets the timer to expire 5 seconds from now. + ``''''''`` asio::deadline_timer t(io, boost::posix_time::seconds(5)); + In this simple example we perform a blocking wait on the timer. That is, the call to [link asio.reference.basic_deadline_timer.wait deadline_timer::wait()] will not return until the timer has expired, 5 seconds after it was created (i.e. not from when the wait starts). @@ -105,6 +112,7 @@ In this simple example we perform a blocking wait on the timer. That is, the cal A deadline timer is always in one of two states: "expired" or "not expired". If the [link asio.reference.basic_deadline_timer.wait deadline_timer::wait()] function is called on an expired timer, it will return immediately. + ``''''''`` t.wait(); @@ -112,6 +120,11 @@ Finally we print the obligatory `"Hello, world!"` message to show when the timer + ``''''''`` std::cout << "Hello, world!" << std::endl; + + ``''''''`` return 0; + ``''''''``} + See the [link asio.tutorial.tuttimer1.src full source listing] @@ -129,7 +142,7 @@ Next: [link asio.tutorial.tuttimer2 Timer.2 - Using a timer asynchronously] ``''''''``// timer.cpp ``''''''``// ~~~~~~~~~ ``''''''``// - ``''''''``// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) + ``''''''``// Copyright (c) 2003-2017 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) @@ -196,13 +209,13 @@ Next, instead of doing a blocking wait as in tutorial Timer.1, we call the [link -Finally, we must call the [link asio.reference.io_context.run io_service::run()] member function on the io\_service object. +Finally, we must call the [link asio.reference.io_context.run io_context::run()] member function on the io\_context object. -The asio library provides a guarantee that callback handlers will only be called from threads that are currently calling [link asio.reference.io_context.run io_service::run()]. Therefore unless the [link asio.reference.io_context.run io_service::run()] function is called the callback for the asynchronous wait completion will never be invoked. +The asio library provides a guarantee that callback handlers will only be called from threads that are currently calling [link asio.reference.io_context.run io_context::run()]. Therefore unless the [link asio.reference.io_context.run io_context::run()] function is called the callback for the asynchronous wait completion will never be invoked. -The [link asio.reference.io_context.run io_service::run()] function will also continue to run while there is still "work" to do. In this example, the work is the asynchronous wait on the timer, so the call will not return until the timer has expired and the callback has completed. +The [link asio.reference.io_context.run io_context::run()] function will also continue to run while there is still "work" to do. In this example, the work is the asynchronous wait on the timer, so the call will not return until the timer has expired and the callback has completed. -It is important to remember to give the io\_service some work to do before calling [link asio.reference.io_context.run io_service::run()]. For example, if we had omitted the above call to [link asio.reference.basic_deadline_timer.async_wait deadline_timer::async_wait()], the io\_service would not have had any work to do, and consequently [link asio.reference.io_context.run io_service::run()] would have returned immediately. +It is important to remember to give the io\_context some work to do before calling [link asio.reference.io_context.run io_context::run()]. For example, if we had omitted the above call to [link asio.reference.basic_deadline_timer.async_wait deadline_timer::async_wait()], the io\_context would not have had any work to do, and consequently [link asio.reference.io_context.run io_context::run()] would have returned immediately. ``''''''`` io.run(); @@ -229,7 +242,7 @@ Next: [link asio.tutorial.tuttimer3 Timer.3 - Binding arguments to a handler] ``''''''``// timer.cpp ``''''''``// ~~~~~~~~~ ``''''''``// - ``''''''``// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) + ``''''''``// Copyright (c) 2003-2017 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) @@ -294,7 +307,7 @@ To implement a repeating timer using asio you need to change the timer's expiry -As mentioned above, this tutorial program uses a counter to stop running when the timer fires for the sixth time. However you will observe that there is no explicit call to ask the io\_service to stop. Recall that in tutorial Timer.2 we learnt that the [link asio.reference.io_context.run io_service::run()] function completes when there is no more "work" to do. By not starting a new asynchronous wait on the timer when `count` reaches 5, the io\_service will run out of work and stop running. +As mentioned above, this tutorial program uses a counter to stop running when the timer fires for the sixth time. However you will observe that there is no explicit call to ask the io\_context to stop. Recall that in tutorial Timer.2 we learnt that the [link asio.reference.io_context.run io_context::run()] function completes when there is no more "work" to do. By not starting a new asynchronous wait on the timer when `count` reaches 5, the io\_context will run out of work and stop running. ``''''''`` if (*count < 5) @@ -319,6 +332,14 @@ See the [@http://www.boost.org/libs/bind/bind.html Boost.Bind documentation] for In this example, the asio::placeholders::error argument to [link asio.tutorial.boost_bind boost::bind] is a named placeholder for the error object passed to the handler. When initiating the asynchronous operation, and if using [link asio.tutorial.boost_bind boost::bind] , you must specify only the arguments that match the handler's parameter list. In tutorial Timer.4 you will see that this placeholder may be elided if the parameter is not needed by the callback handler. + ``''''''`` t->async_wait(boost::bind(print, + ``''''''`` asio::placeholders::error, t, count)); + ``''''''`` } + ``''''''``} + + ``''''''``int main() + ``''''''``{ + ``''''''`` asio::io_context io; @@ -326,11 +347,18 @@ A new `count` variable is added so that we can stop the program when the timer f + ``''''''`` int count = 0; + ``''''''`` asio::deadline_timer t(io, boost::posix_time::seconds(1)); + As in Step 4, when making the call to [link asio.reference.basic_deadline_timer.async_wait deadline_timer::async_wait()] from `main` we bind the additional parameters needed for the `print` function. + ``''''''`` t.async_wait(boost::bind(print, + ``''''''`` asio::placeholders::error, &t, &count)); + + ``''''''`` io.run(); @@ -338,6 +366,11 @@ Finally, just to prove that the `count` variable was being used in the `print` h + ``''''''`` std::cout << "Final count is " << count << std::endl; + + ``''''''`` return 0; + ``''''''``} + See the [link asio.tutorial.tuttimer3.src full source listing] @@ -357,7 +390,7 @@ Next: [link asio.tutorial.tuttimer4 Timer.4 - Using a member function as a handl ``''''''``// timer.cpp ``''''''``// ~~~~~~~~~ ``''''''``// - ``''''''``// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) + ``''''''``// Copyright (c) 2003-2017 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) @@ -430,7 +463,7 @@ Instead of defining a free function `print` as the callback handler, as we did i -The constructor of this class will take a reference to the io\_service object and use it when initialising the `timer_` member. The counter used to shut down the program is now also a member of the class. +The constructor of this class will take a reference to the io\_context object and use it when initialising the `timer_` member. The counter used to shut down the program is now also a member of the class. ``''''''`` printer(asio::io_context& io) @@ -484,7 +517,7 @@ The `print` member function is very similar to the `print` function from tutoria -The `main` function is much simpler than before, as it now declares a local `printer` object before running the io\_service as normal. +The `main` function is much simpler than before, as it now declares a local `printer` object before running the io\_context as normal. @@ -518,7 +551,7 @@ Next: [link asio.tutorial.tuttimer5 Timer.5 - Synchronising handlers in multithr ``''''''``// timer.cpp ``''''''``// ~~~~~~~~~ ``''''''``// - ``''''''``// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) + ``''''''``// Copyright (c) 2003-2017 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) @@ -578,9 +611,10 @@ Return to [link asio.tutorial.tuttimer4 Timer.4 - Using a member function as a h [section:tuttimer5 Timer.5 - Synchronising handlers in multithreaded programs] -This tutorial demonstrates the use of the asio::io\_service::strand class to synchronise callback handlers in a multithreaded program. +This tutorial demonstrates the use of the +[link asio.reference.io_context__strand io_context::strand] class to synchronise callback handlers in a multithreaded program. -The previous four tutorials avoided the issue of handler synchronisation by calling the [link asio.reference.io_context.run io_service::run()] function from one thread only. As you already know, the asio library provides a guarantee that callback handlers will only be called from threads that are currently calling [link asio.reference.io_context.run io_service::run()]. Consequently, calling [link asio.reference.io_context.run io_service::run()] from only one thread ensures that callback handlers cannot run concurrently. +The previous four tutorials avoided the issue of handler synchronisation by calling the [link asio.reference.io_context.run io_context::run()] function from one thread only. As you already know, the asio library provides a guarantee that callback handlers will only be called from threads that are currently calling [link asio.reference.io_context.run io_context::run()]. Consequently, calling [link asio.reference.io_context.run io_context::run()] from only one thread ensures that callback handlers cannot run concurrently. The single threaded approach is usually the best place to start when developing applications using asio. The downside is the limitations it places on programs, particularly servers, including: @@ -592,7 +626,7 @@ The single threaded approach is usually the best place to start when developing -If you find yourself running into these limitations, an alternative approach is to have a pool of threads calling [link asio.reference.io_context.run io_service::run()]. However, as this allows handlers to execute concurrently, we need a method of synchronisation when handlers might be accessing a shared, thread-unsafe resource. +If you find yourself running into these limitations, an alternative approach is to have a pool of threads calling [link asio.reference.io_context.run io_context::run()]. However, as this allows handlers to execute concurrently, we need a method of synchronisation when handlers might be accessing a shared, thread-unsafe resource. @@ -616,9 +650,13 @@ We start by defining a class called `printer`, similar to the class in the previ -In addition to initialising a pair of asio::deadline\_timer members, the constructor initialises the `strand_` member, an object of type asio::io\_service::strand. +In addition to initialising a pair of asio::deadline\_timer members, the constructor initialises the `strand_` member, an object of type +[link asio.reference.io_context__strand io_context::strand]. -An asio::io\_service::strand is an executor that guarantees that, for those handlers that are dispatched through it, an executing handler will be allowed to complete before the next one is started. This is guaranteed irrespective of the number of threads that are calling [link asio.reference.io_context.run io_service::run()]. Of course, the handlers may still execute concurrently with other handlers that were not dispatched through an asio::io\_service::strand, or were dispatched through a different asio::io\_service::strand object. +An +[link asio.reference.io_context__strand io_context::strand] is an executor that guarantees that, for those handlers that are dispatched through it, an executing handler will be allowed to complete before the next one is started. This is guaranteed irrespective of the number of threads that are calling [link asio.reference.io_context.run io_context::run()]. Of course, the handlers may still execute concurrently with other handlers that were not dispatched through an +[link asio.reference.io_context__strand io_context::strand], or were dispatched through a different +[link asio.reference.io_context__strand io_context::strand] object. ``''''''`` printer(asio::io_context& io) @@ -630,7 +668,10 @@ An asio::io\_service::strand is an executor that guarantees that, for those hand -When initiating the asynchronous operations, each callback handler is "bound" to an asio::io\_service::strand object. The asio::io\_service::strand::bind\_executor() function returns a new handler that automatically dispatches its contained handler through the asio::io\_service::strand object. By binding the handlers to the same asio::io\_service::strand, we are ensuring that they cannot execute concurrently. +When initiating the asynchronous operations, each callback handler is "bound" to an +[link asio.reference.io_context__strand io_context::strand] object. The asio::io\_context::strand::bind\_executor() function returns a new handler that automatically dispatches its contained handler through the +[link asio.reference.io_context__strand io_context::strand] object. By binding the handlers to the same +[link asio.reference.io_context__strand io_context::strand], we are ensuring that they cannot execute concurrently. ``''''''`` timer1_.async_wait(asio::bind_executor(strand_, @@ -688,10 +729,10 @@ In a multithreaded program, the handlers for asynchronous operations should be s -The `main` function now causes [link asio.reference.io_context.run io_service::run()] to be called from two threads: the main thread and one additional thread. This is accomplished using an +The `main` function now causes [link asio.reference.io_context.run io_context::run()] to be called from two threads: the main thread and one additional thread. This is accomplished using an [link asio.reference.thread thread] object. -Just as it would with a call from a single thread, concurrent calls to [link asio.reference.io_context.run io_service::run()] will continue to execute while there is "work" left to do. The background thread will not exit until all asynchronous operations have completed. +Just as it would with a call from a single thread, concurrent calls to [link asio.reference.io_context.run io_context::run()] will continue to execute while there is "work" left to do. The background thread will not exit until all asynchronous operations have completed. @@ -725,7 +766,7 @@ Previous: [link asio.tutorial.tuttimer4 Timer.4 - Using a member function as a h ``''''''``// timer.cpp ``''''''``// ~~~~~~~~~ ``''''''``// - ``''''''``// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) + ``''''''``// Copyright (c) 2003-2017 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) @@ -844,16 +885,21 @@ The purpose of this application is to access a daytime service, so we need the u -All programs that use asio need to have at least one asio::io\_service object. +All programs that use asio need to have at least one +[link asio.reference.io_context io_context] object. + ``''''''`` asio::io_context io_context; + We need to turn the server name that was specified as a parameter to the application, into a TCP endpoint. To do this we use an [link asio.reference.ip__tcp.resolver ip::tcp::resolver] object. + ``''''''`` tcp::resolver resolver(io_context); + A resolver takes a query object and turns it into a list of endpoints. We construct a query using the name of the server, specified in `argv[1]`, and the name of the service, in this case `"daytime"`. @@ -909,7 +955,7 @@ Next: [link asio.tutorial.tutdaytime2 Daytime.2 - A synchronous TCP daytime serv ``''''''``// client.cpp ``''''''``// ~~~~~~~~~~ ``''''''``// - ``''''''``// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) + ``''''''``// Copyright (c) 2003-2017 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) @@ -991,29 +1037,63 @@ We define the function `make_daytime_string()` to create the string to be sent b + ``''''''``std::string make_daytime_string() + ``''''''``{ + ``''''''`` using namespace std; // For time_t, time and ctime; + ``''''''`` time_t now = time(0); + ``''''''`` return ctime(&now); + ``''''''``} + + ``''''''``int main() + ``''''''``{ + ``''''''`` try + ``''''''`` { + ``''''''`` asio::io_context io_context; + A [link asio.reference.ip__tcp.acceptor ip::tcp::acceptor] object needs to be created to listen for new connections. It is initialised to listen on TCP port 13, for IP version 4. + ``''''''`` tcp::acceptor acceptor(io_context, tcp::endpoint(tcp::v4(), 13)); + This is an iterative server, which means that it will handle one connection at a time. Create a socket that will represent the connection to the client, and then wait for a connection. + ``''''''`` for (;;) + ``''''''`` { + ``''''''`` tcp::socket socket(io_context); + ``''''''`` acceptor.accept(socket); + A client is accessing our service. Determine the current time and transfer this information to the client. + ``''''''`` std::string message = make_daytime_string(); + + ``''''''`` asio::error_code ignored_error; + ``''''''`` asio::write(socket, asio::buffer(message), ignored_error); + ``''''''`` } + ``''''''`` } + Finally, handle any exceptions. + ``''''''`` catch (std::exception& e) + ``''''''`` { + ``''''''`` std::cerr << e.what() << std::endl; + ``''''''`` } + + ``''''''`` return 0; + ``''''''``} @@ -1034,7 +1114,7 @@ Next: [link asio.tutorial.tutdaytime3 Daytime.3 - An asynchronous TCP daytime se ``''''''``// server.cpp ``''''''``// ~~~~~~~~~~ ``''''''``// - ``''''''``// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) + ``''''''``// Copyright (c) 2003-2017 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) @@ -1099,7 +1179,8 @@ Return to [link asio.tutorial.tutdaytime2 Daytime.2 - A synchronous TCP daytime -We need to create a server object to accept incoming client connections. The asio::io\_service object provides I/O services, such as sockets, that the server object will use. +We need to create a server object to accept incoming client connections. The +[link asio.reference.io_context io_context] object provides I/O services, such as sockets, that the server object will use. ``''''''`` asio::io_context io_context; @@ -1107,7 +1188,8 @@ We need to create a server object to accept incoming client connections. The asi -Run the asio::io\_service object so that it will perform asynchronous operations on your behalf. +Run the +[link asio.reference.io_context io_context] object so that it will perform asynchronous operations on your behalf. ``''''''`` io_context.run(); @@ -1284,7 +1366,7 @@ Next: [link asio.tutorial.tutdaytime4 Daytime.4 - A synchronous UDP daytime clie ``''''''``// server.cpp ``''''''``// ~~~~~~~~~~ ``''''''``// - ``''''''``// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) + ``''''''``// Copyright (c) 2003-2017 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) @@ -1421,18 +1503,43 @@ The start of the application is essentially the same as for the TCP daytime clie + ``''''''``int main(int argc, char* argv[]) + ``''''''``{ + ``''''''`` try + ``''''''`` { + ``''''''`` if (argc != 2) + ``''''''`` { + ``''''''`` std::cerr << "Usage: client " << std::endl; + ``''''''`` return 1; + ``''''''`` } + + ``''''''`` asio::io_context io_context; + We use an [link asio.reference.ip__udp.resolver ip::udp::resolver] object to find the correct remote endpoint to use based on the host and service names. The query is restricted to return only IPv4 endpoints by the [link asio.reference.ip__udp.v4 ip::udp::v4()] argument. + ``''''''`` udp::resolver resolver(io_context); + ``''''''`` udp::endpoint receiver_endpoint = + ``''''''`` *resolver.resolve(udp::v4(), argv[1], "daytime").begin(); + The [link asio.reference.ip__basic_resolver.resolve ip::udp::resolver::resolve()] function is guaranteed to return at least one endpoint in the list if it does not fail. This means it is safe to dereference the return value directly. + ``''''''`` udp::socket socket(io_context); + ``''''''`` socket.open(udp::v4()); + + ``''''''`` boost::array send_buf = {{ 0 }}; + ``''''''`` socket.send_to(asio::buffer(send_buf), receiver_endpoint); + + ``''''''`` boost::array recv_buf; + ``''''''`` udp::endpoint sender_endpoint; + Since UDP is datagram-oriented, we will not be using a stream socket. Create an [link asio.reference.ip__udp.socket ip::udp::socket] and initiate contact with the remote endpoint. @@ -1468,7 +1575,7 @@ Next: [link asio.tutorial.tutdaytime5 Daytime.5 - A synchronous UDP daytime serv ``''''''``// client.cpp ``''''''``// ~~~~~~~~~~ ``''''''``// - ``''''''``// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) + ``''''''``// Copyright (c) 2003-2017 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) @@ -1528,6 +1635,11 @@ Return to [link asio.tutorial.tutdaytime4 Daytime.4 - A synchronous UDP daytime This tutorial program shows how to use asio to implement a server application with UDP. + ``''''''``int main() + ``''''''``{ + ``''''''`` try + ``''''''`` { + ``''''''`` asio::io_context io_context; @@ -1535,6 +1647,8 @@ Create an [link asio.reference.ip__udp.socket ip::udp::socket] object to receive + ``''''''`` udp::socket socket(io_context, udp::endpoint(udp::v4(), 13)); + Wait for a client to initiate contact with us. The remote\_endpoint object will be populated by [link asio.reference.basic_datagram_socket.receive_from ip::udp::socket::receive_from()]. @@ -1578,7 +1692,7 @@ Next: [link asio.tutorial.tutdaytime6 Daytime.6 - An asynchronous UDP daytime se ``''''''``// server.cpp ``''''''``// ~~~~~~~~~~ ``''''''``// - ``''''''``// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) + ``''''''``// Copyright (c) 2003-2017 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) @@ -1612,11 +1726,7 @@ Next: [link asio.tutorial.tutdaytime6 Daytime.6 - An asynchronous UDP daytime se ``''''''`` boost::array recv_buf; ``''''''`` udp::endpoint remote_endpoint; ``''''''`` asio::error_code error; - ``''''''`` socket.receive_from(asio::buffer(recv_buf), - ``''''''`` remote_endpoint, 0, error); - - ``''''''`` if (error && error != asio::error::message_size) - ``''''''`` throw asio::system_error(error); + ``''''''`` socket.receive_from(asio::buffer(recv_buf), remote_endpoint); ``''''''`` std::string message = make_daytime_string(); @@ -1651,7 +1761,8 @@ Return to [link asio.tutorial.tutdaytime5 Daytime.5 - A synchronous UDP daytime -Create a server object to accept incoming client requests, and run the asio::io\_service object. +Create a server object to accept incoming client requests, and run the +[link asio.reference.io_context io_context] object. ``''''''`` asio::io_context io_context; @@ -1692,7 +1803,8 @@ The constructor initialises a socket to listen on UDP port 13. -The function [link asio.reference.basic_datagram_socket.async_receive_from ip::udp::socket::async_receive_from()] will cause the application to listen in the background for a new request. When such a request is received, the asio::io\_service object will invoke the `handle_receive()` function with two arguments: a value of type +The function [link asio.reference.basic_datagram_socket.async_receive_from ip::udp::socket::async_receive_from()] will cause the application to listen in the background for a new request. When such a request is received, the +[link asio.reference.io_context io_context] object will invoke the `handle_receive()` function with two arguments: a value of type [link asio.reference.error_code error_code] indicating whether the operation succeeded or failed, and a `size_t` value `bytes_transferred` specifying the number of bytes received. @@ -1715,10 +1827,11 @@ The function `handle_receive()` will service the client request. -The `error` parameter contains the result of the asynchronous operation. Since we only provide the 1-byte `recv_buffer_` to contain the client's request, the asio::io\_service object would return an error if the client sent anything larger. We can ignore such an error if it comes up. +The `error` parameter contains the result of the asynchronous operation. Since we only provide the 1-byte `recv_buffer_` to contain the client's request, the +[link asio.reference.io_context io_context] object would return an error if the client sent anything larger. We can ignore such an error if it comes up. - ``''''''`` if (!error || error == asio::error::message_size) + ``''''''`` if (!error) ``''''''`` { @@ -1794,7 +1907,7 @@ Next: [link asio.tutorial.tutdaytime7 Daytime.7 - A combined TCP/UDP asynchronou ``''''''``// server.cpp ``''''''``// ~~~~~~~~~~ ``''''''``// - ``''''''``// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) + ``''''''``// Copyright (c) 2003-2017 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) @@ -1839,7 +1952,7 @@ Next: [link asio.tutorial.tutdaytime7 Daytime.7 - A combined TCP/UDP asynchronou ``''''''`` void handle_receive(const asio::error_code& error, ``''''''`` std::size_t /*bytes_transferred*/) ``''''''`` { - ``''''''`` if (!error || error == asio::error::message_size) + ``''''''`` if (!error) ``''''''`` { ``''''''`` boost::shared_ptr message( ``''''''`` new std::string(make_daytime_string())); @@ -1893,24 +2006,41 @@ This tutorial program shows how to combine the two asynchronous servers that we [heading The main() function] + ``''''''``int main() + ``''''''``{ + ``''''''`` try + ``''''''`` { + ``''''''`` asio::io_context io_context; We will begin by creating a server object to accept a TCP client connection. + ``''''''`` tcp_server server1(io_context); We also need a server object to accept a UDP client request. + ``''''''`` udp_server server2(io_context); -We have created two lots of work for the asio::io\_service object to do. +We have created two lots of work for the +[link asio.reference.io_context io_context] object to do. + ``''''''`` io_context.run(); + ``''''''`` } + ``''''''`` catch (std::exception& e) + ``''''''`` { + ``''''''`` std::cerr << e.what() << std::endl; + ``''''''`` } + + ``''''''`` return 0; + ``''''''``} @@ -2018,7 +2148,7 @@ Similarly, this next class is taken from the [link asio.tutorial.tutdaytime6 pre ``''''''`` void handle_receive(const asio::error_code& error) ``''''''`` { - ``''''''`` if (!error || error == asio::error::message_size) + ``''''''`` if (!error) ``''''''`` { ``''''''`` boost::shared_ptr message( ``''''''`` new std::string(make_daytime_string())); @@ -2056,7 +2186,7 @@ Previous: [link asio.tutorial.tutdaytime6 Daytime.6 - An asynchronous UDP daytim ``''''''``// server.cpp ``''''''``// ~~~~~~~~~~ ``''''''``// - ``''''''``// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) + ``''''''``// Copyright (c) 2003-2017 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) @@ -2173,7 +2303,7 @@ Previous: [link asio.tutorial.tutdaytime6 Daytime.6 - An asynchronous UDP daytim ``''''''`` void handle_receive(const asio::error_code& error) ``''''''`` { - ``''''''`` if (!error || error == asio::error::message_size) + ``''''''`` if (!error) ``''''''`` { ``''''''`` boost::shared_ptr message( ``''''''`` new std::string(make_daytime_string())); diff --git a/asio/src/doc/tutorial.xsl b/asio/src/doc/tutorial.xsl index da9be49..4270035 100644 --- a/asio/src/doc/tutorial.xsl +++ b/asio/src/doc/tutorial.xsl @@ -2,7 +2,7 @@