diff options
author | Andrew Morrow <acm@mongodb.com> | 2018-12-15 12:24:16 -0500 |
---|---|---|
committer | Andrew Morrow <acm@mongodb.com> | 2018-12-17 18:04:56 -0500 |
commit | 0c6f72ea1828b9dbbcc86e61d04e1f925ca870fc (patch) | |
tree | 67cbf0f7c0111b31a0e44a7eaa955c2985540b74 | |
parent | b42ac5010af447ad1872078415e53bb0a9010655 (diff) | |
download | mongo-0c6f72ea1828b9dbbcc86e61d04e1f925ca870fc.tar.gz |
SERVER-37993 Upgrade ASIO to 1.12.2
33 files changed, 568 insertions, 205 deletions
diff --git a/src/third_party/asio-master/asio/README b/src/third_party/asio-master/asio/README index 661e72670c8..cb5ab7f0a88 100644 --- a/src/third_party/asio-master/asio/README +++ b/src/third_party/asio-master/asio/README @@ -1,4 +1,4 @@ -asio version 1.12.0 -Released Sunday, 04 March 2018. +asio version 1.12.2 +Released Sunday, 09 December 2018. See doc/index.html for API documentation and a tutorial. diff --git a/src/third_party/asio-master/asio/asio.manifest b/src/third_party/asio-master/asio/asio.manifest index e69d476e5fe..25b1497a10a 100644 --- a/src/third_party/asio-master/asio/asio.manifest +++ b/src/third_party/asio-master/asio/asio.manifest @@ -12,6 +12,7 @@ /doc/asio/examples/ /doc/asio/examples/cpp03_examples.html /doc/asio/examples/cpp11_examples.html +/doc/asio/examples/cpp17_examples.html /doc/asio/examples.html /doc/asio/history.html /doc/asio/index.html @@ -24,6 +25,7 @@ /doc/asio/overview/core/buffers.html /doc/asio/overview/core/concurrency_hint.html /doc/asio/overview/core/coroutine.html +/doc/asio/overview/core/coroutines_ts.html /doc/asio/overview/core/handler_tracking.html /doc/asio/overview/core.html /doc/asio/overview/core/line_based.html @@ -100,21 +102,7 @@ /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 @@ -1576,8 +1564,8 @@ /doc/asio/reference/dispatch/overload2.html /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.html /doc/asio/reference/dynamic_buffer/overload1.html /doc/asio/reference/dynamic_buffer/overload2.html /doc/asio/reference/dynamic_buffer/overload3.html @@ -1669,8 +1657,8 @@ /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.html /doc/asio/reference/execution_context__id/ /doc/asio/reference/execution_context__id.html /doc/asio/reference/execution_context__id/id.html @@ -1768,6 +1756,39 @@ /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/experimental__awaitable/ +/doc/asio/reference/experimental__awaitable/_awaitable.html +/doc/asio/reference/experimental__awaitable/awaitable.html +/doc/asio/reference/experimental__awaitable/executor_type.html +/doc/asio/reference/experimental__awaitable.html +/doc/asio/reference/experimental__awaitable/value_type.html +/doc/asio/reference/experimental__await_token/ +/doc/asio/reference/experimental__await_token/await_token/ +/doc/asio/reference/experimental__await_token/await_token.html +/doc/asio/reference/experimental__await_token/await_token/overload1.html +/doc/asio/reference/experimental__await_token/await_token/overload2.html +/doc/asio/reference/experimental__await_token/executor_type.html +/doc/asio/reference/experimental__await_token/get_executor.html +/doc/asio/reference/experimental__await_token.html +/doc/asio/reference/experimental__co_spawn/ +/doc/asio/reference/experimental__co_spawn.html +/doc/asio/reference/experimental__co_spawn/overload1.html +/doc/asio/reference/experimental__co_spawn/overload2.html +/doc/asio/reference/experimental__co_spawn/overload3.html +/doc/asio/reference/experimental__detached.html +/doc/asio/reference/experimental__detached_t/ +/doc/asio/reference/experimental__detached_t/detached_t.html +/doc/asio/reference/experimental__detached_t.html +/doc/asio/reference/experimental__redirect_error.html +/doc/asio/reference/experimental__redirect_error_t/ +/doc/asio/reference/experimental__redirect_error_t/ec_.html +/doc/asio/reference/experimental__redirect_error_t.html +/doc/asio/reference/experimental__redirect_error_t/redirect_error_t.html +/doc/asio/reference/experimental__redirect_error_t/token_.html +/doc/asio/reference/experimental__this_coro__executor.html +/doc/asio/reference/experimental__this_coro__executor_t.html +/doc/asio/reference/experimental__this_coro__token.html +/doc/asio/reference/experimental__this_coro__token_t.html /doc/asio/reference/generic__basic_endpoint/ /doc/asio/reference/generic__basic_endpoint/basic_endpoint/ /doc/asio/reference/generic__basic_endpoint/basic_endpoint.html @@ -2310,8 +2331,8 @@ /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.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 @@ -2349,8 +2370,8 @@ /doc/asio/reference/ip__basic_resolver_query/flags.html /doc/asio/reference/ip__basic_resolver_query/hints.html /doc/asio/reference/ip__basic_resolver_query/host_name.html -/doc/asio/reference/ip__basic_resolver_query.html /doc/asio/reference/ip__basic_resolver/query.html +/doc/asio/reference/ip__basic_resolver_query.html /doc/asio/reference/ip__basic_resolver_query/numeric_host.html /doc/asio/reference/ip__basic_resolver_query/numeric_service.html /doc/asio/reference/ip__basic_resolver_query/passive.html @@ -2573,6 +2594,7 @@ /doc/asio/reference/is_write_buffered.html /doc/asio/reference/is_write_buffered/value.html /doc/asio/reference/IteratorConnectHandler.html +/doc/asio/reference/LegacyCompletionHandler.html /doc/asio/reference/local__basic_endpoint/ /doc/asio/reference/local__basic_endpoint/basic_endpoint/ /doc/asio/reference/local__basic_endpoint/basic_endpoint.html @@ -3043,6 +3065,7 @@ /doc/asio/reference/ssl__context_base/no_sslv3.html /doc/asio/reference/ssl__context_base/no_tlsv1_1.html /doc/asio/reference/ssl__context_base/no_tlsv1_2.html +/doc/asio/reference/ssl__context_base/no_tlsv1_3.html /doc/asio/reference/ssl__context_base/no_tlsv1.html /doc/asio/reference/ssl__context_base/options.html /doc/asio/reference/ssl__context_base/password_purpose.html @@ -3071,6 +3094,7 @@ /doc/asio/reference/ssl__context/no_sslv3.html /doc/asio/reference/ssl__context/no_tlsv1_1.html /doc/asio/reference/ssl__context/no_tlsv1_2.html +/doc/asio/reference/ssl__context/no_tlsv1_3.html /doc/asio/reference/ssl__context/no_tlsv1.html /doc/asio/reference/ssl__context/operator_eq_.html /doc/asio/reference/ssl__context/options.html @@ -3370,8 +3394,8 @@ /doc/asio/reference/uses_executor.html /doc/asio/reference/WaitHandler.html /doc/asio/reference/wait_traits/ -/doc/asio/reference/wait_traits.html /doc/asio/reference/WaitTraits.html +/doc/asio/reference/wait_traits.html /doc/asio/reference/wait_traits/to_wait_duration/ /doc/asio/reference/wait_traits/to_wait_duration.html /doc/asio/reference/wait_traits/to_wait_duration/overload1.html @@ -3669,10 +3693,6 @@ /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/ @@ -3687,9 +3707,29 @@ /doc/examples/diffs/multicast/sender.cpp.html /doc/examples/diffs/nonblocking/ /doc/examples/diffs/nonblocking/third_party_lib.cpp.html +/doc/examples/diffs/operations/ +/doc/examples/diffs/operations/composed_1.cpp.html +/doc/examples/diffs/operations/composed_2.cpp.html +/doc/examples/diffs/operations/composed_3.cpp.html +/doc/examples/diffs/operations/composed_4.cpp.html +/doc/examples/diffs/operations/composed_5.cpp.html +/doc/examples/diffs/socks4/ +/doc/examples/diffs/socks4/socks4.hpp.html +/doc/examples/diffs/socks4/sync_client.cpp.html /doc/examples/diffs/spawn/ /doc/examples/diffs/spawn/echo_server.cpp.html /doc/examples/diffs/spawn/parallel_grep.cpp.html +/doc/examples/diffs/ssl/ +/doc/examples/diffs/ssl/client.cpp.html +/doc/examples/diffs/ssl/server.cpp.html +/doc/examples/diffs/timeouts/ +/doc/examples/diffs/timeouts/async_tcp_client.cpp.html +/doc/examples/diffs/timeouts/blocking_tcp_client.cpp.html +/doc/examples/diffs/timeouts/blocking_token_tcp_client.cpp.html +/doc/examples/diffs/timeouts/blocking_udp_client.cpp.html +/doc/examples/diffs/timeouts/server.cpp.html +/doc/examples/diffs/timers/ +/doc/examples/diffs/timers/time_t_timer.cpp.html /doc/home.png /doc/important.png /doc/index.html @@ -3776,6 +3816,7 @@ /include/asio/detail/fd_set_adapter.hpp /include/asio/detail/fenced_block.hpp /include/asio/detail/functional.hpp +/include/asio/detail/future.hpp /include/asio/detail/gcc_arm_fenced_block.hpp /include/asio/detail/gcc_hppa_fenced_block.hpp /include/asio/detail/gcc_sync_fenced_block.hpp @@ -3995,6 +4036,15 @@ /include/asio/execution_context.hpp /include/asio/executor.hpp /include/asio/executor_work_guard.hpp +/include/asio/experimental/ +/include/asio/experimental/co_spawn.hpp +/include/asio/experimental/detached.hpp +/include/asio/experimental.hpp +/include/asio/experimental/impl/ +/include/asio/experimental/impl/co_spawn.hpp +/include/asio/experimental/impl/detached.hpp +/include/asio/experimental/impl/redirect_error.hpp +/include/asio/experimental/redirect_error.hpp /include/asio/generic/ /include/asio/generic/basic_endpoint.hpp /include/asio/generic/datagram_protocol.hpp @@ -4357,10 +4407,10 @@ /src/examples/cpp03/timeouts/ /src/examples/cpp03/timeouts/async_tcp_client.cpp /src/examples/cpp03/timeouts/blocking_tcp_client.cpp +/src/examples/cpp03/timeouts/blocking_token_tcp_client.cpp /src/examples/cpp03/timeouts/blocking_udp_client.cpp /src/examples/cpp03/timeouts/server.cpp /src/examples/cpp03/timers/ -/src/examples/cpp03/timers/tick_count_timer.cpp /src/examples/cpp03/timers/time_t_timer.cpp /src/examples/cpp03/tutorial/ /src/examples/cpp03/tutorial/daytime1/ @@ -4454,9 +4504,29 @@ /src/examples/cpp11/multicast/sender.cpp /src/examples/cpp11/nonblocking/ /src/examples/cpp11/nonblocking/third_party_lib.cpp +/src/examples/cpp11/operations/ +/src/examples/cpp11/operations/composed_1.cpp +/src/examples/cpp11/operations/composed_2.cpp +/src/examples/cpp11/operations/composed_3.cpp +/src/examples/cpp11/operations/composed_4.cpp +/src/examples/cpp11/operations/composed_5.cpp +/src/examples/cpp11/socks4/ +/src/examples/cpp11/socks4/socks4.hpp +/src/examples/cpp11/socks4/sync_client.cpp /src/examples/cpp11/spawn/ /src/examples/cpp11/spawn/echo_server.cpp /src/examples/cpp11/spawn/parallel_grep.cpp +/src/examples/cpp11/ssl/ +/src/examples/cpp11/ssl/client.cpp +/src/examples/cpp11/ssl/server.cpp +/src/examples/cpp11/timeouts/ +/src/examples/cpp11/timeouts/async_tcp_client.cpp +/src/examples/cpp11/timeouts/blocking_tcp_client.cpp +/src/examples/cpp11/timeouts/blocking_token_tcp_client.cpp +/src/examples/cpp11/timeouts/blocking_udp_client.cpp +/src/examples/cpp11/timeouts/server.cpp +/src/examples/cpp11/timers/ +/src/examples/cpp11/timers/time_t_timer.cpp /src/examples/cpp14/ /src/examples/cpp14/echo/ /src/examples/cpp14/echo/async_tcp_echo_server.cpp @@ -4478,6 +4548,15 @@ /src/examples/cpp14/iostreams/http_client.cpp /src/examples/cpp14/Makefile.am /src/examples/cpp14/Makefile.in +/src/examples/cpp17/ +/src/examples/cpp17/coroutines_ts/ +/src/examples/cpp17/coroutines_ts/chat_server.cpp +/src/examples/cpp17/coroutines_ts/double_buffered_echo_server.cpp +/src/examples/cpp17/coroutines_ts/echo_server.cpp +/src/examples/cpp17/coroutines_ts/range_based_for.cpp +/src/examples/cpp17/coroutines_ts/refactored_echo_server.cpp +/src/examples/cpp17/Makefile.am +/src/examples/cpp17/Makefile.in /src/Makefile.am /src/Makefile.in /src/Makefile.mgw diff --git a/src/third_party/asio-master/asio/boost_asio.manifest b/src/third_party/asio-master/asio/boost_asio.manifest index 98efac61d52..e9b7cd27d67 100644 --- a/src/third_party/asio-master/asio/boost_asio.manifest +++ b/src/third_party/asio-master/asio/boost_asio.manifest @@ -70,6 +70,7 @@ /boost/asio/detail/fd_set_adapter.hpp /boost/asio/detail/fenced_block.hpp /boost/asio/detail/functional.hpp +/boost/asio/detail/future.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 @@ -288,6 +289,15 @@ /boost/asio/execution_context.hpp /boost/asio/executor.hpp /boost/asio/executor_work_guard.hpp +/boost/asio/experimental/ +/boost/asio/experimental/co_spawn.hpp +/boost/asio/experimental/detached.hpp +/boost/asio/experimental.hpp +/boost/asio/experimental/impl/ +/boost/asio/experimental/impl/co_spawn.hpp +/boost/asio/experimental/impl/detached.hpp +/boost/asio/experimental/impl/redirect_error.hpp +/boost/asio/experimental/redirect_error.hpp /boost/asio/generic/ /boost/asio/generic/basic_endpoint.hpp /boost/asio/generic/datagram_protocol.hpp @@ -499,8 +509,11 @@ /boost/system/config.hpp /boost/system/cygwin_error.hpp /boost/system/detail/ -/boost/system/detail/error_code.ipp -/boost/system/detail/local_free_on_destruction.hpp +/boost/system/detail/config.hpp +/boost/system/detail/generic_category.hpp +/boost/system/detail/std_interoperability.hpp +/boost/system/detail/system_category_posix.hpp +/boost/system/detail/system_category_win32.hpp /boost/system/error_code.hpp /boost/system/linux_error.hpp /boost/system/system_error.hpp @@ -648,10 +661,10 @@ /doc/html/boost_asio/example/cpp03/timeouts/ /doc/html/boost_asio/example/cpp03/timeouts/async_tcp_client.cpp /doc/html/boost_asio/example/cpp03/timeouts/blocking_tcp_client.cpp +/doc/html/boost_asio/example/cpp03/timeouts/blocking_token_tcp_client.cpp /doc/html/boost_asio/example/cpp03/timeouts/blocking_udp_client.cpp /doc/html/boost_asio/example/cpp03/timeouts/server.cpp /doc/html/boost_asio/example/cpp03/timers/ -/doc/html/boost_asio/example/cpp03/timers/tick_count_timer.cpp /doc/html/boost_asio/example/cpp03/timers/time_t_timer.cpp /doc/html/boost_asio/example/cpp03/windows/ /doc/html/boost_asio/example/cpp03/windows/transmit_file.cpp @@ -715,12 +728,40 @@ /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/operations/ +/doc/html/boost_asio/example/cpp11/operations/composed_1.cpp +/doc/html/boost_asio/example/cpp11/operations/composed_2.cpp +/doc/html/boost_asio/example/cpp11/operations/composed_3.cpp +/doc/html/boost_asio/example/cpp11/operations/composed_4.cpp +/doc/html/boost_asio/example/cpp11/operations/composed_5.cpp +/doc/html/boost_asio/example/cpp11/socks4/ +/doc/html/boost_asio/example/cpp11/socks4/socks4.hpp +/doc/html/boost_asio/example/cpp11/socks4/sync_client.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/example/cpp11/ssl/ +/doc/html/boost_asio/example/cpp11/ssl/client.cpp +/doc/html/boost_asio/example/cpp11/ssl/server.cpp +/doc/html/boost_asio/example/cpp11/timeouts/ +/doc/html/boost_asio/example/cpp11/timeouts/async_tcp_client.cpp +/doc/html/boost_asio/example/cpp11/timeouts/blocking_tcp_client.cpp +/doc/html/boost_asio/example/cpp11/timeouts/blocking_token_tcp_client.cpp +/doc/html/boost_asio/example/cpp11/timeouts/blocking_udp_client.cpp +/doc/html/boost_asio/example/cpp11/timeouts/server.cpp +/doc/html/boost_asio/example/cpp11/timers/ +/doc/html/boost_asio/example/cpp11/timers/time_t_timer.cpp +/doc/html/boost_asio/example/cpp17/ +/doc/html/boost_asio/example/cpp17/coroutines_ts/ +/doc/html/boost_asio/example/cpp17/coroutines_ts/chat_server.cpp +/doc/html/boost_asio/example/cpp17/coroutines_ts/double_buffered_echo_server.cpp +/doc/html/boost_asio/example/cpp17/coroutines_ts/echo_server.cpp +/doc/html/boost_asio/example/cpp17/coroutines_ts/range_based_for.cpp +/doc/html/boost_asio/example/cpp17/coroutines_ts/refactored_echo_server.cpp /doc/html/boost_asio/examples/ /doc/html/boost_asio/examples/cpp03_examples.html /doc/html/boost_asio/examples/cpp11_examples.html +/doc/html/boost_asio/examples/cpp17_examples.html /doc/html/boost_asio/examples.html /doc/html/boost_asio/history.html /doc/html/boost_asio.html @@ -734,6 +775,7 @@ /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/coroutines_ts.html /doc/html/boost_asio/overview/core/handler_tracking.html /doc/html/boost_asio/overview/core.html /doc/html/boost_asio/overview/core/line_based.html @@ -809,21 +851,7 @@ /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 @@ -2285,8 +2313,8 @@ /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.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 @@ -2352,8 +2380,8 @@ /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.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 @@ -2451,6 +2479,39 @@ /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/experimental__awaitable/ +/doc/html/boost_asio/reference/experimental__awaitable/_awaitable.html +/doc/html/boost_asio/reference/experimental__awaitable/awaitable.html +/doc/html/boost_asio/reference/experimental__awaitable/executor_type.html +/doc/html/boost_asio/reference/experimental__awaitable.html +/doc/html/boost_asio/reference/experimental__awaitable/value_type.html +/doc/html/boost_asio/reference/experimental__await_token/ +/doc/html/boost_asio/reference/experimental__await_token/await_token/ +/doc/html/boost_asio/reference/experimental__await_token/await_token.html +/doc/html/boost_asio/reference/experimental__await_token/await_token/overload1.html +/doc/html/boost_asio/reference/experimental__await_token/await_token/overload2.html +/doc/html/boost_asio/reference/experimental__await_token/executor_type.html +/doc/html/boost_asio/reference/experimental__await_token/get_executor.html +/doc/html/boost_asio/reference/experimental__await_token.html +/doc/html/boost_asio/reference/experimental__co_spawn/ +/doc/html/boost_asio/reference/experimental__co_spawn.html +/doc/html/boost_asio/reference/experimental__co_spawn/overload1.html +/doc/html/boost_asio/reference/experimental__co_spawn/overload2.html +/doc/html/boost_asio/reference/experimental__co_spawn/overload3.html +/doc/html/boost_asio/reference/experimental__detached.html +/doc/html/boost_asio/reference/experimental__detached_t/ +/doc/html/boost_asio/reference/experimental__detached_t/detached_t.html +/doc/html/boost_asio/reference/experimental__detached_t.html +/doc/html/boost_asio/reference/experimental__redirect_error.html +/doc/html/boost_asio/reference/experimental__redirect_error_t/ +/doc/html/boost_asio/reference/experimental__redirect_error_t/ec_.html +/doc/html/boost_asio/reference/experimental__redirect_error_t.html +/doc/html/boost_asio/reference/experimental__redirect_error_t/redirect_error_t.html +/doc/html/boost_asio/reference/experimental__redirect_error_t/token_.html +/doc/html/boost_asio/reference/experimental__this_coro__executor.html +/doc/html/boost_asio/reference/experimental__this_coro__executor_t.html +/doc/html/boost_asio/reference/experimental__this_coro__token.html +/doc/html/boost_asio/reference/experimental__this_coro__token_t.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 @@ -2993,8 +3054,8 @@ /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.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 @@ -3032,8 +3093,8 @@ /doc/html/boost_asio/reference/ip__basic_resolver_query/flags.html /doc/html/boost_asio/reference/ip__basic_resolver_query/hints.html /doc/html/boost_asio/reference/ip__basic_resolver_query/host_name.html -/doc/html/boost_asio/reference/ip__basic_resolver_query.html /doc/html/boost_asio/reference/ip__basic_resolver/query.html +/doc/html/boost_asio/reference/ip__basic_resolver_query.html /doc/html/boost_asio/reference/ip__basic_resolver_query/numeric_host.html /doc/html/boost_asio/reference/ip__basic_resolver_query/numeric_service.html /doc/html/boost_asio/reference/ip__basic_resolver_query/passive.html @@ -3274,6 +3335,7 @@ /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/LegacyCompletionHandler.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 @@ -3743,6 +3805,7 @@ /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_3.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 @@ -3771,6 +3834,7 @@ /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_3.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 @@ -4053,8 +4117,8 @@ /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.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/wait_traits/to_wait_duration/overload1.html @@ -4319,6 +4383,7 @@ /libs/asio/doc/overview/buffers.qbk /libs/asio/doc/overview/concurrency_hint.qbk /libs/asio/doc/overview/coroutine.qbk +/libs/asio/doc/overview/coroutines_ts.qbk /libs/asio/doc/overview/cpp2011.qbk /libs/asio/doc/overview/handler_tracking.qbk /libs/asio/doc/overview/implementation.qbk @@ -4375,6 +4440,7 @@ /libs/asio/doc/requirements/IoControlCommand.qbk /libs/asio/doc/requirements/IoObjectService.qbk /libs/asio/doc/requirements/IteratorConnectHandler.qbk +/libs/asio/doc/requirements/LegacyCompletionHandler.qbk /libs/asio/doc/requirements/MoveAcceptHandler.qbk /libs/asio/doc/requirements/MutableBufferSequence.qbk /libs/asio/doc/requirements/ProtoAllocator.qbk @@ -4562,8 +4628,6 @@ /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/dh2048.pem @@ -4574,12 +4638,12 @@ /libs/asio/example/cpp03/timeouts/ /libs/asio/example/cpp03/timeouts/async_tcp_client.cpp /libs/asio/example/cpp03/timeouts/blocking_tcp_client.cpp +/libs/asio/example/cpp03/timeouts/blocking_token_tcp_client.cpp /libs/asio/example/cpp03/timeouts/blocking_udp_client.cpp /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.v2 -/libs/asio/example/cpp03/timers/tick_count_timer.cpp /libs/asio/example/cpp03/timers/time_t_timer.cpp /libs/asio/example/cpp03/tutorial/ /libs/asio/example/cpp03/tutorial/daytime1/ @@ -4677,6 +4741,7 @@ /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/iostreams/Jamfile.v2 /libs/asio/example/cpp11/local/ /libs/asio/example/cpp11/local/connect_pair.cpp /libs/asio/example/cpp11/local/iostream_client.cpp @@ -4690,20 +4755,46 @@ /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/operations/ +/libs/asio/example/cpp11/operations/composed_1.cpp +/libs/asio/example/cpp11/operations/composed_2.cpp +/libs/asio/example/cpp11/operations/composed_3.cpp +/libs/asio/example/cpp11/operations/composed_4.cpp +/libs/asio/example/cpp11/operations/composed_5.cpp +/libs/asio/example/cpp11/operations/Jamfile.v2 +/libs/asio/example/cpp11/socks4/ +/libs/asio/example/cpp11/socks4/Jamfile.v2 +/libs/asio/example/cpp11/socks4/socks4.hpp +/libs/asio/example/cpp11/socks4/sync_client.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/example/cpp11/ssl/ +/libs/asio/example/cpp11/ssl/ca.pem +/libs/asio/example/cpp11/ssl/client.cpp +/libs/asio/example/cpp11/ssl/dh2048.pem +/libs/asio/example/cpp11/ssl/Jamfile.v2 +/libs/asio/example/cpp11/ssl/README +/libs/asio/example/cpp11/ssl/server.cpp +/libs/asio/example/cpp11/ssl/server.pem +/libs/asio/example/cpp11/timeouts/ +/libs/asio/example/cpp11/timeouts/async_tcp_client.cpp +/libs/asio/example/cpp11/timeouts/blocking_tcp_client.cpp +/libs/asio/example/cpp11/timeouts/blocking_token_tcp_client.cpp +/libs/asio/example/cpp11/timeouts/blocking_udp_client.cpp +/libs/asio/example/cpp11/timeouts/Jamfile.v2 +/libs/asio/example/cpp11/timeouts/server.cpp +/libs/asio/example/cpp11/timers/ +/libs/asio/example/cpp11/timers/Jamfile.v2 +/libs/asio/example/cpp11/timers/time_t_timer.cpp +/libs/asio/example/cpp17/ +/libs/asio/example/cpp17/coroutines_ts/ +/libs/asio/example/cpp17/coroutines_ts/chat_server.cpp +/libs/asio/example/cpp17/coroutines_ts/double_buffered_echo_server.cpp +/libs/asio/example/cpp17/coroutines_ts/echo_server.cpp +/libs/asio/example/cpp17/coroutines_ts/range_based_for.cpp +/libs/asio/example/cpp17/coroutines_ts/refactored_echo_server.cpp /libs/asio/index.html /libs/asio/meta/ /libs/asio/meta/libraries.json @@ -4870,18 +4961,34 @@ /libs/system/build/Jamfile /libs/system/build/Jamfile.v2 /libs/system/doc/ -/libs/system/doc/index.html -/libs/system/doc/reference.html +/libs/system/doc/Jamfile +/libs/system/doc/system/ +/libs/system/doc/system/acknowledgements.adoc +/libs/system/doc/system.adoc +/libs/system/doc/system/changes.adoc +/libs/system/doc/system/copyright.adoc +/libs/system/doc/system-docinfo-footer.html +/libs/system/doc/system/history.adoc +/libs/system/doc/system/introduction.adoc +/libs/system/doc/system/rationale.adoc +/libs/system/doc/system/reference.adoc /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/after_main_test.cpp +/libs/system/test/before_main_test.cpp /libs/system/test/config_test.cpp +/libs/system/test/constexpr_test.cpp /libs/system/test/dynamic_link_test.cpp +/libs/system/test/error_category_test.cpp /libs/system/test/error_code_test.cpp /libs/system/test/error_code_user_test.cpp +/libs/system/test/failed_constexpr_test.cpp +/libs/system/test/failed_test.cpp +/libs/system/test/generic_category_test.cpp /libs/system/test/header_only_test.cpp /libs/system/test/initialization_test.cpp /libs/system/test/Jamfile.v2 @@ -4901,9 +5008,15 @@ /libs/system/test/msvc/system-dll/system-dll.vcxproj /libs/system/test/msvc/system.sln /libs/system/test/quick.cpp +/libs/system/test/single_instance_1.cpp +/libs/system/test/single_instance_2.cpp +/libs/system/test/single_instance_test.cpp /libs/system/test/std_interop_test.cpp /libs/system/test/std_mismatch_test.cpp +/libs/system/test/system_category_test.cpp /libs/system/test/system_error_test.cpp +/libs/system/test/throws_assign_fail.cpp /libs/system/test/throw_test.cpp +/libs/system/test/win32_hresult_test.cpp /libs/system/.travis.yml /README.txt diff --git a/src/third_party/asio-master/asio/boostify.pl b/src/third_party/asio-master/asio/boostify.pl index 4d5522de531..73fbdb5151f 100755 --- a/src/third_party/asio-master/asio/boostify.pl +++ b/src/third_party/asio-master/asio/boostify.pl @@ -530,7 +530,12 @@ sub copy_examples "src/examples/cpp11/local", "src/examples/cpp11/multicast", "src/examples/cpp11/nonblocking", + "src/examples/cpp11/operations", + "src/examples/cpp11/socks4", "src/examples/cpp11/spawn", + "src/examples/cpp11/ssl", + "src/examples/cpp11/timeouts", + "src/examples/cpp11/timers", "src/examples/cpp14/executors", "src/examples/cpp17/coroutines_ts"); diff --git a/src/third_party/asio-master/asio/configure.ac b/src/third_party/asio-master/asio/configure.ac index 3085f51326b..d78c9d72029 100644 --- a/src/third_party/asio-master/asio/configure.ac +++ b/src/third_party/asio-master/asio/configure.ac @@ -1,4 +1,4 @@ -AC_INIT(asio, [1.12.0]) +AC_INIT(asio, [1.12.2]) AC_CONFIG_SRCDIR(include/asio.hpp) AM_MAINTAINER_MODE AM_INIT_AUTOMAKE([tar-ustar]) @@ -182,4 +182,5 @@ AC_OUTPUT([ src/tests/Makefile src/examples/cpp03/Makefile src/examples/cpp11/Makefile - src/examples/cpp14/Makefile]) + src/examples/cpp14/Makefile + src/examples/cpp17/Makefile]) diff --git a/src/third_party/asio-master/asio/include/Makefile.am b/src/third_party/asio-master/asio/include/Makefile.am index 2bfb01772e9..a6ac9947dbb 100644 --- a/src/third_party/asio-master/asio/include/Makefile.am +++ b/src/third_party/asio-master/asio/include/Makefile.am @@ -68,6 +68,7 @@ nobase_include_HEADERS = \ asio/detail/fd_set_adapter.hpp \ asio/detail/fenced_block.hpp \ asio/detail/functional.hpp \ + asio/detail/future.hpp \ asio/detail/gcc_arm_fenced_block.hpp \ asio/detail/gcc_hppa_fenced_block.hpp \ asio/detail/gcc_sync_fenced_block.hpp \ diff --git a/src/third_party/asio-master/asio/include/asio/buffer.hpp b/src/third_party/asio-master/asio/include/asio/buffer.hpp index a9aa8aad272..56a14880dc5 100644 --- a/src/third_party/asio-master/asio/include/asio/buffer.hpp +++ b/src/third_party/asio-master/asio/include/asio/buffer.hpp @@ -23,7 +23,6 @@ #include <string> #include <vector> #include "asio/detail/array_fwd.hpp" -#include "asio/detail/is_buffer_sequence.hpp" #include "asio/detail/string_view.hpp" #include "asio/detail/throw_exception.hpp" #include "asio/detail/type_traits.hpp" @@ -346,41 +345,6 @@ public: #endif // !defined(ASIO_NO_DEPRECATED) -/// Trait to determine whether a type satisfies the MutableBufferSequence -/// requirements. -template <typename T> -struct is_mutable_buffer_sequence -#if defined(GENERATING_DOCUMENTATION) - : integral_constant<bool, automatically_determined> -#else // defined(GENERATING_DOCUMENTATION) - : asio::detail::is_buffer_sequence<T, mutable_buffer> -#endif // defined(GENERATING_DOCUMENTATION) -{ -}; - -/// Trait to determine whether a type satisfies the ConstBufferSequence -/// requirements. -template <typename T> -struct is_const_buffer_sequence -#if defined(GENERATING_DOCUMENTATION) - : integral_constant<bool, automatically_determined> -#else // defined(GENERATING_DOCUMENTATION) - : asio::detail::is_buffer_sequence<T, const_buffer> -#endif // defined(GENERATING_DOCUMENTATION) -{ -}; - -/// Trait to determine whether a type satisfies the DynamicBuffer requirements. -template <typename T> -struct is_dynamic_buffer -#if defined(GENERATING_DOCUMENTATION) - : integral_constant<bool, automatically_determined> -#else // defined(GENERATING_DOCUMENTATION) - : asio::detail::is_dynamic_buffer<T> -#endif // defined(GENERATING_DOCUMENTATION) -{ -}; - /// (Deprecated: Use the socket/descriptor wait() and async_wait() member /// functions.) An implementation of both the ConstBufferSequence and /// MutableBufferSequence concepts to represent a null buffer sequence. @@ -1403,7 +1367,7 @@ inline ASIO_MUTABLE_BUFFER buffer( ); } -/// Create a new non-modifiable buffer that represents the given string. +/// Create a new modifiable buffer that represents the given string. /** * @returns A mutable_buffer value equivalent to: * @code mutable_buffer( @@ -2158,5 +2122,48 @@ inline std::size_t buffer_copy(const MutableBufferSequence& target, } // namespace asio #include "asio/detail/pop_options.hpp" +#include "asio/detail/is_buffer_sequence.hpp" +#include "asio/detail/push_options.hpp" + +namespace asio { + +/// Trait to determine whether a type satisfies the MutableBufferSequence +/// requirements. +template <typename T> +struct is_mutable_buffer_sequence +#if defined(GENERATING_DOCUMENTATION) + : integral_constant<bool, automatically_determined> +#else // defined(GENERATING_DOCUMENTATION) + : asio::detail::is_buffer_sequence<T, mutable_buffer> +#endif // defined(GENERATING_DOCUMENTATION) +{ +}; + +/// Trait to determine whether a type satisfies the ConstBufferSequence +/// requirements. +template <typename T> +struct is_const_buffer_sequence +#if defined(GENERATING_DOCUMENTATION) + : integral_constant<bool, automatically_determined> +#else // defined(GENERATING_DOCUMENTATION) + : asio::detail::is_buffer_sequence<T, const_buffer> +#endif // defined(GENERATING_DOCUMENTATION) +{ +}; + +/// Trait to determine whether a type satisfies the DynamicBuffer requirements. +template <typename T> +struct is_dynamic_buffer +#if defined(GENERATING_DOCUMENTATION) + : integral_constant<bool, automatically_determined> +#else // defined(GENERATING_DOCUMENTATION) + : asio::detail::is_dynamic_buffer<T> +#endif // defined(GENERATING_DOCUMENTATION) +{ +}; + +} // namespace asio + +#include "asio/detail/pop_options.hpp" #endif // ASIO_BUFFER_HPP diff --git a/src/third_party/asio-master/asio/include/asio/connect.hpp b/src/third_party/asio-master/asio/include/asio/connect.hpp index 487ce3e0856..89a9f35f984 100644 --- a/src/third_party/asio-master/asio/include/asio/connect.hpp +++ b/src/third_party/asio-master/asio/include/asio/connect.hpp @@ -58,7 +58,8 @@ struct is_endpoint_sequence /** * @defgroup connect asio::connect * - * @brief Establishes a socket connection by trying each endpoint in a sequence. + * @brief The @c connect function is a composed operation that establishes a + * socket connection by trying each endpoint in a sequence. */ /*@{*/ @@ -131,8 +132,8 @@ typename Protocol::endpoint connect( EndpointSequence>::value>::type* = 0); #if !defined(ASIO_NO_DEPRECATED) -/// (Deprecated.) Establishes a socket connection by trying each endpoint in a -/// sequence. +/// (Deprecated: Use range overload.) Establishes a socket connection by trying +/// each endpoint in a sequence. /** * This function attempts to connect a socket to one of a sequence of * endpoints. It does this by repeated calls to the socket's @c connect member @@ -159,8 +160,8 @@ template <typename Protocol ASIO_SVC_TPARAM, typename Iterator> Iterator connect(basic_socket<Protocol ASIO_SVC_TARG>& s, Iterator begin, typename enable_if<!is_endpoint_sequence<Iterator>::value>::type* = 0); -/// (Deprecated.) Establishes a socket connection by trying each endpoint in a -/// sequence. +/// (Deprecated: Use range overload.) Establishes a socket connection by trying +/// each endpoint in a sequence. /** * This function attempts to connect a socket to one of a sequence of * endpoints. It does this by repeated calls to the socket's @c connect member @@ -386,8 +387,8 @@ typename Protocol::endpoint connect( EndpointSequence>::value>::type* = 0); #if !defined(ASIO_NO_DEPRECATED) -/// (Deprecated.) Establishes a socket connection by trying each endpoint in a -/// sequence. +/// (Deprecated: Use range overload.) Establishes a socket connection by trying +/// each endpoint in a sequence. /** * This function attempts to connect a socket to one of a sequence of * endpoints. It does this by repeated calls to the socket's @c connect member @@ -427,8 +428,8 @@ Iterator connect(basic_socket<Protocol ASIO_SVC_TARG>& s, Iterator begin, ConnectCondition connect_condition, typename enable_if<!is_endpoint_sequence<Iterator>::value>::type* = 0); -/// (Deprecated.) Establishes a socket connection by trying each endpoint in a -/// sequence. +/// (Deprecated: Use range overload.) Establishes a socket connection by trying +/// each endpoint in a sequence. /** * This function attempts to connect a socket to one of a sequence of * endpoints. It does this by repeated calls to the socket's @c connect member @@ -602,8 +603,8 @@ Iterator connect(basic_socket<Protocol ASIO_SVC_TARG>& s, /** * @defgroup async_connect asio::async_connect * - * @brief Asynchronously establishes a socket connection by trying each - * endpoint in a sequence. + * @brief The @c async_connect function is a composed asynchronous operation + * that establishes a socket connection by trying each endpoint in a sequence. */ /*@{*/ @@ -679,8 +680,8 @@ async_connect(basic_socket<Protocol ASIO_SVC_TARG>& s, EndpointSequence>::value>::type* = 0); #if !defined(ASIO_NO_DEPRECATED) -/// (Deprecated.) Asynchronously establishes a socket connection by trying each -/// endpoint in a sequence. +/// (Deprecated: Use range overload.) Asynchronously establishes a socket +/// connection by trying each endpoint in a sequence. /** * This function attempts to connect a socket to one of a sequence of * endpoints. It does this by repeated calls to the socket's @c async_connect @@ -886,8 +887,8 @@ async_connect(basic_socket<Protocol ASIO_SVC_TARG>& s, EndpointSequence>::value>::type* = 0); #if !defined(ASIO_NO_DEPRECATED) -/// (Deprecated.) Asynchronously establishes a socket connection by trying each -/// endpoint in a sequence. +/// (Deprecated: Use range overload.) Asynchronously establishes a socket +/// connection by trying each endpoint in a sequence. /** * This function attempts to connect a socket to one of a sequence of * endpoints. It does this by repeated calls to the socket's @c async_connect diff --git a/src/third_party/asio-master/asio/include/asio/detail/config.hpp b/src/third_party/asio-master/asio/include/asio/detail/config.hpp index 6363108d572..2b8582e4077 100644 --- a/src/third_party/asio-master/asio/include/asio/detail/config.hpp +++ b/src/third_party/asio-master/asio/include/asio/detail/config.hpp @@ -79,9 +79,6 @@ # define ASIO_MSVC _MSC_VER # endif // defined(ASIO_HAS_BOOST_CONFIG) && defined(BOOST_MSVC) #endif // !defined(ASIO_MSVC) -#if defined(ASIO_MSVC) -# include <ciso646> // Needed for _HAS_CXX17. -#endif // defined(ASIO_MSVC) // Clang / libc++ detection. #if defined(__clang__) @@ -120,6 +117,14 @@ # define ASIO_HAS_MOVE 1 # endif // (_MSC_VER >= 1700) # endif // defined(ASIO_MSVC) +# if defined(__INTEL_CXX11_MODE__) +# if defined(__INTEL_COMPILER) && (__INTEL_COMPILER >= 1500) +# define BOOST_ASIO_HAS_MOVE 1 +# endif // defined(__INTEL_COMPILER) && (__INTEL_COMPILER >= 1500) +# if defined(__ICL) && (__ICL >= 1500) +# define BOOST_ASIO_HAS_MOVE 1 +# endif // defined(__ICL) && (__ICL >= 1500) +# endif // defined(__INTEL_CXX11_MODE__) # endif // !defined(ASIO_DISABLE_MOVE) #endif // !defined(ASIO_HAS_MOVE) @@ -238,7 +243,7 @@ // Support noexcept on compilers known to allow it. #if !defined(ASIO_NOEXCEPT) # if !defined(ASIO_DISABLE_NOEXCEPT) -# if (BOOST_VERSION >= 105300) +# if defined(ASIO_HAS_BOOST_CONFIG) && (BOOST_VERSION >= 105300) # define ASIO_NOEXCEPT BOOST_NOEXCEPT # define ASIO_NOEXCEPT_OR_NOTHROW BOOST_NOEXCEPT_OR_NOTHROW # elif defined(__clang__) @@ -770,9 +775,7 @@ # if defined(__GNUC__) # if ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7)) || (__GNUC__ > 4) # if defined(__GXX_EXPERIMENTAL_CXX0X__) -# if defined(_GLIBCXX_HAS_GTHREADS) -# define ASIO_HAS_STD_FUTURE 1 -# endif // defined(_GLIBCXX_HAS_GTHREADS) +# define ASIO_HAS_STD_FUTURE 1 # endif // defined(__GXX_EXPERIMENTAL_CXX0X__) # endif // ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7)) || (__GNUC__ > 4) # endif // defined(__GNUC__) @@ -788,23 +791,29 @@ #if !defined(ASIO_HAS_STD_STRING_VIEW) # if !defined(ASIO_DISABLE_STD_STRING_VIEW) # if defined(__clang__) -# if (__cplusplus >= 201703) -# if __has_include(<string_view>) -# define ASIO_HAS_STD_STRING_VIEW 1 -# endif // __has_include(<string_view>) -# endif // (__cplusplus >= 201703) -# endif // defined(__clang__) -# if defined(__GNUC__) +# if defined(ASIO_HAS_CLANG_LIBCXX) +# if (__cplusplus >= 201402) +# if __has_include(<string_view>) +# define ASIO_HAS_STD_STRING_VIEW 1 +# endif // __has_include(<string_view>) +# endif // (__cplusplus >= 201402) +# else // defined(ASIO_HAS_CLANG_LIBCXX) +# if (__cplusplus >= 201703) +# if __has_include(<string_view>) +# define ASIO_HAS_STD_STRING_VIEW 1 +# endif // __has_include(<string_view>) +# endif // (__cplusplus >= 201703) +# endif // defined(ASIO_HAS_CLANG_LIBCXX) +# elif defined(__GNUC__) # if (__GNUC__ >= 7) # if (__cplusplus >= 201703) # define ASIO_HAS_STD_STRING_VIEW 1 # endif // (__cplusplus >= 201703) # endif // (__GNUC__ >= 7) -# endif // defined(__GNUC__) -# if defined(ASIO_MSVC) -# if (_MSC_VER >= 1910 && _HAS_CXX17) -# define ASIO_HAS_STD_STRING_VIEW -# endif // (_MSC_VER >= 1910 && _HAS_CXX17) +# elif defined(ASIO_MSVC) +# if (_MSC_VER >= 1910 && _MSVC_LANG >= 201703) +# define ASIO_HAS_STD_STRING_VIEW 1 +# endif // (_MSC_VER >= 1910 && _MSVC_LANG >= 201703) # endif // defined(ASIO_MSVC) # endif // !defined(ASIO_DISABLE_STD_STRING_VIEW) #endif // !defined(ASIO_HAS_STD_STRING_VIEW) @@ -813,11 +822,21 @@ #if !defined(ASIO_HAS_STD_EXPERIMENTAL_STRING_VIEW) # if !defined(ASIO_DISABLE_STD_EXPERIMENTAL_STRING_VIEW) # if defined(__clang__) -# if (__cplusplus >= 201402) -# if __has_include(<experimental/string_view>) -# define ASIO_HAS_STD_EXPERIMENTAL_STRING_VIEW 1 -# endif // __has_include(<experimental/string_view>) -# endif // (__cplusplus >= 201402) +# if defined(ASIO_HAS_CLANG_LIBCXX) +# if (_LIBCPP_VERSION < 7000) +# if (__cplusplus >= 201402) +# if __has_include(<experimental/string_view>) +# define ASIO_HAS_STD_EXPERIMENTAL_STRING_VIEW 1 +# endif // __has_include(<experimental/string_view>) +# endif // (__cplusplus >= 201402) +# endif // (_LIBCPP_VERSION < 7000) +# else // defined(ASIO_HAS_CLANG_LIBCXX) +# if (__cplusplus >= 201402) +# if __has_include(<experimental/string_view>) +# define ASIO_HAS_STD_EXPERIMENTAL_STRING_VIEW 1 +# endif // __has_include(<experimental/string_view>) +# endif // (__cplusplus >= 201402) +# endif // // defined(ASIO_HAS_CLANG_LIBCXX) # endif // defined(__clang__) # if defined(__GNUC__) # if ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 9)) || (__GNUC__ > 4) @@ -862,9 +881,9 @@ #if !defined(ASIO_HAS_STD_INVOKE_RESULT) # if !defined(ASIO_DISABLE_STD_INVOKE_RESULT) # if defined(ASIO_MSVC) -# if (_MSC_VER >= 1910 && _HAS_CXX17) +# if (_MSC_VER >= 1911 && _MSVC_LANG >= 201703) # define ASIO_HAS_STD_INVOKE_RESULT 1 -# endif // (_MSC_VER >= 1910 && _HAS_CXX17) +# endif // (_MSC_VER >= 1911 && _MSVC_LANG >= 201703) # endif // defined(ASIO_MSVC) # endif // !defined(ASIO_DISABLE_STD_INVOKE_RESULT) #endif // !defined(ASIO_HAS_STD_INVOKE_RESULT) diff --git a/src/third_party/asio-master/asio/include/asio/detail/future.hpp b/src/third_party/asio-master/asio/include/asio/detail/future.hpp new file mode 100644 index 00000000000..27461553f1f --- /dev/null +++ b/src/third_party/asio-master/asio/include/asio/detail/future.hpp @@ -0,0 +1,33 @@ +// +// detail/future.hpp +// ~~~~~~~~~~~~~~~~~ +// +// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// +// Distributed under the 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_DETAIL_FUTURE_HPP +#define ASIO_DETAIL_FUTURE_HPP + +#if defined(_MSC_VER) && (_MSC_VER >= 1200) +# pragma once +#endif // defined(_MSC_VER) && (_MSC_VER >= 1200) + +#include "asio/detail/config.hpp" +#if defined(ASIO_HAS_STD_FUTURE) +# include <future> +// Even though the future header is available, libstdc++ may not implement the +// std::future class itself. However, we need to have already included the +// future header to reliably test for _GLIBCXX_HAS_GTHREADS. +# if defined(__GNUC__) && !defined(ASIO_HAS_CLANG_LIBCXX) +# if defined(_GLIBCXX_HAS_GTHREADS) +# define ASIO_HAS_STD_FUTURE_CLASS 1 +# endif // defined(_GLIBCXX_HAS_GTHREADS) +# else // defined(__GNUC__) && !defined(ASIO_HAS_CLANG_LIBCXX) +# define ASIO_HAS_STD_FUTURE_CLASS 1 +# endif // defined(__GNUC__) && !defined(ASIO_HAS_CLANG_LIBCXX) +#endif // defined(ASIO_HAS_STD_FUTURE) + +#endif // ASIO_DETAIL_FUTURE_HPP diff --git a/src/third_party/asio-master/asio/include/asio/detail/impl/socket_ops.ipp b/src/third_party/asio-master/asio/include/asio/detail/impl/socket_ops.ipp index 254960135fa..62233766118 100644 --- a/src/third_party/asio-master/asio/include/asio/detail/impl/socket_ops.ipp +++ b/src/third_party/asio-master/asio/include/asio/detail/impl/socket_ops.ipp @@ -2090,7 +2090,7 @@ const char* inet_ntop(int af, const void* src, char* dest, size_t length, if (result != 0 && af == ASIO_OS_DEF(AF_INET6) && scope_id != 0) { using namespace std; // For strcat and sprintf. - char if_name[IF_NAMESIZE + 1] = "%"; + char if_name[(IF_NAMESIZE > 21 ? IF_NAMESIZE : 21) + 1] = "%"; const in6_addr_type* ipv6_address = static_cast<const in6_addr_type*>(src); bool is_link_local = ((ipv6_address->s6_addr[0] == 0xfe) && ((ipv6_address->s6_addr[1] & 0xc0) == 0x80)); diff --git a/src/third_party/asio-master/asio/include/asio/detail/is_buffer_sequence.hpp b/src/third_party/asio-master/asio/include/asio/detail/is_buffer_sequence.hpp index 42ad0ebe1a2..69f9bbdf264 100644 --- a/src/third_party/asio-master/asio/include/asio/detail/is_buffer_sequence.hpp +++ b/src/third_party/asio-master/asio/include/asio/detail/is_buffer_sequence.hpp @@ -52,23 +52,47 @@ struct buffer_sequence_memfns_check }; template <typename> -char (&begin_memfn_helper(...))[2]; +char (&buffer_sequence_begin_helper(...))[2]; + +#if defined(ASIO_HAS_DECLTYPE) template <typename T> -char begin_memfn_helper( +char buffer_sequence_begin_helper(T* t, + typename enable_if<!is_same< + decltype(asio::buffer_sequence_begin(*t)), + void>::value>::type*); + +#else // defined(ASIO_HAS_DECLTYPE) + +template <typename T> +char buffer_sequence_begin_helper(T* t, buffer_sequence_memfns_check< void (buffer_sequence_memfns_base::*)(), &buffer_sequence_memfns_derived<T>::begin>*); +#endif // defined(ASIO_HAS_DECLTYPE) + template <typename> -char (&end_memfn_helper(...))[2]; +char (&buffer_sequence_end_helper(...))[2]; + +#if defined(ASIO_HAS_DECLTYPE) template <typename T> -char end_memfn_helper( +char buffer_sequence_end_helper(T* t, + typename enable_if<!is_same< + decltype(asio::buffer_sequence_end(*t)), + void>::value>::type*); + +#else // defined(ASIO_HAS_DECLTYPE) + +template <typename T> +char buffer_sequence_end_helper(T* t, buffer_sequence_memfns_check< void (buffer_sequence_memfns_base::*)(), &buffer_sequence_memfns_derived<T>::end>*); +#endif // defined(ASIO_HAS_DECLTYPE) + template <typename> char (&size_memfn_helper(...))[2]; @@ -133,25 +157,25 @@ char consume_memfn_helper( &buffer_sequence_memfns_derived<T>::consume>*); template <typename, typename> -char (&buffer_element_type_helper(...))[2]; +char (&buffer_sequence_element_type_helper(...))[2]; -#if defined(ASIO_HAS_DECL_TYPE) +#if defined(ASIO_HAS_DECLTYPE) template <typename T, typename Buffer> -char buffer_element_type_helper(T* t, +char buffer_sequence_element_type_helper(T* t, typename enable_if<is_convertible< - decltype(*buffer_sequence_begin(*t)), + decltype(*asio::buffer_sequence_begin(*t)), Buffer>::value>::type*); -#else // defined(ASIO_HAS_DECL_TYPE) +#else // defined(ASIO_HAS_DECLTYPE) template <typename T, typename Buffer> -char buffer_element_type_helper( +char buffer_sequence_element_type_helper( typename T::const_iterator*, typename enable_if<is_convertible< typename T::value_type, Buffer>::value>::type*); -#endif // defined(ASIO_HAS_DECL_TYPE) +#endif // defined(ASIO_HAS_DECLTYPE) template <typename> char (&const_buffers_type_typedef_helper(...))[2]; @@ -170,9 +194,9 @@ char mutable_buffers_type_typedef_helper( template <typename T, typename Buffer> struct is_buffer_sequence_class : integral_constant<bool, - sizeof(begin_memfn_helper<T>(0)) != 1 && - sizeof(end_memfn_helper<T>(0)) != 1 && - sizeof(buffer_element_type_helper<T, Buffer>(0, 0)) == 1> + sizeof(buffer_sequence_begin_helper<T>(0)) != 1 && + sizeof(buffer_sequence_end_helper<T>(0)) != 1 && + sizeof(buffer_sequence_element_type_helper<T, Buffer>(0, 0)) == 1> { }; diff --git a/src/third_party/asio-master/asio/include/asio/detail/timer_queue.hpp b/src/third_party/asio-master/asio/include/asio/detail/timer_queue.hpp index 380e7791eb9..de37000dbbd 100644 --- a/src/third_party/asio-master/asio/include/asio/detail/timer_queue.hpp +++ b/src/third_party/asio-master/asio/include/asio/detail/timer_queue.hpp @@ -266,11 +266,13 @@ private: { if (index == heap_.size() - 1) { + timer.heap_index_ = (std::numeric_limits<std::size_t>::max)(); heap_.pop_back(); } else { swap_heap(index, heap_.size() - 1); + timer.heap_index_ = (std::numeric_limits<std::size_t>::max)(); heap_.pop_back(); if (index > 0 && Time_Traits::less_than( heap_[index].time_, heap_[(index - 1) / 2].time_)) diff --git a/src/third_party/asio-master/asio/include/asio/detail/win_global.hpp b/src/third_party/asio-master/asio/include/asio/detail/win_global.hpp index 3b15a32d301..dd0a55564b6 100644 --- a/src/third_party/asio-master/asio/include/asio/detail/win_global.hpp +++ b/src/third_party/asio-master/asio/include/asio/detail/win_global.hpp @@ -58,7 +58,8 @@ T& win_global() { win_global_impl<T>::mutex_.init(); static_mutex::scoped_lock lock(win_global_impl<T>::mutex_); - win_global_impl<T>::ptr_ = new T; + if (win_global_impl<T>::ptr_ == 0) + win_global_impl<T>::ptr_ = new T; win_global_impl<T>::tss_ptr_ = win_global_impl<T>::ptr_; } diff --git a/src/third_party/asio-master/asio/include/asio/impl/io_context.hpp b/src/third_party/asio-master/asio/include/asio/impl/io_context.hpp index eaf580da7fd..5b6300f8475 100644 --- a/src/third_party/asio-master/asio/include/asio/impl/io_context.hpp +++ b/src/third_party/asio-master/asio/include/asio/impl/io_context.hpp @@ -247,7 +247,7 @@ void io_context::executor_type::dispatch( 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")); + "io_context", &this->context(), 0, "dispatch")); io_context_.impl_.post_immediate_completion(p.p, false); p.v = p.p = 0; diff --git a/src/third_party/asio-master/asio/include/asio/impl/read_until.hpp b/src/third_party/asio-master/asio/include/asio/impl/read_until.hpp index 1f39e1933b5..1a093cf033b 100644 --- a/src/third_party/asio-master/asio/include/asio/impl/read_until.hpp +++ b/src/third_party/asio-master/asio/include/asio/impl/read_until.hpp @@ -269,7 +269,9 @@ std::size_t read_until(SyncReadStream& s, } // Need more data. - std::size_t bytes_to_read = read_size_helper(b, 65536); + std::size_t bytes_to_read = std::min<std::size_t>( + std::max<std::size_t>(512, b.capacity() - b.size()), + std::min<std::size_t>(65536, b.max_size() - b.size())); b.commit(s.read_some(b.prepare(bytes_to_read), ec)); if (ec) return 0; diff --git a/src/third_party/asio-master/asio/include/asio/impl/use_future.hpp b/src/third_party/asio-master/asio/include/asio/impl/use_future.hpp index 51eb7e2ca41..40bf7a47a06 100644 --- a/src/third_party/asio-master/asio/include/asio/impl/use_future.hpp +++ b/src/third_party/asio-master/asio/include/asio/impl/use_future.hpp @@ -16,7 +16,6 @@ #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) #include "asio/detail/config.hpp" -#include <future> #include <tuple> #include "asio/async_result.hpp" #include "asio/detail/memory.hpp" diff --git a/src/third_party/asio-master/asio/include/asio/ip/bad_address_cast.hpp b/src/third_party/asio-master/asio/include/asio/ip/bad_address_cast.hpp index 8c71f704f83..0838d4a71e0 100644 --- a/src/third_party/asio-master/asio/include/asio/ip/bad_address_cast.hpp +++ b/src/third_party/asio-master/asio/include/asio/ip/bad_address_cast.hpp @@ -24,7 +24,12 @@ namespace asio { namespace ip { /// Thrown to indicate a failed address conversion. -class bad_address_cast : public std::bad_cast +class bad_address_cast : +#if defined(ASIO_MSVC) && defined(_HAS_EXCEPTIONS) && !_HAS_EXCEPTIONS + public std::exception +#else + public std::bad_cast +#endif { public: /// Default constructor. diff --git a/src/third_party/asio-master/asio/include/asio/ip/basic_resolver.hpp b/src/third_party/asio-master/asio/include/asio/ip/basic_resolver.hpp index 812dbec541c..9f408956848 100644 --- a/src/third_party/asio-master/asio/include/asio/ip/basic_resolver.hpp +++ b/src/third_party/asio-master/asio/include/asio/ip/basic_resolver.hpp @@ -198,7 +198,8 @@ public: } #if !defined(ASIO_NO_DEPRECATED) - /// (Deprecated.) Perform forward resolution of a query to a list of entries. + /// (Deprecated: Use overload with separate host and service parameters.) + /// Perform forward resolution of a query to a list of entries. /** * This function is used to resolve a query into a list of endpoint entries. * @@ -219,7 +220,8 @@ public: return r; } - /// (Deprecated.) Perform forward resolution of a query to a list of entries. + /// (Deprecated: Use overload with separate host and service parameters.) + /// Perform forward resolution of a query to a list of entries. /** * This function is used to resolve a query into a list of endpoint entries. * @@ -600,8 +602,8 @@ public: } #if !defined(ASIO_NO_DEPRECATED) - /// (Deprecated.) Asynchronously perform forward resolution of a query to a - /// list of entries. + /// (Deprecated: Use overload with separate host and service parameters.) + /// Asynchronously perform forward resolution of a query to a list of entries. /** * This function is used to asynchronously resolve a query into a list of * endpoint entries. diff --git a/src/third_party/asio-master/asio/include/asio/ip/basic_resolver_results.hpp b/src/third_party/asio-master/asio/include/asio/ip/basic_resolver_results.hpp index 185075f0bf9..b87e33655e9 100644 --- a/src/third_party/asio-master/asio/include/asio/ip/basic_resolver_results.hpp +++ b/src/third_party/asio-master/asio/include/asio/ip/basic_resolver_results.hpp @@ -232,19 +232,19 @@ public: /// Get the number of entries in the results range. size_type size() const ASIO_NOEXCEPT { - return this->values_->size(); + return this->values_ ? this->values_->size() : 0; } /// Get the maximum number of entries permitted in a results range. size_type max_size() const ASIO_NOEXCEPT { - return this->values_->max_size(); + return this->values_ ? this->values_->max_size() : values_type().max_size(); } /// Determine whether the results range is empty. bool empty() const ASIO_NOEXCEPT { - return this->values_->empty(); + return this->values_ ? this->values_->empty() : true; } /// Obtain a begin iterator for the results range. @@ -252,7 +252,7 @@ public: { basic_resolver_results tmp(*this); tmp.index_ = 0; - return tmp; + return ASIO_MOVE_CAST(basic_resolver_results)(tmp); } /// Obtain an end iterator for the results range. diff --git a/src/third_party/asio-master/asio/include/asio/packaged_task.hpp b/src/third_party/asio-master/asio/include/asio/packaged_task.hpp index 1e20b42e4d2..29b15b88045 100644 --- a/src/third_party/asio-master/asio/include/asio/packaged_task.hpp +++ b/src/third_party/asio-master/asio/include/asio/packaged_task.hpp @@ -16,11 +16,11 @@ #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) #include "asio/detail/config.hpp" +#include "asio/detail/future.hpp" -#if defined(ASIO_HAS_STD_FUTURE) \ +#if defined(ASIO_HAS_STD_FUTURE_CLASS) \ || defined(GENERATING_DOCUMENTATION) -#include <future> #include "asio/async_result.hpp" #include "asio/detail/type_traits.hpp" #include "asio/detail/variadic_templates.hpp" @@ -120,7 +120,7 @@ private: #include "asio/detail/pop_options.hpp" -#endif // defined(ASIO_HAS_STD_FUTURE) +#endif // defined(ASIO_HAS_STD_FUTURE_CLASS) // || defined(GENERATING_DOCUMENTATION) #endif // ASIO_PACKAGED_TASK_HPP diff --git a/src/third_party/asio-master/asio/include/asio/read.hpp b/src/third_party/asio-master/asio/include/asio/read.hpp index e77206a88cf..02e8b677853 100644 --- a/src/third_party/asio-master/asio/include/asio/read.hpp +++ b/src/third_party/asio-master/asio/include/asio/read.hpp @@ -32,8 +32,8 @@ namespace asio { /** * @defgroup read asio::read * - * @brief Attempt to read a certain amount of data from a stream before - * returning. + * @brief The @c read function is a composed operation that reads a certain + * amount of data from a stream before returning. */ /*@{*/ @@ -532,8 +532,8 @@ std::size_t read(SyncReadStream& s, basic_streambuf<Allocator>& b, /** * @defgroup async_read asio::async_read * - * @brief Start an asynchronous operation to read a certain amount of data from - * a stream. + * @brief The @c async_read function is a composed asynchronous operation that + * reads a certain amount of data from a stream before completion. */ /*@{*/ diff --git a/src/third_party/asio-master/asio/include/asio/read_at.hpp b/src/third_party/asio-master/asio/include/asio/read_at.hpp index df2c628782c..3e25a9152e5 100644 --- a/src/third_party/asio-master/asio/include/asio/read_at.hpp +++ b/src/third_party/asio-master/asio/include/asio/read_at.hpp @@ -32,8 +32,8 @@ namespace asio { /** * @defgroup read_at asio::read_at * - * @brief Attempt to read a certain amount of data at the specified offset - * before returning. + * @brief The @c read_at function is a composed operation that reads a certain + * amount of data at the specified offset before returning. */ /*@{*/ @@ -394,8 +394,8 @@ std::size_t read_at(SyncRandomAccessReadDevice& d, /** * @defgroup async_read_at asio::async_read_at * - * @brief Start an asynchronous operation to read a certain amount of data at - * the specified offset. + * @brief The @c async_read_at function is a composed asynchronous operation + * that reads a certain amount of data at the specified offset. */ /*@{*/ diff --git a/src/third_party/asio-master/asio/include/asio/read_until.hpp b/src/third_party/asio-master/asio/include/asio/read_until.hpp index f413d987d0f..a346d4ba656 100644 --- a/src/third_party/asio-master/asio/include/asio/read_until.hpp +++ b/src/third_party/asio-master/asio/include/asio/read_until.hpp @@ -67,9 +67,10 @@ struct is_match_condition /** * @defgroup read_until asio::read_until * - * @brief Read data into a dynamic buffer sequence, or into a streambuf, until - * it contains a delimiter, matches a regular expression, or a function object - * indicates a match. + * @brief The @c read_until function is a composed operation that reads data + * into a dynamic buffer sequence, or into a streambuf, until it contains a + * delimiter, matches a regular expression, or a function object indicates a + * match. */ /*@{*/ @@ -985,9 +986,10 @@ std::size_t read_until(SyncReadStream& s, /** * @defgroup async_read_until asio::async_read_until * - * @brief Start an asynchronous operation to read data into a dynamic buffer - * sequence, or into a streambuf, until it contains a delimiter, matches a - * regular expression, or a function object indicates a match. + * @brief The @c async_read_until function is a composed asynchronous operation + * that reads data into a dynamic buffer sequence, or into a streambuf, until + * it contains a delimiter, matches a regular expression, or a function object + * indicates a match. */ /*@{*/ diff --git a/src/third_party/asio-master/asio/include/asio/ssl/context_base.hpp b/src/third_party/asio-master/asio/include/asio/ssl/context_base.hpp index 56c76936e0c..b862f9682b4 100644 --- a/src/third_party/asio-master/asio/include/asio/ssl/context_base.hpp +++ b/src/third_party/asio-master/asio/include/asio/ssl/context_base.hpp @@ -85,6 +85,15 @@ public: /// TLS version 1.2 server. tlsv12_server, + /// Generic TLS version 1.3. + tlsv13, + + /// TLS version 1.3 client. + tlsv13_client, + + /// TLS version 1.3 server. + tlsv13_server, + /// Generic TLS. tls, @@ -120,6 +129,9 @@ public: /// Disable TLS v1.2. static const long no_tlsv1_2 = implementation_defined; + /// Disable TLS v1.3. + static const long no_tlsv1_3 = implementation_defined; + /// Disable compression. Compression is disabled by default. static const long no_compression = implementation_defined; #else @@ -138,6 +150,11 @@ public: # else // defined(SSL_OP_NO_TLSv1_2) ASIO_STATIC_CONSTANT(long, no_tlsv1_2 = 0x08000000L); # endif // defined(SSL_OP_NO_TLSv1_2) +# if defined(SSL_OP_NO_TLSv1_3) + ASIO_STATIC_CONSTANT(long, no_tlsv1_3 = SSL_OP_NO_TLSv1_3); +# else // defined(SSL_OP_NO_TLSv1_3) + ASIO_STATIC_CONSTANT(long, no_tlsv1_3 = 0x20000000L); +# endif // defined(SSL_OP_NO_TLSv1_3) # if defined(SSL_OP_NO_COMPRESSION) ASIO_STATIC_CONSTANT(long, no_compression = SSL_OP_NO_COMPRESSION); # else // defined(SSL_OP_NO_COMPRESSION) diff --git a/src/third_party/asio-master/asio/include/asio/ssl/impl/context.ipp b/src/third_party/asio-master/asio/include/asio/ssl/impl/context.ipp index b756fd26e5a..3bc3f295c29 100644 --- a/src/third_party/asio-master/asio/include/asio/ssl/impl/context.ipp +++ b/src/third_party/asio-master/asio/include/asio/ssl/impl/context.ipp @@ -157,7 +157,7 @@ context::context(context::method m) SSL_CTX_set_max_proto_version(handle_, TLS1_VERSION); } break; -#else // (OPENSSL_VERSION_NUMBER >= 0x10100000L) +#elif defined(SSL_TXT_TLSV1) case context::tlsv1: handle_ = ::SSL_CTX_new(::TLSv1_method()); break; @@ -167,7 +167,14 @@ context::context(context::method m) case context::tlsv1_server: handle_ = ::SSL_CTX_new(::TLSv1_server_method()); break; -#endif // (OPENSSL_VERSION_NUMBER >= 0x10100000L) +#else // defined(SSL_TXT_TLSV1) + case context::tlsv1: + case context::tlsv1_client: + case context::tlsv1_server: + asio::detail::throw_error( + asio::error::invalid_argument, "context"); + break; +#endif // defined(SSL_TXT_TLSV1) // TLS v1.1. #if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && !defined(LIBRESSL_VERSION_NUMBER) @@ -240,7 +247,7 @@ context::context(context::method m) SSL_CTX_set_max_proto_version(handle_, TLS1_2_VERSION); } break; -#elif defined(SSL_TXT_TLSV1_1) +#elif defined(SSL_TXT_TLSV1_2) case context::tlsv12: handle_ = ::SSL_CTX_new(::TLSv1_2_method()); break; @@ -250,14 +257,52 @@ context::context(context::method m) case context::tlsv12_server: handle_ = ::SSL_CTX_new(::TLSv1_2_server_method()); break; -#else // defined(SSL_TXT_TLSV1_1) +#else // defined(SSL_TXT_TLSV1_2) 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_1) +#endif // defined(SSL_TXT_TLSV1_2) + + // TLS v1.3. +#if (OPENSSL_VERSION_NUMBER >= 0x10101000L) \ + && !defined(LIBRESSL_VERSION_NUMBER) + case context::tlsv13: + handle_ = ::SSL_CTX_new(::TLS_method()); + if (handle_) + { + SSL_CTX_set_min_proto_version(handle_, TLS1_3_VERSION); + SSL_CTX_set_max_proto_version(handle_, TLS1_3_VERSION); + } + break; + case context::tlsv13_client: + handle_ = ::SSL_CTX_new(::TLS_client_method()); + if (handle_) + { + SSL_CTX_set_min_proto_version(handle_, TLS1_3_VERSION); + SSL_CTX_set_max_proto_version(handle_, TLS1_3_VERSION); + } + break; + case context::tlsv13_server: + handle_ = ::SSL_CTX_new(::TLS_server_method()); + if (handle_) + { + SSL_CTX_set_min_proto_version(handle_, TLS1_3_VERSION); + SSL_CTX_set_max_proto_version(handle_, TLS1_3_VERSION); + } + break; +#else // (OPENSSL_VERSION_NUMBER >= 0x10101000L) + // && !defined(LIBRESSL_VERSION_NUMBER) + case context::tlsv13: + case context::tlsv13_client: + case context::tlsv13_server: + asio::detail::throw_error( + asio::error::invalid_argument, "context"); + break; +#endif // (OPENSSL_VERSION_NUMBER >= 0x10101000L) + // && !defined(LIBRESSL_VERSION_NUMBER) // Any supported SSL/TLS version. case context::sslv23: diff --git a/src/third_party/asio-master/asio/include/asio/ssl/stream.hpp b/src/third_party/asio-master/asio/include/asio/ssl/stream.hpp index 2b221ed514f..a05ee88346f 100644 --- a/src/third_party/asio-master/asio/include/asio/ssl/stream.hpp +++ b/src/third_party/asio-master/asio/include/asio/ssl/stream.hpp @@ -634,7 +634,8 @@ public: * * @note The async_write_some operation may not transmit all of the data to * the peer. Consider using the @ref async_write function if you need to - * ensure that all data is written before the blocking operation completes. + * ensure that all data is written before the asynchronous operation + * completes. */ template <typename ConstBufferSequence, typename WriteHandler> ASIO_INITFN_RESULT_TYPE(WriteHandler, diff --git a/src/third_party/asio-master/asio/include/asio/thread_pool.hpp b/src/third_party/asio-master/asio/include/asio/thread_pool.hpp index f22f18d1177..1a86bcd5ba1 100644 --- a/src/third_party/asio-master/asio/include/asio/thread_pool.hpp +++ b/src/third_party/asio-master/asio/include/asio/thread_pool.hpp @@ -32,7 +32,7 @@ namespace asio { * * @par Submitting tasks to the pool * - * To submit functions to the io_context, use the @ref asio::dispatch, + * To submit functions to the thread_pool, use the @ref asio::dispatch, * @ref asio::post or @ref asio::defer free functions. * * For example: diff --git a/src/third_party/asio-master/asio/include/asio/use_future.hpp b/src/third_party/asio-master/asio/include/asio/use_future.hpp index 3f9c6968790..3ac95a562d1 100644 --- a/src/third_party/asio-master/asio/include/asio/use_future.hpp +++ b/src/third_party/asio-master/asio/include/asio/use_future.hpp @@ -16,8 +16,9 @@ #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) #include "asio/detail/config.hpp" +#include "asio/detail/future.hpp" -#if defined(ASIO_HAS_STD_FUTURE) \ +#if defined(ASIO_HAS_STD_FUTURE_CLASS) \ || defined(GENERATING_DOCUMENTATION) #include <memory> @@ -153,7 +154,7 @@ __declspec(selectany) use_future_t<> use_future; #include "asio/impl/use_future.hpp" -#endif // defined(ASIO_HAS_STD_FUTURE) +#endif // defined(ASIO_HAS_STD_FUTURE_CLASS) // || defined(GENERATING_DOCUMENTATION) #endif // ASIO_USE_FUTURE_HPP diff --git a/src/third_party/asio-master/asio/include/asio/version.hpp b/src/third_party/asio-master/asio/include/asio/version.hpp index ee0313f7366..82ceb168297 100644 --- a/src/third_party/asio-master/asio/include/asio/version.hpp +++ b/src/third_party/asio-master/asio/include/asio/version.hpp @@ -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 101200 // 1.12.0 +#define ASIO_VERSION 101202 // 1.12.2 #endif // ASIO_VERSION_HPP diff --git a/src/third_party/asio-master/asio/include/asio/write.hpp b/src/third_party/asio-master/asio/include/asio/write.hpp index 517a8420537..7f9251a8721 100644 --- a/src/third_party/asio-master/asio/include/asio/write.hpp +++ b/src/third_party/asio-master/asio/include/asio/write.hpp @@ -32,7 +32,8 @@ namespace asio { /** * @defgroup write asio::write * - * @brief Write a certain amount of data to a stream before returning. + * @brief The @c write function is a composed operation that writes a certain + * amount of data to a stream before returning. */ /*@{*/ @@ -532,8 +533,8 @@ std::size_t write(SyncWriteStream& s, basic_streambuf<Allocator>& b, /** * @defgroup async_write asio::async_write * - * @brief Start an asynchronous operation to write a certain amount of data to a - * stream. + * @brief The @c async_write function is a composed asynchronous operation that + * writes a certain amount of data to a stream before completion. */ /*@{*/ diff --git a/src/third_party/asio-master/asio/include/asio/write_at.hpp b/src/third_party/asio-master/asio/include/asio/write_at.hpp index 5018d210605..b7e5da48289 100644 --- a/src/third_party/asio-master/asio/include/asio/write_at.hpp +++ b/src/third_party/asio-master/asio/include/asio/write_at.hpp @@ -32,7 +32,8 @@ namespace asio { /** * @defgroup write_at asio::write_at * - * @brief Write a certain amount of data at a specified offset before returning. + * @brief The @c write_at function is a composed operation that writes a + * certain amount of data at a specified offset before returning. */ /*@{*/ @@ -392,8 +393,9 @@ std::size_t write_at(SyncRandomAccessWriteDevice& d, uint64_t offset, /** * @defgroup async_write_at asio::async_write_at * - * @brief Start an asynchronous operation to write a certain amount of data at - * the specified offset. + * @brief The @c async_write_at function is a composed asynchronous operation + * that writes a certain amount of data at the specified offset before + * completion. */ /*@{*/ diff --git a/src/third_party/scripts/asio_get_sources.sh b/src/third_party/scripts/asio_get_sources.sh index 544cfbf845d..6c432f1ff66 100755 --- a/src/third_party/scripts/asio_get_sources.sh +++ b/src/third_party/scripts/asio_get_sources.sh @@ -13,7 +13,7 @@ if [ "$#" -ne 0 ]; then fi NAME=asio -REVISION=b0926b61b057ce563241d609cae5768ed3a4e1b1 +REVISION=22afb86087a77037cd296d27134756c9b0d2cb75 SRC_ROOT=$(mktemp -d /tmp/asio.XXXXXX) #trap "rm -rf $SRC_ROOT" EXIT SRC=${SRC_ROOT}/${NAME}_${REVISION} |