diff options
author | thegeorg <thegeorg@yandex-team.com> | 2024-11-07 12:23:51 +0300 |
---|---|---|
committer | thegeorg <thegeorg@yandex-team.com> | 2024-11-07 13:29:37 +0300 |
commit | 338da9a169aaa11be7fa8ca7e6ca87d783a2f75c (patch) | |
tree | 9eb59d6d053cd9ee5cb51146b92ca3cd16515fbb /contrib/restricted/boost | |
parent | a454f5fbc2c79ea1f8e9ca584d888a57f535c8f3 (diff) | |
download | ydb-338da9a169aaa11be7fa8ca7e6ca87d783a2f75c.tar.gz |
Update contrib/restricted/boost/asio to 1.82.0
commit_hash:6f5e0002557289d16812809c88c0756d4775bd44
Diffstat (limited to 'contrib/restricted/boost')
672 files changed, 4391 insertions, 1310 deletions
diff --git a/contrib/restricted/boost/asio/.yandex_meta/devtools.copyrights.report b/contrib/restricted/boost/asio/.yandex_meta/devtools.copyrights.report index b7c7e48a28..0fdd78396d 100644 --- a/contrib/restricted/boost/asio/.yandex_meta/devtools.copyrights.report +++ b/contrib/restricted/boost/asio/.yandex_meta/devtools.copyrights.report @@ -36,7 +36,7 @@ KEEP COPYRIGHT_SERVICE_LABEL 09b747b5492c0054ccb0805469599656 BELONGS ya.make License text: - // Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) + // Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2008 Roelof Naude (roelof.naude at gmail dot com) Scancode info: Original SPDX id: COPYRIGHT_SERVICE_LABEL @@ -61,7 +61,7 @@ KEEP COPYRIGHT_SERVICE_LABEL 266d0bf761289539d88d2d0c479f3e6c BELONGS ya.make License text: // Copyright (c) 2005 Voipster / Indrek dot Juhani at voipster dot com - // Copyright (c) 2005-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) + // Copyright (c) 2005-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) Scancode info: Original SPDX id: COPYRIGHT_SERVICE_LABEL Score : 100.00 @@ -71,10 +71,61 @@ BELONGS ya.make include/boost/asio/ssl/impl/context.hpp [5:6] include/boost/asio/ssl/impl/context.ipp [5:6] -KEEP COPYRIGHT_SERVICE_LABEL 449ed4448271c0045b32b83e8bafb352 +KEEP COPYRIGHT_SERVICE_LABEL 4ce9f73bd1dfbd027a7bc5d78910d662 BELONGS ya.make License text: - // Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) + // Copyright (c) 2005 Voipster / Indrek dot Juhani at voipster dot com + // Copyright (c) 2005-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) + Scancode info: + Original SPDX id: COPYRIGHT_SERVICE_LABEL + Score : 100.00 + Match type : COPYRIGHT + Files with this license: + include/boost/asio/ssl/detail/impl/openssl_init.ipp [5:6] + include/boost/asio/ssl/impl/context.hpp [5:6] + include/boost/asio/ssl/impl/context.ipp [5:6] + +KEEP COPYRIGHT_SERVICE_LABEL 529d2406b1955604206f10bc3d44afc8 +BELONGS ya.make + License text: + // Copyright (c) 2021-2023 Klemens D. Morgenstern + // (klemens dot morgenstern at gmx dot net) + Scancode info: + Original SPDX id: COPYRIGHT_SERVICE_LABEL + Score : 100.00 + Match type : COPYRIGHT + Files with this license: + include/boost/asio/experimental/co_spawn.hpp [5:6] + include/boost/asio/experimental/coro.hpp [5:6] + include/boost/asio/experimental/coro_traits.hpp [5:6] + include/boost/asio/experimental/detail/coro_completion_handler.hpp [5:6] + include/boost/asio/experimental/detail/coro_promise_allocator.hpp [5:6] + include/boost/asio/experimental/detail/partial_promise.hpp [5:6] + include/boost/asio/experimental/impl/coro.hpp [5:6] + include/boost/asio/experimental/impl/promise.hpp [5:6] + include/boost/asio/experimental/impl/use_coro.hpp [5:6] + include/boost/asio/experimental/impl/use_promise.hpp [5:6] + include/boost/asio/experimental/promise.hpp [5:6] + include/boost/asio/experimental/use_coro.hpp [5:6] + include/boost/asio/experimental/use_promise.hpp [5:6] + +KEEP COPYRIGHT_SERVICE_LABEL 6495f2e3736232dcde6616b6b4fc2659 +BELONGS ya.make + License text: + // Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) + // Copyright (c) 2021 Klemens D. Morgenstern + // (klemens dot morgenstern at gmx dot net) + Scancode info: + Original SPDX id: COPYRIGHT_SERVICE_LABEL + Score : 100.00 + Match type : COPYRIGHT + Files with this license: + include/boost/asio/impl/connect_pipe.ipp [5:7] + +KEEP COPYRIGHT_SERVICE_LABEL 65af04607a789316553d621025ea64f3 +BELONGS ya.make + License text: + // Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) Scancode info: Original SPDX id: COPYRIGHT_SERVICE_LABEL Score : 100.00 @@ -89,6 +140,7 @@ BELONGS ya.make include/boost/asio/associated_allocator.hpp [5:5] include/boost/asio/associated_cancellation_slot.hpp [5:5] include/boost/asio/associated_executor.hpp [5:5] + include/boost/asio/associated_immediate_executor.hpp [5:5] include/boost/asio/associator.hpp [5:5] include/boost/asio/async_result.hpp [5:5] include/boost/asio/awaitable.hpp [5:5] @@ -115,6 +167,7 @@ BELONGS ya.make include/boost/asio/bind_allocator.hpp [5:5] include/boost/asio/bind_cancellation_slot.hpp [5:5] include/boost/asio/bind_executor.hpp [5:5] + include/boost/asio/bind_immediate_executor.hpp [5:5] include/boost/asio/buffer.hpp [5:5] include/boost/asio/buffer_registration.hpp [5:5] include/boost/asio/buffered_read_stream.hpp [5:5] @@ -248,6 +301,9 @@ BELONGS ya.make include/boost/asio/detail/impl/winrt_timer_scheduler.hpp [5:5] include/boost/asio/detail/impl/winrt_timer_scheduler.ipp [5:5] include/boost/asio/detail/impl/winsock_init.ipp [5:5] + include/boost/asio/detail/initiate_defer.hpp [5:5] + include/boost/asio/detail/initiate_dispatch.hpp [5:5] + include/boost/asio/detail/initiate_post.hpp [5:5] include/boost/asio/detail/io_control.hpp [5:5] include/boost/asio/detail/io_object_impl.hpp [5:5] include/boost/asio/detail/io_uring_descriptor_read_at_op.hpp [5:5] @@ -518,10 +574,8 @@ BELONGS ya.make include/boost/asio/impl/connect_pipe.hpp [5:5] include/boost/asio/impl/connect_pipe.ipp [5:7] include/boost/asio/impl/consign.hpp [5:5] - include/boost/asio/impl/defer.hpp [5:5] include/boost/asio/impl/deferred.hpp [5:5] include/boost/asio/impl/detached.hpp [5:5] - include/boost/asio/impl/dispatch.hpp [5:5] include/boost/asio/impl/error.ipp [5:5] include/boost/asio/impl/execution_context.hpp [5:5] include/boost/asio/impl/execution_context.ipp [5:5] @@ -531,7 +585,6 @@ BELONGS ya.make include/boost/asio/impl/io_context.hpp [5:5] include/boost/asio/impl/io_context.ipp [5:5] include/boost/asio/impl/multiple_exceptions.ipp [5:5] - include/boost/asio/impl/post.hpp [5:5] include/boost/asio/impl/prepend.hpp [5:5] include/boost/asio/impl/read.hpp [5:5] include/boost/asio/impl/read_at.hpp [5:5] @@ -604,6 +657,7 @@ BELONGS ya.make include/boost/asio/local/datagram_protocol.hpp [5:5] include/boost/asio/local/detail/endpoint.hpp [5:6] include/boost/asio/local/detail/impl/endpoint.ipp [5:6] + include/boost/asio/local/seq_packet_protocol.hpp [5:5] include/boost/asio/local/stream_protocol.hpp [5:5] include/boost/asio/multiple_exceptions.hpp [5:5] include/boost/asio/packaged_task.hpp [5:5] @@ -630,6 +684,7 @@ BELONGS ya.make include/boost/asio/serial_port.hpp [5:6] include/boost/asio/serial_port_base.hpp [5:6] include/boost/asio/signal_set.hpp [5:5] + include/boost/asio/signal_set_base.hpp [5:5] include/boost/asio/socket_base.hpp [5:5] include/boost/asio/spawn.hpp [5:5] include/boost/asio/ssl.hpp [5:5] @@ -729,23 +784,10 @@ BELONGS ya.make include/boost/asio/write_at.hpp [5:5] include/boost/asio/yield.hpp [5:5] -KEEP COPYRIGHT_SERVICE_LABEL 6495f2e3736232dcde6616b6b4fc2659 -BELONGS ya.make - License text: - // Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) - // Copyright (c) 2021 Klemens D. Morgenstern - // (klemens dot morgenstern at gmx dot net) - Scancode info: - Original SPDX id: COPYRIGHT_SERVICE_LABEL - Score : 100.00 - Match type : COPYRIGHT - Files with this license: - include/boost/asio/impl/connect_pipe.ipp [5:7] - KEEP COPYRIGHT_SERVICE_LABEL 77248a96a79940a9fa1d82b59477d791 BELONGS ya.make License text: - // Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) + // Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2005 Stefan Arentz (stefan at soze dot com) Scancode info: Original SPDX id: COPYRIGHT_SERVICE_LABEL @@ -759,7 +801,7 @@ BELONGS ya.make KEEP COPYRIGHT_SERVICE_LABEL 77f9dd6047adac3aadfc4e429a97736b BELONGS ya.make License text: - // Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) + // Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2008 Rep Invariant Systems, Inc. (info@repinvariant.com) Scancode info: Original SPDX id: COPYRIGHT_SERVICE_LABEL @@ -780,59 +822,10 @@ BELONGS ya.make include/boost/asio/serial_port.hpp [5:6] include/boost/asio/serial_port_base.hpp [5:6] -KEEP COPYRIGHT_SERVICE_LABEL a1fb802c2897bd8b522e07fc08e3988a -BELONGS ya.make - License text: - // Copyright (c) 2005 Voipster / Indrek dot Juhani at voipster dot com - // Copyright (c) 2005-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) - Scancode info: - Original SPDX id: COPYRIGHT_SERVICE_LABEL - Score : 100.00 - Match type : COPYRIGHT - Files with this license: - include/boost/asio/ssl/detail/impl/openssl_init.ipp [5:6] - include/boost/asio/ssl/impl/context.hpp [5:6] - include/boost/asio/ssl/impl/context.ipp [5:6] - -KEEP COPYRIGHT_SERVICE_LABEL ac8aa760fecd6ff857e31432dcb50229 -BELONGS ya.make - License text: - // Copyright (c) 2022 Klemens D. Morgenstern - // (klemens dot morgenstern at gmx dot net) - Scancode info: - Original SPDX id: COPYRIGHT_SERVICE_LABEL - Score : 100.00 - Match type : COPYRIGHT - Files with this license: - include/boost/asio/experimental/use_promise.hpp [5:6] - -KEEP COPYRIGHT_SERVICE_LABEL b54a4b9bb1b7b86932babc13c91439ba -BELONGS ya.make - License text: - // Copyright (c) 2021-2022 Klemens D. Morgenstern - // (klemens dot morgenstern at gmx dot net) - Scancode info: - Original SPDX id: COPYRIGHT_SERVICE_LABEL - Score : 100.00 - Match type : COPYRIGHT - Files with this license: - include/boost/asio/experimental/co_spawn.hpp [5:6] - include/boost/asio/experimental/coro.hpp [5:6] - include/boost/asio/experimental/coro_traits.hpp [5:6] - include/boost/asio/experimental/detail/coro_completion_handler.hpp [5:6] - include/boost/asio/experimental/detail/coro_promise_allocator.hpp [5:6] - include/boost/asio/experimental/detail/partial_promise.hpp [5:6] - include/boost/asio/experimental/impl/coro.hpp [5:6] - include/boost/asio/experimental/impl/promise.hpp [5:6] - include/boost/asio/experimental/impl/use_coro.hpp [5:6] - include/boost/asio/experimental/impl/use_promise.hpp [5:6] - include/boost/asio/experimental/promise.hpp [5:6] - include/boost/asio/experimental/use_coro.hpp [5:6] - KEEP COPYRIGHT_SERVICE_LABEL cec519351b68fb385bc916223bd0753a BELONGS ya.make License text: - // Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) + // Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2011 Boris Schaeling (boris@highscore.de) Scancode info: Original SPDX id: COPYRIGHT_SERVICE_LABEL @@ -847,7 +840,7 @@ BELONGS ya.make KEEP COPYRIGHT_SERVICE_LABEL f5e28497f7d46b75936cac4feeb981f4 BELONGS ya.make License text: - // Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) + // Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2014 Oliver Kowalke (oliver dot kowalke at gmail dot com) Scancode info: Original SPDX id: COPYRIGHT_SERVICE_LABEL diff --git a/contrib/restricted/boost/asio/.yandex_meta/devtools.licenses.report b/contrib/restricted/boost/asio/.yandex_meta/devtools.licenses.report index b1ce2a74ae..4b71f2cd84 100644 --- a/contrib/restricted/boost/asio/.yandex_meta/devtools.licenses.report +++ b/contrib/restricted/boost/asio/.yandex_meta/devtools.licenses.report @@ -53,6 +53,7 @@ BELONGS ya.make include/boost/asio/associated_allocator.hpp [7:8] include/boost/asio/associated_cancellation_slot.hpp [7:8] include/boost/asio/associated_executor.hpp [7:8] + include/boost/asio/associated_immediate_executor.hpp [7:8] include/boost/asio/associator.hpp [7:8] include/boost/asio/async_result.hpp [7:8] include/boost/asio/awaitable.hpp [7:8] @@ -79,6 +80,7 @@ BELONGS ya.make include/boost/asio/bind_allocator.hpp [7:8] include/boost/asio/bind_cancellation_slot.hpp [7:8] include/boost/asio/bind_executor.hpp [7:8] + include/boost/asio/bind_immediate_executor.hpp [7:8] include/boost/asio/buffer.hpp [7:8] include/boost/asio/buffer_registration.hpp [7:8] include/boost/asio/buffered_read_stream.hpp [7:8] @@ -212,6 +214,9 @@ BELONGS ya.make include/boost/asio/detail/impl/winrt_timer_scheduler.hpp [7:8] include/boost/asio/detail/impl/winrt_timer_scheduler.ipp [7:8] include/boost/asio/detail/impl/winsock_init.ipp [7:8] + include/boost/asio/detail/initiate_defer.hpp [7:8] + include/boost/asio/detail/initiate_dispatch.hpp [7:8] + include/boost/asio/detail/initiate_post.hpp [7:8] include/boost/asio/detail/io_control.hpp [7:8] include/boost/asio/detail/io_object_impl.hpp [7:8] include/boost/asio/detail/io_uring_descriptor_read_at_op.hpp [7:8] @@ -496,10 +501,8 @@ BELONGS ya.make include/boost/asio/impl/connect_pipe.hpp [7:8] include/boost/asio/impl/connect_pipe.ipp [9:10] include/boost/asio/impl/consign.hpp [7:8] - include/boost/asio/impl/defer.hpp [7:8] include/boost/asio/impl/deferred.hpp [7:8] include/boost/asio/impl/detached.hpp [7:8] - include/boost/asio/impl/dispatch.hpp [7:8] include/boost/asio/impl/error.ipp [7:8] include/boost/asio/impl/execution_context.hpp [7:8] include/boost/asio/impl/execution_context.ipp [7:8] @@ -509,7 +512,6 @@ BELONGS ya.make include/boost/asio/impl/io_context.hpp [7:8] include/boost/asio/impl/io_context.ipp [7:8] include/boost/asio/impl/multiple_exceptions.ipp [7:8] - include/boost/asio/impl/post.hpp [7:8] include/boost/asio/impl/prepend.hpp [7:8] include/boost/asio/impl/read.hpp [7:8] include/boost/asio/impl/read_at.hpp [7:8] @@ -582,6 +584,7 @@ BELONGS ya.make include/boost/asio/local/datagram_protocol.hpp [7:8] include/boost/asio/local/detail/endpoint.hpp [8:9] include/boost/asio/local/detail/impl/endpoint.ipp [8:9] + include/boost/asio/local/seq_packet_protocol.hpp [7:8] include/boost/asio/local/stream_protocol.hpp [7:8] include/boost/asio/multiple_exceptions.hpp [7:8] include/boost/asio/packaged_task.hpp [7:8] @@ -608,6 +611,7 @@ BELONGS ya.make include/boost/asio/serial_port.hpp [8:9] include/boost/asio/serial_port_base.hpp [8:9] include/boost/asio/signal_set.hpp [7:8] + include/boost/asio/signal_set_base.hpp [7:8] include/boost/asio/socket_base.hpp [7:8] include/boost/asio/spawn.hpp [7:8] include/boost/asio/ssl.hpp [7:8] diff --git a/contrib/restricted/boost/asio/.yandex_meta/licenses.list.txt b/contrib/restricted/boost/asio/.yandex_meta/licenses.list.txt index 30db5a6cb6..edd1ee0684 100644 --- a/contrib/restricted/boost/asio/.yandex_meta/licenses.list.txt +++ b/contrib/restricted/boost/asio/.yandex_meta/licenses.list.txt @@ -8,54 +8,49 @@ ====================COPYRIGHT==================== -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) ====================COPYRIGHT==================== -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2005 Stefan Arentz (stefan at soze dot com) ====================COPYRIGHT==================== -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2008 Rep Invariant Systems, Inc. (info@repinvariant.com) ====================COPYRIGHT==================== -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2008 Roelof Naude (roelof.naude at gmail dot com) ====================COPYRIGHT==================== -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2011 Boris Schaeling (boris@highscore.de) ====================COPYRIGHT==================== -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2014 Oliver Kowalke (oliver dot kowalke at gmail dot com) ====================COPYRIGHT==================== -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2021 Klemens D. Morgenstern // (klemens dot morgenstern at gmx dot net) ====================COPYRIGHT==================== // Copyright (c) 2005 Voipster / Indrek dot Juhani at voipster dot com -// Copyright (c) 2005-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2005-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) ====================COPYRIGHT==================== -// Copyright (c) 2021-2022 Klemens D. Morgenstern +// Copyright (c) 2021-2023 Klemens D. Morgenstern // (klemens dot morgenstern at gmx dot net) -====================COPYRIGHT==================== -// Copyright (c) 2022 Klemens D. Morgenstern -// (klemens dot morgenstern at gmx dot net) - - ====================Public-Domain==================== // Derived from a public domain implementation written by Daniel Casimiro. diff --git a/contrib/restricted/boost/asio/include/boost/asio.hpp b/contrib/restricted/boost/asio/include/boost/asio.hpp index ee6f0af4cf..1d78a75877 100644 --- a/contrib/restricted/boost/asio/include/boost/asio.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio.hpp @@ -2,7 +2,7 @@ // asio.hpp // ~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -23,8 +23,9 @@ #include <boost/asio/append.hpp> #include <boost/asio/as_tuple.hpp> #include <boost/asio/associated_allocator.hpp> -#include <boost/asio/associated_executor.hpp> #include <boost/asio/associated_cancellation_slot.hpp> +#include <boost/asio/associated_executor.hpp> +#include <boost/asio/associated_immediate_executor.hpp> #include <boost/asio/associator.hpp> #include <boost/asio/async_result.hpp> #include <boost/asio/awaitable.hpp> @@ -50,6 +51,7 @@ #include <boost/asio/bind_allocator.hpp> #include <boost/asio/bind_cancellation_slot.hpp> #include <boost/asio/bind_executor.hpp> +#include <boost/asio/bind_immediate_executor.hpp> #include <boost/asio/buffer.hpp> #include <boost/asio/buffer_registration.hpp> #include <boost/asio/buffered_read_stream_fwd.hpp> @@ -152,6 +154,7 @@ #include <boost/asio/local/basic_endpoint.hpp> #include <boost/asio/local/connect_pair.hpp> #include <boost/asio/local/datagram_protocol.hpp> +#include <boost/asio/local/seq_packet_protocol.hpp> #include <boost/asio/local/stream_protocol.hpp> #include <boost/asio/multiple_exceptions.hpp> #include <boost/asio/packaged_task.hpp> @@ -178,6 +181,7 @@ #include <boost/asio/serial_port.hpp> #include <boost/asio/serial_port_base.hpp> #include <boost/asio/signal_set.hpp> +#include <boost/asio/signal_set_base.hpp> #include <boost/asio/socket_base.hpp> #include <boost/asio/static_thread_pool.hpp> #include <boost/asio/steady_timer.hpp> diff --git a/contrib/restricted/boost/asio/include/boost/asio/any_completion_executor.hpp b/contrib/restricted/boost/asio/include/boost/asio/any_completion_executor.hpp index 74933b96d3..a006bbc982 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/any_completion_executor.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/any_completion_executor.hpp @@ -2,7 +2,7 @@ // any_completion_executor.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/any_completion_handler.hpp b/contrib/restricted/boost/asio/include/boost/asio/any_completion_handler.hpp index b7510a8241..ae73387ebd 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/any_completion_handler.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/any_completion_handler.hpp @@ -2,7 +2,7 @@ // any_completion_handler.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -416,6 +416,8 @@ any_completion_handler_fn_table_instance<Handler, Signatures...>::value; template <typename... Signatures> class any_completion_handler; +/// An allocator type that forwards memory allocation operations through an +/// instance of @c any_completion_handler. template <typename T, typename... Signatures> class any_completion_handler_allocator { @@ -437,14 +439,18 @@ private: } public: + /// The type of objects that may be allocated by the allocator. typedef T value_type; + /// Rebinds an allocator to another value type. template <typename U> struct rebind { + /// Specifies the type of the rebound allocator. typedef any_completion_handler_allocator<U, Signatures...> other; }; + /// Construct from another @c any_completion_handler_allocator. template <typename U> constexpr any_completion_handler_allocator( const any_completion_handler_allocator<U, Signatures...>& a) @@ -454,18 +460,21 @@ public: { } + /// Equality operator. constexpr bool operator==( const any_completion_handler_allocator& other) const BOOST_ASIO_NOEXCEPT { return fn_table_ == other.fn_table_ && impl_ == other.impl_; } + /// Inequality operator. constexpr bool operator!=( const any_completion_handler_allocator& other) const BOOST_ASIO_NOEXCEPT { return fn_table_ != other.fn_table_ || impl_ != other.impl_; } + /// Allocate space for @c n objects of the allocator's value type. T* allocate(std::size_t n) const { return static_cast<T*>( @@ -473,12 +482,16 @@ public: impl_, sizeof(T) * n, alignof(T))); } + /// Deallocate space for @c n objects of the allocator's value type. void deallocate(T* p, std::size_t n) const { fn_table_->deallocate(impl_, p, sizeof(T) * n, alignof(T)); } }; +/// A protoco-allocator type that may be rebound to obtain an allocator that +/// forwards memory allocation operations through an instance of +/// @c any_completion_handler. template <typename... Signatures> class any_completion_handler_allocator<void, Signatures...> { @@ -500,14 +513,18 @@ private: } public: + /// @c void as no objects can be allocated through a proto-allocator. typedef void value_type; + /// Rebinds an allocator to another value type. template <typename U> struct rebind { + /// Specifies the type of the rebound allocator. typedef any_completion_handler_allocator<U, Signatures...> other; }; + /// Construct from another @c any_completion_handler_allocator. template <typename U> constexpr any_completion_handler_allocator( const any_completion_handler_allocator<U, Signatures...>& a) @@ -517,12 +534,14 @@ public: { } + /// Equality operator. constexpr bool operator==( const any_completion_handler_allocator& other) const BOOST_ASIO_NOEXCEPT { return fn_table_ == other.fn_table_ && impl_ == other.impl_; } + /// Inequality operator. constexpr bool operator!=( const any_completion_handler_allocator& other) const BOOST_ASIO_NOEXCEPT { @@ -530,9 +549,27 @@ public: } }; +/// Polymorphic wrapper for completion handlers. +/** + * The @c any_completion_handler class template is a polymorphic wrapper for + * completion handlers that propagates the associated executor, associated + * allocator, and associated cancellation slot through a type-erasing interface. + * + * When using @c any_completion_handler, specify one or more completion + * signatures as template parameters. These will dictate the arguments that may + * be passed to the handler through the polymorphic interface. + * + * Typical uses for @c any_completion_handler include: + * + * @li Separate compilation of asynchronous operation implementations. + * + * @li Enabling interoperability between asynchronous operations and virtual + * functions. + */ template <typename... Signatures> class any_completion_handler { +#if !defined(GENERATING_DOCUMENTATION) private: template <typename, typename...> friend class any_completion_handler_allocator; @@ -542,25 +579,37 @@ private: const detail::any_completion_handler_fn_table<Signatures...>* fn_table_; detail::any_completion_handler_impl_base* impl_; +#endif // !defined(GENERATING_DOCUMENTATION) public: + /// The associated allocator type. using allocator_type = any_completion_handler_allocator<void, Signatures...>; + + /// The associated cancellation slot type. using cancellation_slot_type = cancellation_slot; + /// Construct an @c any_completion_handler in an empty state, without a target + /// object. constexpr any_completion_handler() : fn_table_(nullptr), impl_(nullptr) { } + /// Construct an @c any_completion_handler in an empty state, without a target + /// object. constexpr any_completion_handler(nullptr_t) : fn_table_(nullptr), impl_(nullptr) { } + /// Construct an @c any_completion_handler to contain the specified target. template <typename H, typename Handler = typename decay<H>::type> - any_completion_handler(H&& h) + any_completion_handler(H&& h, + typename constraint< + !is_same<typename decay<H>::type, any_completion_handler>::value + >::type = 0) : fn_table_( &detail::any_completion_handler_fn_table_instance< Handler, Signatures...>::value), @@ -569,6 +618,10 @@ public: { } + /// Move-construct an @c any_completion_handler from another. + /** + * After the operation, the moved-from object @c other has no target. + */ any_completion_handler(any_completion_handler&& other) BOOST_ASIO_NOEXCEPT : fn_table_(other.fn_table_), impl_(other.impl_) @@ -577,51 +630,72 @@ public: other.impl_ = nullptr; } + /// Move-assign an @c any_completion_handler from another. + /** + * After the operation, the moved-from object @c other has no target. + */ any_completion_handler& operator=( any_completion_handler&& other) BOOST_ASIO_NOEXCEPT { - any_completion_handler(other).swap(*this); + any_completion_handler( + BOOST_ASIO_MOVE_CAST(any_completion_handler)(other)).swap(*this); return *this; } + /// Assignment operator that sets the polymorphic wrapper to the empty state. any_completion_handler& operator=(nullptr_t) BOOST_ASIO_NOEXCEPT { any_completion_handler().swap(*this); return *this; } + /// Destructor. ~any_completion_handler() { if (impl_) fn_table_->destroy(impl_); } + /// Test if the polymorphic wrapper is empty. constexpr explicit operator bool() const BOOST_ASIO_NOEXCEPT { return impl_ != nullptr; } + /// Test if the polymorphic wrapper is non-empty. constexpr bool operator!() const BOOST_ASIO_NOEXCEPT { return impl_ == nullptr; } + /// Swap the content of an @c any_completion_handler with another. void swap(any_completion_handler& other) BOOST_ASIO_NOEXCEPT { std::swap(fn_table_, other.fn_table_); std::swap(impl_, other.impl_); } + /// Get the associated allocator. allocator_type get_allocator() const BOOST_ASIO_NOEXCEPT { return allocator_type(0, *this); } + /// Get the associated cancellation slot. cancellation_slot_type get_cancellation_slot() const BOOST_ASIO_NOEXCEPT { return impl_->get_cancellation_slot(); } + /// Function call operator. + /** + * Invokes target completion handler with the supplied arguments. + * + * This function may only be called once, as the target handler is moved from. + * The polymorphic wrapper is left in an empty state. + * + * Throws @c std::bad_function_call if the polymorphic wrapper is empty. + */ template <typename... Args> auto operator()(Args&&... args) -> decltype(fn_table_->call(impl_, BOOST_ASIO_MOVE_CAST(Args)(args)...)) @@ -635,24 +709,28 @@ public: boost::asio::detail::throw_exception(ex); } + /// Equality operator. friend constexpr bool operator==( const any_completion_handler& a, nullptr_t) BOOST_ASIO_NOEXCEPT { return a.impl_ == nullptr; } + /// Equality operator. friend constexpr bool operator==( nullptr_t, const any_completion_handler& b) BOOST_ASIO_NOEXCEPT { return nullptr == b.impl_; } + /// Inequality operator. friend constexpr bool operator!=( const any_completion_handler& a, nullptr_t) BOOST_ASIO_NOEXCEPT { return a.impl_ != nullptr; } + /// Inequality operator. friend constexpr bool operator!=( nullptr_t, const any_completion_handler& b) BOOST_ASIO_NOEXCEPT { diff --git a/contrib/restricted/boost/asio/include/boost/asio/any_io_executor.hpp b/contrib/restricted/boost/asio/include/boost/asio/any_io_executor.hpp index 523ae94d22..12e0008b38 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/any_io_executor.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/any_io_executor.hpp @@ -2,7 +2,7 @@ // any_io_executor.hpp // ~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/append.hpp b/contrib/restricted/boost/asio/include/boost/asio/append.hpp index 0963236f68..7b34641c71 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/append.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/append.hpp @@ -2,7 +2,7 @@ // append.hpp // ~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/as_tuple.hpp b/contrib/restricted/boost/asio/include/boost/asio/as_tuple.hpp index 613fe1addb..03aeac1eb7 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/as_tuple.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/as_tuple.hpp @@ -2,7 +2,7 @@ // as_tuple.hpp // ~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/associated_allocator.hpp b/contrib/restricted/boost/asio/include/boost/asio/associated_allocator.hpp index ed085703ef..50cc9c45d9 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/associated_allocator.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/associated_allocator.hpp @@ -2,7 +2,7 @@ // associated_allocator.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/associated_cancellation_slot.hpp b/contrib/restricted/boost/asio/include/boost/asio/associated_cancellation_slot.hpp index 3ee637ff2f..ab55354f32 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/associated_cancellation_slot.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/associated_cancellation_slot.hpp @@ -2,7 +2,7 @@ // associated_cancellation_slot.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -221,7 +221,7 @@ struct associated_cancellation_slot<reference_wrapper<T>, CancellationSlot> /// Forwards the request to get the cancellation slot to the associator /// specialisation for the unwrapped type @c T. static BOOST_ASIO_AUTO_RETURN_TYPE_PREFIX(type) get(reference_wrapper<T> t, - const CancellationSlot& s = CancellationSlot()) BOOST_ASIO_NOEXCEPT + const CancellationSlot& s) BOOST_ASIO_NOEXCEPT BOOST_ASIO_AUTO_RETURN_TYPE_SUFFIX(( associated_cancellation_slot<T, CancellationSlot>::get(t.get(), s))) { diff --git a/contrib/restricted/boost/asio/include/boost/asio/associated_executor.hpp b/contrib/restricted/boost/asio/include/boost/asio/associated_executor.hpp index a110182cbf..4ffc80f9a6 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/associated_executor.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/associated_executor.hpp @@ -2,7 +2,7 @@ // associated_executor.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -173,15 +173,11 @@ get_associated_executor(const T& t, const Executor& ex, * ExecutionContext::executor_type>::get(t, ctx.get_executor())</tt> */ template <typename T, typename ExecutionContext> -BOOST_ASIO_NODISCARD inline BOOST_ASIO_AUTO_RETURN_TYPE_PREFIX2( - typename associated_executor<T, - typename ExecutionContext::executor_type>::type) +BOOST_ASIO_NODISCARD inline typename associated_executor<T, + typename ExecutionContext::executor_type>::type get_associated_executor(const T& t, ExecutionContext& ctx, typename constraint<is_convertible<ExecutionContext&, execution_context&>::value>::type = 0) BOOST_ASIO_NOEXCEPT - BOOST_ASIO_AUTO_RETURN_TYPE_SUFFIX(( - associated_executor<T, - typename ExecutionContext::executor_type>::get(t, ctx.get_executor()))) { return associated_executor<T, typename ExecutionContext::executor_type>::get(t, ctx.get_executor()); diff --git a/contrib/restricted/boost/asio/include/boost/asio/associated_immediate_executor.hpp b/contrib/restricted/boost/asio/include/boost/asio/associated_immediate_executor.hpp new file mode 100644 index 0000000000..d73d395f75 --- /dev/null +++ b/contrib/restricted/boost/asio/include/boost/asio/associated_immediate_executor.hpp @@ -0,0 +1,299 @@ +// +// associated_immediate_executor.hpp +// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// +// Distributed under the 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 BOOST_ASIO_ASSOCIATED_IMMEDIATE_EXECUTOR_HPP +#define BOOST_ASIO_ASSOCIATED_IMMEDIATE_EXECUTOR_HPP + +#if defined(_MSC_VER) && (_MSC_VER >= 1200) +# pragma once +#endif // defined(_MSC_VER) && (_MSC_VER >= 1200) + +#include <boost/asio/detail/config.hpp> +#include <boost/asio/associator.hpp> +#include <boost/asio/detail/functional.hpp> +#include <boost/asio/detail/type_traits.hpp> +#include <boost/asio/execution/blocking.hpp> +#include <boost/asio/execution/executor.hpp> +#include <boost/asio/execution_context.hpp> +#include <boost/asio/is_executor.hpp> +#include <boost/asio/require.hpp> + +#include <boost/asio/detail/push_options.hpp> + +namespace boost { +namespace asio { + +template <typename T, typename Executor> +struct associated_immediate_executor; + +namespace detail { + +template <typename T, typename = void> +struct has_immediate_executor_type : false_type +{ +}; + +template <typename T> +struct has_immediate_executor_type<T, + typename void_type<typename T::immediate_executor_type>::type> + : true_type +{ +}; + +template <typename E, typename = void, typename = void> +struct default_immediate_executor +{ + typedef typename require_result<E, execution::blocking_t::never_t>::type type; + + static type get(const E& e) BOOST_ASIO_NOEXCEPT + { + return boost::asio::require(e, execution::blocking.never); + } +}; + +template <typename E> +struct default_immediate_executor<E, + typename enable_if< + !execution::is_executor<E>::value + >::type, + typename enable_if< + is_executor<E>::value + >::type> +{ + class type : public E + { + public: + template <typename Executor1> + explicit type(const Executor1& e, + typename constraint< + conditional< + !is_same<Executor1, type>::value, + is_convertible<Executor1, E>, + false_type + >::type::value + >::type = 0) BOOST_ASIO_NOEXCEPT + : E(e) + { + } + + type(const type& other) BOOST_ASIO_NOEXCEPT + : E(static_cast<const E&>(other)) + { + } + +#if defined(BOOST_ASIO_HAS_MOVE) + type(type&& other) BOOST_ASIO_NOEXCEPT + : E(BOOST_ASIO_MOVE_CAST(E)(other)) + { + } +#endif // defined(BOOST_ASIO_HAS_MOVE) + + template <typename Function, typename Allocator> + void dispatch(BOOST_ASIO_MOVE_ARG(Function) f, const Allocator& a) const + { + this->post(BOOST_ASIO_MOVE_CAST(Function)(f), a); + } + + friend bool operator==(const type& a, const type& b) BOOST_ASIO_NOEXCEPT + { + return static_cast<const E&>(a) == static_cast<const E&>(b); + } + + friend bool operator!=(const type& a, const type& b) BOOST_ASIO_NOEXCEPT + { + return static_cast<const E&>(a) != static_cast<const E&>(b); + } + }; + + static type get(const E& e) BOOST_ASIO_NOEXCEPT + { + return type(e); + } +}; + +template <typename T, typename E, typename = void, typename = void> +struct associated_immediate_executor_impl +{ + typedef void asio_associated_immediate_executor_is_unspecialised; + + typedef typename default_immediate_executor<E>::type type; + + static BOOST_ASIO_AUTO_RETURN_TYPE_PREFIX(type) get( + const T&, const E& e) BOOST_ASIO_NOEXCEPT + BOOST_ASIO_AUTO_RETURN_TYPE_SUFFIX((default_immediate_executor<E>::get(e))) + { + return default_immediate_executor<E>::get(e); + } +}; + +template <typename T, typename E> +struct associated_immediate_executor_impl<T, E, + typename void_type<typename T::immediate_executor_type>::type> +{ + typedef typename T::immediate_executor_type type; + + static BOOST_ASIO_AUTO_RETURN_TYPE_PREFIX(type) get( + const T& t, const E&) BOOST_ASIO_NOEXCEPT + BOOST_ASIO_AUTO_RETURN_TYPE_SUFFIX((t.get_immediate_executor())) + { + return t.get_immediate_executor(); + } +}; + +template <typename T, typename E> +struct associated_immediate_executor_impl<T, E, + typename enable_if< + !has_immediate_executor_type<T>::value + >::type, + typename void_type< + typename associator<associated_immediate_executor, T, E>::type + >::type> : associator<associated_immediate_executor, T, E> +{ +}; + +} // namespace detail + +/// Traits type used to obtain the immediate executor associated with an object. +/** + * A program may specialise this traits type if the @c T template parameter in + * the specialisation is a user-defined type. The template parameter @c + * Executor shall be a type meeting the Executor requirements. + * + * Specialisations shall meet the following requirements, where @c t is a const + * reference to an object of type @c T, and @c e is an object of type @c + * Executor. + * + * @li Provide a nested typedef @c type that identifies a type meeting the + * Executor requirements. + * + * @li Provide a noexcept static member function named @c get, callable as @c + * get(t) and with return type @c type or a (possibly const) reference to @c + * type. + * + * @li Provide a noexcept static member function named @c get, callable as @c + * get(t,e) and with return type @c type or a (possibly const) reference to @c + * type. + */ +template <typename T, typename Executor> +struct associated_immediate_executor +#if !defined(GENERATING_DOCUMENTATION) + : detail::associated_immediate_executor_impl<T, Executor> +#endif // !defined(GENERATING_DOCUMENTATION) +{ +#if defined(GENERATING_DOCUMENTATION) + /// If @c T has a nested type @c immediate_executor_type, + // <tt>T::immediate_executor_type</tt>. Otherwise @c Executor. + typedef see_below type; + + /// If @c T has a nested type @c immediate_executor_type, returns + /// <tt>t.get_immediate_executor()</tt>. Otherwise returns + /// <tt>boost::asio::require(ex, boost::asio::execution::blocking.never)</tt>. + static decltype(auto) get(const T& t, const Executor& ex) BOOST_ASIO_NOEXCEPT; +#endif // defined(GENERATING_DOCUMENTATION) +}; + +/// Helper function to obtain an object's associated executor. +/** + * @returns <tt>associated_immediate_executor<T, Executor>::get(t, ex)</tt> + */ +template <typename T, typename Executor> +BOOST_ASIO_NODISCARD inline BOOST_ASIO_AUTO_RETURN_TYPE_PREFIX2( + typename associated_immediate_executor<T, Executor>::type) +get_associated_immediate_executor(const T& t, const Executor& ex, + typename constraint< + is_executor<Executor>::value || execution::is_executor<Executor>::value + >::type = 0) BOOST_ASIO_NOEXCEPT + BOOST_ASIO_AUTO_RETURN_TYPE_SUFFIX(( + associated_immediate_executor<T, Executor>::get(t, ex))) +{ + return associated_immediate_executor<T, Executor>::get(t, ex); +} + +/// Helper function to obtain an object's associated executor. +/** + * @returns <tt>associated_immediate_executor<T, typename + * ExecutionContext::executor_type>::get(t, ctx.get_executor())</tt> + */ +template <typename T, typename ExecutionContext> +BOOST_ASIO_NODISCARD inline typename associated_immediate_executor<T, + typename ExecutionContext::executor_type>::type +get_associated_immediate_executor(const T& t, ExecutionContext& ctx, + typename constraint<is_convertible<ExecutionContext&, + execution_context&>::value>::type = 0) BOOST_ASIO_NOEXCEPT +{ + return associated_immediate_executor<T, + typename ExecutionContext::executor_type>::get(t, ctx.get_executor()); +} + +#if defined(BOOST_ASIO_HAS_ALIAS_TEMPLATES) + +template <typename T, typename Executor> +using associated_immediate_executor_t = + typename associated_immediate_executor<T, Executor>::type; + +#endif // defined(BOOST_ASIO_HAS_ALIAS_TEMPLATES) + +namespace detail { + +template <typename T, typename E, typename = void> +struct associated_immediate_executor_forwarding_base +{ +}; + +template <typename T, typename E> +struct associated_immediate_executor_forwarding_base<T, E, + typename enable_if< + is_same< + typename associated_immediate_executor<T, + E>::asio_associated_immediate_executor_is_unspecialised, + void + >::value + >::type> +{ + typedef void asio_associated_immediate_executor_is_unspecialised; +}; + +} // namespace detail + +#if defined(BOOST_ASIO_HAS_STD_REFERENCE_WRAPPER) \ + || defined(GENERATING_DOCUMENTATION) + +/// Specialisation of associated_immediate_executor for +/// @c std::reference_wrapper. +template <typename T, typename Executor> +struct associated_immediate_executor<reference_wrapper<T>, Executor> +#if !defined(GENERATING_DOCUMENTATION) + : detail::associated_immediate_executor_forwarding_base<T, Executor> +#endif // !defined(GENERATING_DOCUMENTATION) +{ + /// Forwards @c type to the associator specialisation for the unwrapped type + /// @c T. + typedef typename associated_immediate_executor<T, Executor>::type type; + + /// Forwards the request to get the executor to the associator specialisation + /// for the unwrapped type @c T. + static BOOST_ASIO_AUTO_RETURN_TYPE_PREFIX(type) get( + reference_wrapper<T> t, const Executor& ex) BOOST_ASIO_NOEXCEPT + BOOST_ASIO_AUTO_RETURN_TYPE_SUFFIX(( + associated_immediate_executor<T, Executor>::get(t.get(), ex))) + { + return associated_immediate_executor<T, Executor>::get(t.get(), ex); + } +}; + +#endif // defined(BOOST_ASIO_HAS_STD_REFERENCE_WRAPPER) + // || defined(GENERATING_DOCUMENTATION) + +} // namespace asio +} // namespace boost + +#include <boost/asio/detail/pop_options.hpp> + +#endif // BOOST_ASIO_ASSOCIATED_IMMEDIATE_EXECUTOR_HPP diff --git a/contrib/restricted/boost/asio/include/boost/asio/associator.hpp b/contrib/restricted/boost/asio/include/boost/asio/associator.hpp index bc775b0107..b0b5b44c01 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/associator.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/associator.hpp @@ -2,7 +2,7 @@ // associator.hpp // ~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/async_result.hpp b/contrib/restricted/boost/asio/include/boost/asio/async_result.hpp index c25a2fae97..c73e0eed53 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/async_result.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/async_result.hpp @@ -2,7 +2,7 @@ // async_result.hpp // ~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -1321,7 +1321,7 @@ class async_result<detail::async_operation_probe, Sig0, Sig1, Sig2> #endif // defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES) #endif // !defined(GENERATING_DOCUMENTATION) -#if defined(GENERATION_DOCUMENTATION) +#if defined(GENERATING_DOCUMENTATION) /// The is_async_operation trait detects whether a type @c T and arguments /// @c Args... may be used to initiate an asynchronous operation. @@ -1350,7 +1350,10 @@ struct is_async_operation : template <typename T, typename = void, typename = void, typename = void, typename = void, typename = void, typename = void, typename = void, typename = void, typename = void> -struct is_async_operation : +struct is_async_operation; + +template <typename T> +struct is_async_operation<T> : detail::is_async_operation_call< T(detail::async_operation_probe)> { @@ -1399,6 +1402,42 @@ namespace detail { struct completion_signature_probe {}; +#if defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES) + +template <typename... T> +struct completion_signature_probe_result +{ + template <template <typename...> class Op> + struct apply + { + typedef Op<T...> type; + }; +}; + +template <typename T> +struct completion_signature_probe_result<T> +{ + typedef T type; + + template <template <typename...> class Op> + struct apply + { + typedef Op<T> type; + }; +}; + +template <> +struct completion_signature_probe_result<void> +{ + template <template <typename...> class Op> + struct apply + { + typedef Op<> type; + }; +}; + +#else // defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES) + template <typename T> struct completion_signature_probe_result { @@ -1410,6 +1449,8 @@ struct completion_signature_probe_result<void> { }; +#endif // defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES) + } // namespace detail #if !defined(GENERATING_DOCUMENTATION) @@ -1419,7 +1460,7 @@ template <typename... Signatures> class async_result<detail::completion_signature_probe, Signatures...> { public: - typedef detail::completion_signature_probe_result<void> return_type; + typedef detail::completion_signature_probe_result<Signatures...> return_type; template <typename Initiation, typename... InitArgs> static return_type initiate(BOOST_ASIO_MOVE_ARG(Initiation), @@ -1537,7 +1578,10 @@ using completion_signature_of_t = template <typename T, typename = void, typename = void, typename = void, typename = void, typename = void, typename = void, typename = void, typename = void, typename = void> -struct completion_signature_of : +struct completion_signature_of; + +template <typename T> +struct completion_signature_of<T> : result_of<T(detail::completion_signature_probe)>::type { }; diff --git a/contrib/restricted/boost/asio/include/boost/asio/awaitable.hpp b/contrib/restricted/boost/asio/include/boost/asio/awaitable.hpp index 4145e2b19b..8075a08452 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/awaitable.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/awaitable.hpp @@ -2,7 +2,7 @@ // awaitable.hpp // ~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/basic_datagram_socket.hpp b/contrib/restricted/boost/asio/include/boost/asio/basic_datagram_socket.hpp index f220951fd0..7f6326bfc6 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/basic_datagram_socket.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/basic_datagram_socket.hpp @@ -2,7 +2,7 @@ // basic_datagram_socket.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/basic_deadline_timer.hpp b/contrib/restricted/boost/asio/include/boost/asio/basic_deadline_timer.hpp index 56672947cc..47796ad4a3 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/basic_deadline_timer.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/basic_deadline_timer.hpp @@ -2,7 +2,7 @@ // basic_deadline_timer.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/basic_file.hpp b/contrib/restricted/boost/asio/include/boost/asio/basic_file.hpp index 79aad88e24..6bac363cbb 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/basic_file.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/basic_file.hpp @@ -2,7 +2,7 @@ // basic_file.hpp // ~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/basic_io_object.hpp b/contrib/restricted/boost/asio/include/boost/asio/basic_io_object.hpp index ff6321d497..589b4435f2 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/basic_io_object.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/basic_io_object.hpp @@ -2,7 +2,7 @@ // basic_io_object.hpp // ~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/basic_random_access_file.hpp b/contrib/restricted/boost/asio/include/boost/asio/basic_random_access_file.hpp index a0e52d6d9a..464a66be76 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/basic_random_access_file.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/basic_random_access_file.hpp @@ -2,7 +2,7 @@ // basic_random_access_file.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/basic_raw_socket.hpp b/contrib/restricted/boost/asio/include/boost/asio/basic_raw_socket.hpp index b9fcc6a3e9..925371002c 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/basic_raw_socket.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/basic_raw_socket.hpp @@ -2,7 +2,7 @@ // basic_raw_socket.hpp // ~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/basic_readable_pipe.hpp b/contrib/restricted/boost/asio/include/boost/asio/basic_readable_pipe.hpp index 8cb880c6fa..28404a9479 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/basic_readable_pipe.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/basic_readable_pipe.hpp @@ -2,7 +2,7 @@ // basic_readable_pipe.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/basic_seq_packet_socket.hpp b/contrib/restricted/boost/asio/include/boost/asio/basic_seq_packet_socket.hpp index 5bfe40977b..8ed9b1fd36 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/basic_seq_packet_socket.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/basic_seq_packet_socket.hpp @@ -2,7 +2,7 @@ // basic_seq_packet_socket.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/basic_serial_port.hpp b/contrib/restricted/boost/asio/include/boost/asio/basic_serial_port.hpp index ce91b5dfac..503406c77d 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/basic_serial_port.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/basic_serial_port.hpp @@ -2,7 +2,7 @@ // basic_serial_port.hpp // ~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 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/contrib/restricted/boost/asio/include/boost/asio/basic_signal_set.hpp b/contrib/restricted/boost/asio/include/boost/asio/basic_signal_set.hpp index e37728f004..c080bdff1a 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/basic_signal_set.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/basic_signal_set.hpp @@ -2,7 +2,7 @@ // basic_signal_set.hpp // ~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -27,6 +27,7 @@ #include <boost/asio/detail/type_traits.hpp> #include <boost/asio/error.hpp> #include <boost/asio/execution_context.hpp> +#include <boost/asio/signal_set_base.hpp> #include <boost/asio/detail/push_options.hpp> @@ -94,7 +95,7 @@ namespace asio { * least one thread. */ template <typename Executor = any_io_executor> -class basic_signal_set +class basic_signal_set : public signal_set_base { private: class initiate_async_wait; @@ -371,6 +372,58 @@ public: BOOST_ASIO_SYNC_OP_VOID_RETURN(ec); } + /// Add a signal to a signal_set with the specified flags. + /** + * This function adds the specified signal to the set. It has no effect if the + * signal is already in the set. + * + * Flags other than flags::dont_care require OS support for the @c sigaction + * call, and this function will fail with @c error::operation_not_supported if + * this is unavailable. + * + * The specified flags will conflict with a prior, active registration of the + * same signal, if either specified a flags value other than flags::dont_care. + * In this case, the @c add will fail with @c error::invalid_argument. + * + * @param signal_number The signal to be added to the set. + * + * @param f Flags to modify the behaviour of the specified signal. + * + * @throws boost::system::system_error Thrown on failure. + */ + void add(int signal_number, flags_t f) + { + boost::system::error_code ec; + impl_.get_service().add(impl_.get_implementation(), signal_number, f, ec); + boost::asio::detail::throw_error(ec, "add"); + } + + /// Add a signal to a signal_set with the specified flags. + /** + * This function adds the specified signal to the set. It has no effect if the + * signal is already in the set. + * + * Flags other than flags::dont_care require OS support for the @c sigaction + * call, and this function will fail with @c error::operation_not_supported if + * this is unavailable. + * + * The specified flags will conflict with a prior, active registration of the + * same signal, if either specified a flags value other than flags::dont_care. + * In this case, the @c add will fail with @c error::invalid_argument. + * + * @param signal_number The signal to be added to the set. + * + * @param f Flags to modify the behaviour of the specified signal. + * + * @param ec Set to indicate what error occurred, if any. + */ + BOOST_ASIO_SYNC_OP_VOID add(int signal_number, flags_t f, + boost::system::error_code& ec) + { + impl_.get_service().add(impl_.get_implementation(), signal_number, f, ec); + BOOST_ASIO_SYNC_OP_VOID_RETURN(ec); + } + /// Remove a signal from a signal_set. /** * This function removes the specified signal from the set. It has no effect diff --git a/contrib/restricted/boost/asio/include/boost/asio/basic_socket.hpp b/contrib/restricted/boost/asio/include/boost/asio/basic_socket.hpp index 32f42f86f6..1bb6d28068 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/basic_socket.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/basic_socket.hpp @@ -2,7 +2,7 @@ // basic_socket.hpp // ~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/basic_socket_acceptor.hpp b/contrib/restricted/boost/asio/include/boost/asio/basic_socket_acceptor.hpp index 6a6dd53220..a9d1d25e7c 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/basic_socket_acceptor.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/basic_socket_acceptor.hpp @@ -2,7 +2,7 @@ // basic_socket_acceptor.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -1925,8 +1925,10 @@ public: template <typename Executor1, BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code, typename Protocol::socket::template rebind_executor< - Executor1>::other)) MoveAcceptToken - BOOST_ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(executor_type)> + typename constraint<is_executor<Executor1>::value + || execution::is_executor<Executor1>::value, + Executor1>::type>::other)) MoveAcceptToken + BOOST_ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(executor_type)> BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_PREFIX(MoveAcceptToken, void (boost::system::error_code, typename Protocol::socket::template rebind_executor< @@ -2487,8 +2489,10 @@ public: template <typename Executor1, BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code, typename Protocol::socket::template rebind_executor< - Executor1>::other)) MoveAcceptToken - BOOST_ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(executor_type)> + typename constraint<is_executor<Executor1>::value + || execution::is_executor<Executor1>::value, + Executor1>::type>::other)) MoveAcceptToken + BOOST_ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(executor_type)> BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_PREFIX(MoveAcceptToken, void (boost::system::error_code, typename Protocol::socket::template rebind_executor< diff --git a/contrib/restricted/boost/asio/include/boost/asio/basic_socket_iostream.hpp b/contrib/restricted/boost/asio/include/boost/asio/basic_socket_iostream.hpp index 3223ac77a1..a7eb6bec63 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/basic_socket_iostream.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/basic_socket_iostream.hpp @@ -2,7 +2,7 @@ // basic_socket_iostream.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/basic_socket_streambuf.hpp b/contrib/restricted/boost/asio/include/boost/asio/basic_socket_streambuf.hpp index 3173c01bca..8b6aee09b8 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/basic_socket_streambuf.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/basic_socket_streambuf.hpp @@ -2,7 +2,7 @@ // basic_socket_streambuf.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/basic_stream_file.hpp b/contrib/restricted/boost/asio/include/boost/asio/basic_stream_file.hpp index 3df40da67e..727f85cb9a 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/basic_stream_file.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/basic_stream_file.hpp @@ -2,7 +2,7 @@ // basic_stream_file.hpp // ~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/basic_stream_socket.hpp b/contrib/restricted/boost/asio/include/boost/asio/basic_stream_socket.hpp index badfee7994..a877c4c413 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/basic_stream_socket.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/basic_stream_socket.hpp @@ -2,7 +2,7 @@ // basic_stream_socket.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/basic_streambuf.hpp b/contrib/restricted/boost/asio/include/boost/asio/basic_streambuf.hpp index bfcc71e305..f28bb1ea2c 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/basic_streambuf.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/basic_streambuf.hpp @@ -2,7 +2,7 @@ // basic_streambuf.hpp // ~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/basic_streambuf_fwd.hpp b/contrib/restricted/boost/asio/include/boost/asio/basic_streambuf_fwd.hpp index 64260128fa..65b1cb7e62 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/basic_streambuf_fwd.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/basic_streambuf_fwd.hpp @@ -2,7 +2,7 @@ // basic_streambuf_fwd.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/basic_waitable_timer.hpp b/contrib/restricted/boost/asio/include/boost/asio/basic_waitable_timer.hpp index 302d13a0ee..23333de147 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/basic_waitable_timer.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/basic_waitable_timer.hpp @@ -2,7 +2,7 @@ // basic_waitable_timer.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/basic_writable_pipe.hpp b/contrib/restricted/boost/asio/include/boost/asio/basic_writable_pipe.hpp index 6d981a052d..3ae16b7664 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/basic_writable_pipe.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/basic_writable_pipe.hpp @@ -2,7 +2,7 @@ // basic_writable_pipe.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/bind_allocator.hpp b/contrib/restricted/boost/asio/include/boost/asio/bind_allocator.hpp index 892c050746..49bb2c7f43 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/bind_allocator.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/bind_allocator.hpp @@ -2,7 +2,7 @@ // bind_allocator.hpp // ~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -690,16 +690,17 @@ template <template <typename, typename> class Associator, struct associator<Associator, allocator_binder<T, Allocator>, DefaultCandidate> + : Associator<T, DefaultCandidate> { - typedef typename Associator<T, DefaultCandidate>::type type; - - static type get(const allocator_binder<T, Allocator>& b) BOOST_ASIO_NOEXCEPT + static typename Associator<T, DefaultCandidate>::type + get(const allocator_binder<T, Allocator>& b) BOOST_ASIO_NOEXCEPT { return Associator<T, DefaultCandidate>::get(b.get()); } - static BOOST_ASIO_AUTO_RETURN_TYPE_PREFIX(type) get( - const allocator_binder<T, Allocator>& b, + static BOOST_ASIO_AUTO_RETURN_TYPE_PREFIX2( + typename Associator<T, DefaultCandidate>::type) + get(const allocator_binder<T, Allocator>& b, const DefaultCandidate& c) BOOST_ASIO_NOEXCEPT BOOST_ASIO_AUTO_RETURN_TYPE_SUFFIX(( Associator<T, DefaultCandidate>::get(b.get(), c))) diff --git a/contrib/restricted/boost/asio/include/boost/asio/bind_cancellation_slot.hpp b/contrib/restricted/boost/asio/include/boost/asio/bind_cancellation_slot.hpp index 55ea7fb649..91e97cf1ad 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/bind_cancellation_slot.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/bind_cancellation_slot.hpp @@ -2,7 +2,7 @@ // bind_cancellation_slot.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -692,17 +692,18 @@ template <template <typename, typename> class Associator, struct associator<Associator, cancellation_slot_binder<T, CancellationSlot>, DefaultCandidate> + : Associator<T, DefaultCandidate> { - typedef typename Associator<T, DefaultCandidate>::type type; - - static type get(const cancellation_slot_binder<T, CancellationSlot>& b) + static typename Associator<T, DefaultCandidate>::type + get(const cancellation_slot_binder<T, CancellationSlot>& b) BOOST_ASIO_NOEXCEPT { return Associator<T, DefaultCandidate>::get(b.get()); } - static BOOST_ASIO_AUTO_RETURN_TYPE_PREFIX(type) get( - const cancellation_slot_binder<T, CancellationSlot>& b, + static BOOST_ASIO_AUTO_RETURN_TYPE_PREFIX2( + typename Associator<T, DefaultCandidate>::type) + get(const cancellation_slot_binder<T, CancellationSlot>& b, const DefaultCandidate& c) BOOST_ASIO_NOEXCEPT BOOST_ASIO_AUTO_RETURN_TYPE_SUFFIX(( Associator<T, DefaultCandidate>::get(b.get(), c))) diff --git a/contrib/restricted/boost/asio/include/boost/asio/bind_executor.hpp b/contrib/restricted/boost/asio/include/boost/asio/bind_executor.hpp index 8b7d5a213f..118faaf3d9 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/bind_executor.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/bind_executor.hpp @@ -2,7 +2,7 @@ // bind_executor.hpp // ~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -740,16 +740,17 @@ private: template <template <typename, typename> class Associator, typename T, typename Executor, typename DefaultCandidate> struct associator<Associator, executor_binder<T, Executor>, DefaultCandidate> + : Associator<T, DefaultCandidate> { - typedef typename Associator<T, DefaultCandidate>::type type; - - static type get(const executor_binder<T, Executor>& b) BOOST_ASIO_NOEXCEPT + static typename Associator<T, DefaultCandidate>::type + get(const executor_binder<T, Executor>& b) BOOST_ASIO_NOEXCEPT { return Associator<T, DefaultCandidate>::get(b.get()); } - static BOOST_ASIO_AUTO_RETURN_TYPE_PREFIX(type) get( - const executor_binder<T, Executor>& b, + static BOOST_ASIO_AUTO_RETURN_TYPE_PREFIX2( + typename Associator<T, DefaultCandidate>::type) + get(const executor_binder<T, Executor>& b, const DefaultCandidate& c) BOOST_ASIO_NOEXCEPT BOOST_ASIO_AUTO_RETURN_TYPE_SUFFIX(( Associator<T, DefaultCandidate>::get(b.get(), c))) diff --git a/contrib/restricted/boost/asio/include/boost/asio/bind_immediate_executor.hpp b/contrib/restricted/boost/asio/include/boost/asio/bind_immediate_executor.hpp new file mode 100644 index 0000000000..f9ff922ca5 --- /dev/null +++ b/contrib/restricted/boost/asio/include/boost/asio/bind_immediate_executor.hpp @@ -0,0 +1,738 @@ +// +// bind_immediate_executor.hpp +// ~~~~~~~~~~~~~~~~~~~~~~~~~~ +// +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// +// Distributed under the 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 BOOST_ASIO_BIND_IMMEDIATE_EXECUTOR_HPP +#define BOOST_ASIO_BIND_IMMEDIATE_EXECUTOR_HPP + +#if defined(_MSC_VER) && (_MSC_VER >= 1200) +# pragma once +#endif // defined(_MSC_VER) && (_MSC_VER >= 1200) + +#include <boost/asio/detail/config.hpp> +#include <boost/asio/detail/type_traits.hpp> +#include <boost/asio/detail/variadic_templates.hpp> +#include <boost/asio/associated_immediate_executor.hpp> +#include <boost/asio/associator.hpp> +#include <boost/asio/async_result.hpp> + +#include <boost/asio/detail/push_options.hpp> + +namespace boost { +namespace asio { +namespace detail { + +// Helper to automatically define nested typedef result_type. + +template <typename T, typename = void> +struct immediate_executor_binder_result_type +{ +protected: + typedef void result_type_or_void; +}; + +template <typename T> +struct immediate_executor_binder_result_type<T, + typename void_type<typename T::result_type>::type> +{ + typedef typename T::result_type result_type; +protected: + typedef result_type result_type_or_void; +}; + +template <typename R> +struct immediate_executor_binder_result_type<R(*)()> +{ + typedef R result_type; +protected: + typedef result_type result_type_or_void; +}; + +template <typename R> +struct immediate_executor_binder_result_type<R(&)()> +{ + typedef R result_type; +protected: + typedef result_type result_type_or_void; +}; + +template <typename R, typename A1> +struct immediate_executor_binder_result_type<R(*)(A1)> +{ + typedef R result_type; +protected: + typedef result_type result_type_or_void; +}; + +template <typename R, typename A1> +struct immediate_executor_binder_result_type<R(&)(A1)> +{ + typedef R result_type; +protected: + typedef result_type result_type_or_void; +}; + +template <typename R, typename A1, typename A2> +struct immediate_executor_binder_result_type<R(*)(A1, A2)> +{ + typedef R result_type; +protected: + typedef result_type result_type_or_void; +}; + +template <typename R, typename A1, typename A2> +struct immediate_executor_binder_result_type<R(&)(A1, A2)> +{ + typedef R result_type; +protected: + typedef result_type result_type_or_void; +}; + +// Helper to automatically define nested typedef argument_type. + +template <typename T, typename = void> +struct immediate_executor_binder_argument_type {}; + +template <typename T> +struct immediate_executor_binder_argument_type<T, + typename void_type<typename T::argument_type>::type> +{ + typedef typename T::argument_type argument_type; +}; + +template <typename R, typename A1> +struct immediate_executor_binder_argument_type<R(*)(A1)> +{ + typedef A1 argument_type; +}; + +template <typename R, typename A1> +struct immediate_executor_binder_argument_type<R(&)(A1)> +{ + typedef A1 argument_type; +}; + +// Helper to automatically define nested typedefs first_argument_type and +// second_argument_type. + +template <typename T, typename = void> +struct immediate_executor_binder_argument_types {}; + +template <typename T> +struct immediate_executor_binder_argument_types<T, + typename void_type<typename T::first_argument_type>::type> +{ + typedef typename T::first_argument_type first_argument_type; + typedef typename T::second_argument_type second_argument_type; +}; + +template <typename R, typename A1, typename A2> +struct immediate_executor_binder_argument_type<R(*)(A1, A2)> +{ + typedef A1 first_argument_type; + typedef A2 second_argument_type; +}; + +template <typename R, typename A1, typename A2> +struct immediate_executor_binder_argument_type<R(&)(A1, A2)> +{ + typedef A1 first_argument_type; + typedef A2 second_argument_type; +}; + +// Helper to enable SFINAE on zero-argument operator() below. + +template <typename T, typename = void> +struct immediate_executor_binder_result_of0 +{ + typedef void type; +}; + +template <typename T> +struct immediate_executor_binder_result_of0<T, + typename void_type<typename result_of<T()>::type>::type> +{ + typedef typename result_of<T()>::type type; +}; + +} // namespace detail + +/// A call wrapper type to bind a immediate executor of type @c Executor +/// to an object of type @c T. +template <typename T, typename Executor> +class immediate_executor_binder +#if !defined(GENERATING_DOCUMENTATION) + : public detail::immediate_executor_binder_result_type<T>, + public detail::immediate_executor_binder_argument_type<T>, + public detail::immediate_executor_binder_argument_types<T> +#endif // !defined(GENERATING_DOCUMENTATION) +{ +public: + /// The type of the target object. + typedef T target_type; + + /// The type of the associated immediate executor. + typedef Executor immediate_executor_type; + +#if defined(GENERATING_DOCUMENTATION) + /// The return type if a function. + /** + * The type of @c result_type is based on the type @c T of the wrapper's + * target object: + * + * @li if @c T is a pointer to function type, @c result_type is a synonym for + * the return type of @c T; + * + * @li if @c T is a class type with a member type @c result_type, then @c + * result_type is a synonym for @c T::result_type; + * + * @li otherwise @c result_type is not defined. + */ + typedef see_below result_type; + + /// The type of the function's argument. + /** + * The type of @c argument_type is based on the type @c T of the wrapper's + * target object: + * + * @li if @c T is a pointer to a function type accepting a single argument, + * @c argument_type is a synonym for the return type of @c T; + * + * @li if @c T is a class type with a member type @c argument_type, then @c + * argument_type is a synonym for @c T::argument_type; + * + * @li otherwise @c argument_type is not defined. + */ + typedef see_below argument_type; + + /// The type of the function's first argument. + /** + * The type of @c first_argument_type is based on the type @c T of the + * wrapper's target object: + * + * @li if @c T is a pointer to a function type accepting two arguments, @c + * first_argument_type is a synonym for the return type of @c T; + * + * @li if @c T is a class type with a member type @c first_argument_type, + * then @c first_argument_type is a synonym for @c T::first_argument_type; + * + * @li otherwise @c first_argument_type is not defined. + */ + typedef see_below first_argument_type; + + /// The type of the function's second argument. + /** + * The type of @c second_argument_type is based on the type @c T of the + * wrapper's target object: + * + * @li if @c T is a pointer to a function type accepting two arguments, @c + * second_argument_type is a synonym for the return type of @c T; + * + * @li if @c T is a class type with a member type @c first_argument_type, + * then @c second_argument_type is a synonym for @c T::second_argument_type; + * + * @li otherwise @c second_argument_type is not defined. + */ + typedef see_below second_argument_type; +#endif // defined(GENERATING_DOCUMENTATION) + + /// Construct a immediate executor wrapper for the specified object. + /** + * This constructor is only valid if the type @c T is constructible from type + * @c U. + */ + template <typename U> + immediate_executor_binder(const immediate_executor_type& e, + BOOST_ASIO_MOVE_ARG(U) u) + : executor_(e), + target_(BOOST_ASIO_MOVE_CAST(U)(u)) + { + } + + /// Copy constructor. + immediate_executor_binder(const immediate_executor_binder& other) + : executor_(other.get_immediate_executor()), + target_(other.get()) + { + } + + /// Construct a copy, but specify a different immediate executor. + immediate_executor_binder(const immediate_executor_type& e, + const immediate_executor_binder& other) + : executor_(e), + target_(other.get()) + { + } + + /// Construct a copy of a different immediate executor wrapper type. + /** + * This constructor is only valid if the @c Executor type is + * constructible from type @c OtherExecutor, and the type @c T is + * constructible from type @c U. + */ + template <typename U, typename OtherExecutor> + immediate_executor_binder( + const immediate_executor_binder<U, OtherExecutor>& other) + : executor_(other.get_immediate_executor()), + target_(other.get()) + { + } + + /// Construct a copy of a different immediate executor wrapper type, but + /// specify a different immediate executor. + /** + * This constructor is only valid if the type @c T is constructible from type + * @c U. + */ + template <typename U, typename OtherExecutor> + immediate_executor_binder(const immediate_executor_type& e, + const immediate_executor_binder<U, OtherExecutor>& other) + : executor_(e), + target_(other.get()) + { + } + +#if defined(BOOST_ASIO_HAS_MOVE) || defined(GENERATING_DOCUMENTATION) + + /// Move constructor. + immediate_executor_binder(immediate_executor_binder&& other) + : executor_(BOOST_ASIO_MOVE_CAST(immediate_executor_type)( + other.get_immediate_executor())), + target_(BOOST_ASIO_MOVE_CAST(T)(other.get())) + { + } + + /// Move construct the target object, but specify a different immediate + /// executor. + immediate_executor_binder(const immediate_executor_type& e, + immediate_executor_binder&& other) + : executor_(e), + target_(BOOST_ASIO_MOVE_CAST(T)(other.get())) + { + } + + /// Move construct from a different immediate executor wrapper type. + template <typename U, typename OtherExecutor> + immediate_executor_binder( + immediate_executor_binder<U, OtherExecutor>&& other) + : executor_(BOOST_ASIO_MOVE_CAST(OtherExecutor)( + other.get_immediate_executor())), + target_(BOOST_ASIO_MOVE_CAST(U)(other.get())) + { + } + + /// Move construct from a different immediate executor wrapper type, but + /// specify a different immediate executor. + template <typename U, typename OtherExecutor> + immediate_executor_binder(const immediate_executor_type& e, + immediate_executor_binder<U, OtherExecutor>&& other) + : executor_(e), + target_(BOOST_ASIO_MOVE_CAST(U)(other.get())) + { + } + +#endif // defined(BOOST_ASIO_HAS_MOVE) || defined(GENERATING_DOCUMENTATION) + + /// Destructor. + ~immediate_executor_binder() + { + } + + /// Obtain a reference to the target object. + target_type& get() BOOST_ASIO_NOEXCEPT + { + return target_; + } + + /// Obtain a reference to the target object. + const target_type& get() const BOOST_ASIO_NOEXCEPT + { + return target_; + } + + /// Obtain the associated immediate executor. + immediate_executor_type get_immediate_executor() const BOOST_ASIO_NOEXCEPT + { + return executor_; + } + +#if defined(GENERATING_DOCUMENTATION) + + template <typename... Args> auto operator()(Args&& ...); + template <typename... Args> auto operator()(Args&& ...) const; + +#elif defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES) + + /// Forwarding function call operator. + template <typename... Args> + typename result_of<T(Args...)>::type operator()( + BOOST_ASIO_MOVE_ARG(Args)... args) + { + return target_(BOOST_ASIO_MOVE_CAST(Args)(args)...); + } + + /// Forwarding function call operator. + template <typename... Args> + typename result_of<T(Args...)>::type operator()( + BOOST_ASIO_MOVE_ARG(Args)... args) const + { + return target_(BOOST_ASIO_MOVE_CAST(Args)(args)...); + } + +#elif defined(BOOST_ASIO_HAS_STD_TYPE_TRAITS) && !defined(_MSC_VER) + + typename detail::immediate_executor_binder_result_of0<T>::type operator()() + { + return target_(); + } + + typename detail::immediate_executor_binder_result_of0<T>::type + operator()() const + { + return target_(); + } + +#define BOOST_ASIO_PRIVATE_BINDER_CALL_DEF(n) \ + template <BOOST_ASIO_VARIADIC_TPARAMS(n)> \ + typename result_of<T(BOOST_ASIO_VARIADIC_TARGS(n))>::type operator()( \ + BOOST_ASIO_VARIADIC_MOVE_PARAMS(n)) \ + { \ + return target_(BOOST_ASIO_VARIADIC_MOVE_ARGS(n)); \ + } \ + \ + template <BOOST_ASIO_VARIADIC_TPARAMS(n)> \ + typename result_of<T(BOOST_ASIO_VARIADIC_TARGS(n))>::type operator()( \ + BOOST_ASIO_VARIADIC_MOVE_PARAMS(n)) const \ + { \ + return target_(BOOST_ASIO_VARIADIC_MOVE_ARGS(n)); \ + } \ + /**/ + BOOST_ASIO_VARIADIC_GENERATE(BOOST_ASIO_PRIVATE_BINDER_CALL_DEF) +#undef BOOST_ASIO_PRIVATE_BINDER_CALL_DEF + +#else // defined(BOOST_ASIO_HAS_STD_TYPE_TRAITS) && !defined(_MSC_VER) + + typedef typename detail::immediate_executor_binder_result_type< + T>::result_type_or_void result_type_or_void; + + result_type_or_void operator()() + { + return target_(); + } + + result_type_or_void operator()() const + { + return target_(); + } + +#define BOOST_ASIO_PRIVATE_BINDER_CALL_DEF(n) \ + template <BOOST_ASIO_VARIADIC_TPARAMS(n)> \ + result_type_or_void operator()( \ + BOOST_ASIO_VARIADIC_MOVE_PARAMS(n)) \ + { \ + return target_(BOOST_ASIO_VARIADIC_MOVE_ARGS(n)); \ + } \ + \ + template <BOOST_ASIO_VARIADIC_TPARAMS(n)> \ + result_type_or_void operator()( \ + BOOST_ASIO_VARIADIC_MOVE_PARAMS(n)) const \ + { \ + return target_(BOOST_ASIO_VARIADIC_MOVE_ARGS(n)); \ + } \ + /**/ + BOOST_ASIO_VARIADIC_GENERATE(BOOST_ASIO_PRIVATE_BINDER_CALL_DEF) +#undef BOOST_ASIO_PRIVATE_BINDER_CALL_DEF + +#endif // defined(BOOST_ASIO_HAS_STD_TYPE_TRAITS) && !defined(_MSC_VER) + +private: + Executor executor_; + T target_; +}; + +/// Associate an object of type @c T with a immediate executor of type +/// @c Executor. +template <typename Executor, typename T> +BOOST_ASIO_NODISCARD inline +immediate_executor_binder<typename decay<T>::type, Executor> +bind_immediate_executor(const Executor& e, BOOST_ASIO_MOVE_ARG(T) t) +{ + return immediate_executor_binder< + typename decay<T>::type, Executor>( + e, BOOST_ASIO_MOVE_CAST(T)(t)); +} + +#if !defined(GENERATING_DOCUMENTATION) + +namespace detail { + +template <typename TargetAsyncResult, + typename Executor, typename = void> +struct immediate_executor_binder_async_result_completion_handler_type +{ +}; + +template <typename TargetAsyncResult, typename Executor> +struct immediate_executor_binder_async_result_completion_handler_type< + TargetAsyncResult, Executor, + typename void_type< + typename TargetAsyncResult::completion_handler_type + >::type> +{ + typedef immediate_executor_binder< + typename TargetAsyncResult::completion_handler_type, Executor> + completion_handler_type; +}; + +template <typename TargetAsyncResult, typename = void> +struct immediate_executor_binder_async_result_return_type +{ +}; + +template <typename TargetAsyncResult> +struct immediate_executor_binder_async_result_return_type< + TargetAsyncResult, + typename void_type< + typename TargetAsyncResult::return_type + >::type> +{ + typedef typename TargetAsyncResult::return_type return_type; +}; + +} // namespace detail + +template <typename T, typename Executor, typename Signature> +class async_result<immediate_executor_binder<T, Executor>, Signature> : + public detail::immediate_executor_binder_async_result_completion_handler_type< + async_result<T, Signature>, Executor>, + public detail::immediate_executor_binder_async_result_return_type< + async_result<T, Signature> > +{ +public: + explicit async_result(immediate_executor_binder<T, Executor>& b) + : target_(b.get()) + { + } + + typename async_result<T, Signature>::return_type get() + { + return target_.get(); + } + + template <typename Initiation> + struct init_wrapper + { + template <typename Init> + init_wrapper(const Executor& e, BOOST_ASIO_MOVE_ARG(Init) init) + : executor_(e), + initiation_(BOOST_ASIO_MOVE_CAST(Init)(init)) + { + } + +#if defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES) + + template <typename Handler, typename... Args> + void operator()( + BOOST_ASIO_MOVE_ARG(Handler) handler, + BOOST_ASIO_MOVE_ARG(Args)... args) + { + BOOST_ASIO_MOVE_CAST(Initiation)(initiation_)( + immediate_executor_binder< + typename decay<Handler>::type, Executor>( + executor_, BOOST_ASIO_MOVE_CAST(Handler)(handler)), + BOOST_ASIO_MOVE_CAST(Args)(args)...); + } + + template <typename Handler, typename... Args> + void operator()( + BOOST_ASIO_MOVE_ARG(Handler) handler, + BOOST_ASIO_MOVE_ARG(Args)... args) const + { + initiation_( + immediate_executor_binder< + typename decay<Handler>::type, Executor>( + executor_, BOOST_ASIO_MOVE_CAST(Handler)(handler)), + BOOST_ASIO_MOVE_CAST(Args)(args)...); + } + +#else // defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES) + + template <typename Handler> + void operator()( + BOOST_ASIO_MOVE_ARG(Handler) handler) + { + BOOST_ASIO_MOVE_CAST(Initiation)(initiation_)( + immediate_executor_binder< + typename decay<Handler>::type, Executor>( + executor_, BOOST_ASIO_MOVE_CAST(Handler)(handler))); + } + + template <typename Handler> + void operator()( + BOOST_ASIO_MOVE_ARG(Handler) handler) const + { + initiation_( + immediate_executor_binder< + typename decay<Handler>::type, Executor>( + executor_, BOOST_ASIO_MOVE_CAST(Handler)(handler))); + } + +#define BOOST_ASIO_PRIVATE_INIT_WRAPPER_DEF(n) \ + template <typename Handler, BOOST_ASIO_VARIADIC_TPARAMS(n)> \ + void operator()( \ + BOOST_ASIO_MOVE_ARG(Handler) handler, \ + BOOST_ASIO_VARIADIC_MOVE_PARAMS(n)) \ + { \ + BOOST_ASIO_MOVE_CAST(Initiation)(initiation_)( \ + immediate_executor_binder< \ + typename decay<Handler>::type, Executor>( \ + executor_, BOOST_ASIO_MOVE_CAST(Handler)(handler)), \ + BOOST_ASIO_VARIADIC_MOVE_ARGS(n)); \ + } \ + \ + template <typename Handler, BOOST_ASIO_VARIADIC_TPARAMS(n)> \ + void operator()( \ + BOOST_ASIO_MOVE_ARG(Handler) handler, \ + BOOST_ASIO_VARIADIC_MOVE_PARAMS(n)) const \ + { \ + initiation_( \ + immediate_executor_binder< \ + typename decay<Handler>::type, Executor>( \ + executor_, BOOST_ASIO_MOVE_CAST(Handler)(handler)), \ + BOOST_ASIO_VARIADIC_MOVE_ARGS(n)); \ + } \ + /**/ + BOOST_ASIO_VARIADIC_GENERATE(BOOST_ASIO_PRIVATE_INIT_WRAPPER_DEF) +#undef BOOST_ASIO_PRIVATE_INIT_WRAPPER_DEF + +#endif // defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES) + + Executor executor_; + Initiation initiation_; + }; + +#if defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES) + + template <typename Initiation, typename RawCompletionToken, typename... Args> + static BOOST_ASIO_INITFN_DEDUCED_RESULT_TYPE(T, Signature, + (async_initiate<T, Signature>( + declval<init_wrapper<typename decay<Initiation>::type> >(), + declval<RawCompletionToken>().get(), + declval<BOOST_ASIO_MOVE_ARG(Args)>()...))) + initiate( + BOOST_ASIO_MOVE_ARG(Initiation) initiation, + BOOST_ASIO_MOVE_ARG(RawCompletionToken) token, + BOOST_ASIO_MOVE_ARG(Args)... args) + { + return async_initiate<T, Signature>( + init_wrapper<typename decay<Initiation>::type>( + token.get_immediate_executor(), + BOOST_ASIO_MOVE_CAST(Initiation)(initiation)), + token.get(), BOOST_ASIO_MOVE_CAST(Args)(args)...); + } + +#else // defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES) + + template <typename Initiation, typename RawCompletionToken> + static BOOST_ASIO_INITFN_DEDUCED_RESULT_TYPE(T, Signature, + (async_initiate<T, Signature>( + declval<init_wrapper<typename decay<Initiation>::type> >(), + declval<RawCompletionToken>().get()))) + initiate( + BOOST_ASIO_MOVE_ARG(Initiation) initiation, + BOOST_ASIO_MOVE_ARG(RawCompletionToken) token) + { + return async_initiate<T, Signature>( + init_wrapper<typename decay<Initiation>::type>( + token.get_immediate_executor(), + BOOST_ASIO_MOVE_CAST(Initiation)(initiation)), + token.get()); + } + +#define BOOST_ASIO_PRIVATE_INITIATE_DEF(n) \ + template <typename Initiation, typename RawCompletionToken, \ + BOOST_ASIO_VARIADIC_TPARAMS(n)> \ + static BOOST_ASIO_INITFN_DEDUCED_RESULT_TYPE(T, Signature, \ + (async_initiate<T, Signature>( \ + declval<init_wrapper<typename decay<Initiation>::type> >(), \ + declval<RawCompletionToken>().get(), \ + BOOST_ASIO_VARIADIC_MOVE_DECLVAL(n)))) \ + initiate( \ + BOOST_ASIO_MOVE_ARG(Initiation) initiation, \ + BOOST_ASIO_MOVE_ARG(RawCompletionToken) token, \ + BOOST_ASIO_VARIADIC_MOVE_PARAMS(n)) \ + { \ + return async_initiate<T, Signature>( \ + init_wrapper<typename decay<Initiation>::type>( \ + token.get_immediate_executor(), \ + BOOST_ASIO_MOVE_CAST(Initiation)(initiation)), \ + token.get(), BOOST_ASIO_VARIADIC_MOVE_ARGS(n)); \ + } \ + /**/ + BOOST_ASIO_VARIADIC_GENERATE(BOOST_ASIO_PRIVATE_INITIATE_DEF) +#undef BOOST_ASIO_PRIVATE_INITIATE_DEF + +#endif // defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES) + +private: + async_result(const async_result&) BOOST_ASIO_DELETED; + async_result& operator=(const async_result&) BOOST_ASIO_DELETED; + + async_result<T, Signature> target_; +}; + +template <template <typename, typename> class Associator, + typename T, typename Executor, typename DefaultCandidate> +struct associator<Associator, + immediate_executor_binder<T, Executor>, + DefaultCandidate> + : Associator<T, DefaultCandidate> +{ + static typename Associator<T, DefaultCandidate>::type + get(const immediate_executor_binder<T, Executor>& b) + BOOST_ASIO_NOEXCEPT + { + return Associator<T, DefaultCandidate>::get(b.get()); + } + + static BOOST_ASIO_AUTO_RETURN_TYPE_PREFIX2( + typename Associator<T, DefaultCandidate>::type) + get(const immediate_executor_binder<T, Executor>& b, + const DefaultCandidate& c) BOOST_ASIO_NOEXCEPT + BOOST_ASIO_AUTO_RETURN_TYPE_SUFFIX(( + Associator<T, DefaultCandidate>::get(b.get(), c))) + { + return Associator<T, DefaultCandidate>::get(b.get(), c); + } +}; + +template <typename T, typename Executor, typename Executor1> +struct associated_immediate_executor< + immediate_executor_binder<T, Executor>, + Executor1> +{ + typedef Executor type; + + static BOOST_ASIO_AUTO_RETURN_TYPE_PREFIX(type) get( + const immediate_executor_binder<T, Executor>& b, + const Executor1& = Executor1()) BOOST_ASIO_NOEXCEPT + BOOST_ASIO_AUTO_RETURN_TYPE_SUFFIX((b.get_immediate_executor())) + { + return b.get_immediate_executor(); + } +}; + +#endif // !defined(GENERATING_DOCUMENTATION) + +} // namespace asio +} // namespace boost + +#include <boost/asio/detail/pop_options.hpp> + +#endif // BOOST_ASIO_BIND_IMMEDIATE_EXECUTOR_HPP diff --git a/contrib/restricted/boost/asio/include/boost/asio/buffer.hpp b/contrib/restricted/boost/asio/include/boost/asio/buffer.hpp index 73a589bb43..cd61cf3042 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/buffer.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/buffer.hpp @@ -2,7 +2,7 @@ // buffer.hpp // ~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -893,6 +893,25 @@ private: * bufs2.push_back(boost::asio::buffer(d2)); * bufs2.push_back(boost::asio::buffer(d3)); * bytes_transferred = sock.send(bufs2); @endcode + * + * @par Buffer Literals + * + * The `_buf` literal suffix, defined in namespace + * <tt>boost::asio::buffer_literals</tt>, may be used to create @c const_buffer + * objects from string, binary integer, and hexadecimal integer literals. + * For example: + * + * @code + * using namespace boost::asio::buffer_literals; + * + * boost::asio::const_buffer b1 = "hello"_buf; + * boost::asio::const_buffer b2 = 0xdeadbeef_buf; + * boost::asio::const_buffer b3 = 0x0123456789abcdef0123456789abcdef_buf; + * boost::asio::const_buffer b4 = 0b1010101011001100_buf; @endcode + * + * Note that the memory associated with a buffer literal is valid for the + * lifetime of the program. This means that the buffer can be safely used with + * asynchronous operations. */ /*@{*/ @@ -1569,6 +1588,14 @@ BOOST_ASIO_NODISCARD inline BOOST_ASIO_MUTABLE_BUFFER buffer( defaulted_constraint >::type = defaulted_constraint(), typename constraint< + !is_convertible<T, const_buffer>::value, + defaulted_constraint + >::type = defaulted_constraint(), + typename constraint< + !is_convertible<T, mutable_buffer>::value, + defaulted_constraint + >::type = defaulted_constraint(), + typename constraint< !is_const< typename remove_reference< typename std::iterator_traits<typename T::iterator>::reference @@ -1599,6 +1626,14 @@ BOOST_ASIO_NODISCARD inline BOOST_ASIO_MUTABLE_BUFFER buffer( defaulted_constraint >::type = defaulted_constraint(), typename constraint< + !is_convertible<T, const_buffer>::value, + defaulted_constraint + >::type = defaulted_constraint(), + typename constraint< + !is_convertible<T, mutable_buffer>::value, + defaulted_constraint + >::type = defaulted_constraint(), + typename constraint< !is_const< typename remove_reference< typename std::iterator_traits<typename T::iterator>::reference @@ -1628,6 +1663,14 @@ BOOST_ASIO_NODISCARD inline BOOST_ASIO_CONST_BUFFER buffer( defaulted_constraint >::type = defaulted_constraint(), typename constraint< + !is_convertible<T, const_buffer>::value, + defaulted_constraint + >::type = defaulted_constraint(), + typename constraint< + !is_convertible<T, mutable_buffer>::value, + defaulted_constraint + >::type = defaulted_constraint(), + typename constraint< is_const< typename remove_reference< typename std::iterator_traits<typename T::iterator>::reference @@ -1658,6 +1701,14 @@ BOOST_ASIO_NODISCARD inline BOOST_ASIO_CONST_BUFFER buffer( defaulted_constraint >::type = defaulted_constraint(), typename constraint< + !is_convertible<T, const_buffer>::value, + defaulted_constraint + >::type = defaulted_constraint(), + typename constraint< + !is_convertible<T, mutable_buffer>::value, + defaulted_constraint + >::type = defaulted_constraint(), + typename constraint< is_const< typename remove_reference< typename std::iterator_traits<typename T::iterator>::reference @@ -1685,6 +1736,14 @@ BOOST_ASIO_NODISCARD inline BOOST_ASIO_CONST_BUFFER buffer( typename constraint< is_contiguous_iterator<typename T::const_iterator>::value, defaulted_constraint + >::type = defaulted_constraint(), + typename constraint< + !is_convertible<T, const_buffer>::value, + defaulted_constraint + >::type = defaulted_constraint(), + typename constraint< + !is_convertible<T, mutable_buffer>::value, + defaulted_constraint >::type = defaulted_constraint()) BOOST_ASIO_NOEXCEPT { return BOOST_ASIO_CONST_BUFFER( @@ -1707,6 +1766,14 @@ BOOST_ASIO_NODISCARD inline BOOST_ASIO_CONST_BUFFER buffer( typename constraint< is_contiguous_iterator<typename T::const_iterator>::value, defaulted_constraint + >::type = defaulted_constraint(), + typename constraint< + !is_convertible<T, const_buffer>::value, + defaulted_constraint + >::type = defaulted_constraint(), + typename constraint< + !is_convertible<T, mutable_buffer>::value, + defaulted_constraint >::type = defaulted_constraint()) BOOST_ASIO_NOEXCEPT { return BOOST_ASIO_CONST_BUFFER( @@ -2672,6 +2739,172 @@ struct is_dynamic_buffer { }; +#if (defined(BOOST_ASIO_HAS_USER_DEFINED_LITERALS) \ + && defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)) \ + || defined(GENERATING_DOCUMENTATION) + +namespace buffer_literals { +namespace detail { + +template <char... Chars> +struct chars {}; + +template <unsigned char... Bytes> +struct bytes {}; + +// Literal processor that converts binary literals to an array of bytes. + +template <typename Bytes, char... Chars> +struct bin_literal; + +template <unsigned char... Bytes> +struct bin_literal<bytes<Bytes...> > +{ + static const std::size_t size = sizeof...(Bytes); + static const unsigned char data[sizeof...(Bytes)]; +}; + +template <unsigned char... Bytes> +const unsigned char bin_literal<bytes<Bytes...> >::data[sizeof...(Bytes)] + = { Bytes... }; + +template <unsigned char... Bytes, char Bit7, char Bit6, char Bit5, + char Bit4, char Bit3, char Bit2, char Bit1, char Bit0, char... Chars> +struct bin_literal<bytes<Bytes...>, Bit7, Bit6, + Bit5, Bit4, Bit3, Bit2, Bit1, Bit0, Chars...> : + bin_literal< + bytes<Bytes..., + static_cast<unsigned char>( + (Bit7 == '1' ? 0x80 : 0) | + (Bit6 == '1' ? 0x40 : 0) | + (Bit5 == '1' ? 0x20 : 0) | + (Bit4 == '1' ? 0x10 : 0) | + (Bit3 == '1' ? 0x08 : 0) | + (Bit2 == '1' ? 0x04 : 0) | + (Bit1 == '1' ? 0x02 : 0) | + (Bit0 == '1' ? 0x01 : 0)) + >, Chars...> {}; + +template <unsigned char... Bytes, char... Chars> +struct bin_literal<bytes<Bytes...>, Chars...> +{ + static_assert(sizeof...(Chars) == 0, + "number of digits in a binary buffer literal must be a multiple of 8"); + + static const std::size_t size = 0; + static const unsigned char data[1]; +}; + +template <unsigned char... Bytes, char... Chars> +const unsigned char bin_literal<bytes<Bytes...>, Chars...>::data[1] = {}; + +// Literal processor that converts hexadecimal literals to an array of bytes. + +template <typename Bytes, char... Chars> +struct hex_literal; + +template <unsigned char... Bytes> +struct hex_literal<bytes<Bytes...> > +{ + static const std::size_t size = sizeof...(Bytes); + static const unsigned char data[sizeof...(Bytes)]; +}; + +template <unsigned char... Bytes> +const unsigned char hex_literal<bytes<Bytes...> >::data[sizeof...(Bytes)] + = { Bytes... }; + +template <unsigned char... Bytes, char Hi, char Lo, char... Chars> +struct hex_literal<bytes<Bytes...>, Hi, Lo, Chars...> : + hex_literal< + bytes<Bytes..., + static_cast<unsigned char>( + Lo >= 'A' && Lo <= 'F' ? Lo - 'A' + 10 : + (Lo >= 'a' && Lo <= 'f' ? Lo - 'a' + 10 : Lo - '0')) | + ((static_cast<unsigned char>( + Hi >= 'A' && Hi <= 'F' ? Hi - 'A' + 10 : + (Hi >= 'a' && Hi <= 'f' ? Hi - 'a' + 10 : Hi - '0'))) << 4) + >, Chars...> {}; + +template <unsigned char... Bytes, char Char> +struct hex_literal<bytes<Bytes...>, Char> +{ + static_assert(!Char, + "a hexadecimal buffer literal must have an even number of digits"); + + static const std::size_t size = 0; + static const unsigned char data[1]; +}; + +template <unsigned char... Bytes, char Char> +const unsigned char hex_literal<bytes<Bytes...>, Char>::data[1] = {}; + +// Helper template that removes digit separators and then passes the cleaned +// variadic pack of characters to the literal processor. + +template <template <typename, char...> class Literal, + typename Clean, char... Raw> +struct remove_separators; + +template <template <typename, char...> class Literal, + char... Clean, char... Raw> +struct remove_separators<Literal, chars<Clean...>, '\'', Raw...> : + remove_separators<Literal, chars<Clean...>, Raw...> {}; + +template <template <typename, char...> class Literal, + char... Clean, char C, char... Raw> +struct remove_separators<Literal, chars<Clean...>, C, Raw...> : + remove_separators<Literal, chars<Clean..., C>, Raw...> {}; + +template <template <typename, char...> class Literal, char... Clean> +struct remove_separators<Literal, chars<Clean...> > : + Literal<bytes<>, Clean...> {}; + +// Helper template to determine the literal type based on the prefix. + +template <char... Chars> +struct literal; + +template <char... Chars> +struct literal<'0', 'b', Chars...> : + remove_separators<bin_literal, chars<>, Chars...>{}; + +template <char... Chars> +struct literal<'0', 'B', Chars...> : + remove_separators<bin_literal, chars<>, Chars...>{}; + +template <char... Chars> +struct literal<'0', 'x', Chars...> : + remove_separators<hex_literal, chars<>, Chars...>{}; + +template <char... Chars> +struct literal<'0', 'X', Chars...> : + remove_separators<hex_literal, chars<>, Chars...>{}; + +} // namespace detail + +/// Literal operator for creating const_buffer objects from string literals. +inline BOOST_ASIO_CONST_BUFFER operator"" _buf(const char* data, std::size_t n) +{ + return BOOST_ASIO_CONST_BUFFER(data, n); +} + +/// Literal operator for creating const_buffer objects from unbounded binary or +/// hexadecimal integer literals. +template <char... Chars> +inline BOOST_ASIO_CONST_BUFFER operator"" _buf() +{ + return BOOST_ASIO_CONST_BUFFER( + +detail::literal<Chars...>::data, + detail::literal<Chars...>::size); +} + +} // namespace buffer_literals + +#endif // (defined(BOOST_ASIO_HAS_USER_DEFINED_LITERALS) + // && defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)) + // || defined(GENERATING_DOCUMENTATION) + } // namespace asio } // namespace boost diff --git a/contrib/restricted/boost/asio/include/boost/asio/buffer_registration.hpp b/contrib/restricted/boost/asio/include/boost/asio/buffer_registration.hpp index b05eb27665..8c5a0e0294 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/buffer_registration.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/buffer_registration.hpp @@ -2,7 +2,7 @@ // buffer_registration.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/buffered_read_stream.hpp b/contrib/restricted/boost/asio/include/boost/asio/buffered_read_stream.hpp index ad341c9eb0..93769ef68a 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/buffered_read_stream.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/buffered_read_stream.hpp @@ -2,7 +2,7 @@ // buffered_read_stream.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -73,16 +73,17 @@ public: /// Construct, passing the specified argument to initialise the next layer. template <typename Arg> - explicit buffered_read_stream(Arg& a) - : next_layer_(a), + explicit buffered_read_stream(BOOST_ASIO_MOVE_OR_LVALUE_ARG(Arg) a) + : next_layer_(BOOST_ASIO_MOVE_OR_LVALUE(Arg)(a)), storage_(default_buffer_size) { } /// Construct, passing the specified argument to initialise the next layer. template <typename Arg> - buffered_read_stream(Arg& a, std::size_t buffer_size) - : next_layer_(a), + buffered_read_stream(BOOST_ASIO_MOVE_OR_LVALUE_ARG(Arg) a, + std::size_t buffer_size) + : next_layer_(BOOST_ASIO_MOVE_OR_LVALUE(Arg)(a)), storage_(buffer_size) { } diff --git a/contrib/restricted/boost/asio/include/boost/asio/buffered_read_stream_fwd.hpp b/contrib/restricted/boost/asio/include/boost/asio/buffered_read_stream_fwd.hpp index c8b08a62bb..f5ed2c847a 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/buffered_read_stream_fwd.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/buffered_read_stream_fwd.hpp @@ -2,7 +2,7 @@ // buffered_read_stream_fwd.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/buffered_stream.hpp b/contrib/restricted/boost/asio/include/boost/asio/buffered_stream.hpp index 1365a5a90d..1fc7ff4bf4 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/buffered_stream.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/buffered_stream.hpp @@ -2,7 +2,7 @@ // buffered_stream.hpp // ~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the 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,17 +57,17 @@ public: /// Construct, passing the specified argument to initialise the next layer. template <typename Arg> - explicit buffered_stream(Arg& a) - : inner_stream_impl_(a), + explicit buffered_stream(BOOST_ASIO_MOVE_OR_LVALUE_ARG(Arg) a) + : inner_stream_impl_(BOOST_ASIO_MOVE_OR_LVALUE(Arg)(a)), stream_impl_(inner_stream_impl_) { } /// Construct, passing the specified argument to initialise the next layer. template <typename Arg> - explicit buffered_stream(Arg& a, std::size_t read_buffer_size, - std::size_t write_buffer_size) - : inner_stream_impl_(a, write_buffer_size), + explicit buffered_stream(BOOST_ASIO_MOVE_OR_LVALUE_ARG(Arg) a, + std::size_t read_buffer_size, std::size_t write_buffer_size) + : inner_stream_impl_(BOOST_ASIO_MOVE_OR_LVALUE(Arg)(a), write_buffer_size), stream_impl_(inner_stream_impl_, read_buffer_size) { } diff --git a/contrib/restricted/boost/asio/include/boost/asio/buffered_stream_fwd.hpp b/contrib/restricted/boost/asio/include/boost/asio/buffered_stream_fwd.hpp index ac9e3283db..7a6911d0b2 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/buffered_stream_fwd.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/buffered_stream_fwd.hpp @@ -2,7 +2,7 @@ // buffered_stream_fwd.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/buffered_write_stream.hpp b/contrib/restricted/boost/asio/include/boost/asio/buffered_write_stream.hpp index 1df846c8a4..b5eb85ce5e 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/buffered_write_stream.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/buffered_write_stream.hpp @@ -2,7 +2,7 @@ // buffered_write_stream.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -73,16 +73,17 @@ public: /// Construct, passing the specified argument to initialise the next layer. template <typename Arg> - explicit buffered_write_stream(Arg& a) - : next_layer_(a), + explicit buffered_write_stream(BOOST_ASIO_MOVE_OR_LVALUE_ARG(Arg) a) + : next_layer_(BOOST_ASIO_MOVE_OR_LVALUE(Arg)(a)), storage_(default_buffer_size) { } /// Construct, passing the specified argument to initialise the next layer. template <typename Arg> - buffered_write_stream(Arg& a, std::size_t buffer_size) - : next_layer_(a), + buffered_write_stream(BOOST_ASIO_MOVE_OR_LVALUE_ARG(Arg) a, + std::size_t buffer_size) + : next_layer_(BOOST_ASIO_MOVE_OR_LVALUE(Arg)(a)), storage_(buffer_size) { } diff --git a/contrib/restricted/boost/asio/include/boost/asio/buffered_write_stream_fwd.hpp b/contrib/restricted/boost/asio/include/boost/asio/buffered_write_stream_fwd.hpp index 4d2f4b9b59..33ec1570ec 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/buffered_write_stream_fwd.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/buffered_write_stream_fwd.hpp @@ -2,7 +2,7 @@ // buffered_write_stream_fwd.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/buffers_iterator.hpp b/contrib/restricted/boost/asio/include/boost/asio/buffers_iterator.hpp index 1bff44e649..3f015a57d3 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/buffers_iterator.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/buffers_iterator.hpp @@ -2,7 +2,7 @@ // buffers_iterator.hpp // ~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/cancellation_signal.hpp b/contrib/restricted/boost/asio/include/boost/asio/cancellation_signal.hpp index 6a8d644be3..e7b32370d4 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/cancellation_signal.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/cancellation_signal.hpp @@ -2,7 +2,7 @@ // cancellation_signal.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/cancellation_state.hpp b/contrib/restricted/boost/asio/include/boost/asio/cancellation_state.hpp index 156b420a03..0ec1e4fa07 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/cancellation_state.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/cancellation_state.hpp @@ -2,7 +2,7 @@ // cancellation_state.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/cancellation_type.hpp b/contrib/restricted/boost/asio/include/boost/asio/cancellation_type.hpp index ef68883f03..9ab89311c3 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/cancellation_type.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/cancellation_type.hpp @@ -2,7 +2,7 @@ // cancellation_type.hpp // ~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/co_spawn.hpp b/contrib/restricted/boost/asio/include/boost/asio/co_spawn.hpp index b453fc0ec7..03f83bf2dd 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/co_spawn.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/co_spawn.hpp @@ -2,7 +2,7 @@ // co_spawn.hpp // ~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/completion_condition.hpp b/contrib/restricted/boost/asio/include/boost/asio/completion_condition.hpp index bcca73e6a4..f16238ef1e 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/completion_condition.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/completion_condition.hpp @@ -2,7 +2,7 @@ // completion_condition.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/compose.hpp b/contrib/restricted/boost/asio/include/boost/asio/compose.hpp index f7740c080f..3a43fbeff9 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/compose.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/compose.hpp @@ -2,7 +2,7 @@ // compose.hpp // ~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/connect.hpp b/contrib/restricted/boost/asio/include/boost/asio/connect.hpp index 8c7ca45b43..e83225854e 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/connect.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/connect.hpp @@ -2,7 +2,7 @@ // connect.hpp // ~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/connect_pipe.hpp b/contrib/restricted/boost/asio/include/boost/asio/connect_pipe.hpp index fb9e58736c..627d7b6fa7 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/connect_pipe.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/connect_pipe.hpp @@ -2,7 +2,7 @@ // connect_pipe.hpp // ~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/consign.hpp b/contrib/restricted/boost/asio/include/boost/asio/consign.hpp index 39b4741b27..c3de1fb4e2 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/consign.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/consign.hpp @@ -2,7 +2,7 @@ // consign.hpp // ~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/coroutine.hpp b/contrib/restricted/boost/asio/include/boost/asio/coroutine.hpp index 61d09a2507..2f92a8b236 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/coroutine.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/coroutine.hpp @@ -2,7 +2,7 @@ // coroutine.hpp // ~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/deadline_timer.hpp b/contrib/restricted/boost/asio/include/boost/asio/deadline_timer.hpp index 91c80e3cf8..9bd02d0016 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/deadline_timer.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/deadline_timer.hpp @@ -2,7 +2,7 @@ // deadline_timer.hpp // ~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/defer.hpp b/contrib/restricted/boost/asio/include/boost/asio/defer.hpp index 5026ec542c..c8339225ad 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/defer.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/defer.hpp @@ -2,7 +2,7 @@ // defer.hpp // ~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -17,6 +17,7 @@ #include <boost/asio/detail/config.hpp> #include <boost/asio/async_result.hpp> +#include <boost/asio/detail/initiate_defer.hpp> #include <boost/asio/detail/type_traits.hpp> #include <boost/asio/execution_context.hpp> #include <boost/asio/execution/blocking.hpp> @@ -28,12 +29,6 @@ namespace boost { namespace asio { -namespace detail { - -class initiate_defer; -template <typename> class initiate_defer_with_executor; - -} // namespace detail /// Submits a completion token or function object for execution. /** @@ -89,7 +84,11 @@ BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_PREFIX(NullaryToken, void()) defer( BOOST_ASIO_MOVE_ARG(NullaryToken) token) BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_SUFFIX(( async_initiate<NullaryToken, void()>( - declval<detail::initiate_defer>(), token))); + declval<detail::initiate_defer>(), token))) +{ + return async_initiate<NullaryToken, void()>( + detail::initiate_defer(), token); +} /// Submits a completion token or function object for execution. /** @@ -176,7 +175,11 @@ BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_PREFIX(NullaryToken, void()) defer( >::type = 0) BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_SUFFIX(( async_initiate<NullaryToken, void()>( - declval<detail::initiate_defer_with_executor<Executor> >(), token))); + declval<detail::initiate_defer_with_executor<Executor> >(), token))) +{ + return async_initiate<NullaryToken, void()>( + detail::initiate_defer_with_executor<Executor>(ex), token); +} /// Submits a completion token or function object for execution. /** @@ -205,13 +208,17 @@ BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_PREFIX(NullaryToken, void()) defer( BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_SUFFIX(( async_initiate<NullaryToken, void()>( declval<detail::initiate_defer_with_executor< - typename ExecutionContext::executor_type> >(), token))); + typename ExecutionContext::executor_type> >(), token))) +{ + return async_initiate<NullaryToken, void()>( + detail::initiate_defer_with_executor< + typename ExecutionContext::executor_type>( + ctx.get_executor()), token); +} } // namespace asio } // namespace boost #include <boost/asio/detail/pop_options.hpp> -#include <boost/asio/impl/defer.hpp> - #endif // BOOST_ASIO_DEFER_HPP diff --git a/contrib/restricted/boost/asio/include/boost/asio/deferred.hpp b/contrib/restricted/boost/asio/include/boost/asio/deferred.hpp index d8df593bd5..ca712bfee7 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/deferred.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/deferred.hpp @@ -2,7 +2,7 @@ // deferred.hpp // ~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the 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,23 +39,27 @@ struct is_deferred : false_type { }; +/// Helper type to wrap multiple completion signatures. +template <typename... Signatures> +struct deferred_signatures +{ +}; + namespace detail { -// Helper trait for getting the completion signature of the tail in a sequence +// Helper trait for getting the completion signatures of the tail in a sequence // when invoked with the specified arguments. -template <typename HeadSignature, typename Tail> -struct deferred_sequence_signature; +template <typename Tail, typename... Signatures> +struct deferred_sequence_signatures; -template <typename R, typename... Args, typename Tail> -struct deferred_sequence_signature<R(Args...), Tail> +template <typename Tail, typename R, typename... Args, typename... Signatures> +struct deferred_sequence_signatures<Tail, R(Args...), Signatures...> + : completion_signature_of<decltype(declval<Tail>()(declval<Args>()...))> { static_assert( !is_same<decltype(declval<Tail>()(declval<Args>()...)), void>::value, "deferred functions must produce a deferred return type"); - - typedef typename completion_signature_of< - decltype(declval<Tail>()(declval<Args>()...))>::type type; }; // Completion handler for the head component of a deferred sequence. @@ -84,6 +88,88 @@ public: Tail tail_; }; +template <typename Head, typename Tail, typename... Signatures> +class deferred_sequence_base +{ +private: + struct initiate + { + template <typename Handler> + void operator()(BOOST_ASIO_MOVE_ARG(Handler) handler, + Head head, BOOST_ASIO_MOVE_ARG(Tail) tail) + { + BOOST_ASIO_MOVE_OR_LVALUE(Head)(head)( + deferred_sequence_handler< + typename decay<Handler>::type, + typename decay<Tail>::type>( + BOOST_ASIO_MOVE_CAST(Handler)(handler), + BOOST_ASIO_MOVE_CAST(Tail)(tail))); + } + }; + + Head head_; + Tail tail_; + +public: + template <typename H, typename T> + BOOST_ASIO_CONSTEXPR explicit deferred_sequence_base( + BOOST_ASIO_MOVE_ARG(H) head, BOOST_ASIO_MOVE_ARG(T) tail) + : head_(BOOST_ASIO_MOVE_CAST(H)(head)), + tail_(BOOST_ASIO_MOVE_CAST(T)(tail)) + { + } + + template <BOOST_ASIO_COMPLETION_TOKEN_FOR(Signatures...) CompletionToken> + auto operator()( + BOOST_ASIO_MOVE_ARG(CompletionToken) token) BOOST_ASIO_RVALUE_REF_QUAL + -> decltype( + boost::asio::async_initiate<CompletionToken, Signatures...>( + declval<initiate>(), token, + BOOST_ASIO_MOVE_OR_LVALUE(Head)(this->head_), + BOOST_ASIO_MOVE_OR_LVALUE(Tail)(this->tail_))) + { + return boost::asio::async_initiate<CompletionToken, Signatures...>( + initiate(), token, + BOOST_ASIO_MOVE_OR_LVALUE(Head)(head_), + BOOST_ASIO_MOVE_OR_LVALUE(Tail)(tail_)); + } + +#if defined(BOOST_ASIO_HAS_REF_QUALIFIED_FUNCTIONS) + template <BOOST_ASIO_COMPLETION_TOKEN_FOR(Signatures...) CompletionToken> + auto operator()( + BOOST_ASIO_MOVE_ARG(CompletionToken) token) const & + -> decltype( + boost::asio::async_initiate<CompletionToken, Signatures...>( + initiate(), token, this->head_, this->tail_)) + { + return boost::asio::async_initiate<CompletionToken, Signatures...>( + initiate(), token, head_, tail_); + } +#endif // defined(BOOST_ASIO_HAS_REF_QUALIFIED_FUNCTIONS) +}; + +// Two-step application of variadic Signatures to determine correct base type. + +template <typename Head, typename Tail> +struct deferred_sequence_types +{ + template <typename... Signatures> + struct op1 + { + typedef deferred_sequence_base<Head, Tail, Signatures...> type; + }; + + template <typename... Signatures> + struct op2 + { + typedef typename deferred_sequence_signatures<Tail, Signatures...>::template + apply<op1>::type::type type; + }; + + typedef typename completion_signature_of<Head>::template + apply<op2>::type::type base; +}; + } // namespace detail /// Used to represent an empty deferred action. @@ -334,76 +420,117 @@ public: #endif // defined(BOOST_ASIO_HAS_REF_QUALIFIED_FUNCTIONS) }; -#if !defined(GENERATING_DOCUMENTATION) -template <typename Signature, typename Initiation, typename... InitArgs> -struct is_deferred< - deferred_async_operation<Signature, Initiation, InitArgs...> > : true_type -{ -}; -#endif // !defined(GENERATING_DOCUMENTATION) - -/// Defines a link between two consecutive operations in a sequence. -template <typename Head, typename Tail> -class BOOST_ASIO_NODISCARD deferred_sequence +/// Encapsulates a deferred asynchronous operation thas has multiple completion +/// signatures. +template <typename... Signatures, typename Initiation, typename... InitArgs> +class BOOST_ASIO_NODISCARD deferred_async_operation< + deferred_signatures<Signatures...>, Initiation, InitArgs...> { private: - typedef typename detail::deferred_sequence_signature< - typename completion_signature_of<Head>::type, Tail>::type - signature; + typedef typename decay<Initiation>::type initiation_t; + initiation_t initiation_; + typedef std::tuple<typename decay<InitArgs>::type...> init_args_t; + init_args_t init_args_; - struct initiate + template <typename CompletionToken, std::size_t... I> + auto invoke_helper( + BOOST_ASIO_MOVE_ARG(CompletionToken) token, + detail::index_sequence<I...>) + -> decltype( + boost::asio::async_initiate<CompletionToken, Signatures...>( + BOOST_ASIO_MOVE_CAST(initiation_t)(initiation_), token, + std::get<I>(BOOST_ASIO_MOVE_CAST(init_args_t)(init_args_))...)) { - template <typename Handler> - void operator()(BOOST_ASIO_MOVE_ARG(Handler) handler, - Head head, BOOST_ASIO_MOVE_ARG(Tail) tail) - { - BOOST_ASIO_MOVE_OR_LVALUE(Head)(head)( - detail::deferred_sequence_handler< - typename decay<Handler>::type, - typename decay<Tail>::type>( - BOOST_ASIO_MOVE_CAST(Handler)(handler), - BOOST_ASIO_MOVE_CAST(Tail)(tail))); - } - }; + return boost::asio::async_initiate<CompletionToken, Signatures...>( + BOOST_ASIO_MOVE_CAST(initiation_t)(initiation_), token, + std::get<I>(BOOST_ASIO_MOVE_CAST(init_args_t)(init_args_))...); + } - Head head_; - Tail tail_; +#if defined(BOOST_ASIO_HAS_REF_QUALIFIED_FUNCTIONS) + template <typename CompletionToken, std::size_t... I> + auto const_invoke_helper( + BOOST_ASIO_MOVE_ARG(CompletionToken) token, + detail::index_sequence<I...>) const & + -> decltype( + boost::asio::async_initiate<CompletionToken, Signatures...>( + initiation_t(initiation_), token, std::get<I>(init_args_)...)) + { + return boost::asio::async_initiate<CompletionToken, Signatures...>( + initiation_t(initiation_), token, std::get<I>(init_args_)...); + } +#endif // defined(BOOST_ASIO_HAS_REF_QUALIFIED_FUNCTIONS) public: - template <typename H, typename T> - BOOST_ASIO_CONSTEXPR explicit deferred_sequence(deferred_init_tag, - BOOST_ASIO_MOVE_ARG(H) head, BOOST_ASIO_MOVE_ARG(T) tail) - : head_(BOOST_ASIO_MOVE_CAST(H)(head)), - tail_(BOOST_ASIO_MOVE_CAST(T)(tail)) + /// Construct a deferred asynchronous operation from the arguments to an + /// initiation function object. + template <typename I, typename... A> + BOOST_ASIO_CONSTEXPR explicit deferred_async_operation( + deferred_init_tag, BOOST_ASIO_MOVE_ARG(I) initiation, + BOOST_ASIO_MOVE_ARG(A)... init_args) + : initiation_(BOOST_ASIO_MOVE_CAST(I)(initiation)), + init_args_(BOOST_ASIO_MOVE_CAST(A)(init_args)...) { } - template <BOOST_ASIO_COMPLETION_TOKEN_FOR(signature) CompletionToken> + /// Initiate the asynchronous operation using the supplied completion token. + template <BOOST_ASIO_COMPLETION_TOKEN_FOR(Signatures...) CompletionToken> auto operator()( BOOST_ASIO_MOVE_ARG(CompletionToken) token) BOOST_ASIO_RVALUE_REF_QUAL -> decltype( - boost::asio::async_initiate<CompletionToken, signature>( - declval<initiate>(), token, - BOOST_ASIO_MOVE_OR_LVALUE(Head)(this->head_), - BOOST_ASIO_MOVE_OR_LVALUE(Tail)(this->tail_))) + this->invoke_helper( + BOOST_ASIO_MOVE_CAST(CompletionToken)(token), + detail::index_sequence_for<InitArgs...>())) { - return boost::asio::async_initiate<CompletionToken, signature>( - initiate(), token, - BOOST_ASIO_MOVE_OR_LVALUE(Head)(head_), - BOOST_ASIO_MOVE_OR_LVALUE(Tail)(tail_)); + return this->invoke_helper( + BOOST_ASIO_MOVE_CAST(CompletionToken)(token), + detail::index_sequence_for<InitArgs...>()); } #if defined(BOOST_ASIO_HAS_REF_QUALIFIED_FUNCTIONS) - template <BOOST_ASIO_COMPLETION_TOKEN_FOR(signature) CompletionToken> + template <BOOST_ASIO_COMPLETION_TOKEN_FOR(Signatures...) CompletionToken> auto operator()( BOOST_ASIO_MOVE_ARG(CompletionToken) token) const & -> decltype( - boost::asio::async_initiate<CompletionToken, signature>( - initiate(), token, head_, tail_)) + this->const_invoke_helper( + BOOST_ASIO_MOVE_CAST(CompletionToken)(token), + detail::index_sequence_for<InitArgs...>())) + { + return this->const_invoke_helper( + BOOST_ASIO_MOVE_CAST(CompletionToken)(token), + detail::index_sequence_for<InitArgs...>()); + } +#endif // defined(BOOST_ASIO_HAS_REF_QUALIFIED_FUNCTIONS) +}; + +#if !defined(GENERATING_DOCUMENTATION) +template <typename Signature, typename Initiation, typename... InitArgs> +struct is_deferred< + deferred_async_operation<Signature, Initiation, InitArgs...> > : true_type +{ +}; +#endif // !defined(GENERATING_DOCUMENTATION) + +/// Defines a link between two consecutive operations in a sequence. +template <typename Head, typename Tail> +class BOOST_ASIO_NODISCARD deferred_sequence : + public detail::deferred_sequence_types<Head, Tail>::base +{ +public: + template <typename H, typename T> + BOOST_ASIO_CONSTEXPR explicit deferred_sequence(deferred_init_tag, + BOOST_ASIO_MOVE_ARG(H) head, BOOST_ASIO_MOVE_ARG(T) tail) + : detail::deferred_sequence_types<Head, Tail>::base( + BOOST_ASIO_MOVE_CAST(H)(head), BOOST_ASIO_MOVE_CAST(T)(tail)) { - return boost::asio::async_initiate<CompletionToken, signature>( - initiate(), token, head_, tail_); } + +#if defined(GENERATING_DOCUMENTATION) + template <typename CompletionToken> + auto operator()(BOOST_ASIO_MOVE_ARG(CompletionToken) token) + BOOST_ASIO_RVALUE_REF_QUAL; + + template <typename CompletionToken> + auto operator()(BOOST_ASIO_MOVE_ARG(CompletionToken) token) const &; #endif // defined(BOOST_ASIO_HAS_REF_QUALIFIED_FUNCTIONS) }; diff --git a/contrib/restricted/boost/asio/include/boost/asio/detached.hpp b/contrib/restricted/boost/asio/include/boost/asio/detached.hpp index 083908191f..e850f38229 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detached.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detached.hpp @@ -2,7 +2,7 @@ // detached.hpp // ~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/array.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/array.hpp index fa868060c0..be076b4850 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/array.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/array.hpp @@ -2,7 +2,7 @@ // detail/array.hpp // ~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/array_fwd.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/array_fwd.hpp index 7a8f7266c2..4d5f87e697 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/array_fwd.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/array_fwd.hpp @@ -2,7 +2,7 @@ // detail/array_fwd.hpp // ~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/assert.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/assert.hpp index b54503ba20..964f618564 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/assert.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/assert.hpp @@ -2,7 +2,7 @@ // detail/assert.hpp // ~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/atomic_count.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/atomic_count.hpp index a24fb5cdc6..0a90ffcd30 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/atomic_count.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/atomic_count.hpp @@ -2,7 +2,7 @@ // detail/atomic_count.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/base_from_cancellation_state.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/base_from_cancellation_state.hpp index 62170cd7e7..c3006a164b 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/base_from_cancellation_state.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/base_from_cancellation_state.hpp @@ -2,7 +2,7 @@ // detail/base_from_cancellation_state.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/base_from_completion_cond.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/base_from_completion_cond.hpp index 3af86cff51..9f409bb046 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/base_from_completion_cond.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/base_from_completion_cond.hpp @@ -2,7 +2,7 @@ // detail/base_from_completion_cond.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/bind_handler.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/bind_handler.hpp index d2eaab0a58..52122cb2e8 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/bind_handler.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/bind_handler.hpp @@ -2,7 +2,7 @@ // detail/bind_handler.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/blocking_executor_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/blocking_executor_op.hpp index f189fd4b74..92cda4a9b2 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/blocking_executor_op.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/blocking_executor_op.hpp @@ -2,7 +2,7 @@ // detail/blocking_executor_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -78,6 +78,7 @@ public: const boost::system::error_code& /*ec*/, std::size_t /*bytes_transferred*/) { + BOOST_ASIO_ASSUME(base != 0); blocking_executor_op* o(static_cast<blocking_executor_op*>(base)); typename blocking_executor_op_base<Operation>::do_complete_cleanup diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/buffer_resize_guard.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/buffer_resize_guard.hpp index d235258962..e2f4040a57 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/buffer_resize_guard.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/buffer_resize_guard.hpp @@ -2,7 +2,7 @@ // detail/buffer_resize_guard.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/buffer_sequence_adapter.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/buffer_sequence_adapter.hpp index ed671536ca..77bd76932c 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/buffer_sequence_adapter.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/buffer_sequence_adapter.hpp @@ -2,7 +2,7 @@ // detail/buffer_sequence_adapter.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/buffered_stream_storage.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/buffered_stream_storage.hpp index be01946019..fc4d0ccce0 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/buffered_stream_storage.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/buffered_stream_storage.hpp @@ -2,7 +2,7 @@ // detail/buffered_stream_storage.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/bulk_executor_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/bulk_executor_op.hpp index 6d457c42e5..099acfe64b 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/bulk_executor_op.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/bulk_executor_op.hpp @@ -2,7 +2,7 @@ // detail/bulk_executor_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -50,6 +50,7 @@ public: std::size_t /*bytes_transferred*/) { // Take ownership of the handler object. + BOOST_ASIO_ASSUME(base != 0); bulk_executor_op* o(static_cast<bulk_executor_op*>(base)); Alloc allocator(o->allocator_); ptr p = { detail::addressof(allocator), o, o }; diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/call_stack.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/call_stack.hpp index 4a01e89228..7e96fcd0dc 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/call_stack.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/call_stack.hpp @@ -2,7 +2,7 @@ // detail/call_stack.hpp // ~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/chrono.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/chrono.hpp index 9d3b81174a..39d17b301b 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/chrono.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/chrono.hpp @@ -2,7 +2,7 @@ // detail/chrono.hpp // ~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/chrono_time_traits.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/chrono_time_traits.hpp index d5fbb89394..e391f2259e 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/chrono_time_traits.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/chrono_time_traits.hpp @@ -2,7 +2,7 @@ // detail/chrono_time_traits.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/completion_handler.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/completion_handler.hpp index 76927e6b83..ac409a4406 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/completion_handler.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/completion_handler.hpp @@ -2,7 +2,7 @@ // detail/completion_handler.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/composed_work.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/composed_work.hpp index 522673136d..4d873ff01b 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/composed_work.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/composed_work.hpp @@ -2,7 +2,7 @@ // detail/composed_work.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/concurrency_hint.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/concurrency_hint.hpp index 3febc0018c..30d90b2edb 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/concurrency_hint.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/concurrency_hint.hpp @@ -2,7 +2,7 @@ // detail/concurrency_hint.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/conditionally_enabled_event.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/conditionally_enabled_event.hpp index f6c3909713..d4b6585c6a 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/conditionally_enabled_event.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/conditionally_enabled_event.hpp @@ -2,7 +2,7 @@ // detail/conditionally_enabled_event.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/conditionally_enabled_mutex.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/conditionally_enabled_mutex.hpp index 5a71314deb..3046c64f7e 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/conditionally_enabled_mutex.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/conditionally_enabled_mutex.hpp @@ -2,7 +2,7 @@ // detail/conditionally_enabled_mutex.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/config.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/config.hpp index 7d3d75da15..850037e531 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/config.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/config.hpp @@ -2,7 +2,7 @@ // detail/config.hpp // ~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the 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,7 @@ # define BOOST_ASIO_MOVE_CAST(type) static_cast<type&&> # define BOOST_ASIO_MOVE_CAST2(type1, type2) static_cast<type1, type2&&> # define BOOST_ASIO_MOVE_OR_LVALUE(type) static_cast<type&&> +# define BOOST_ASIO_MOVE_OR_LVALUE_ARG(type) type&& # define BOOST_ASIO_MOVE_OR_LVALUE_TYPE(type) type #endif // defined(BOOST_ASIO_HAS_MOVE) && !defined(BOOST_ASIO_MOVE_CAST) @@ -163,6 +164,7 @@ # define BOOST_ASIO_MOVE_CAST(type) static_cast<const type&> # define BOOST_ASIO_MOVE_CAST2(type1, type2) static_cast<const type1, type2&> # define BOOST_ASIO_MOVE_OR_LVALUE(type) +# define BOOST_ASIO_MOVE_OR_LVALUE_ARG(type) type& # define BOOST_ASIO_MOVE_OR_LVALUE_TYPE(type) type& #endif // !defined(BOOST_ASIO_MOVE_CAST) @@ -645,6 +647,19 @@ # define BOOST_ASIO_DEFAULT_ALIGN 1 #endif // defined(BOOST_ASIO_HAS_ALIGNOF) +// Support for user-defined literals. +#if !defined(BOOST_ASIO_HAS_USER_DEFINED_LITERALS) +# if !defined(BOOST_ASIO_DISABLE_USER_DEFINED_LITERALS) +# if (__cplusplus >= 201103) +# define BOOST_ASIO_HAS_USER_DEFINED_LITERALS 1 +# elif defined(BOOST_ASIO_MSVC) +# if (_MSC_VER >= 1900 && _MSVC_LANG >= 201103) +# define BOOST_ASIO_HAS_USER_DEFINED_LITERALS 1 +# endif // (_MSC_VER >= 1900 && _MSVC_LANG >= 201103) +# endif // defined(BOOST_ASIO_MSVC) +# endif // !defined(BOOST_ASIO_DISABLE_USER_DEFINED_LITERALS) +#endif // !defined(BOOST_ASIO_HAS_USER_DEFINED_LITERALS) + // Standard library support for aligned allocation. #if !defined(BOOST_ASIO_HAS_STD_ALIGNED_ALLOC) # if !defined(BOOST_ASIO_DISABLE_STD_ALIGNED_ALLOC) @@ -1430,6 +1445,30 @@ # endif // !defined(BOOST_ASIO_DISABLE_STD_ANY) #endif // !defined(BOOST_ASIO_HAS_STD_ANY) +// Standard library support for std::variant. +#if !defined(BOOST_ASIO_HAS_STD_VARIANT) +# if !defined(BOOST_ASIO_DISABLE_STD_VARIANT) +# if defined(__clang__) +# if (__cplusplus >= 201703) +# if __has_include(<variant>) +# define BOOST_ASIO_HAS_STD_VARIANT 1 +# endif // __has_include(<variant>) +# endif // (__cplusplus >= 201703) +# elif defined(__GNUC__) +# if (__GNUC__ >= 7) +# if (__cplusplus >= 201703) +# define BOOST_ASIO_HAS_STD_VARIANT 1 +# endif // (__cplusplus >= 201703) +# endif // (__GNUC__ >= 7) +# endif // defined(__GNUC__) +# if defined(BOOST_ASIO_MSVC) +# if (_MSC_VER >= 1910) && (_MSVC_LANG >= 201703) +# define BOOST_ASIO_HAS_STD_VARIANT 1 +# endif // (_MSC_VER >= 1910) && (_MSVC_LANG >= 201703) +# endif // defined(BOOST_ASIO_MSVC) +# endif // !defined(BOOST_ASIO_DISABLE_STD_VARIANT) +#endif // !defined(BOOST_ASIO_HAS_STD_VARIANT) + // Standard library support for std::source_location. #if !defined(BOOST_ASIO_HAS_STD_SOURCE_LOCATION) # if !defined(BOOST_ASIO_DISABLE_STD_SOURCE_LOCATION) @@ -2078,6 +2117,22 @@ # define BOOST_ASIO_UNUSED_VARIABLE #endif // !defined(BOOST_ASIO_UNUSED_VARIABLE) +// Helper macro to tell the optimiser what may be assumed to be true. +#if defined(BOOST_ASIO_MSVC) +# define BOOST_ASIO_ASSUME(expr) __assume(expr) +#elif defined(__clang__) +# if __has_builtin(__builtin_assume) +# define BOOST_ASIO_ASSUME(expr) __builtin_assume(expr) +# endif // __has_builtin(__builtin_assume) +#elif defined(__GNUC__) +# if ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 5)) || (__GNUC__ > 4) +# define BOOST_ASIO_ASSUME(expr) if (expr) {} else { __builtin_unreachable(); } +# endif // ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 5)) || (__GNUC__ > 4) +#endif // defined(__GNUC__) +#if !defined(BOOST_ASIO_ASSUME) +# define BOOST_ASIO_ASSUME(expr) (void)0 +#endif // !defined(BOOST_ASIO_ASSUME) + // Support the co_await keyword on compilers known to allow it. #if !defined(BOOST_ASIO_HAS_CO_AWAIT) # if !defined(BOOST_ASIO_DISABLE_CO_AWAIT) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/consuming_buffers.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/consuming_buffers.hpp index 8c2bd640c9..191f901e3e 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/consuming_buffers.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/consuming_buffers.hpp @@ -2,7 +2,7 @@ // detail/consuming_buffers.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/cstddef.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/cstddef.hpp index 9a3b00a856..0c399fb8bf 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/cstddef.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/cstddef.hpp @@ -2,7 +2,7 @@ // detail/cstddef.hpp // ~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/cstdint.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/cstdint.hpp index c3ef46e525..90f342da2e 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/cstdint.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/cstdint.hpp @@ -2,7 +2,7 @@ // detail/cstdint.hpp // ~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/date_time_fwd.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/date_time_fwd.hpp index 2d391b5418..38eabde058 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/date_time_fwd.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/date_time_fwd.hpp @@ -2,7 +2,7 @@ // detail/date_time_fwd.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/deadline_timer_service.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/deadline_timer_service.hpp index 1202c1431b..2ede2efd0a 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/deadline_timer_service.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/deadline_timer_service.hpp @@ -2,7 +2,7 @@ // detail/deadline_timer_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/dependent_type.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/dependent_type.hpp index 58aa27adf0..069465af23 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/dependent_type.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/dependent_type.hpp @@ -2,7 +2,7 @@ // detail/dependent_type.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/descriptor_ops.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/descriptor_ops.hpp index 26fffc5368..6413a5db0e 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/descriptor_ops.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/descriptor_ops.hpp @@ -2,7 +2,7 @@ // detail/descriptor_ops.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/descriptor_read_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/descriptor_read_op.hpp index 12fa38415f..610532331a 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/descriptor_read_op.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/descriptor_read_op.hpp @@ -2,7 +2,7 @@ // detail/descriptor_read_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the 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,6 +26,7 @@ #include <boost/asio/detail/handler_work.hpp> #include <boost/asio/detail/memory.hpp> #include <boost/asio/detail/reactor_op.hpp> +#include <boost/asio/dispatch.hpp> #include <boost/asio/detail/push_options.hpp> @@ -49,6 +50,7 @@ public: static status do_perform(reactor_op* base) { + BOOST_ASIO_ASSUME(base != 0); descriptor_read_op_base* o(static_cast<descriptor_read_op_base*>(base)); typedef buffer_sequence_adapter<boost::asio::mutable_buffer, @@ -86,6 +88,9 @@ class descriptor_read_op : public descriptor_read_op_base<MutableBufferSequence> { public: + typedef Handler handler_type; + typedef IoExecutor io_executor_type; + BOOST_ASIO_DEFINE_HANDLER_PTR(descriptor_read_op); descriptor_read_op(const boost::system::error_code& success_ec, @@ -103,6 +108,7 @@ public: std::size_t /*bytes_transferred*/) { // Take ownership of the handler object. + BOOST_ASIO_ASSUME(base != 0); descriptor_read_op* o(static_cast<descriptor_read_op*>(base)); ptr p = { boost::asio::detail::addressof(o->handler_), o, o }; @@ -136,6 +142,38 @@ public: } } + static void do_immediate(operation* base, bool, const void* io_ex) + { + // Take ownership of the handler object. + BOOST_ASIO_ASSUME(base != 0); + descriptor_read_op* o(static_cast<descriptor_read_op*>(base)); + ptr p = { boost::asio::detail::addressof(o->handler_), o, o }; + + BOOST_ASIO_HANDLER_COMPLETION((*o)); + + // Take ownership of the operation's outstanding work. + immediate_handler_work<Handler, IoExecutor> w( + BOOST_ASIO_MOVE_CAST2(handler_work<Handler, IoExecutor>)( + o->work_)); + + BOOST_ASIO_ERROR_LOCATION(o->ec_); + + // Make a copy of the handler so that the memory can be deallocated before + // the upcall is made. Even if we're not about to make an upcall, a + // sub-object of the handler may be the true owner of the memory associated + // with the handler. Consequently, a local copy of the handler is required + // to ensure that any owning sub-object remains valid until after we have + // deallocated the memory here. + detail::binder2<Handler, boost::system::error_code, std::size_t> + handler(o->handler_, o->ec_, o->bytes_transferred_); + p.h = boost::asio::detail::addressof(handler.handler_); + p.reset(); + + BOOST_ASIO_HANDLER_INVOCATION_BEGIN((handler.arg1_, handler.arg2_)); + w.complete(handler, handler.handler_, io_ex); + BOOST_ASIO_HANDLER_INVOCATION_END; + } + private: Handler handler_; handler_work<Handler, IoExecutor> work_; diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/descriptor_write_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/descriptor_write_op.hpp index a3cc32d9e5..344dc7b311 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/descriptor_write_op.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/descriptor_write_op.hpp @@ -2,7 +2,7 @@ // detail/descriptor_write_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -49,6 +49,7 @@ public: static status do_perform(reactor_op* base) { + BOOST_ASIO_ASSUME(base != 0); descriptor_write_op_base* o(static_cast<descriptor_write_op_base*>(base)); typedef buffer_sequence_adapter<boost::asio::const_buffer, @@ -86,6 +87,9 @@ class descriptor_write_op : public descriptor_write_op_base<ConstBufferSequence> { public: + typedef Handler handler_type; + typedef IoExecutor io_executor_type; + BOOST_ASIO_DEFINE_HANDLER_PTR(descriptor_write_op); descriptor_write_op(const boost::system::error_code& success_ec, @@ -103,6 +107,7 @@ public: std::size_t /*bytes_transferred*/) { // Take ownership of the handler object. + BOOST_ASIO_ASSUME(base != 0); descriptor_write_op* o(static_cast<descriptor_write_op*>(base)); ptr p = { boost::asio::detail::addressof(o->handler_), o, o }; @@ -136,6 +141,38 @@ public: } } + static void do_immediate(operation* base, bool, const void* io_ex) + { + // Take ownership of the handler object. + BOOST_ASIO_ASSUME(base != 0); + descriptor_write_op* o(static_cast<descriptor_write_op*>(base)); + ptr p = { boost::asio::detail::addressof(o->handler_), o, o }; + + BOOST_ASIO_HANDLER_COMPLETION((*o)); + + // Take ownership of the operation's outstanding work. + immediate_handler_work<Handler, IoExecutor> w( + BOOST_ASIO_MOVE_CAST2(handler_work<Handler, IoExecutor>)( + o->work_)); + + BOOST_ASIO_ERROR_LOCATION(o->ec_); + + // Make a copy of the handler so that the memory can be deallocated before + // the upcall is made. Even if we're not about to make an upcall, a + // sub-object of the handler may be the true owner of the memory associated + // with the handler. Consequently, a local copy of the handler is required + // to ensure that any owning sub-object remains valid until after we have + // deallocated the memory here. + detail::binder2<Handler, boost::system::error_code, std::size_t> + handler(o->handler_, o->ec_, o->bytes_transferred_); + p.h = boost::asio::detail::addressof(handler.handler_); + p.reset(); + + BOOST_ASIO_HANDLER_INVOCATION_BEGIN((handler.arg1_, handler.arg2_)); + w.complete(handler, handler.handler_, io_ex); + BOOST_ASIO_HANDLER_INVOCATION_END; + } + private: Handler handler_; handler_work<Handler, IoExecutor> work_; diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/dev_poll_reactor.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/dev_poll_reactor.hpp index f6a2fae4a6..506b1ae65f 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/dev_poll_reactor.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/dev_poll_reactor.hpp @@ -2,7 +2,7 @@ // detail/dev_poll_reactor.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -87,13 +87,31 @@ public: per_descriptor_data& source_descriptor_data); // Post a reactor operation for immediate completion. - void post_immediate_completion(reactor_op* op, bool is_continuation); + void post_immediate_completion(operation* op, bool is_continuation) const; + + // Post a reactor operation for immediate completion. + BOOST_ASIO_DECL static void call_post_immediate_completion( + operation* op, bool is_continuation, const void* self); // Start a new operation. The reactor operation will be performed when the // given descriptor is flagged as ready, or an error has occurred. BOOST_ASIO_DECL void start_op(int op_type, socket_type descriptor, per_descriptor_data&, reactor_op* op, - bool is_continuation, bool allow_speculative); + bool is_continuation, bool allow_speculative, + void (*on_immediate)(operation*, bool, const void*), + const void* immediate_arg); + + // Start a new operation. The reactor operation will be performed when the + // given descriptor is flagged as ready, or an error has occurred. + void start_op(int op_type, socket_type descriptor, + per_descriptor_data& descriptor_data, reactor_op* op, + bool is_continuation, bool allow_speculative) + { + start_op(op_type, descriptor, descriptor_data, + op, is_continuation, allow_speculative, + &epoll_reactor::call_post_immediate_completion, this); + } + // Cancel all operations associated with the given descriptor. The // handlers associated with the descriptor will be invoked with the diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/epoll_reactor.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/epoll_reactor.hpp index e2de3e7f3c..7947641f57 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/epoll_reactor.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/epoll_reactor.hpp @@ -2,7 +2,7 @@ // detail/epoll_reactor.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -117,13 +117,30 @@ public: per_descriptor_data& source_descriptor_data); // Post a reactor operation for immediate completion. - void post_immediate_completion(operation* op, bool is_continuation); + void post_immediate_completion(operation* op, bool is_continuation) const; + + // Post a reactor operation for immediate completion. + BOOST_ASIO_DECL static void call_post_immediate_completion( + operation* op, bool is_continuation, const void* self); // Start a new operation. The reactor operation will be performed when the // given descriptor is flagged as ready, or an error has occurred. BOOST_ASIO_DECL void start_op(int op_type, socket_type descriptor, per_descriptor_data& descriptor_data, reactor_op* op, - bool is_continuation, bool allow_speculative); + bool is_continuation, bool allow_speculative, + void (*on_immediate)(operation*, bool, const void*), + const void* immediate_arg); + + // Start a new operation. The reactor operation will be performed when the + // given descriptor is flagged as ready, or an error has occurred. + void start_op(int op_type, socket_type descriptor, + per_descriptor_data& descriptor_data, reactor_op* op, + bool is_continuation, bool allow_speculative) + { + start_op(op_type, descriptor, descriptor_data, + op, is_continuation, allow_speculative, + &epoll_reactor::call_post_immediate_completion, this); + } // Cancel all operations associated with the given descriptor. The // handlers associated with the descriptor will be invoked with the diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/event.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/event.hpp index f4855f26c6..e19bca9a3a 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/event.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/event.hpp @@ -2,7 +2,7 @@ // detail/event.hpp // ~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/eventfd_select_interrupter.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/eventfd_select_interrupter.hpp index b1c02b8aa6..4a97612097 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/eventfd_select_interrupter.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/eventfd_select_interrupter.hpp @@ -2,7 +2,7 @@ // detail/eventfd_select_interrupter.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 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/contrib/restricted/boost/asio/include/boost/asio/detail/exception.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/exception.hpp index 02fd550755..840bc2cf68 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/exception.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/exception.hpp @@ -2,7 +2,7 @@ // detail/exception.hpp // ~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/executor_function.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/executor_function.hpp index 8dfa6b4a25..b01f3ca333 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/executor_function.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/executor_function.hpp @@ -2,7 +2,7 @@ // detail/executor_function.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/executor_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/executor_op.hpp index 8679b9eb0b..a94ee679f4 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/executor_op.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/executor_op.hpp @@ -2,7 +2,7 @@ // detail/executor_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -47,6 +47,7 @@ public: std::size_t /*bytes_transferred*/) { // Take ownership of the handler object. + BOOST_ASIO_ASSUME(base != 0); executor_op* o(static_cast<executor_op*>(base)); Alloc allocator(o->allocator_); ptr p = { detail::addressof(allocator), o, o }; diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/fd_set_adapter.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/fd_set_adapter.hpp index 2b0fac99fa..b4191a82ed 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/fd_set_adapter.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/fd_set_adapter.hpp @@ -2,7 +2,7 @@ // detail/fd_set_adapter.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/fenced_block.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/fenced_block.hpp index bc99ef0ec7..2b490c6b11 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/fenced_block.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/fenced_block.hpp @@ -2,7 +2,7 @@ // detail/fenced_block.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/functional.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/functional.hpp index 833f659a70..599a94acf1 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/functional.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/functional.hpp @@ -2,7 +2,7 @@ // detail/functional.hpp // ~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/future.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/future.hpp index b8a3750ace..ec611db389 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/future.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/future.hpp @@ -2,7 +2,7 @@ // detail/future.hpp // ~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/gcc_arm_fenced_block.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/gcc_arm_fenced_block.hpp index f179321d1c..8b94607596 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/gcc_arm_fenced_block.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/gcc_arm_fenced_block.hpp @@ -2,7 +2,7 @@ // detail/gcc_arm_fenced_block.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/gcc_hppa_fenced_block.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/gcc_hppa_fenced_block.hpp index 8b584ac77d..ae259256d6 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/gcc_hppa_fenced_block.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/gcc_hppa_fenced_block.hpp @@ -2,7 +2,7 @@ // detail/gcc_hppa_fenced_block.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/gcc_sync_fenced_block.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/gcc_sync_fenced_block.hpp index 1d7ff42776..659ed6dc70 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/gcc_sync_fenced_block.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/gcc_sync_fenced_block.hpp @@ -2,7 +2,7 @@ // detail/gcc_sync_fenced_block.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/gcc_x86_fenced_block.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/gcc_x86_fenced_block.hpp index 243ce33e19..3498954692 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/gcc_x86_fenced_block.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/gcc_x86_fenced_block.hpp @@ -2,7 +2,7 @@ // detail/gcc_x86_fenced_block.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/global.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/global.hpp index c515cffc75..c48155829c 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/global.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/global.hpp @@ -2,7 +2,7 @@ // detail/global.hpp // ~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/handler_alloc_helpers.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/handler_alloc_helpers.hpp index d8b116f212..081ce0f723 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/handler_alloc_helpers.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/handler_alloc_helpers.hpp @@ -2,7 +2,7 @@ // detail/handler_alloc_helpers.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/handler_cont_helpers.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/handler_cont_helpers.hpp index 9e763980c6..c5976801c0 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/handler_cont_helpers.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/handler_cont_helpers.hpp @@ -2,7 +2,7 @@ // detail/handler_cont_helpers.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/handler_invoke_helpers.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/handler_invoke_helpers.hpp index 722bfea73c..f47ba8f131 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/handler_invoke_helpers.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/handler_invoke_helpers.hpp @@ -2,7 +2,7 @@ // detail/handler_invoke_helpers.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/handler_tracking.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/handler_tracking.hpp index 22bdf69094..bc5f08b1c9 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/handler_tracking.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/handler_tracking.hpp @@ -2,7 +2,7 @@ // detail/handler_tracking.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/handler_type_requirements.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/handler_type_requirements.hpp index 1dfe8d5666..92fafacdf2 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/handler_type_requirements.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/handler_type_requirements.hpp @@ -2,7 +2,7 @@ // detail/handler_type_requirements.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/handler_work.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/handler_work.hpp index c0fcd25e75..3e03388c98 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/handler_work.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/handler_work.hpp @@ -2,7 +2,7 @@ // detail/handler_work.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the 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,9 +16,13 @@ #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) #include <boost/asio/detail/config.hpp> +#include <boost/asio/associated_allocator.hpp> #include <boost/asio/associated_executor.hpp> +#include <boost/asio/associated_immediate_executor.hpp> #include <boost/asio/detail/handler_invoke_helpers.hpp> +#include <boost/asio/detail/initiate_dispatch.hpp> #include <boost/asio/detail/type_traits.hpp> +#include <boost/asio/detail/work_dispatcher.hpp> #include <boost/asio/execution/allocator.hpp> #include <boost/asio/execution/blocking.hpp> #include <boost/asio/execution/execute.hpp> @@ -526,6 +530,34 @@ public: } }; +template <typename Handler, typename IoExecutor> +class immediate_handler_work +{ +public: + typedef handler_work<Handler, IoExecutor> handler_work_type; + + explicit immediate_handler_work(BOOST_ASIO_MOVE_ARG(handler_work_type) w) + : handler_work_(BOOST_ASIO_MOVE_CAST(handler_work_type)(w)) + { + } + + template <typename Function> + void complete(Function& function, Handler& handler, const void* io_ex) + { + typedef typename associated_immediate_executor<Handler, IoExecutor>::type + immediate_ex_type; + + immediate_ex_type immediate_ex = (get_associated_immediate_executor)( + handler, *static_cast<const IoExecutor*>(io_ex)); + + (initiate_dispatch_with_executor<immediate_ex_type>(immediate_ex))( + BOOST_ASIO_MOVE_CAST(Function)(function)); + } + +private: + handler_work_type handler_work_; +}; + } // namespace detail } // namespace asio } // namespace boost diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/hash_map.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/hash_map.hpp index bc17041622..98d17a43f2 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/hash_map.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/hash_map.hpp @@ -2,7 +2,7 @@ // detail/hash_map.hpp // ~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/buffer_sequence_adapter.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/buffer_sequence_adapter.ipp index 0aadb8243a..3e072b3c3d 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/buffer_sequence_adapter.ipp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/buffer_sequence_adapter.ipp @@ -2,7 +2,7 @@ // detail/impl/buffer_sequence_adapter.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/descriptor_ops.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/descriptor_ops.ipp index ea7705fd08..c9d0d87527 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/descriptor_ops.ipp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/descriptor_ops.ipp @@ -2,7 +2,7 @@ // detail/impl/descriptor_ops.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the 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,7 @@ bool set_user_non_blocking(int d, state_type& state, # if defined(ENOTTY) if (ec.value() == ENOTTY) { - int result = ::fcntl(d, F_GETFL, 0); + result = ::fcntl(d, F_GETFL, 0); get_last_error(ec, result < 0); if (result >= 0) { @@ -181,7 +181,7 @@ bool set_internal_non_blocking(int d, state_type& state, # if defined(ENOTTY) if (ec.value() == ENOTTY) { - int result = ::fcntl(d, F_GETFL, 0); + result = ::fcntl(d, F_GETFL, 0); get_last_error(ec, result < 0); if (result >= 0) { diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/dev_poll_reactor.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/dev_poll_reactor.hpp index 72a7ce2212..4eea4f152d 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/dev_poll_reactor.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/dev_poll_reactor.hpp @@ -2,7 +2,7 @@ // detail/impl/dev_poll_reactor.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the 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,7 +28,7 @@ namespace asio { namespace detail { inline void dev_poll_reactor::post_immediate_completion( - reactor_op* op, bool is_continuation) + operation* op, bool is_continuation) const { scheduler_.post_immediate_completion(op, is_continuation); } diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/dev_poll_reactor.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/dev_poll_reactor.ipp index 60b9c111c9..96b4f3707b 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/dev_poll_reactor.ipp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/dev_poll_reactor.ipp @@ -2,7 +2,7 @@ // detail/impl/dev_poll_reactor.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -149,15 +149,24 @@ void dev_poll_reactor::move_descriptor(socket_type, { } +void dev_poll_reactor::call_post_immediate_completion( + operation* op, bool is_continuation, const void* self) +{ + static_cast<const dev_poll_reactor*>(self)->post_immediate_completion( + op, is_continuation); +} + void dev_poll_reactor::start_op(int op_type, socket_type descriptor, dev_poll_reactor::per_descriptor_data&, reactor_op* op, - bool is_continuation, bool allow_speculative) + bool is_continuation, bool allow_speculative, + void (*on_immediate)(operation*, bool, const void*), + const void* immediate_arg) { boost::asio::detail::mutex::scoped_lock lock(mutex_); if (shutdown_) { - post_immediate_completion(op, is_continuation); + on_immediate(op, is_continuation, immediate_arg); return; } @@ -170,7 +179,7 @@ void dev_poll_reactor::start_op(int op_type, socket_type descriptor, if (op->perform()) { lock.unlock(); - scheduler_.post_immediate_completion(op, is_continuation); + on_immediate(op, is_continuation, immediate_arg); return; } } diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/epoll_reactor.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/epoll_reactor.hpp index 8c618e32e1..0611bcb7f3 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/epoll_reactor.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/epoll_reactor.hpp @@ -2,7 +2,7 @@ // detail/impl/epoll_reactor.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the 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 @@ namespace asio { namespace detail { inline void epoll_reactor::post_immediate_completion( - operation* op, bool is_continuation) + operation* op, bool is_continuation) const { scheduler_.post_immediate_completion(op, is_continuation); } diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/epoll_reactor.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/epoll_reactor.ipp index 214ed192a8..5bbb434278 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/epoll_reactor.ipp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/epoll_reactor.ipp @@ -2,7 +2,7 @@ // detail/impl/epoll_reactor.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -230,14 +230,23 @@ void epoll_reactor::move_descriptor(socket_type, source_descriptor_data = 0; } +void epoll_reactor::call_post_immediate_completion( + operation* op, bool is_continuation, const void* self) +{ + static_cast<const epoll_reactor*>(self)->post_immediate_completion( + op, is_continuation); +} + void epoll_reactor::start_op(int op_type, socket_type descriptor, epoll_reactor::per_descriptor_data& descriptor_data, reactor_op* op, - bool is_continuation, bool allow_speculative) + bool is_continuation, bool allow_speculative, + void (*on_immediate)(operation*, bool, const void*), + const void* immediate_arg) { if (!descriptor_data) { op->ec_ = boost::asio::error::bad_descriptor; - post_immediate_completion(op, is_continuation); + on_immediate(op, is_continuation, immediate_arg); return; } @@ -245,7 +254,7 @@ void epoll_reactor::start_op(int op_type, socket_type descriptor, if (descriptor_data->shutdown_) { - post_immediate_completion(op, is_continuation); + on_immediate(op, is_continuation, immediate_arg); return; } @@ -263,7 +272,7 @@ void epoll_reactor::start_op(int op_type, socket_type descriptor, if (descriptor_data->registered_events_ != 0) descriptor_data->try_speculative_[op_type] = false; descriptor_lock.unlock(); - scheduler_.post_immediate_completion(op, is_continuation); + on_immediate(op, is_continuation, immediate_arg); return; } } @@ -271,7 +280,7 @@ void epoll_reactor::start_op(int op_type, socket_type descriptor, if (descriptor_data->registered_events_ == 0) { op->ec_ = boost::asio::error::operation_not_supported; - scheduler_.post_immediate_completion(op, is_continuation); + on_immediate(op, is_continuation, immediate_arg); return; } @@ -290,7 +299,7 @@ void epoll_reactor::start_op(int op_type, socket_type descriptor, { op->ec_ = boost::system::error_code(errno, boost::asio::error::get_system_category()); - scheduler_.post_immediate_completion(op, is_continuation); + on_immediate(op, is_continuation, immediate_arg); return; } } @@ -299,7 +308,7 @@ void epoll_reactor::start_op(int op_type, socket_type descriptor, else if (descriptor_data->registered_events_ == 0) { op->ec_ = boost::asio::error::operation_not_supported; - scheduler_.post_immediate_completion(op, is_continuation); + on_immediate(op, is_continuation, immediate_arg); return; } else diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/eventfd_select_interrupter.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/eventfd_select_interrupter.ipp index f72c4fb140..ac86f5c2db 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/eventfd_select_interrupter.ipp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/eventfd_select_interrupter.ipp @@ -2,7 +2,7 @@ // detail/impl/eventfd_select_interrupter.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 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/contrib/restricted/boost/asio/include/boost/asio/detail/impl/handler_tracking.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/handler_tracking.ipp index 95c1644170..17e66c952f 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/handler_tracking.ipp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/handler_tracking.ipp @@ -2,7 +2,7 @@ // detail/impl/handler_tracking.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/io_uring_descriptor_service.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/io_uring_descriptor_service.ipp index 744eec0367..ecb71dbc1c 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/io_uring_descriptor_service.ipp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/io_uring_descriptor_service.ipp @@ -2,7 +2,7 @@ // detail/impl/io_uring_descriptor_service.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/io_uring_file_service.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/io_uring_file_service.ipp index 99c6101643..91ef41ca3c 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/io_uring_file_service.ipp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/io_uring_file_service.ipp @@ -2,7 +2,7 @@ // detail/impl/io_uring_file_service.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/io_uring_service.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/io_uring_service.hpp index 314e1f7337..c90adb90c3 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/io_uring_service.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/io_uring_service.hpp @@ -2,7 +2,7 @@ // detail/impl/io_uring_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/io_uring_service.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/io_uring_service.ipp index 3291d04276..98a08a601e 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/io_uring_service.ipp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/io_uring_service.ipp @@ -2,7 +2,7 @@ // detail/impl/io_uring_service.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -378,13 +378,21 @@ void io_uring_service::deregister_io_object( if (!io_obj->shutdown_) { op_queue<operation> ops; - do_cancel_ops(io_obj, ops); + bool pending_cancelled_ops = do_cancel_ops(io_obj, ops); io_obj->shutdown_ = true; io_object_lock.unlock(); scheduler_.post_deferred_completions(ops); - - // Leave io_obj set so that it will be freed by the subsequent - // call to cleanup_io_obj. + if (pending_cancelled_ops) + { + // There are still pending operations. Prevent cleanup_io_object from + // freeing the I/O object and let the last operation to complete free it. + io_obj = 0; + } + else + { + // Leave io_obj set so that it will be freed by the subsequent call to + // cleanup_io_object. + } } else { @@ -611,7 +619,7 @@ void io_uring_service::free_io_object(io_uring_service::io_object* io_obj) registered_io_objects_.free(io_obj); } -void io_uring_service::do_cancel_ops( +bool io_uring_service::do_cancel_ops( per_io_object_data& io_obj, op_queue<operation>& ops) { bool cancel_op = false; @@ -647,6 +655,8 @@ void io_uring_service::do_cancel_ops( } submit_sqes(); } + + return cancel_op; } void io_uring_service::do_add_timer_queue(timer_queue_base& queue) @@ -688,7 +698,10 @@ __kernel_timespec io_uring_service::get_timeout() const sqe = ::io_uring_get_sqe(&ring_); } if (sqe) + { + ::io_uring_sqe_set_data(sqe, 0); ++pending_sqes_; + } return sqe; } @@ -758,12 +771,18 @@ io_uring_service::io_queue::io_queue() struct io_uring_service::perform_io_cleanup_on_block_exit { explicit perform_io_cleanup_on_block_exit(io_uring_service* s) - : service_(s), first_op_(0) + : service_(s), io_object_to_free_(0), first_op_(0) { } ~perform_io_cleanup_on_block_exit() { + if (io_object_to_free_) + { + mutex::scoped_lock lock(service_->mutex_); + service_->free_io_object(io_object_to_free_); + } + if (first_op_) { // Post the remaining completed operations for invocation. @@ -784,6 +803,7 @@ struct io_uring_service::perform_io_cleanup_on_block_exit } io_uring_service* service_; + io_object* io_object_to_free_; op_queue<operation> ops_; operation* first_op_; }; @@ -845,6 +865,15 @@ operation* io_uring_service::io_queue::perform_io(int result) } } + // The last operation to complete on a shut down object must free it. + if (io_object_->shutdown_) + { + io_cleanup.io_object_to_free_ = io_object_; + for (int i = 0; i < max_ops; ++i) + if (!io_object_->queues_[i].op_queue_.empty()) + io_cleanup.io_object_to_free_ = 0; + } + // The first operation will be returned for completion now. The others will // be posted for later by the io_cleanup object's destructor. io_cleanup.first_op_ = io_cleanup.ops_.front(); diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/io_uring_socket_service_base.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/io_uring_socket_service_base.ipp index 7bad2405a5..cdc2a227cc 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/io_uring_socket_service_base.ipp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/io_uring_socket_service_base.ipp @@ -2,7 +2,7 @@ // detail/io_uring_socket_service_base.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/kqueue_reactor.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/kqueue_reactor.hpp index 8d302b6e68..91561a8738 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/kqueue_reactor.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/kqueue_reactor.hpp @@ -2,7 +2,7 @@ // detail/impl/kqueue_reactor.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 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 @@ -29,7 +29,7 @@ namespace asio { namespace detail { inline void kqueue_reactor::post_immediate_completion( - operation* op, bool is_continuation) + operation* op, bool is_continuation) const { scheduler_.post_immediate_completion(op, is_continuation); } diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/kqueue_reactor.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/kqueue_reactor.ipp index c710a2789d..47a9d4ab68 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/kqueue_reactor.ipp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/kqueue_reactor.ipp @@ -2,7 +2,7 @@ // detail/impl/kqueue_reactor.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 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 @@ -191,14 +191,23 @@ void kqueue_reactor::move_descriptor(socket_type, source_descriptor_data = 0; } +void kqueue_reactor::call_post_immediate_completion( + operation* op, bool is_continuation, const void* self) +{ + static_cast<const kqueue_reactor*>(self)->post_immediate_completion( + op, is_continuation); +} + void kqueue_reactor::start_op(int op_type, socket_type descriptor, kqueue_reactor::per_descriptor_data& descriptor_data, reactor_op* op, - bool is_continuation, bool allow_speculative) + bool is_continuation, bool allow_speculative, + void (*on_immediate)(operation*, bool, const void*), + const void* immediate_arg) { if (!descriptor_data) { op->ec_ = boost::asio::error::bad_descriptor; - post_immediate_completion(op, is_continuation); + on_immediate(op, is_continuation, immediate_arg); return; } @@ -206,7 +215,7 @@ void kqueue_reactor::start_op(int op_type, socket_type descriptor, if (descriptor_data->shutdown_) { - post_immediate_completion(op, is_continuation); + on_immediate(op, is_continuation, immediate_arg); return; } @@ -221,7 +230,7 @@ void kqueue_reactor::start_op(int op_type, socket_type descriptor, if (op->perform()) { descriptor_lock.unlock(); - scheduler_.post_immediate_completion(op, is_continuation); + on_immediate(op, is_continuation, immediate_arg); return; } @@ -240,7 +249,7 @@ void kqueue_reactor::start_op(int op_type, socket_type descriptor, { op->ec_ = boost::system::error_code(errno, boost::asio::error::get_system_category()); - scheduler_.post_immediate_completion(op, is_continuation); + on_immediate(op, is_continuation, immediate_arg); return; } } diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/null_event.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/null_event.ipp index 723bd85903..05be28eaff 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/null_event.ipp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/null_event.ipp @@ -2,7 +2,7 @@ // detail/impl/null_event.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/pipe_select_interrupter.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/pipe_select_interrupter.ipp index dc894eb796..52dd43f686 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/pipe_select_interrupter.ipp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/pipe_select_interrupter.ipp @@ -2,7 +2,7 @@ // detail/impl/pipe_select_interrupter.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/posix_event.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/posix_event.ipp index e987f09366..dfe20bcc38 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/posix_event.ipp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/posix_event.ipp @@ -2,7 +2,7 @@ // detail/impl/posix_event.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/posix_mutex.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/posix_mutex.ipp index 507c91d1af..743df56d40 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/posix_mutex.ipp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/posix_mutex.ipp @@ -2,7 +2,7 @@ // detail/impl/posix_mutex.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/posix_serial_port_service.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/posix_serial_port_service.ipp index 79e3afb7df..d96c4ba797 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/posix_serial_port_service.ipp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/posix_serial_port_service.ipp @@ -2,7 +2,7 @@ // detail/impl/posix_serial_port_service.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 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/contrib/restricted/boost/asio/include/boost/asio/detail/impl/posix_thread.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/posix_thread.ipp index 3f034c3d52..d14dcff749 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/posix_thread.ipp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/posix_thread.ipp @@ -2,7 +2,7 @@ // detail/impl/posix_thread.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/posix_tss_ptr.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/posix_tss_ptr.ipp index 7b26dc3a68..eb2cf7f59f 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/posix_tss_ptr.ipp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/posix_tss_ptr.ipp @@ -2,7 +2,7 @@ // detail/impl/posix_tss_ptr.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/reactive_descriptor_service.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/reactive_descriptor_service.ipp index 47e27885b4..d7be640f5d 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/reactive_descriptor_service.ipp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/reactive_descriptor_service.ipp @@ -2,7 +2,7 @@ // detail/impl/reactive_descriptor_service.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -198,10 +198,10 @@ boost::system::error_code reactive_descriptor_service::cancel( return ec; } -void reactive_descriptor_service::start_op( - reactive_descriptor_service::implementation_type& impl, - int op_type, reactor_op* op, bool is_continuation, - bool is_non_blocking, bool noop) +void reactive_descriptor_service::do_start_op(implementation_type& impl, + int op_type, reactor_op* op, bool is_continuation, bool is_non_blocking, + bool noop, void (*on_immediate)(operation* op, bool, const void*), + const void* immediate_arg) { if (!noop) { @@ -209,13 +209,13 @@ void reactive_descriptor_service::start_op( descriptor_ops::set_internal_non_blocking( impl.descriptor_, impl.state_, true, op->ec_)) { - reactor_.start_op(op_type, impl.descriptor_, - impl.reactor_data_, op, is_continuation, is_non_blocking); + reactor_.start_op(op_type, impl.descriptor_, impl.reactor_data_, op, + is_continuation, is_non_blocking, on_immediate, immediate_arg); return; } } - reactor_.post_immediate_completion(op, is_continuation); + on_immediate(op, is_continuation, immediate_arg); } } // namespace detail diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/reactive_socket_service_base.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/reactive_socket_service_base.ipp index de2c2f1745..7e40711b00 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/reactive_socket_service_base.ipp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/reactive_socket_service_base.ipp @@ -2,7 +2,7 @@ // detail/reactive_socket_service_base.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -234,10 +234,11 @@ boost::system::error_code reactive_socket_service_base::do_assign( return ec; } -void reactive_socket_service_base::start_op( - reactive_socket_service_base::base_implementation_type& impl, - int op_type, reactor_op* op, bool is_continuation, - bool is_non_blocking, bool noop) +void reactive_socket_service_base::do_start_op( + reactive_socket_service_base::base_implementation_type& impl, int op_type, + reactor_op* op, bool is_continuation, bool is_non_blocking, bool noop, + void (*on_immediate)(operation* op, bool, const void*), + const void* immediate_arg) { if (!noop) { @@ -245,31 +246,38 @@ void reactive_socket_service_base::start_op( || socket_ops::set_internal_non_blocking( impl.socket_, impl.state_, true, op->ec_)) { - reactor_.start_op(op_type, impl.socket_, - impl.reactor_data_, op, is_continuation, is_non_blocking); + reactor_.start_op(op_type, impl.socket_, impl.reactor_data_, op, + is_continuation, is_non_blocking, on_immediate, immediate_arg); return; } } - reactor_.post_immediate_completion(op, is_continuation); + on_immediate(op, is_continuation, immediate_arg); } -void reactive_socket_service_base::start_accept_op( +void reactive_socket_service_base::do_start_accept_op( reactive_socket_service_base::base_implementation_type& impl, - reactor_op* op, bool is_continuation, bool peer_is_open) + reactor_op* op, bool is_continuation, bool peer_is_open, + void (*on_immediate)(operation* op, bool, const void*), + const void* immediate_arg) { if (!peer_is_open) - start_op(impl, reactor::read_op, op, is_continuation, true, false); + { + do_start_op(impl, reactor::read_op, op, is_continuation, + true, false, on_immediate, immediate_arg); + } else { op->ec_ = boost::asio::error::already_open; - reactor_.post_immediate_completion(op, is_continuation); + on_immediate(op, is_continuation, immediate_arg); } } -void reactive_socket_service_base::start_connect_op( +void reactive_socket_service_base::do_start_connect_op( reactive_socket_service_base::base_implementation_type& impl, - reactor_op* op, bool is_continuation, const void* addr, size_t addrlen) + reactor_op* op, bool is_continuation, const void* addr, size_t addrlen, + void (*on_immediate)(operation* op, bool, const void*), + const void* immediate_arg) { if ((impl.state_ & socket_ops::non_blocking) || socket_ops::set_internal_non_blocking( @@ -281,14 +289,14 @@ void reactive_socket_service_base::start_connect_op( || op->ec_ == boost::asio::error::would_block) { op->ec_ = boost::system::error_code(); - reactor_.start_op(reactor::connect_op, impl.socket_, - impl.reactor_data_, op, is_continuation, false); + reactor_.start_op(reactor::connect_op, impl.socket_, impl.reactor_data_, + op, is_continuation, false, on_immediate, immediate_arg); return; } } } - reactor_.post_immediate_completion(op, is_continuation); + on_immediate(op, is_continuation, immediate_arg); } } // namespace detail diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/resolver_service_base.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/resolver_service_base.ipp index df22ee1ddb..5ce8eaa700 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/resolver_service_base.ipp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/resolver_service_base.ipp @@ -2,7 +2,7 @@ // detail/impl/resolver_service_base.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/scheduler.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/scheduler.ipp index 0ebc559926..28f34dddc9 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/scheduler.ipp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/scheduler.ipp @@ -2,7 +2,7 @@ // detail/impl/scheduler.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -328,6 +328,7 @@ void scheduler::restart() void scheduler::compensating_work_started() { thread_info_base* this_thread = thread_call_stack::contains(this); + BOOST_ASIO_ASSUME(this_thread != 0); // Only called from inside scheduler. ++static_cast<thread_info*>(this_thread)->private_outstanding_work; } diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/select_reactor.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/select_reactor.hpp index 187cb85252..b7d862a0a7 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/select_reactor.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/select_reactor.hpp @@ -2,7 +2,7 @@ // detail/impl/select_reactor.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -36,7 +36,7 @@ namespace asio { namespace detail { inline void select_reactor::post_immediate_completion( - reactor_op* op, bool is_continuation) + operation* op, bool is_continuation) const { scheduler_.post_immediate_completion(op, is_continuation); } diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/select_reactor.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/select_reactor.ipp index f8f9f54545..33887e2445 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/select_reactor.ipp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/select_reactor.ipp @@ -2,7 +2,7 @@ // detail/impl/select_reactor.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -152,15 +152,23 @@ void select_reactor::move_descriptor(socket_type, { } +void select_reactor::call_post_immediate_completion( + operation* op, bool is_continuation, const void* self) +{ + static_cast<const select_reactor*>(self)->post_immediate_completion( + op, is_continuation); +} + void select_reactor::start_op(int op_type, socket_type descriptor, - select_reactor::per_descriptor_data&, reactor_op* op, - bool is_continuation, bool) + select_reactor::per_descriptor_data&, reactor_op* op, bool is_continuation, + bool, void (*on_immediate)(operation*, bool, const void*), + const void* immediate_arg) { boost::asio::detail::mutex::scoped_lock lock(mutex_); if (shutdown_) { - post_immediate_completion(op, is_continuation); + on_immediate(op, is_continuation, immediate_arg); return; } diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/service_registry.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/service_registry.hpp index d2b9b9880e..fd9f707785 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/service_registry.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/service_registry.hpp @@ -2,7 +2,7 @@ // detail/impl/service_registry.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/service_registry.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/service_registry.ipp index 914b73e05d..8cb97b3c9a 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/service_registry.ipp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/service_registry.ipp @@ -2,7 +2,7 @@ // detail/impl/service_registry.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/signal_set_service.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/signal_set_service.ipp index c9061ee96f..695b688ce6 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/signal_set_service.ipp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/signal_set_service.ipp @@ -2,7 +2,7 @@ // detail/impl/signal_set_service.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -55,12 +55,16 @@ struct signal_state // A count of the number of objects that are registered for each signal. std::size_t registration_count_[max_signal_number]; + + // The flags used for each registered signal. + signal_set_base::flags_t flags_[max_signal_number]; }; signal_state* get_signal_state() { static signal_state state = { - BOOST_ASIO_STATIC_MUTEX_INIT, -1, -1, false, 0, { 0 } }; + BOOST_ASIO_STATIC_MUTEX_INIT, -1, -1, false, 0, + { 0 }, { signal_set_base::flags_t() } }; return &state; } @@ -307,8 +311,8 @@ void signal_set_service::destroy( } boost::system::error_code signal_set_service::add( - signal_set_service::implementation_type& impl, - int signal_number, boost::system::error_code& ec) + signal_set_service::implementation_type& impl, int signal_number, + signal_set_base::flags_t f, boost::system::error_code& ec) { // Check that the signal number is valid. if (signal_number < 0 || signal_number >= max_signal_number) @@ -317,6 +321,15 @@ boost::system::error_code signal_set_service::add( return ec; } + // Check that the specified flags are supported. +#if !defined(BOOST_ASIO_HAS_SIGACTION) + if (f != signal_set_base::flags::dont_care) + { + ec = boost::asio::error::operation_not_supported; + return ec; + } +#endif // !defined(BOOST_ASIO_HAS_SIGACTION) + signal_state* state = get_signal_state(); static_mutex::scoped_lock lock(state->mutex_); @@ -344,6 +357,8 @@ boost::system::error_code signal_set_service::add( memset(&sa, 0, sizeof(sa)); sa.sa_handler = boost_asio_signal_handler; sigfillset(&sa.sa_mask); + if (f != signal_set_base::flags::dont_care) + sa.sa_flags = static_cast<int>(f); if (::sigaction(signal_number, &sa, 0) == -1) # else // defined(BOOST_ASIO_HAS_SIGACTION) if (::signal(signal_number, boost_asio_signal_handler) == SIG_ERR) @@ -358,7 +373,37 @@ boost::system::error_code signal_set_service::add( delete new_registration; return ec; } +# if defined(BOOST_ASIO_HAS_SIGACTION) + state->flags_[signal_number] = f; +# endif // defined(BOOST_ASIO_HAS_SIGACTION) } +# if defined(BOOST_ASIO_HAS_SIGACTION) + // Otherwise check to see if the flags have changed. + else if (f != signal_set_base::flags::dont_care) + { + if (f != state->flags_[signal_number]) + { + using namespace std; // For memset. + if (state->flags_[signal_number] != signal_set_base::flags::dont_care) + { + ec = boost::asio::error::invalid_argument; + return ec; + } + struct sigaction sa; + memset(&sa, 0, sizeof(sa)); + sa.sa_handler = boost_asio_signal_handler; + sigfillset(&sa.sa_mask); + sa.sa_flags = static_cast<int>(f); + if (::sigaction(signal_number, &sa, 0) == -1) + { + ec = boost::system::error_code(errno, + boost::asio::error::get_system_category()); + return ec; + } + state->flags_[signal_number] = f; + } + } +# endif // defined(BOOST_ASIO_HAS_SIGACTION) #endif // defined(BOOST_ASIO_HAS_SIGNAL) || defined(BOOST_ASIO_HAS_SIGACTION) // Record the new registration in the set. @@ -427,6 +472,9 @@ boost::system::error_code signal_set_service::remove( # endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__) return ec; } +# if defined(BOOST_ASIO_HAS_SIGACTION) + state->flags_[signal_number] = signal_set_base::flags_t(); +# endif // defined(BOOST_ASIO_HAS_SIGACTION) } #endif // defined(BOOST_ASIO_HAS_SIGNAL) || defined(BOOST_ASIO_HAS_SIGACTION) @@ -481,6 +529,9 @@ boost::system::error_code signal_set_service::clear( # endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__) return ec; } +# if defined(BOOST_ASIO_HAS_SIGACTION) + state->flags_[reg->signal_number_] = signal_set_base::flags_t(); +# endif // defined(BOOST_ASIO_HAS_SIGACTION) } #endif // defined(BOOST_ASIO_HAS_SIGNAL) || defined(BOOST_ASIO_HAS_SIGACTION) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/socket_ops.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/socket_ops.ipp index 89be2f06fa..8bf2642119 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/socket_ops.ipp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/socket_ops.ipp @@ -2,7 +2,7 @@ // detail/impl/socket_ops.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/socket_select_interrupter.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/socket_select_interrupter.ipp index 0ad5d479aa..ca352008c8 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/socket_select_interrupter.ipp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/socket_select_interrupter.ipp @@ -2,7 +2,7 @@ // detail/impl/socket_select_interrupter.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/strand_executor_service.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/strand_executor_service.hpp index d0a7b820d4..8649dab05e 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/strand_executor_service.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/strand_executor_service.hpp @@ -2,7 +2,7 @@ // detail/impl/strand_executor_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/strand_executor_service.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/strand_executor_service.ipp index 70d72e2b80..de009063e2 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/strand_executor_service.ipp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/strand_executor_service.ipp @@ -2,7 +2,7 @@ // detail/impl/strand_executor_service.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/strand_service.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/strand_service.hpp index 0b3a8e4d72..070b1f70a1 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/strand_service.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/strand_service.hpp @@ -2,7 +2,7 @@ // detail/impl/strand_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/strand_service.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/strand_service.ipp index 51cb45d53c..c7e088b075 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/strand_service.ipp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/strand_service.ipp @@ -2,7 +2,7 @@ // detail/impl/strand_service.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/thread_context.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/thread_context.ipp index fcfcc88d7e..4ffbc509cb 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/thread_context.ipp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/thread_context.ipp @@ -2,7 +2,7 @@ // detail/impl/thread_context.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/throw_error.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/throw_error.ipp index 2b50d46e43..cee9ee76ed 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/throw_error.ipp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/throw_error.ipp @@ -2,7 +2,7 @@ // detail/impl/throw_error.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/timer_queue_ptime.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/timer_queue_ptime.ipp index b256caec74..ad0a10a283 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/timer_queue_ptime.ipp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/timer_queue_ptime.ipp @@ -2,7 +2,7 @@ // detail/impl/timer_queue_ptime.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/timer_queue_set.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/timer_queue_set.ipp index 5d61a4cb91..e1db229458 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/timer_queue_set.ipp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/timer_queue_set.ipp @@ -2,7 +2,7 @@ // detail/impl/timer_queue_set.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_event.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_event.ipp index 8245da06e0..c86600bd85 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_event.ipp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_event.ipp @@ -2,7 +2,7 @@ // detail/win_event.ipp // ~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_iocp_file_service.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_iocp_file_service.ipp index eeec9559e7..7e47a52139 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_iocp_file_service.ipp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_iocp_file_service.ipp @@ -2,7 +2,7 @@ // detail/impl/win_iocp_file_service.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the 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,7 +226,8 @@ uint64_t win_iocp_file_service::seek( method = FILE_BEGIN; break; case file_base::seek_cur: - method = FILE_CURRENT; + method = FILE_BEGIN; + offset = static_cast<int64_t>(impl.offset_) + offset; break; case file_base::seek_end: method = FILE_END; diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_iocp_handle_service.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_iocp_handle_service.ipp index 33c61def0e..96d07b6119 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_iocp_handle_service.ipp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_iocp_handle_service.ipp @@ -2,7 +2,7 @@ // detail/impl/win_iocp_handle_service.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 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/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_iocp_io_context.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_iocp_io_context.hpp index 932a3b3103..bec39abae1 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_iocp_io_context.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_iocp_io_context.hpp @@ -2,7 +2,7 @@ // detail/impl/win_iocp_io_context.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_iocp_io_context.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_iocp_io_context.ipp index 1b4f9187ab..1170b619d5 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_iocp_io_context.ipp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_iocp_io_context.ipp @@ -2,7 +2,7 @@ // detail/impl/win_iocp_io_context.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the 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,7 +52,7 @@ struct win_iocp_io_context::thread_function struct win_iocp_io_context::work_finished_on_block_exit { - ~work_finished_on_block_exit() + ~work_finished_on_block_exit() BOOST_ASIO_NOEXCEPT_IF(false) { io_context_->work_finished(); } @@ -169,7 +169,10 @@ void win_iocp_io_context::shutdown() } if (timer_thread_.get()) + { timer_thread_->join(); + timer_thread_.reset(); + } } boost::system::error_code win_iocp_io_context::register_handle( @@ -528,6 +531,7 @@ size_t win_iocp_io_context::do_one(DWORD msec, DWORD win_iocp_io_context::get_gqcs_timeout() { +#if !defined(_WIN32_WINNT) || (_WIN32_WINNT < 0x0600) OSVERSIONINFOEX osvi; ZeroMemory(&osvi, sizeof(osvi)); osvi.dwOSVersionInfoSize = sizeof(osvi); @@ -540,6 +544,9 @@ DWORD win_iocp_io_context::get_gqcs_timeout() return INFINITE; return default_gqcs_timeout; +#else // !defined(_WIN32_WINNT) || (_WIN32_WINNT < 0x0600) + return INFINITE; +#endif // !defined(_WIN32_WINNT) || (_WIN32_WINNT < 0x0600) } void win_iocp_io_context::do_add_timer_queue(timer_queue_base& queue) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_iocp_serial_port_service.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_iocp_serial_port_service.ipp index 713a61ab7e..3102a992d3 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_iocp_serial_port_service.ipp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_iocp_serial_port_service.ipp @@ -2,7 +2,7 @@ // detail/impl/win_iocp_serial_port_service.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 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/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_iocp_socket_service_base.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_iocp_socket_service_base.ipp index 65f05a663e..4b023168a7 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_iocp_socket_service_base.ipp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_iocp_socket_service_base.ipp @@ -2,7 +2,7 @@ // detail/impl/win_iocp_socket_service_base.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_mutex.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_mutex.ipp index f08bc8500f..eeb2931589 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_mutex.ipp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_mutex.ipp @@ -2,7 +2,7 @@ // detail/impl/win_mutex.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_object_handle_service.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_object_handle_service.ipp index 92b752f319..5fbd49eb4f 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_object_handle_service.ipp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_object_handle_service.ipp @@ -2,7 +2,7 @@ // detail/impl/win_object_handle_service.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 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/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_static_mutex.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_static_mutex.ipp index 6cad7f4ad3..aaef4dd025 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_static_mutex.ipp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_static_mutex.ipp @@ -2,7 +2,7 @@ // detail/impl/win_static_mutex.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_thread.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_thread.ipp index ee885ee0df..8a9241a689 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_thread.ipp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_thread.ipp @@ -2,7 +2,7 @@ // detail/impl/win_thread.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_tss_ptr.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_tss_ptr.ipp index 545aaf254c..580c7b7e9c 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_tss_ptr.ipp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_tss_ptr.ipp @@ -2,7 +2,7 @@ // detail/impl/win_tss_ptr.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/winrt_ssocket_service_base.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/winrt_ssocket_service_base.ipp index 27519d4b46..21198f6671 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/winrt_ssocket_service_base.ipp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/winrt_ssocket_service_base.ipp @@ -2,7 +2,7 @@ // detail/impl/winrt_ssocket_service_base.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/winrt_timer_scheduler.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/winrt_timer_scheduler.hpp index c8d42b82bd..4a3b230aba 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/winrt_timer_scheduler.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/winrt_timer_scheduler.hpp @@ -2,7 +2,7 @@ // detail/impl/winrt_timer_scheduler.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/winrt_timer_scheduler.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/winrt_timer_scheduler.ipp index acd3e22c4e..d294ac74d7 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/winrt_timer_scheduler.ipp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/winrt_timer_scheduler.ipp @@ -2,7 +2,7 @@ // detail/impl/winrt_timer_scheduler.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/winsock_init.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/winsock_init.ipp index 157f1de393..5331bdfdb1 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/winsock_init.ipp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/winsock_init.ipp @@ -2,7 +2,7 @@ // detail/impl/winsock_init.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/defer.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/initiate_defer.hpp index 6d4ed402f3..0cc55f74ec 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/impl/defer.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/initiate_defer.hpp @@ -1,15 +1,15 @@ // -// impl/defer.hpp -// ~~~~~~~~~~~~~~ +// detail/initiate_defer.hpp +// ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the 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 BOOST_ASIO_IMPL_DEFER_HPP -#define BOOST_ASIO_IMPL_DEFER_HPP +#ifndef BOOST_ASIO_DETAIL_INITIATE_DEFER_HPP +#define BOOST_ASIO_DETAIL_INITIATE_DEFER_HPP #if defined(_MSC_VER) && (_MSC_VER >= 1200) # pragma once @@ -246,55 +246,9 @@ private: }; } // namespace detail - -template <BOOST_ASIO_COMPLETION_TOKEN_FOR(void()) NullaryToken> -BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_PREFIX(NullaryToken, void()) defer( - BOOST_ASIO_MOVE_ARG(NullaryToken) token) - BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_SUFFIX(( - async_initiate<NullaryToken, void()>( - declval<detail::initiate_defer>(), token))) -{ - return async_initiate<NullaryToken, void()>( - detail::initiate_defer(), token); -} - -template <typename Executor, - BOOST_ASIO_COMPLETION_TOKEN_FOR(void()) NullaryToken> -BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_PREFIX(NullaryToken, void()) defer( - const Executor& ex, BOOST_ASIO_MOVE_ARG(NullaryToken) token, - typename constraint< - (execution::is_executor<Executor>::value - && can_require<Executor, execution::blocking_t::never_t>::value) - || is_executor<Executor>::value - >::type) - BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_SUFFIX(( - async_initiate<NullaryToken, void()>( - declval<detail::initiate_defer_with_executor<Executor> >(), token))) -{ - return async_initiate<NullaryToken, void()>( - detail::initiate_defer_with_executor<Executor>(ex), token); -} - -template <typename ExecutionContext, - BOOST_ASIO_COMPLETION_TOKEN_FOR(void()) NullaryToken> -inline BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_PREFIX(NullaryToken, void()) defer( - ExecutionContext& ctx, BOOST_ASIO_MOVE_ARG(NullaryToken) token, - typename constraint<is_convertible< - ExecutionContext&, execution_context&>::value>::type) - BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_SUFFIX(( - async_initiate<NullaryToken, void()>( - declval<detail::initiate_defer_with_executor< - typename ExecutionContext::executor_type> >(), token))) -{ - return async_initiate<NullaryToken, void()>( - detail::initiate_defer_with_executor< - typename ExecutionContext::executor_type>( - ctx.get_executor()), token); -} - } // namespace asio } // namespace boost #include <boost/asio/detail/pop_options.hpp> -#endif // BOOST_ASIO_IMPL_DEFER_HPP +#endif // BOOST_ASIO_DETAIL_INITIATE_DEFER_HPP diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/dispatch.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/initiate_dispatch.hpp index 4874f5725c..dfa801b753 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/impl/dispatch.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/initiate_dispatch.hpp @@ -1,15 +1,15 @@ // -// impl/dispatch.hpp -// ~~~~~~~~~~~~~~~~~ +// detail/initiate_dispatch.hpp +// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the 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 BOOST_ASIO_IMPL_DISPATCH_HPP -#define BOOST_ASIO_IMPL_DISPATCH_HPP +#ifndef BOOST_ASIO_DETAIL_INITIATE_DISPATCH_HPP +#define BOOST_ASIO_DETAIL_INITIATE_DISPATCH_HPP #if defined(_MSC_VER) && (_MSC_VER >= 1200) # pragma once @@ -223,53 +223,9 @@ private: }; } // namespace detail - -template <BOOST_ASIO_COMPLETION_TOKEN_FOR(void()) NullaryToken> -BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_PREFIX(NullaryToken, void()) dispatch( - BOOST_ASIO_MOVE_ARG(NullaryToken) token) - BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_SUFFIX(( - async_initiate<NullaryToken, void()>( - declval<detail::initiate_dispatch>(), token))) -{ - return async_initiate<NullaryToken, void()>( - detail::initiate_dispatch(), token); -} - -template <typename Executor, - BOOST_ASIO_COMPLETION_TOKEN_FOR(void()) NullaryToken> -BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_PREFIX(NullaryToken, void()) dispatch( - const Executor& ex, BOOST_ASIO_MOVE_ARG(NullaryToken) token, - typename constraint< - execution::is_executor<Executor>::value || is_executor<Executor>::value - >::type) - BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_SUFFIX(( - async_initiate<NullaryToken, void()>( - declval<detail::initiate_dispatch_with_executor<Executor> >(), token))) -{ - return async_initiate<NullaryToken, void()>( - detail::initiate_dispatch_with_executor<Executor>(ex), token); -} - -template <typename ExecutionContext, - BOOST_ASIO_COMPLETION_TOKEN_FOR(void()) NullaryToken> -inline BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_PREFIX(NullaryToken, void()) dispatch( - ExecutionContext& ctx, BOOST_ASIO_MOVE_ARG(NullaryToken) token, - typename constraint<is_convertible< - ExecutionContext&, execution_context&>::value>::type) - BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_SUFFIX(( - async_initiate<NullaryToken, void()>( - declval<detail::initiate_dispatch_with_executor< - typename ExecutionContext::executor_type> >(), token))) -{ - return async_initiate<NullaryToken, void()>( - detail::initiate_dispatch_with_executor< - typename ExecutionContext::executor_type>( - ctx.get_executor()), token); -} - } // namespace asio } // namespace boost #include <boost/asio/detail/pop_options.hpp> -#endif // BOOST_ASIO_IMPL_DISPATCH_HPP +#endif // BOOST_ASIO_DETAIL_INITIATE_DISPATCH_HPP diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/post.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/initiate_post.hpp index d2219d3e59..98886424dc 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/impl/post.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/initiate_post.hpp @@ -1,15 +1,15 @@ // -// impl/post.hpp -// ~~~~~~~~~~~~~ +// detail/initiate_post.hpp +// ~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the 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 BOOST_ASIO_IMPL_POST_HPP -#define BOOST_ASIO_IMPL_POST_HPP +#ifndef BOOST_ASIO_DETAIL_INITIATE_POST_HPP +#define BOOST_ASIO_DETAIL_INITIATE_POST_HPP #if defined(_MSC_VER) && (_MSC_VER >= 1200) # pragma once @@ -246,55 +246,9 @@ private: }; } // namespace detail - -template <BOOST_ASIO_COMPLETION_TOKEN_FOR(void()) NullaryToken> -BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_PREFIX(NullaryToken, void()) post( - BOOST_ASIO_MOVE_ARG(NullaryToken) token) - BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_SUFFIX(( - async_initiate<NullaryToken, void()>( - declval<detail::initiate_post>(), token))) -{ - return async_initiate<NullaryToken, void()>( - detail::initiate_post(), token); -} - -template <typename Executor, - BOOST_ASIO_COMPLETION_TOKEN_FOR(void()) NullaryToken> -BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_PREFIX(NullaryToken, void()) post( - const Executor& ex, BOOST_ASIO_MOVE_ARG(NullaryToken) token, - typename constraint< - (execution::is_executor<Executor>::value - && can_require<Executor, execution::blocking_t::never_t>::value) - || is_executor<Executor>::value - >::type) - BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_SUFFIX(( - async_initiate<NullaryToken, void()>( - declval<detail::initiate_post_with_executor<Executor> >(), token))) -{ - return async_initiate<NullaryToken, void()>( - detail::initiate_post_with_executor<Executor>(ex), token); -} - -template <typename ExecutionContext, - BOOST_ASIO_COMPLETION_TOKEN_FOR(void()) NullaryToken> -inline BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_PREFIX(NullaryToken, void()) post( - ExecutionContext& ctx, BOOST_ASIO_MOVE_ARG(NullaryToken) token, - typename constraint<is_convertible< - ExecutionContext&, execution_context&>::value>::type) - BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_SUFFIX(( - async_initiate<NullaryToken, void()>( - declval<detail::initiate_post_with_executor< - typename ExecutionContext::executor_type> >(), token))) -{ - return async_initiate<NullaryToken, void()>( - detail::initiate_post_with_executor< - typename ExecutionContext::executor_type>( - ctx.get_executor()), token); -} - } // namespace asio } // namespace boost #include <boost/asio/detail/pop_options.hpp> -#endif // BOOST_ASIO_IMPL_POST_HPP +#endif // BOOST_ASIO_DETAIL_INITIATE_POST_HPP diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/io_control.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/io_control.hpp index 185b2033fb..efcd161a1e 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/io_control.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/io_control.hpp @@ -2,7 +2,7 @@ // detail/io_control.hpp // ~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/io_object_impl.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/io_object_impl.hpp index 844fbcf3dd..e48769349e 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/io_object_impl.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/io_object_impl.hpp @@ -2,7 +2,7 @@ // io_object_impl.hpp // ~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_descriptor_read_at_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_descriptor_read_at_op.hpp index c8dc865465..04c9e4f197 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_descriptor_read_at_op.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_descriptor_read_at_op.hpp @@ -2,7 +2,7 @@ // detail/io_uring_descriptor_read_at_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -55,6 +55,7 @@ public: static void do_prepare(io_uring_operation* base, ::io_uring_sqe* sqe) { + BOOST_ASIO_ASSUME(base != 0); io_uring_descriptor_read_at_op_base* o( static_cast<io_uring_descriptor_read_at_op_base*>(base)); @@ -77,6 +78,7 @@ public: static bool do_perform(io_uring_operation* base, bool after_completion) { + BOOST_ASIO_ASSUME(base != 0); io_uring_descriptor_read_at_op_base* o( static_cast<io_uring_descriptor_read_at_op_base*>(base)); @@ -144,6 +146,7 @@ public: std::size_t /*bytes_transferred*/) { // Take ownership of the handler object. + BOOST_ASIO_ASSUME(base != 0); io_uring_descriptor_read_at_op* o (static_cast<io_uring_descriptor_read_at_op*>(base)); ptr p = { boost::asio::detail::addressof(o->handler_), o, o }; diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_descriptor_read_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_descriptor_read_op.hpp index 855e388337..2457541147 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_descriptor_read_op.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_descriptor_read_op.hpp @@ -2,7 +2,7 @@ // detail/io_uring_descriptor_read_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the 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,6 +52,7 @@ public: static void do_prepare(io_uring_operation* base, ::io_uring_sqe* sqe) { + BOOST_ASIO_ASSUME(base != 0); io_uring_descriptor_read_op_base* o( static_cast<io_uring_descriptor_read_op_base*>(base)); @@ -74,6 +75,7 @@ public: static bool do_perform(io_uring_operation* base, bool after_completion) { + BOOST_ASIO_ASSUME(base != 0); io_uring_descriptor_read_op_base* o( static_cast<io_uring_descriptor_read_op_base*>(base)); @@ -139,6 +141,7 @@ public: std::size_t /*bytes_transferred*/) { // Take ownership of the handler object. + BOOST_ASIO_ASSUME(base != 0); io_uring_descriptor_read_op* o (static_cast<io_uring_descriptor_read_op*>(base)); ptr p = { boost::asio::detail::addressof(o->handler_), o, o }; diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_descriptor_service.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_descriptor_service.hpp index 429c2748bc..91be2ac818 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_descriptor_service.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_descriptor_service.hpp @@ -2,7 +2,7 @@ // detail/io_uring_descriptor_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -120,6 +120,14 @@ public: // Release ownership of the native descriptor representation. BOOST_ASIO_DECL native_handle_type release(implementation_type& impl); + // Release ownership of the native descriptor representation. + native_handle_type release(implementation_type& impl, + boost::system::error_code& ec) + { + ec = success_ec_; + return release(impl); + } + // Cancel all operations associated with the descriptor. BOOST_ASIO_DECL boost::system::error_code cancel(implementation_type& impl, boost::system::error_code& ec); diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_descriptor_write_at_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_descriptor_write_at_op.hpp index 2708eda7ba..3cf22040fc 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_descriptor_write_at_op.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_descriptor_write_at_op.hpp @@ -2,7 +2,7 @@ // detail/io_uring_descriptor_write_at_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -54,6 +54,7 @@ public: static void do_prepare(io_uring_operation* base, ::io_uring_sqe* sqe) { + BOOST_ASIO_ASSUME(base != 0); io_uring_descriptor_write_at_op_base* o( static_cast<io_uring_descriptor_write_at_op_base*>(base)); @@ -76,6 +77,7 @@ public: static bool do_perform(io_uring_operation* base, bool after_completion) { + BOOST_ASIO_ASSUME(base != 0); io_uring_descriptor_write_at_op_base* o( static_cast<io_uring_descriptor_write_at_op_base*>(base)); @@ -138,6 +140,7 @@ public: std::size_t /*bytes_transferred*/) { // Take ownership of the handler object. + BOOST_ASIO_ASSUME(base != 0); io_uring_descriptor_write_at_op* o (static_cast<io_uring_descriptor_write_at_op*>(base)); ptr p = { boost::asio::detail::addressof(o->handler_), o, o }; diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_descriptor_write_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_descriptor_write_op.hpp index 57082b4e1b..1bd7d4a0cb 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_descriptor_write_op.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_descriptor_write_op.hpp @@ -2,7 +2,7 @@ // detail/io_uring_descriptor_write_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the 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,6 +52,7 @@ public: static void do_prepare(io_uring_operation* base, ::io_uring_sqe* sqe) { + BOOST_ASIO_ASSUME(base != 0); io_uring_descriptor_write_op_base* o( static_cast<io_uring_descriptor_write_op_base*>(base)); @@ -74,6 +75,7 @@ public: static bool do_perform(io_uring_operation* base, bool after_completion) { + BOOST_ASIO_ASSUME(base != 0); io_uring_descriptor_write_op_base* o( static_cast<io_uring_descriptor_write_op_base*>(base)); @@ -134,6 +136,7 @@ public: std::size_t /*bytes_transferred*/) { // Take ownership of the handler object. + BOOST_ASIO_ASSUME(base != 0); io_uring_descriptor_write_op* o (static_cast<io_uring_descriptor_write_op*>(base)); ptr p = { boost::asio::detail::addressof(o->handler_), o, o }; diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_file_service.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_file_service.hpp index d1b97fb3c1..142d62e8aa 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_file_service.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_file_service.hpp @@ -2,7 +2,7 @@ // detail/io_uring_file_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -132,8 +132,7 @@ public: native_handle_type release(implementation_type& impl, boost::system::error_code& ec) { - ec = success_ec_; - return descriptor_service_.release(impl); + return descriptor_service_.release(impl, ec); } // Cancel all operations associated with the file. diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_null_buffers_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_null_buffers_op.hpp index a3c47090eb..1d9ebbfbf3 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_null_buffers_op.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_null_buffers_op.hpp @@ -2,7 +2,7 @@ // detail/io_uring_null_buffers_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -51,6 +51,7 @@ public: static void do_prepare(io_uring_operation* base, ::io_uring_sqe* sqe) { + BOOST_ASIO_ASSUME(base != 0); io_uring_null_buffers_op* o(static_cast<io_uring_null_buffers_op*>(base)); ::io_uring_prep_poll_add(sqe, o->descriptor_, o->poll_flags_); @@ -66,6 +67,7 @@ public: std::size_t /*bytes_transferred*/) { // Take ownership of the handler object. + BOOST_ASIO_ASSUME(base != 0); io_uring_null_buffers_op* o(static_cast<io_uring_null_buffers_op*>(base)); ptr p = { boost::asio::detail::addressof(o->handler_), o, o }; diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_operation.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_operation.hpp index 4d49f138fb..56258edb58 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_operation.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_operation.hpp @@ -2,7 +2,7 @@ // detail/io_uring_operation.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_service.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_service.hpp index a48796c2fd..51bc0d273b 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_service.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_service.hpp @@ -2,7 +2,7 @@ // detail/io_uring_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -213,8 +213,9 @@ private: BOOST_ASIO_DECL void free_io_object(io_object* s); // Helper function to cancel all operations associated with the given I/O - // object. This function does not acquire the I/O object's mutex. - BOOST_ASIO_DECL void do_cancel_ops( + // object. This function must be called while the I/O object's mutex is held. + // Returns true if there are operations for which cancellation is pending. + BOOST_ASIO_DECL bool do_cancel_ops( per_io_object_data& io_obj, op_queue<operation>& ops); // Helper function to add a new timer queue. diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_socket_accept_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_socket_accept_op.hpp index ee66fb2b60..cffcf8255b 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_socket_accept_op.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_socket_accept_op.hpp @@ -2,7 +2,7 @@ // detail/io_uring_socket_accept_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the 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,6 +57,7 @@ public: static void do_prepare(io_uring_operation* base, ::io_uring_sqe* sqe) { + BOOST_ASIO_ASSUME(base != 0); io_uring_socket_accept_op_base* o( static_cast<io_uring_socket_accept_op_base*>(base)); @@ -74,6 +75,7 @@ public: static bool do_perform(io_uring_operation* base, bool after_completion) { + BOOST_ASIO_ASSUME(base != 0); io_uring_socket_accept_op_base* o( static_cast<io_uring_socket_accept_op_base*>(base)); @@ -148,6 +150,7 @@ public: std::size_t /*bytes_transferred*/) { // Take ownership of the handler object. + BOOST_ASIO_ASSUME(base != 0); io_uring_socket_accept_op* o(static_cast<io_uring_socket_accept_op*>(base)); ptr p = { boost::asio::detail::addressof(o->handler_), o, o }; @@ -222,6 +225,7 @@ public: std::size_t /*bytes_transferred*/) { // Take ownership of the handler object. + BOOST_ASIO_ASSUME(base != 0); io_uring_socket_move_accept_op* o( static_cast<io_uring_socket_move_accept_op*>(base)); ptr p = { boost::asio::detail::addressof(o->handler_), o, o }; diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_socket_connect_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_socket_connect_op.hpp index 70d818ef3a..37c946ca25 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_socket_connect_op.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_socket_connect_op.hpp @@ -2,7 +2,7 @@ // detail/io_uring_socket_connect_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -51,6 +51,7 @@ public: static void do_prepare(io_uring_operation* base, ::io_uring_sqe* sqe) { + BOOST_ASIO_ASSUME(base != 0); io_uring_socket_connect_op_base* o( static_cast<io_uring_socket_connect_op_base*>(base)); @@ -91,6 +92,7 @@ public: std::size_t /*bytes_transferred*/) { // Take ownership of the handler object. + BOOST_ASIO_ASSUME(base != 0); io_uring_socket_connect_op* o (static_cast<io_uring_socket_connect_op*>(base)); ptr p = { boost::asio::detail::addressof(o->handler_), o, o }; diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_socket_recv_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_socket_recv_op.hpp index 68f48b5c15..eb437856de 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_socket_recv_op.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_socket_recv_op.hpp @@ -2,7 +2,7 @@ // detail/io_uring_socket_recv_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the 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,6 +57,7 @@ public: static void do_prepare(io_uring_operation* base, ::io_uring_sqe* sqe) { + BOOST_ASIO_ASSUME(base != 0); io_uring_socket_recv_op_base* o( static_cast<io_uring_socket_recv_op_base*>(base)); @@ -80,6 +81,7 @@ public: static bool do_perform(io_uring_operation* base, bool after_completion) { + BOOST_ASIO_ASSUME(base != 0); io_uring_socket_recv_op_base* o( static_cast<io_uring_socket_recv_op_base*>(base)); @@ -154,6 +156,7 @@ public: std::size_t /*bytes_transferred*/) { // Take ownership of the handler object. + BOOST_ASIO_ASSUME(base != 0); io_uring_socket_recv_op* o (static_cast<io_uring_socket_recv_op*>(base)); ptr p = { boost::asio::detail::addressof(o->handler_), o, o }; diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_socket_recvfrom_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_socket_recvfrom_op.hpp index 131134f42f..67aa18bfbc 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_socket_recvfrom_op.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_socket_recvfrom_op.hpp @@ -2,7 +2,7 @@ // detail/io_uring_socket_recvfrom_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -61,6 +61,7 @@ public: static void do_prepare(io_uring_operation* base, ::io_uring_sqe* sqe) { + BOOST_ASIO_ASSUME(base != 0); io_uring_socket_recvfrom_op_base* o( static_cast<io_uring_socket_recvfrom_op_base*>(base)); @@ -77,6 +78,7 @@ public: static bool do_perform(io_uring_operation* base, bool after_completion) { + BOOST_ASIO_ASSUME(base != 0); io_uring_socket_recvfrom_op_base* o( static_cast<io_uring_socket_recvfrom_op_base*>(base)); @@ -155,6 +157,7 @@ public: std::size_t /*bytes_transferred*/) { // Take ownership of the handler object. + BOOST_ASIO_ASSUME(base != 0); io_uring_socket_recvfrom_op* o (static_cast<io_uring_socket_recvfrom_op*>(base)); ptr p = { boost::asio::detail::addressof(o->handler_), o, o }; diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_socket_recvmsg_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_socket_recvmsg_op.hpp index db911b0884..49c58fdda6 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_socket_recvmsg_op.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_socket_recvmsg_op.hpp @@ -2,7 +2,7 @@ // detail/io_uring_socket_recvmsg_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -58,6 +58,7 @@ public: static void do_prepare(io_uring_operation* base, ::io_uring_sqe* sqe) { + BOOST_ASIO_ASSUME(base != 0); io_uring_socket_recvmsg_op_base* o( static_cast<io_uring_socket_recvmsg_op_base*>(base)); @@ -74,6 +75,7 @@ public: static bool do_perform(io_uring_operation* base, bool after_completion) { + BOOST_ASIO_ASSUME(base != 0); io_uring_socket_recvmsg_op_base* o( static_cast<io_uring_socket_recvmsg_op_base*>(base)); @@ -141,6 +143,7 @@ public: std::size_t /*bytes_transferred*/) { // Take ownership of the handler object. + BOOST_ASIO_ASSUME(base != 0); io_uring_socket_recvmsg_op* o (static_cast<io_uring_socket_recvmsg_op*>(base)); ptr p = { boost::asio::detail::addressof(o->handler_), o, o }; diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_socket_send_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_socket_send_op.hpp index 6658a4b6bf..e0d2756c3c 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_socket_send_op.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_socket_send_op.hpp @@ -2,7 +2,7 @@ // detail/io_uring_socket_send_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the 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,6 +57,7 @@ public: static void do_prepare(io_uring_operation* base, ::io_uring_sqe* sqe) { + BOOST_ASIO_ASSUME(base != 0); io_uring_socket_send_op_base* o( static_cast<io_uring_socket_send_op_base*>(base)); @@ -79,6 +80,7 @@ public: static bool do_perform(io_uring_operation* base, bool after_completion) { + BOOST_ASIO_ASSUME(base != 0); io_uring_socket_send_op_base* o( static_cast<io_uring_socket_send_op_base*>(base)); @@ -140,6 +142,7 @@ public: std::size_t /*bytes_transferred*/) { // Take ownership of the handler object. + BOOST_ASIO_ASSUME(base != 0); io_uring_socket_send_op* o (static_cast<io_uring_socket_send_op*>(base)); ptr p = { boost::asio::detail::addressof(o->handler_), o, o }; diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_socket_sendto_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_socket_sendto_op.hpp index f7ebd2aeb2..cb1d98e69c 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_socket_sendto_op.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_socket_sendto_op.hpp @@ -2,7 +2,7 @@ // detail/io_uring_socket_sendto_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -61,6 +61,7 @@ public: static void do_prepare(io_uring_operation* base, ::io_uring_sqe* sqe) { + BOOST_ASIO_ASSUME(base != 0); io_uring_socket_sendto_op_base* o( static_cast<io_uring_socket_sendto_op_base*>(base)); @@ -76,6 +77,7 @@ public: static bool do_perform(io_uring_operation* base, bool after_completion) { + BOOST_ASIO_ASSUME(base != 0); io_uring_socket_sendto_op_base* o( static_cast<io_uring_socket_sendto_op_base*>(base)); @@ -143,6 +145,7 @@ public: std::size_t /*bytes_transferred*/) { // Take ownership of the handler object. + BOOST_ASIO_ASSUME(base != 0); io_uring_socket_sendto_op* o (static_cast<io_uring_socket_sendto_op*>(base)); ptr p = { boost::asio::detail::addressof(o->handler_), o, o }; diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_socket_service.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_socket_service.hpp index 04f65df2ae..5193e19e8b 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_socket_service.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_socket_service.hpp @@ -2,7 +2,7 @@ // detail/io_uring_socket_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_socket_service_base.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_socket_service_base.hpp index 40c1fa26ef..53d3a68933 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_socket_service_base.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_socket_service_base.hpp @@ -2,7 +2,7 @@ // detail/io_uring_socket_service_base.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_wait_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_wait_op.hpp index 53e459bc6b..bf1a9efb3c 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_wait_op.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_wait_op.hpp @@ -2,7 +2,7 @@ // detail/io_uring_wait_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -49,6 +49,7 @@ public: static void do_prepare(io_uring_operation* base, ::io_uring_sqe* sqe) { + BOOST_ASIO_ASSUME(base != 0); io_uring_wait_op* o(static_cast<io_uring_wait_op*>(base)); ::io_uring_prep_poll_add(sqe, o->descriptor_, o->poll_flags_); @@ -64,6 +65,7 @@ public: std::size_t /*bytes_transferred*/) { // Take ownership of the handler object. + BOOST_ASIO_ASSUME(base != 0); io_uring_wait_op* o(static_cast<io_uring_wait_op*>(base)); ptr p = { boost::asio::detail::addressof(o->handler_), o, o }; diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/is_buffer_sequence.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/is_buffer_sequence.hpp index 16c62596f1..df4f5b70c9 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/is_buffer_sequence.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/is_buffer_sequence.hpp @@ -2,7 +2,7 @@ // detail/is_buffer_sequence.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/is_executor.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/is_executor.hpp index 326480e3d8..8d3f3468aa 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/is_executor.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/is_executor.hpp @@ -2,7 +2,7 @@ // detail/is_executor.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/keyword_tss_ptr.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/keyword_tss_ptr.hpp index a72e3c0929..6b8e3b7d18 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/keyword_tss_ptr.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/keyword_tss_ptr.hpp @@ -2,7 +2,7 @@ // detail/keyword_tss_ptr.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/kqueue_reactor.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/kqueue_reactor.hpp index 89f99f98f8..665914333b 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/kqueue_reactor.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/kqueue_reactor.hpp @@ -2,7 +2,7 @@ // detail/kqueue_reactor.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 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 @@ -117,13 +117,30 @@ public: per_descriptor_data& source_descriptor_data); // Post a reactor operation for immediate completion. - void post_immediate_completion(operation* op, bool is_continuation); + void post_immediate_completion(operation* op, bool is_continuation) const; + + // Post a reactor operation for immediate completion. + BOOST_ASIO_DECL static void call_post_immediate_completion( + operation* op, bool is_continuation, const void* self); // Start a new operation. The reactor operation will be performed when the // given descriptor is flagged as ready, or an error has occurred. BOOST_ASIO_DECL void start_op(int op_type, socket_type descriptor, per_descriptor_data& descriptor_data, reactor_op* op, - bool is_continuation, bool allow_speculative); + bool is_continuation, bool allow_speculative, + void (*on_immediate)(operation*, bool, const void*), + const void* immediate_arg); + + // Start a new operation. The reactor operation will be performed when the + // given descriptor is flagged as ready, or an error has occurred. + void start_op(int op_type, socket_type descriptor, + per_descriptor_data& descriptor_data, reactor_op* op, + bool is_continuation, bool allow_speculative) + { + start_op(op_type, descriptor, descriptor_data, + op, is_continuation, allow_speculative, + &kqueue_reactor::call_post_immediate_completion, this); + } // Cancel all operations associated with the given descriptor. The // handlers associated with the descriptor will be invoked with the diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/local_free_on_block_exit.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/local_free_on_block_exit.hpp index 073a1c31ca..900b5c2528 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/local_free_on_block_exit.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/local_free_on_block_exit.hpp @@ -2,7 +2,7 @@ // detail/local_free_on_block_exit.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/macos_fenced_block.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/macos_fenced_block.hpp index 42636121e7..0fba52894f 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/macos_fenced_block.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/macos_fenced_block.hpp @@ -2,7 +2,7 @@ // detail/macos_fenced_block.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/memory.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/memory.hpp index e8828e2c7b..5aec12fc11 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/memory.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/memory.hpp @@ -2,7 +2,7 @@ // detail/memory.hpp // ~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/mutex.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/mutex.hpp index 0c5a4dea7b..3aab47c084 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/mutex.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/mutex.hpp @@ -2,7 +2,7 @@ // detail/mutex.hpp // ~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/non_const_lvalue.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/non_const_lvalue.hpp index 05e2821a13..7b05815c02 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/non_const_lvalue.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/non_const_lvalue.hpp @@ -2,7 +2,7 @@ // detail/non_const_lvalue.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/noncopyable.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/noncopyable.hpp index d08d779e0c..4c625a0241 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/noncopyable.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/noncopyable.hpp @@ -2,7 +2,7 @@ // detail/noncopyable.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/null_event.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/null_event.hpp index 4f9d4c7845..1a6dcb7090 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/null_event.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/null_event.hpp @@ -2,7 +2,7 @@ // detail/null_event.hpp // ~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/null_fenced_block.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/null_fenced_block.hpp index 1f8cf227f2..d79edc3173 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/null_fenced_block.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/null_fenced_block.hpp @@ -2,7 +2,7 @@ // detail/null_fenced_block.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/null_global.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/null_global.hpp index 686390382c..c65c77d1b2 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/null_global.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/null_global.hpp @@ -2,7 +2,7 @@ // detail/null_global.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/null_mutex.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/null_mutex.hpp index 4517c51050..c43168f066 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/null_mutex.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/null_mutex.hpp @@ -2,7 +2,7 @@ // detail/null_mutex.hpp // ~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/null_reactor.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/null_reactor.hpp index 7af42b2959..fde40d70f0 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/null_reactor.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/null_reactor.hpp @@ -2,7 +2,7 @@ // detail/null_reactor.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/null_signal_blocker.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/null_signal_blocker.hpp index cf0fc1c931..14d6807ae9 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/null_signal_blocker.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/null_signal_blocker.hpp @@ -2,7 +2,7 @@ // detail/null_signal_blocker.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/null_socket_service.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/null_socket_service.hpp index f43ddf949c..551f3febf9 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/null_socket_service.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/null_socket_service.hpp @@ -2,7 +2,7 @@ // detail/null_socket_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/null_static_mutex.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/null_static_mutex.hpp index ab7206a728..08f31aa805 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/null_static_mutex.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/null_static_mutex.hpp @@ -2,7 +2,7 @@ // detail/null_static_mutex.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/null_thread.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/null_thread.hpp index d9759dd416..973535718d 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/null_thread.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/null_thread.hpp @@ -2,7 +2,7 @@ // detail/null_thread.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/null_tss_ptr.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/null_tss_ptr.hpp index f31d192fa9..4f7738934d 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/null_tss_ptr.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/null_tss_ptr.hpp @@ -2,7 +2,7 @@ // detail/null_tss_ptr.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/object_pool.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/object_pool.hpp index 9573f9595f..4243e90a72 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/object_pool.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/object_pool.hpp @@ -2,7 +2,7 @@ // detail/object_pool.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/old_win_sdk_compat.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/old_win_sdk_compat.hpp index 780570020a..d494ac251e 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/old_win_sdk_compat.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/old_win_sdk_compat.hpp @@ -2,7 +2,7 @@ // detail/old_win_sdk_compat.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/op_queue.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/op_queue.hpp index c946032658..4f7b14250b 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/op_queue.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/op_queue.hpp @@ -2,7 +2,7 @@ // detail/op_queue.hpp // ~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/operation.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/operation.hpp index d52afc5fcd..088a92a404 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/operation.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/operation.hpp @@ -2,7 +2,7 @@ // detail/operation.hpp // ~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/pipe_select_interrupter.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/pipe_select_interrupter.hpp index 4360dacbd0..141818764e 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/pipe_select_interrupter.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/pipe_select_interrupter.hpp @@ -2,7 +2,7 @@ // detail/pipe_select_interrupter.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/pop_options.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/pop_options.hpp index e73dea0d16..b119ae80fb 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/pop_options.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/pop_options.hpp @@ -2,7 +2,7 @@ // detail/pop_options.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/posix_event.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/posix_event.hpp index a832dc5212..caf80e70b5 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/posix_event.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/posix_event.hpp @@ -2,7 +2,7 @@ // detail/posix_event.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/posix_fd_set_adapter.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/posix_fd_set_adapter.hpp index 7d3151594d..3cd3887c0f 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/posix_fd_set_adapter.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/posix_fd_set_adapter.hpp @@ -2,7 +2,7 @@ // detail/posix_fd_set_adapter.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/posix_global.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/posix_global.hpp index 9ac9f4895e..3e9e3a380f 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/posix_global.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/posix_global.hpp @@ -2,7 +2,7 @@ // detail/posix_global.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/posix_mutex.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/posix_mutex.hpp index ad0354acfe..6c09b8445e 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/posix_mutex.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/posix_mutex.hpp @@ -2,7 +2,7 @@ // detail/posix_mutex.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/posix_serial_port_service.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/posix_serial_port_service.hpp index c4e8490451..61552c95e5 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/posix_serial_port_service.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/posix_serial_port_service.hpp @@ -2,7 +2,7 @@ // detail/posix_serial_port_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 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/contrib/restricted/boost/asio/include/boost/asio/detail/posix_signal_blocker.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/posix_signal_blocker.hpp index 62173c4c37..168fe351d8 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/posix_signal_blocker.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/posix_signal_blocker.hpp @@ -2,7 +2,7 @@ // detail/posix_signal_blocker.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/posix_static_mutex.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/posix_static_mutex.hpp index 2faf5f22d3..a722ae82f0 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/posix_static_mutex.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/posix_static_mutex.hpp @@ -2,7 +2,7 @@ // detail/posix_static_mutex.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/posix_thread.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/posix_thread.hpp index 23c5b6e7f1..b5f12d14be 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/posix_thread.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/posix_thread.hpp @@ -2,7 +2,7 @@ // detail/posix_thread.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/posix_tss_ptr.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/posix_tss_ptr.hpp index 224bef78cb..9d8560d62e 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/posix_tss_ptr.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/posix_tss_ptr.hpp @@ -2,7 +2,7 @@ // detail/posix_tss_ptr.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/push_options.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/push_options.hpp index b8edfaa4a5..8c3982a760 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/push_options.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/push_options.hpp @@ -2,7 +2,7 @@ // detail/push_options.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_descriptor_service.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_descriptor_service.hpp index 09f5a5d072..3a0e8b6e88 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_descriptor_service.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_descriptor_service.hpp @@ -2,7 +2,7 @@ // detail/reactive_descriptor_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -23,6 +23,7 @@ && !defined(BOOST_ASIO_HAS_IO_URING_AS_DEFAULT) #include <boost/asio/associated_cancellation_slot.hpp> +#include <boost/asio/associated_immediate_executor.hpp> #include <boost/asio/buffer.hpp> #include <boost/asio/cancellation_type.hpp> #include <boost/asio/execution_context.hpp> @@ -228,19 +229,20 @@ public: switch (w) { case posix::descriptor_base::wait_read: - op_type = reactor::read_op; - break; + op_type = reactor::read_op; + break; case posix::descriptor_base::wait_write: - op_type = reactor::write_op; - break; + op_type = reactor::write_op; + break; case posix::descriptor_base::wait_error: - op_type = reactor::except_op; - break; - default: - p.p->ec_ = boost::asio::error::invalid_argument; - reactor_.post_immediate_completion(p.p, is_continuation); - p.v = p.p = 0; - return; + op_type = reactor::except_op; + break; + default: + p.p->ec_ = boost::asio::error::invalid_argument; + start_op(impl, reactor::read_op, p.p, + is_continuation, false, true, &io_ex, 0); + p.v = p.p = 0; + return; } // Optionally register for per-operation cancellation. @@ -251,7 +253,7 @@ public: &reactor_, &impl.reactor_data_, impl.descriptor_, op_type); } - start_op(impl, op_type, p.p, is_continuation, false, false); + start_op(impl, op_type, p.p, is_continuation, false, false, &io_ex, 0); p.v = p.p = 0; } @@ -325,7 +327,7 @@ public: start_op(impl, reactor::write_op, p.p, is_continuation, true, buffer_sequence_adapter<boost::asio::const_buffer, - ConstBufferSequence>::all_empty(buffers)); + ConstBufferSequence>::all_empty(buffers), &io_ex, 0); p.v = p.p = 0; } @@ -358,7 +360,8 @@ public: BOOST_ASIO_HANDLER_CREATION((reactor_.context(), *p.p, "descriptor", &impl, impl.descriptor_, "async_write_some(null_buffers)")); - start_op(impl, reactor::write_op, p.p, is_continuation, false, false); + start_op(impl, reactor::write_op, p.p, + is_continuation, false, false, &io_ex, 0); p.v = p.p = 0; } @@ -433,7 +436,7 @@ public: start_op(impl, reactor::read_op, p.p, is_continuation, true, buffer_sequence_adapter<boost::asio::mutable_buffer, - MutableBufferSequence>::all_empty(buffers)); + MutableBufferSequence>::all_empty(buffers), &io_ex, 0); p.v = p.p = 0; } @@ -466,14 +469,47 @@ public: BOOST_ASIO_HANDLER_CREATION((reactor_.context(), *p.p, "descriptor", &impl, impl.descriptor_, "async_read_some(null_buffers)")); - start_op(impl, reactor::read_op, p.p, is_continuation, false, false); + start_op(impl, reactor::read_op, p.p, + is_continuation, false, false, &io_ex, 0); p.v = p.p = 0; } private: // Start the asynchronous operation. - BOOST_ASIO_DECL void start_op(implementation_type& impl, int op_type, - reactor_op* op, bool is_continuation, bool is_non_blocking, bool noop); + BOOST_ASIO_DECL void do_start_op(implementation_type& impl, int op_type, + reactor_op* op, bool is_continuation, bool is_non_blocking, bool noop, + void (*on_immediate)(operation* op, bool, const void*), + const void* immediate_arg); + + // Start the asynchronous operation for handlers that are specialised for + // immediate completion. + template <typename Op> + void start_op(implementation_type& impl, int op_type, Op* op, + bool is_continuation, bool is_non_blocking, bool noop, + const void* io_ex, ...) + { + return do_start_op(impl, op_type, op, is_continuation, + is_non_blocking, noop, &Op::do_immediate, io_ex); + } + + // Start the asynchronous operation for handlers that are not specialised for + // immediate completion. + template <typename Op> + void start_op(implementation_type& impl, int op_type, Op* op, + bool is_continuation, bool is_non_blocking, bool noop, const void*, + typename enable_if< + is_same< + typename associated_immediate_executor< + typename Op::handler_type, + typename Op::io_executor_type + >::asio_associated_immediate_executor_is_unspecialised, + void + >::value + >::type*) + { + return do_start_op(impl, op_type, op, is_continuation, is_non_blocking, + noop, &reactor::call_post_immediate_completion, &reactor_); + } // Helper class used to implement per-operation cancellation class reactor_op_cancellation diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_null_buffers_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_null_buffers_op.hpp index b39eed530e..23824b8697 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_null_buffers_op.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_null_buffers_op.hpp @@ -2,7 +2,7 @@ // detail/reactive_null_buffers_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -34,6 +34,9 @@ template <typename Handler, typename IoExecutor> class reactive_null_buffers_op : public reactor_op { public: + typedef Handler handler_type; + typedef IoExecutor io_executor_type; + BOOST_ASIO_DEFINE_HANDLER_PTR(reactive_null_buffers_op); reactive_null_buffers_op(const boost::system::error_code& success_ec, @@ -55,6 +58,7 @@ public: std::size_t /*bytes_transferred*/) { // Take ownership of the handler object. + BOOST_ASIO_ASSUME(base != 0); reactive_null_buffers_op* o(static_cast<reactive_null_buffers_op*>(base)); ptr p = { boost::asio::detail::addressof(o->handler_), o, o }; @@ -86,6 +90,36 @@ public: } } + static void do_immediate(operation* base, bool, const void* io_ex) + { + // Take ownership of the handler object. + BOOST_ASIO_ASSUME(base != 0); + reactive_null_buffers_op* o(static_cast<reactive_null_buffers_op*>(base)); + ptr p = { boost::asio::detail::addressof(o->handler_), o, o }; + + BOOST_ASIO_HANDLER_COMPLETION((*o)); + + // Take ownership of the operation's outstanding work. + immediate_handler_work<Handler, IoExecutor> w( + BOOST_ASIO_MOVE_CAST2(handler_work<Handler, IoExecutor>)( + o->work_)); + + // Make a copy of the handler so that the memory can be deallocated before + // the upcall is made. Even if we're not about to make an upcall, a + // sub-object of the handler may be the true owner of the memory associated + // with the handler. Consequently, a local copy of the handler is required + // to ensure that any owning sub-object remains valid until after we have + // deallocated the memory here. + detail::binder2<Handler, boost::system::error_code, std::size_t> + handler(o->handler_, o->ec_, o->bytes_transferred_); + p.h = boost::asio::detail::addressof(handler.handler_); + p.reset(); + + BOOST_ASIO_HANDLER_INVOCATION_BEGIN((handler.arg1_, handler.arg2_)); + w.complete(handler, handler.handler_, io_ex); + BOOST_ASIO_HANDLER_INVOCATION_END; + } + private: Handler handler_; handler_work<Handler, IoExecutor> work_; diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_accept_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_accept_op.hpp index c9cdd59ec2..043ea09668 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_accept_op.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_accept_op.hpp @@ -2,7 +2,7 @@ // detail/reactive_socket_accept_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the 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,6 +53,7 @@ public: static status do_perform(reactor_op* base) { + BOOST_ASIO_ASSUME(base != 0); reactive_socket_accept_op_base* o( static_cast<reactive_socket_accept_op_base*>(base)); @@ -96,6 +97,9 @@ class reactive_socket_accept_op : public reactive_socket_accept_op_base<Socket, Protocol> { public: + typedef Handler handler_type; + typedef IoExecutor io_executor_type; + BOOST_ASIO_DEFINE_HANDLER_PTR(reactive_socket_accept_op); reactive_socket_accept_op(const boost::system::error_code& success_ec, @@ -115,6 +119,7 @@ public: std::size_t /*bytes_transferred*/) { // Take ownership of the handler object. + BOOST_ASIO_ASSUME(base != 0); reactive_socket_accept_op* o(static_cast<reactive_socket_accept_op*>(base)); ptr p = { boost::asio::detail::addressof(o->handler_), o, o }; @@ -152,6 +157,41 @@ public: } } + static void do_immediate(operation* base, bool, const void* io_ex) + { + // Take ownership of the handler object. + BOOST_ASIO_ASSUME(base != 0); + reactive_socket_accept_op* o(static_cast<reactive_socket_accept_op*>(base)); + ptr p = { boost::asio::detail::addressof(o->handler_), o, o }; + + // On success, assign new connection to peer socket object. + o->do_assign(); + + BOOST_ASIO_HANDLER_COMPLETION((*o)); + + // Take ownership of the operation's outstanding work. + immediate_handler_work<Handler, IoExecutor> w( + BOOST_ASIO_MOVE_CAST2(handler_work<Handler, IoExecutor>)( + o->work_)); + + BOOST_ASIO_ERROR_LOCATION(o->ec_); + + // Make a copy of the handler so that the memory can be deallocated before + // the upcall is made. Even if we're not about to make an upcall, a + // sub-object of the handler may be the true owner of the memory associated + // with the handler. Consequently, a local copy of the handler is required + // to ensure that any owning sub-object remains valid until after we have + // deallocated the memory here. + detail::binder1<Handler, boost::system::error_code> + handler(o->handler_, o->ec_); + p.h = boost::asio::detail::addressof(handler.handler_); + p.reset(); + + BOOST_ASIO_HANDLER_INVOCATION_BEGIN((handler.arg1_)); + w.complete(handler, handler.handler_, io_ex); + BOOST_ASIO_HANDLER_INVOCATION_END; + } + private: Handler handler_; handler_work<Handler, IoExecutor> work_; @@ -168,6 +208,9 @@ class reactive_socket_move_accept_op : Protocol> { public: + typedef Handler handler_type; + typedef IoExecutor io_executor_type; + BOOST_ASIO_DEFINE_HANDLER_PTR(reactive_socket_move_accept_op); reactive_socket_move_accept_op(const boost::system::error_code& success_ec, @@ -189,6 +232,7 @@ public: std::size_t /*bytes_transferred*/) { // Take ownership of the handler object. + BOOST_ASIO_ASSUME(base != 0); reactive_socket_move_accept_op* o( static_cast<reactive_socket_move_accept_op*>(base)); ptr p = { boost::asio::detail::addressof(o->handler_), o, o }; @@ -229,6 +273,44 @@ public: } } + static void do_immediate(operation* base, bool, const void* io_ex) + { + // Take ownership of the handler object. + BOOST_ASIO_ASSUME(base != 0); + reactive_socket_move_accept_op* o( + static_cast<reactive_socket_move_accept_op*>(base)); + ptr p = { boost::asio::detail::addressof(o->handler_), o, o }; + + // On success, assign new connection to peer socket object. + o->do_assign(); + + BOOST_ASIO_HANDLER_COMPLETION((*o)); + + // Take ownership of the operation's outstanding work. + immediate_handler_work<Handler, IoExecutor> w( + BOOST_ASIO_MOVE_CAST2(handler_work<Handler, IoExecutor>)( + o->work_)); + + BOOST_ASIO_ERROR_LOCATION(o->ec_); + + // Make a copy of the handler so that the memory can be deallocated before + // the upcall is made. Even if we're not about to make an upcall, a + // sub-object of the handler may be the true owner of the memory associated + // with the handler. Consequently, a local copy of the handler is required + // to ensure that any owning sub-object remains valid until after we have + // deallocated the memory here. + detail::move_binder2<Handler, + boost::system::error_code, peer_socket_type> + handler(0, BOOST_ASIO_MOVE_CAST(Handler)(o->handler_), o->ec_, + BOOST_ASIO_MOVE_CAST(peer_socket_type)(*o)); + p.h = boost::asio::detail::addressof(handler.handler_); + p.reset(); + + BOOST_ASIO_HANDLER_INVOCATION_BEGIN((handler.arg1_, "...")); + w.complete(handler, handler.handler_, io_ex); + BOOST_ASIO_HANDLER_INVOCATION_END; + } + private: typedef typename Protocol::socket::template rebind_executor<PeerIoExecutor>::other peer_socket_type; diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_connect_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_connect_op.hpp index 70b0ccf3c1..61cbfd54b5 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_connect_op.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_connect_op.hpp @@ -2,7 +2,7 @@ // detail/reactive_socket_connect_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -44,6 +44,7 @@ public: static status do_perform(reactor_op* base) { + BOOST_ASIO_ASSUME(base != 0); reactive_socket_connect_op_base* o( static_cast<reactive_socket_connect_op_base*>(base)); @@ -63,6 +64,9 @@ template <typename Handler, typename IoExecutor> class reactive_socket_connect_op : public reactive_socket_connect_op_base { public: + typedef Handler handler_type; + typedef IoExecutor io_executor_type; + BOOST_ASIO_DEFINE_HANDLER_PTR(reactive_socket_connect_op); reactive_socket_connect_op(const boost::system::error_code& success_ec, @@ -79,6 +83,7 @@ public: std::size_t /*bytes_transferred*/) { // Take ownership of the handler object. + BOOST_ASIO_ASSUME(base != 0); reactive_socket_connect_op* o (static_cast<reactive_socket_connect_op*>(base)); ptr p = { boost::asio::detail::addressof(o->handler_), o, o }; @@ -113,6 +118,39 @@ public: } } + static void do_immediate(operation* base, bool, const void* io_ex) + { + // Take ownership of the handler object. + BOOST_ASIO_ASSUME(base != 0); + reactive_socket_connect_op* o + (static_cast<reactive_socket_connect_op*>(base)); + ptr p = { boost::asio::detail::addressof(o->handler_), o, o }; + + BOOST_ASIO_HANDLER_COMPLETION((*o)); + + // Take ownership of the operation's outstanding work. + immediate_handler_work<Handler, IoExecutor> w( + BOOST_ASIO_MOVE_CAST2(handler_work<Handler, IoExecutor>)( + o->work_)); + + BOOST_ASIO_ERROR_LOCATION(o->ec_); + + // Make a copy of the handler so that the memory can be deallocated before + // the upcall is made. Even if we're not about to make an upcall, a + // sub-object of the handler may be the true owner of the memory associated + // with the handler. Consequently, a local copy of the handler is required + // to ensure that any owning sub-object remains valid until after we have + // deallocated the memory here. + detail::binder1<Handler, boost::system::error_code> + handler(o->handler_, o->ec_); + p.h = boost::asio::detail::addressof(handler.handler_); + p.reset(); + + BOOST_ASIO_HANDLER_INVOCATION_BEGIN((handler.arg1_)); + w.complete(handler, handler.handler_, io_ex); + BOOST_ASIO_HANDLER_INVOCATION_END; + } + private: Handler handler_; handler_work<Handler, IoExecutor> work_; diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_recv_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_recv_op.hpp index edb8a9e88e..23fb55293a 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_recv_op.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_recv_op.hpp @@ -2,7 +2,7 @@ // detail/reactive_socket_recv_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -51,6 +51,7 @@ public: static status do_perform(reactor_op* base) { + BOOST_ASIO_ASSUME(base != 0); reactive_socket_recv_op_base* o( static_cast<reactive_socket_recv_op_base*>(base)); @@ -98,6 +99,9 @@ class reactive_socket_recv_op : public reactive_socket_recv_op_base<MutableBufferSequence> { public: + typedef Handler handler_type; + typedef IoExecutor io_executor_type; + BOOST_ASIO_DEFINE_HANDLER_PTR(reactive_socket_recv_op); reactive_socket_recv_op(const boost::system::error_code& success_ec, @@ -116,6 +120,7 @@ public: std::size_t /*bytes_transferred*/) { // Take ownership of the handler object. + BOOST_ASIO_ASSUME(base != 0); reactive_socket_recv_op* o(static_cast<reactive_socket_recv_op*>(base)); ptr p = { boost::asio::detail::addressof(o->handler_), o, o }; @@ -149,6 +154,38 @@ public: } } + static void do_immediate(operation* base, bool, const void* io_ex) + { + // Take ownership of the handler object. + BOOST_ASIO_ASSUME(base != 0); + reactive_socket_recv_op* o(static_cast<reactive_socket_recv_op*>(base)); + ptr p = { boost::asio::detail::addressof(o->handler_), o, o }; + + BOOST_ASIO_HANDLER_COMPLETION((*o)); + + // Take ownership of the operation's outstanding work. + immediate_handler_work<Handler, IoExecutor> w( + BOOST_ASIO_MOVE_CAST2(handler_work<Handler, IoExecutor>)( + o->work_)); + + BOOST_ASIO_ERROR_LOCATION(o->ec_); + + // Make a copy of the handler so that the memory can be deallocated before + // the upcall is made. Even if we're not about to make an upcall, a + // sub-object of the handler may be the true owner of the memory associated + // with the handler. Consequently, a local copy of the handler is required + // to ensure that any owning sub-object remains valid until after we have + // deallocated the memory here. + detail::binder2<Handler, boost::system::error_code, std::size_t> + handler(o->handler_, o->ec_, o->bytes_transferred_); + p.h = boost::asio::detail::addressof(handler.handler_); + p.reset(); + + BOOST_ASIO_HANDLER_INVOCATION_BEGIN((handler.arg1_, handler.arg2_)); + w.complete(handler, handler.handler_, io_ex); + BOOST_ASIO_HANDLER_INVOCATION_END; + } + private: Handler handler_; handler_work<Handler, IoExecutor> work_; diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_recvfrom_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_recvfrom_op.hpp index 1a4fd32373..a62e640563 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_recvfrom_op.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_recvfrom_op.hpp @@ -2,7 +2,7 @@ // detail/reactive_socket_recvfrom_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the 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,6 +52,7 @@ public: static status do_perform(reactor_op* base) { + BOOST_ASIO_ASSUME(base != 0); reactive_socket_recvfrom_op_base* o( static_cast<reactive_socket_recvfrom_op_base*>(base)); @@ -100,6 +101,9 @@ class reactive_socket_recvfrom_op : public reactive_socket_recvfrom_op_base<MutableBufferSequence, Endpoint> { public: + typedef Handler handler_type; + typedef IoExecutor io_executor_type; + BOOST_ASIO_DEFINE_HANDLER_PTR(reactive_socket_recvfrom_op); reactive_socket_recvfrom_op(const boost::system::error_code& success_ec, @@ -120,6 +124,7 @@ public: std::size_t /*bytes_transferred*/) { // Take ownership of the handler object. + BOOST_ASIO_ASSUME(base != 0); reactive_socket_recvfrom_op* o( static_cast<reactive_socket_recvfrom_op*>(base)); ptr p = { boost::asio::detail::addressof(o->handler_), o, o }; @@ -154,6 +159,39 @@ public: } } + static void do_immediate(operation* base, bool, const void* io_ex) + { + // Take ownership of the handler object. + BOOST_ASIO_ASSUME(base != 0); + reactive_socket_recvfrom_op* o( + static_cast<reactive_socket_recvfrom_op*>(base)); + ptr p = { boost::asio::detail::addressof(o->handler_), o, o }; + + BOOST_ASIO_HANDLER_COMPLETION((*o)); + + // Take ownership of the operation's outstanding work. + immediate_handler_work<Handler, IoExecutor> w( + BOOST_ASIO_MOVE_CAST2(handler_work<Handler, IoExecutor>)( + o->work_)); + + BOOST_ASIO_ERROR_LOCATION(o->ec_); + + // Make a copy of the handler so that the memory can be deallocated before + // the upcall is made. Even if we're not about to make an upcall, a + // sub-object of the handler may be the true owner of the memory associated + // with the handler. Consequently, a local copy of the handler is required + // to ensure that any owning sub-object remains valid until after we have + // deallocated the memory here. + detail::binder2<Handler, boost::system::error_code, std::size_t> + handler(o->handler_, o->ec_, o->bytes_transferred_); + p.h = boost::asio::detail::addressof(handler.handler_); + p.reset(); + + BOOST_ASIO_HANDLER_INVOCATION_BEGIN((handler.arg1_, handler.arg2_)); + w.complete(handler, handler.handler_, io_ex); + BOOST_ASIO_HANDLER_INVOCATION_END; + } + private: Handler handler_; handler_work<Handler, IoExecutor> work_; diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_recvmsg_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_recvmsg_op.hpp index 1a72139986..040d900c4b 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_recvmsg_op.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_recvmsg_op.hpp @@ -2,7 +2,7 @@ // detail/reactive_socket_recvmsg_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the 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,6 +52,7 @@ public: static status do_perform(reactor_op* base) { + BOOST_ASIO_ASSUME(base != 0); reactive_socket_recvmsg_op_base* o( static_cast<reactive_socket_recvmsg_op_base*>(base)); @@ -81,6 +82,9 @@ class reactive_socket_recvmsg_op : public reactive_socket_recvmsg_op_base<MutableBufferSequence> { public: + typedef Handler handler_type; + typedef IoExecutor io_executor_type; + BOOST_ASIO_DEFINE_HANDLER_PTR(reactive_socket_recvmsg_op); reactive_socket_recvmsg_op(const boost::system::error_code& success_ec, @@ -101,6 +105,7 @@ public: std::size_t /*bytes_transferred*/) { // Take ownership of the handler object. + BOOST_ASIO_ASSUME(base != 0); reactive_socket_recvmsg_op* o( static_cast<reactive_socket_recvmsg_op*>(base)); ptr p = { boost::asio::detail::addressof(o->handler_), o, o }; @@ -135,6 +140,39 @@ public: } } + static void do_immediate(operation* base, bool, const void* io_ex) + { + // Take ownership of the handler object. + BOOST_ASIO_ASSUME(base != 0); + reactive_socket_recvmsg_op* o( + static_cast<reactive_socket_recvmsg_op*>(base)); + ptr p = { boost::asio::detail::addressof(o->handler_), o, o }; + + BOOST_ASIO_HANDLER_COMPLETION((*o)); + + // Take ownership of the operation's outstanding work. + immediate_handler_work<Handler, IoExecutor> w( + BOOST_ASIO_MOVE_CAST2(handler_work<Handler, IoExecutor>)( + o->work_)); + + BOOST_ASIO_ERROR_LOCATION(o->ec_); + + // Make a copy of the handler so that the memory can be deallocated before + // the upcall is made. Even if we're not about to make an upcall, a + // sub-object of the handler may be the true owner of the memory associated + // with the handler. Consequently, a local copy of the handler is required + // to ensure that any owning sub-object remains valid until after we have + // deallocated the memory here. + detail::binder2<Handler, boost::system::error_code, std::size_t> + handler(o->handler_, o->ec_, o->bytes_transferred_); + p.h = boost::asio::detail::addressof(handler.handler_); + p.reset(); + + BOOST_ASIO_HANDLER_INVOCATION_BEGIN((handler.arg1_, handler.arg2_)); + w.complete(handler, handler.handler_, io_ex); + BOOST_ASIO_HANDLER_INVOCATION_END; + } + private: Handler handler_; handler_work<Handler, IoExecutor> work_; diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_send_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_send_op.hpp index d3d9b9f3af..891531b82d 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_send_op.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_send_op.hpp @@ -2,7 +2,7 @@ // detail/reactive_socket_send_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -51,6 +51,7 @@ public: static status do_perform(reactor_op* base) { + BOOST_ASIO_ASSUME(base != 0); reactive_socket_send_op_base* o( static_cast<reactive_socket_send_op_base*>(base)); @@ -101,6 +102,9 @@ class reactive_socket_send_op : public reactive_socket_send_op_base<ConstBufferSequence> { public: + typedef Handler handler_type; + typedef IoExecutor io_executor_type; + BOOST_ASIO_DEFINE_HANDLER_PTR(reactive_socket_send_op); reactive_socket_send_op(const boost::system::error_code& success_ec, @@ -119,6 +123,7 @@ public: std::size_t /*bytes_transferred*/) { // Take ownership of the handler object. + BOOST_ASIO_ASSUME(base != 0); reactive_socket_send_op* o(static_cast<reactive_socket_send_op*>(base)); ptr p = { boost::asio::detail::addressof(o->handler_), o, o }; @@ -152,6 +157,39 @@ public: } } + static void do_immediate(operation* base, bool, const void* io_ex) + { + // Take ownership of the handler object. + BOOST_ASIO_ASSUME(base != 0); + reactive_socket_send_op* o(static_cast<reactive_socket_send_op*>(base)); + ptr p = { boost::asio::detail::addressof(o->handler_), o, o }; + + BOOST_ASIO_HANDLER_COMPLETION((*o)); + + // Take ownership of the operation's outstanding work. + immediate_handler_work<Handler, IoExecutor> w( + BOOST_ASIO_MOVE_CAST2(handler_work<Handler, IoExecutor>)( + o->work_)); + + BOOST_ASIO_ERROR_LOCATION(o->ec_); + + // Make a copy of the handler so that the memory can be deallocated before + // the upcall is made. Even if we're not about to make an upcall, a + // sub-object of the handler may be the true owner of the memory associated + // with the handler. Consequently, a local copy of the handler is required + // to ensure that any owning sub-object remains valid until after we have + // deallocated the memory here. + detail::binder2<Handler, boost::system::error_code, std::size_t> + handler(o->handler_, o->ec_, o->bytes_transferred_); + p.h = boost::asio::detail::addressof(handler.handler_); + p.reset(); + + BOOST_ASIO_HANDLER_INVOCATION_BEGIN((handler.arg1_, handler.arg2_)); + w.complete(handler, handler.handler_, io_ex); + BOOST_ASIO_HANDLER_INVOCATION_END; + } + + private: Handler handler_; handler_work<Handler, IoExecutor> work_; diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_sendto_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_sendto_op.hpp index 0128e41fef..de7a2aff5d 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_sendto_op.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_sendto_op.hpp @@ -2,7 +2,7 @@ // detail/reactive_socket_sendto_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -51,6 +51,7 @@ public: static status do_perform(reactor_op* base) { + BOOST_ASIO_ASSUME(base != 0); reactive_socket_sendto_op_base* o( static_cast<reactive_socket_sendto_op_base*>(base)); @@ -94,6 +95,9 @@ class reactive_socket_sendto_op : public reactive_socket_sendto_op_base<ConstBufferSequence, Endpoint> { public: + typedef Handler handler_type; + typedef IoExecutor io_executor_type; + BOOST_ASIO_DEFINE_HANDLER_PTR(reactive_socket_sendto_op); reactive_socket_sendto_op(const boost::system::error_code& success_ec, @@ -113,6 +117,7 @@ public: std::size_t /*bytes_transferred*/) { // Take ownership of the handler object. + BOOST_ASIO_ASSUME(base != 0); reactive_socket_sendto_op* o(static_cast<reactive_socket_sendto_op*>(base)); ptr p = { boost::asio::detail::addressof(o->handler_), o, o }; @@ -146,6 +151,38 @@ public: } } + static void do_immediate(operation* base, bool, const void* io_ex) + { + // Take ownership of the handler object. + BOOST_ASIO_ASSUME(base != 0); + reactive_socket_sendto_op* o(static_cast<reactive_socket_sendto_op*>(base)); + ptr p = { boost::asio::detail::addressof(o->handler_), o, o }; + + BOOST_ASIO_HANDLER_COMPLETION((*o)); + + // Take ownership of the operation's outstanding work. + immediate_handler_work<Handler, IoExecutor> w( + BOOST_ASIO_MOVE_CAST2(handler_work<Handler, IoExecutor>)( + o->work_)); + + BOOST_ASIO_ERROR_LOCATION(o->ec_); + + // Make a copy of the handler so that the memory can be deallocated before + // the upcall is made. Even if we're not about to make an upcall, a + // sub-object of the handler may be the true owner of the memory associated + // with the handler. Consequently, a local copy of the handler is required + // to ensure that any owning sub-object remains valid until after we have + // deallocated the memory here. + detail::binder2<Handler, boost::system::error_code, std::size_t> + handler(o->handler_, o->ec_, o->bytes_transferred_); + p.h = boost::asio::detail::addressof(handler.handler_); + p.reset(); + + BOOST_ASIO_HANDLER_INVOCATION_BEGIN((handler.arg1_, handler.arg2_)); + w.complete(handler, handler.handler_, io_ex); + BOOST_ASIO_HANDLER_INVOCATION_END; + } + private: Handler handler_; handler_work<Handler, IoExecutor> work_; diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_service.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_service.hpp index 11d46cd5b4..06da20ed53 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_service.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_service.hpp @@ -2,7 +2,7 @@ // detail/reactive_socket_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -307,7 +307,8 @@ public: BOOST_ASIO_HANDLER_CREATION((reactor_.context(), *p.p, "socket", &impl, impl.socket_, "async_send_to")); - start_op(impl, reactor::write_op, p.p, is_continuation, true, false); + start_op(impl, reactor::write_op, p.p, + is_continuation, true, false, &io_ex, 0); p.v = p.p = 0; } @@ -340,7 +341,8 @@ public: BOOST_ASIO_HANDLER_CREATION((reactor_.context(), *p.p, "socket", &impl, impl.socket_, "async_send_to(null_buffers)")); - start_op(impl, reactor::write_op, p.p, is_continuation, false, false); + start_op(impl, reactor::write_op, p.p, + is_continuation, false, false, &io_ex, 0); p.v = p.p = 0; } @@ -431,7 +433,7 @@ public: start_op(impl, (flags & socket_base::message_out_of_band) ? reactor::except_op : reactor::read_op, - p.p, is_continuation, true, false); + p.p, is_continuation, true, false, &io_ex, 0); p.v = p.p = 0; } @@ -470,7 +472,7 @@ public: start_op(impl, (flags & socket_base::message_out_of_band) ? reactor::except_op : reactor::read_op, - p.p, is_continuation, false, false); + p.p, is_continuation, false, false, &io_ex, 0); p.v = p.p = 0; } @@ -536,7 +538,7 @@ public: BOOST_ASIO_HANDLER_CREATION((reactor_.context(), *p.p, "socket", &impl, impl.socket_, "async_accept")); - start_accept_op(impl, p.p, is_continuation, peer.is_open()); + start_accept_op(impl, p.p, is_continuation, peer.is_open(), &io_ex, 0); p.v = p.p = 0; } @@ -573,7 +575,7 @@ public: BOOST_ASIO_HANDLER_CREATION((reactor_.context(), *p.p, "socket", &impl, impl.socket_, "async_accept")); - start_accept_op(impl, p.p, is_continuation, false); + start_accept_op(impl, p.p, is_continuation, false, &io_ex, 0); p.v = p.p = 0; } #endif // defined(BOOST_ASIO_HAS_MOVE) @@ -618,7 +620,7 @@ public: &impl, impl.socket_, "async_connect")); start_connect_op(impl, p.p, is_continuation, - peer_endpoint.data(), peer_endpoint.size()); + peer_endpoint.data(), peer_endpoint.size(), &io_ex, 0); p.v = p.p = 0; } }; diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_service_base.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_service_base.hpp index 04c14c6bfb..6dc7648374 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_service_base.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_service_base.hpp @@ -2,7 +2,7 @@ // detail/reactive_socket_service_base.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -218,20 +218,21 @@ public: int op_type; switch (w) { - case socket_base::wait_read: - op_type = reactor::read_op; - break; - case socket_base::wait_write: - op_type = reactor::write_op; - break; - case socket_base::wait_error: - op_type = reactor::except_op; - break; - default: - p.p->ec_ = boost::asio::error::invalid_argument; - reactor_.post_immediate_completion(p.p, is_continuation); - p.v = p.p = 0; - return; + case socket_base::wait_read: + op_type = reactor::read_op; + break; + case socket_base::wait_write: + op_type = reactor::write_op; + break; + case socket_base::wait_error: + op_type = reactor::except_op; + break; + default: + p.p->ec_ = boost::asio::error::invalid_argument; + start_op(impl, reactor::read_op, p.p, + is_continuation, false, true, &io_ex, 0); + p.v = p.p = 0; + return; } // Optionally register for per-operation cancellation. @@ -242,7 +243,7 @@ public: &reactor_, &impl.reactor_data_, impl.socket_, op_type); } - start_op(impl, op_type, p.p, is_continuation, false, false); + start_op(impl, op_type, p.p, is_continuation, false, false, &io_ex, 0); p.v = p.p = 0; } @@ -314,7 +315,7 @@ public: start_op(impl, reactor::write_op, p.p, is_continuation, true, ((impl.state_ & socket_ops::stream_oriented) && buffer_sequence_adapter<boost::asio::const_buffer, - ConstBufferSequence>::all_empty(buffers))); + ConstBufferSequence>::all_empty(buffers)), &io_ex, 0); p.v = p.p = 0; } @@ -346,7 +347,8 @@ public: BOOST_ASIO_HANDLER_CREATION((reactor_.context(), *p.p, "socket", &impl, impl.socket_, "async_send(null_buffers)")); - start_op(impl, reactor::write_op, p.p, is_continuation, false, false); + start_op(impl, reactor::write_op, p.p, + is_continuation, false, false, &io_ex, 0); p.v = p.p = 0; } @@ -423,7 +425,7 @@ public: (flags & socket_base::message_out_of_band) == 0, ((impl.state_ & socket_ops::stream_oriented) && buffer_sequence_adapter<boost::asio::mutable_buffer, - MutableBufferSequence>::all_empty(buffers))); + MutableBufferSequence>::all_empty(buffers)), &io_ex, 0); p.v = p.p = 0; } @@ -459,7 +461,7 @@ public: start_op(impl, (flags & socket_base::message_out_of_band) ? reactor::except_op : reactor::read_op, - p.p, is_continuation, false, false); + p.p, is_continuation, false, false, &io_ex, 0); p.v = p.p = 0; } @@ -531,7 +533,7 @@ public: (in_flags & socket_base::message_out_of_band) ? reactor::except_op : reactor::read_op, p.p, is_continuation, - (in_flags & socket_base::message_out_of_band) == 0, false); + (in_flags & socket_base::message_out_of_band) == 0, false, &io_ex, 0); p.v = p.p = 0; } @@ -572,7 +574,7 @@ public: start_op(impl, (in_flags & socket_base::message_out_of_band) ? reactor::except_op : reactor::read_op, - p.p, is_continuation, false, false); + p.p, is_continuation, false, false, &io_ex, 0); p.v = p.p = 0; } @@ -588,16 +590,111 @@ protected: const native_handle_type& native_socket, boost::system::error_code& ec); // Start the asynchronous read or write operation. - BOOST_ASIO_DECL void start_op(base_implementation_type& impl, int op_type, - reactor_op* op, bool is_continuation, bool is_non_blocking, bool noop); + BOOST_ASIO_DECL void do_start_op(base_implementation_type& impl, int op_type, + reactor_op* op, bool is_continuation, bool is_non_blocking, bool noop, + void (*on_immediate)(operation* op, bool, const void*), + const void* immediate_arg); + + // Start the asynchronous operation for handlers that are specialised for + // immediate completion. + template <typename Op> + void start_op(base_implementation_type& impl, int op_type, Op* op, + bool is_continuation, bool is_non_blocking, bool noop, + const void* io_ex, ...) + { + return do_start_op(impl, op_type, op, is_continuation, + is_non_blocking, noop, &Op::do_immediate, io_ex); + } + + // Start the asynchronous operation for handlers that are not specialised for + // immediate completion. + template <typename Op> + void start_op(base_implementation_type& impl, int op_type, Op* op, + bool is_continuation, bool is_non_blocking, bool noop, const void*, + typename enable_if< + is_same< + typename associated_immediate_executor< + typename Op::handler_type, + typename Op::io_executor_type + >::asio_associated_immediate_executor_is_unspecialised, + void + >::value + >::type*) + { + return do_start_op(impl, op_type, op, is_continuation, is_non_blocking, + noop, &reactor::call_post_immediate_completion, &reactor_); + } // Start the asynchronous accept operation. - BOOST_ASIO_DECL void start_accept_op(base_implementation_type& impl, - reactor_op* op, bool is_continuation, bool peer_is_open); + BOOST_ASIO_DECL void do_start_accept_op(base_implementation_type& impl, + reactor_op* op, bool is_continuation, bool peer_is_open, + void (*on_immediate)(operation* op, bool, const void*), + const void* immediate_arg); + + // Start the asynchronous accept operation for handlers that are specialised + // for immediate completion. + template <typename Op> + void start_accept_op(base_implementation_type& impl, Op* op, + bool is_continuation, bool peer_is_open, const void* io_ex, ...) + { + return do_start_accept_op(impl, op, is_continuation, + peer_is_open, &Op::do_immediate, io_ex); + } + + // Start the asynchronous operation for handlers that are not specialised for + // immediate completion. + template <typename Op> + void start_accept_op(base_implementation_type& impl, Op* op, + bool is_continuation, bool peer_is_open, const void*, + typename enable_if< + is_same< + typename associated_immediate_executor< + typename Op::handler_type, + typename Op::io_executor_type + >::asio_associated_immediate_executor_is_unspecialised, + void + >::value + >::type*) + { + return do_start_accept_op(impl, op, is_continuation, peer_is_open, + &reactor::call_post_immediate_completion, &reactor_); + } // Start the asynchronous connect operation. - BOOST_ASIO_DECL void start_connect_op(base_implementation_type& impl, - reactor_op* op, bool is_continuation, const void* addr, size_t addrlen); + BOOST_ASIO_DECL void do_start_connect_op(base_implementation_type& impl, + reactor_op* op, bool is_continuation, const void* addr, size_t addrlen, + void (*on_immediate)(operation* op, bool, const void*), + const void* immediate_arg); + + // Start the asynchronous operation for handlers that are specialised for + // immediate completion. + template <typename Op> + void start_connect_op(base_implementation_type& impl, + Op* op, bool is_continuation, const void* addr, + size_t addrlen, const void* io_ex, ...) + { + return do_start_connect_op(impl, op, is_continuation, + addr, addrlen, &Op::do_immediate, io_ex); + } + + // Start the asynchronous operation for handlers that are not specialised for + // immediate completion. + template <typename Op> + void start_connect_op(base_implementation_type& impl, Op* op, + bool is_continuation, const void* addr, size_t addrlen, const void*, + typename enable_if< + is_same< + typename associated_immediate_executor< + typename Op::handler_type, + typename Op::io_executor_type + >::asio_associated_immediate_executor_is_unspecialised, + void + >::value + >::type*) + { + return do_start_connect_op(impl, op, is_continuation, addr, + addrlen, &reactor::call_post_immediate_completion, &reactor_); + } // Helper class used to implement per-operation cancellation class reactor_op_cancellation diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_wait_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_wait_op.hpp index c97ab308dd..a1e843e85e 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_wait_op.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_wait_op.hpp @@ -2,7 +2,7 @@ // detail/reactive_wait_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -34,6 +34,9 @@ template <typename Handler, typename IoExecutor> class reactive_wait_op : public reactor_op { public: + typedef Handler handler_type; + typedef IoExecutor io_executor_type; + BOOST_ASIO_DEFINE_HANDLER_PTR(reactive_wait_op); reactive_wait_op(const boost::system::error_code& success_ec, @@ -55,6 +58,7 @@ public: std::size_t /*bytes_transferred*/) { // Take ownership of the handler object. + BOOST_ASIO_ASSUME(base != 0); reactive_wait_op* o(static_cast<reactive_wait_op*>(base)); ptr p = { boost::asio::detail::addressof(o->handler_), o, o }; @@ -86,6 +90,36 @@ public: } } + static void do_immediate(operation* base, bool, const void* io_ex) + { + // Take ownership of the handler object. + BOOST_ASIO_ASSUME(base != 0); + reactive_wait_op* o(static_cast<reactive_wait_op*>(base)); + ptr p = { boost::asio::detail::addressof(o->handler_), o, o }; + + BOOST_ASIO_HANDLER_COMPLETION((*o)); + + // Take ownership of the operation's outstanding work. + immediate_handler_work<Handler, IoExecutor> w( + BOOST_ASIO_MOVE_CAST2(handler_work<Handler, IoExecutor>)( + o->work_)); + + // Make a copy of the handler so that the memory can be deallocated before + // the upcall is made. Even if we're not about to make an upcall, a + // sub-object of the handler may be the true owner of the memory associated + // with the handler. Consequently, a local copy of the handler is required + // to ensure that any owning sub-object remains valid until after we have + // deallocated the memory here. + detail::binder1<Handler, boost::system::error_code> + handler(o->handler_, o->ec_); + p.h = boost::asio::detail::addressof(handler.handler_); + p.reset(); + + BOOST_ASIO_HANDLER_INVOCATION_BEGIN((handler.arg1_)); + w.complete(handler, handler.handler_, io_ex); + BOOST_ASIO_HANDLER_INVOCATION_END; + } + private: Handler handler_; handler_work<Handler, IoExecutor> work_; diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/reactor.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/reactor.hpp index 705ab9cd3f..76ca947ee8 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/reactor.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/reactor.hpp @@ -2,7 +2,7 @@ // detail/reactor.hpp // ~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/reactor_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/reactor_op.hpp index c13e589003..1f37e6eb91 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/reactor_op.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/reactor_op.hpp @@ -2,7 +2,7 @@ // detail/reactor_op.hpp // ~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/reactor_op_queue.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/reactor_op_queue.hpp index ef076ebddd..e527ea0bd3 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/reactor_op_queue.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/reactor_op_queue.hpp @@ -2,7 +2,7 @@ // detail/reactor_op_queue.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/recycling_allocator.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/recycling_allocator.hpp index 87a83959ea..b432209aff 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/recycling_allocator.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/recycling_allocator.hpp @@ -2,7 +2,7 @@ // detail/recycling_allocator.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/regex_fwd.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/regex_fwd.hpp index be78fad652..0ab06577fe 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/regex_fwd.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/regex_fwd.hpp @@ -2,7 +2,7 @@ // detail/regex_fwd.hpp // ~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/resolve_endpoint_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/resolve_endpoint_op.hpp index 14426d97c9..f2e08b9a39 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/resolve_endpoint_op.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/resolve_endpoint_op.hpp @@ -2,7 +2,7 @@ // detail/resolve_endpoint_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the 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,7 @@ public: std::size_t /*bytes_transferred*/) { // Take ownership of the operation object. + BOOST_ASIO_ASSUME(base != 0); resolve_endpoint_op* o(static_cast<resolve_endpoint_op*>(base)); ptr p = { boost::asio::detail::addressof(o->handler_), o, o }; diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/resolve_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/resolve_op.hpp index fdb0cb9120..2d8ba749a0 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/resolve_op.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/resolve_op.hpp @@ -2,7 +2,7 @@ // detail/resolve_op.hpp // ~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/resolve_query_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/resolve_query_op.hpp index 79aef04bd6..24807ef87a 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/resolve_query_op.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/resolve_query_op.hpp @@ -2,7 +2,7 @@ // detail/resolve_query_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -79,6 +79,7 @@ public: std::size_t /*bytes_transferred*/) { // Take ownership of the operation object. + BOOST_ASIO_ASSUME(base != 0); resolve_query_op* o(static_cast<resolve_query_op*>(base)); ptr p = { boost::asio::detail::addressof(o->handler_), o, o }; diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/resolver_service.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/resolver_service.hpp index ca0b0b6a28..dbb70ce753 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/resolver_service.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/resolver_service.hpp @@ -2,7 +2,7 @@ // detail/resolver_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/resolver_service_base.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/resolver_service_base.hpp index 3661cd4e48..0fce6e3472 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/resolver_service_base.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/resolver_service_base.hpp @@ -2,7 +2,7 @@ // detail/resolver_service_base.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/scheduler.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/scheduler.hpp index da02346bd5..b68f541d56 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/scheduler.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/scheduler.hpp @@ -2,7 +2,7 @@ // detail/scheduler.hpp // ~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/scheduler_operation.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/scheduler_operation.hpp index 387d13892e..8b66e814fd 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/scheduler_operation.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/scheduler_operation.hpp @@ -2,7 +2,7 @@ // detail/scheduler_operation.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/scheduler_task.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/scheduler_task.hpp index eff848bf3b..f8fac9b1fe 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/scheduler_task.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/scheduler_task.hpp @@ -2,7 +2,7 @@ // detail/scheduler_task.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/scheduler_thread_info.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/scheduler_thread_info.hpp index 327e1957e6..c692ced355 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/scheduler_thread_info.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/scheduler_thread_info.hpp @@ -2,7 +2,7 @@ // detail/scheduler_thread_info.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/scoped_lock.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/scoped_lock.hpp index 35f3c558f9..56a8f2742d 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/scoped_lock.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/scoped_lock.hpp @@ -2,7 +2,7 @@ // detail/scoped_lock.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/scoped_ptr.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/scoped_ptr.hpp index 49bf48becf..a5ef527b82 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/scoped_ptr.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/scoped_ptr.hpp @@ -2,7 +2,7 @@ // detail/scoped_ptr.hpp // ~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/select_interrupter.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/select_interrupter.hpp index f7417b6c1d..953b817569 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/select_interrupter.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/select_interrupter.hpp @@ -2,7 +2,7 @@ // detail/select_interrupter.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/select_reactor.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/select_reactor.hpp index 99955895ea..a4b8b81ab8 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/select_reactor.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/select_reactor.hpp @@ -2,7 +2,7 @@ // detail/select_reactor.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -95,12 +95,29 @@ public: per_descriptor_data& descriptor_data, reactor_op* op); // Post a reactor operation for immediate completion. - void post_immediate_completion(reactor_op* op, bool is_continuation); + void post_immediate_completion(operation* op, bool is_continuation) const; + + // Post a reactor operation for immediate completion. + BOOST_ASIO_DECL static void call_post_immediate_completion( + operation* op, bool is_continuation, const void* self); // Start a new operation. The reactor operation will be performed when the // given descriptor is flagged as ready, or an error has occurred. BOOST_ASIO_DECL void start_op(int op_type, socket_type descriptor, - per_descriptor_data&, reactor_op* op, bool is_continuation, bool); + per_descriptor_data&, reactor_op* op, bool is_continuation, bool, + void (*on_immediate)(operation*, bool, const void*), + const void* immediate_arg); + + // Start a new operation. The reactor operation will be performed when the + // given descriptor is flagged as ready, or an error has occurred. + void start_op(int op_type, socket_type descriptor, + per_descriptor_data& descriptor_data, reactor_op* op, + bool is_continuation, bool allow_speculative) + { + start_op(op_type, descriptor, descriptor_data, + op, is_continuation, allow_speculative, + &select_reactor::call_post_immediate_completion, this); + } // Cancel all operations associated with the given descriptor. The // handlers associated with the descriptor will be invoked with the diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/service_registry.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/service_registry.hpp index 863d795b08..447fc910af 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/service_registry.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/service_registry.hpp @@ -2,7 +2,7 @@ // detail/service_registry.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/signal_blocker.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/signal_blocker.hpp index 690aa5fdd0..88ac5f6325 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/signal_blocker.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/signal_blocker.hpp @@ -2,7 +2,7 @@ // detail/signal_blocker.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/signal_handler.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/signal_handler.hpp index a2825d1df9..cf8d8aeb7e 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/signal_handler.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/signal_handler.hpp @@ -2,7 +2,7 @@ // detail/signal_handler.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/signal_init.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/signal_init.hpp index e227d4898f..9fbb092cc8 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/signal_init.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/signal_init.hpp @@ -2,7 +2,7 @@ // detail/signal_init.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/signal_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/signal_op.hpp index 0e12dc5bed..82c1e50f1c 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/signal_op.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/signal_op.hpp @@ -2,7 +2,7 @@ // detail/signal_op.hpp // ~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/signal_set_service.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/signal_set_service.hpp index 704861c322..39c062cad3 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/signal_set_service.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/signal_set_service.hpp @@ -2,7 +2,7 @@ // detail/signal_set_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -23,6 +23,7 @@ #include <boost/asio/cancellation_type.hpp> #include <boost/asio/error.hpp> #include <boost/asio/execution_context.hpp> +#include <boost/asio/signal_set_base.hpp> #include <boost/asio/detail/handler_alloc_helpers.hpp> #include <boost/asio/detail/memory.hpp> #include <boost/asio/detail/op_queue.hpp> @@ -141,8 +142,16 @@ public: BOOST_ASIO_DECL void destroy(implementation_type& impl); // Add a signal to a signal_set. + boost::system::error_code add(implementation_type& impl, + int signal_number, boost::system::error_code& ec) + { + return add(impl, signal_number, signal_set_base::flags::dont_care, ec); + } + + // Add a signal to a signal_set with the specified flags. BOOST_ASIO_DECL boost::system::error_code add(implementation_type& impl, - int signal_number, boost::system::error_code& ec); + int signal_number, signal_set_base::flags_t f, + boost::system::error_code& ec); // Remove a signal to a signal_set. BOOST_ASIO_DECL boost::system::error_code remove(implementation_type& impl, diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/socket_holder.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/socket_holder.hpp index 3c44dca3b6..73c37f1d61 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/socket_holder.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/socket_holder.hpp @@ -2,7 +2,7 @@ // detail/socket_holder.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/socket_ops.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/socket_ops.hpp index b135375762..8ce16c1393 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/socket_ops.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/socket_ops.hpp @@ -2,7 +2,7 @@ // detail/socket_ops.hpp // ~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/socket_option.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/socket_option.hpp index e390fb007f..04c6a8769a 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/socket_option.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/socket_option.hpp @@ -2,7 +2,7 @@ // detail/socket_option.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/socket_select_interrupter.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/socket_select_interrupter.hpp index dbd94ca163..217542edb3 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/socket_select_interrupter.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/socket_select_interrupter.hpp @@ -2,7 +2,7 @@ // detail/socket_select_interrupter.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/socket_types.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/socket_types.hpp index 4b308741b2..7c6f0cd475 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/socket_types.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/socket_types.hpp @@ -2,7 +2,7 @@ // detail/socket_types.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the 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,6 +89,7 @@ # include <sys/filio.h> # include <sys/sockio.h> # endif +# include <signal.h> #endif #include <boost/asio/detail/push_options.hpp> @@ -179,6 +180,9 @@ typedef int signed_size_type; # define BOOST_ASIO_OS_DEF_AI_V4MAPPED 0x800 # define BOOST_ASIO_OS_DEF_AI_ALL 0x100 # define BOOST_ASIO_OS_DEF_AI_ADDRCONFIG 0x400 +# define BOOST_ASIO_OS_DEF_SA_RESTART 0x1 +# define BOOST_ASIO_OS_DEF_SA_NOCLDSTOP 0x2 +# define BOOST_ASIO_OS_DEF_SA_NOCLDWAIT 0x4 #elif defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__) typedef SOCKET socket_type; const SOCKET invalid_socket = INVALID_SOCKET; @@ -286,6 +290,9 @@ const int max_iov_len = 64; # else const int max_iov_len = 16; # endif +# define BOOST_ASIO_OS_DEF_SA_RESTART 0x1 +# define BOOST_ASIO_OS_DEF_SA_NOCLDSTOP 0x2 +# define BOOST_ASIO_OS_DEF_SA_NOCLDWAIT 0x4 #else typedef int socket_type; const int invalid_socket = -1; @@ -405,6 +412,9 @@ const int max_iov_len = IOV_MAX; // POSIX platforms are not required to define IOV_MAX. const int max_iov_len = 16; # endif +# define BOOST_ASIO_OS_DEF_SA_RESTART SA_RESTART +# define BOOST_ASIO_OS_DEF_SA_NOCLDSTOP SA_NOCLDSTOP +# define BOOST_ASIO_OS_DEF_SA_NOCLDWAIT SA_NOCLDWAIT #endif const int custom_socket_option_level = 0xA5100000; const int enable_connection_aborted_option = 1; diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/solaris_fenced_block.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/solaris_fenced_block.hpp index a690612bf0..8c84b29801 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/solaris_fenced_block.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/solaris_fenced_block.hpp @@ -2,7 +2,7 @@ // detail/solaris_fenced_block.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/source_location.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/source_location.hpp index 86ba9d9683..8a56edd327 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/source_location.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/source_location.hpp @@ -2,7 +2,7 @@ // detail/source_location.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/static_mutex.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/static_mutex.hpp index 647a48d21f..c0f0547f0a 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/static_mutex.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/static_mutex.hpp @@ -2,7 +2,7 @@ // detail/static_mutex.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/std_event.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/std_event.hpp index 13aeb4a627..9590e8779a 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/std_event.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/std_event.hpp @@ -2,7 +2,7 @@ // detail/std_event.hpp // ~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/std_fenced_block.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/std_fenced_block.hpp index 0a5cfedbcc..73dfc81d47 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/std_fenced_block.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/std_fenced_block.hpp @@ -2,7 +2,7 @@ // detail/std_fenced_block.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/std_global.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/std_global.hpp index 1a6ab90916..b9e3887600 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/std_global.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/std_global.hpp @@ -2,7 +2,7 @@ // detail/std_global.hpp // ~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/std_mutex.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/std_mutex.hpp index 7ecd903278..85b8e315cb 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/std_mutex.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/std_mutex.hpp @@ -2,7 +2,7 @@ // detail/std_mutex.hpp // ~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/std_static_mutex.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/std_static_mutex.hpp index af590a1ecc..5345c2c005 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/std_static_mutex.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/std_static_mutex.hpp @@ -2,7 +2,7 @@ // detail/std_static_mutex.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/std_thread.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/std_thread.hpp index fc186f5d1f..a261e39458 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/std_thread.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/std_thread.hpp @@ -2,7 +2,7 @@ // detail/std_thread.hpp // ~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/strand_executor_service.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/strand_executor_service.hpp index 9b3eb38cbd..6ac7805380 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/strand_executor_service.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/strand_executor_service.hpp @@ -2,7 +2,7 @@ // detail/strand_executor_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/strand_service.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/strand_service.hpp index 016a6cfcd5..3959056a1e 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/strand_service.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/strand_service.hpp @@ -2,7 +2,7 @@ // detail/strand_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/string_view.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/string_view.hpp index b3eeb54d96..aa2251cbcd 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/string_view.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/string_view.hpp @@ -2,7 +2,7 @@ // detail/string_view.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/thread.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/thread.hpp index 57e9cbce57..3d425d992d 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/thread.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/thread.hpp @@ -2,7 +2,7 @@ // detail/thread.hpp // ~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/thread_context.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/thread_context.hpp index 6396dd37a3..c5ca10c040 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/thread_context.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/thread_context.hpp @@ -2,7 +2,7 @@ // detail/thread_context.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/thread_group.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/thread_group.hpp index ff91f39724..cfcd849c91 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/thread_group.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/thread_group.hpp @@ -2,7 +2,7 @@ // detail/thread_group.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/thread_info_base.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/thread_info_base.hpp index fd976f918a..533fa859da 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/thread_info_base.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/thread_info_base.hpp @@ -2,7 +2,7 @@ // detail/thread_info_base.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/throw_error.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/throw_error.hpp index 43c5b59bed..57d40560bf 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/throw_error.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/throw_error.hpp @@ -2,7 +2,7 @@ // detail/throw_error.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/throw_exception.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/throw_exception.hpp index afb89a963f..394ceef5ea 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/throw_exception.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/throw_exception.hpp @@ -2,7 +2,7 @@ // detail/throw_exception.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/timer_queue.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/timer_queue.hpp index 2a973430d9..7235ef5247 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/timer_queue.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/timer_queue.hpp @@ -2,7 +2,7 @@ // detail/timer_queue.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/timer_queue_base.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/timer_queue_base.hpp index c20ccc9862..240674a20a 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/timer_queue_base.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/timer_queue_base.hpp @@ -2,7 +2,7 @@ // detail/timer_queue_base.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/timer_queue_ptime.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/timer_queue_ptime.hpp index 6d0f94009a..16d3c4d03c 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/timer_queue_ptime.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/timer_queue_ptime.hpp @@ -2,7 +2,7 @@ // detail/timer_queue_ptime.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/timer_queue_set.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/timer_queue_set.hpp index 783adfb728..c5c1e03b4b 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/timer_queue_set.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/timer_queue_set.hpp @@ -2,7 +2,7 @@ // detail/timer_queue_set.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/timer_scheduler.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/timer_scheduler.hpp index 01001aafcc..b8372bf535 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/timer_scheduler.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/timer_scheduler.hpp @@ -2,7 +2,7 @@ // detail/timer_scheduler.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/timer_scheduler_fwd.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/timer_scheduler_fwd.hpp index abb4f93019..e99eda74e8 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/timer_scheduler_fwd.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/timer_scheduler_fwd.hpp @@ -2,7 +2,7 @@ // detail/timer_scheduler_fwd.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/tss_ptr.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/tss_ptr.hpp index 92deeaaf22..c6a6ba90cf 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/tss_ptr.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/tss_ptr.hpp @@ -2,7 +2,7 @@ // detail/tss_ptr.hpp // ~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/type_traits.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/type_traits.hpp index 8d62eab891..157d5c1d00 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/type_traits.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/type_traits.hpp @@ -2,7 +2,7 @@ // detail/type_traits.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/utility.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/utility.hpp index c1dc73c8e9..6254ad842a 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/utility.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/utility.hpp @@ -2,7 +2,7 @@ // detail/utility.hpp // ~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/variadic_templates.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/variadic_templates.hpp index fea03044ff..b7159ff4ef 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/variadic_templates.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/variadic_templates.hpp @@ -2,7 +2,7 @@ // detail/variadic_templates.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/wait_handler.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/wait_handler.hpp index f2c253731d..2b70441879 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/wait_handler.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/wait_handler.hpp @@ -2,7 +2,7 @@ // detail/wait_handler.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/wait_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/wait_op.hpp index 15d57cf574..b5a5bdf66e 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/wait_op.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/wait_op.hpp @@ -2,7 +2,7 @@ // detail/wait_op.hpp // ~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/win_event.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/win_event.hpp index 48e90a17f2..25e119e258 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/win_event.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/win_event.hpp @@ -2,7 +2,7 @@ // detail/win_event.hpp // ~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/win_fd_set_adapter.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/win_fd_set_adapter.hpp index 5e91303d7c..daac5307d3 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/win_fd_set_adapter.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/win_fd_set_adapter.hpp @@ -2,7 +2,7 @@ // detail/win_fd_set_adapter.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/win_fenced_block.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/win_fenced_block.hpp index 8d32720a96..45e2b67c8d 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/win_fenced_block.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/win_fenced_block.hpp @@ -2,7 +2,7 @@ // detail/win_fenced_block.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/win_global.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/win_global.hpp index b54d5c395b..951467ced1 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/win_global.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/win_global.hpp @@ -2,7 +2,7 @@ // detail/win_global.hpp // ~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_file_service.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_file_service.hpp index b66882fd4b..22802a0425 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_file_service.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_file_service.hpp @@ -2,7 +2,7 @@ // detail/win_iocp_file_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_handle_read_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_handle_read_op.hpp index db7d635b88..f0a8116949 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_handle_read_op.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_handle_read_op.hpp @@ -2,7 +2,7 @@ // detail/win_iocp_handle_read_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 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 @@ -58,6 +58,7 @@ public: boost::system::error_code ec(result_ec); // Take ownership of the operation object. + BOOST_ASIO_ASSUME(base != 0); win_iocp_handle_read_op* o(static_cast<win_iocp_handle_read_op*>(base)); ptr p = { boost::asio::detail::addressof(o->handler_), o, o }; diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_handle_service.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_handle_service.hpp index 5615715809..05a3fdfc92 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_handle_service.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_handle_service.hpp @@ -2,7 +2,7 @@ // detail/win_iocp_handle_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 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/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_handle_write_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_handle_write_op.hpp index 2ad28a2c51..a9c35b0979 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_handle_write_op.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_handle_write_op.hpp @@ -2,7 +2,7 @@ // detail/win_iocp_handle_write_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 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 @@ -57,6 +57,7 @@ public: boost::system::error_code ec(result_ec); // Take ownership of the operation object. + BOOST_ASIO_ASSUME(base != 0); win_iocp_handle_write_op* o(static_cast<win_iocp_handle_write_op*>(base)); ptr p = { boost::asio::detail::addressof(o->handler_), o, o }; diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_io_context.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_io_context.hpp index abb69b2b53..f91a70d03d 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_io_context.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_io_context.hpp @@ -2,7 +2,7 @@ // detail/win_iocp_io_context.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -273,11 +273,13 @@ private: enum { +#if !defined(_WIN32_WINNT) || (_WIN32_WINNT < 0x0600) // Timeout to use with GetQueuedCompletionStatus on older versions of // Windows. Some versions of windows have a "bug" where a call to // GetQueuedCompletionStatus can appear stuck even though there are events // waiting on the queue. Using a timeout helps to work around the issue. default_gqcs_timeout = 500, +#endif // !defined(_WIN32_WINNT) || (_WIN32_WINNT < 0x0600) // Maximum waitable timer timeout, in milliseconds. max_timeout_msec = 5 * 60 * 1000, diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_null_buffers_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_null_buffers_op.hpp index 51a62ffc73..9d2f80d753 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_null_buffers_op.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_null_buffers_op.hpp @@ -2,7 +2,7 @@ // detail/win_iocp_null_buffers_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the 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,6 +64,7 @@ public: boost::system::error_code ec(result_ec); // Take ownership of the operation object. + BOOST_ASIO_ASSUME(base != 0); win_iocp_null_buffers_op* o(static_cast<win_iocp_null_buffers_op*>(base)); ptr p = { boost::asio::detail::addressof(o->handler_), o, o }; diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_operation.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_operation.hpp index 2b2dc67442..c724a305c1 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_operation.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_operation.hpp @@ -2,7 +2,7 @@ // detail/win_iocp_operation.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_overlapped_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_overlapped_op.hpp index 5251a75036..3bd436fbf7 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_overlapped_op.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_overlapped_op.hpp @@ -2,7 +2,7 @@ // detail/win_iocp_overlapped_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the 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,6 +53,7 @@ public: boost::system::error_code ec(result_ec); // Take ownership of the operation object. + BOOST_ASIO_ASSUME(base != 0); win_iocp_overlapped_op* o(static_cast<win_iocp_overlapped_op*>(base)); ptr p = { boost::asio::detail::addressof(o->handler_), o, o }; diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_overlapped_ptr.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_overlapped_ptr.hpp index d44ae97cb8..1d7f5f6a2b 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_overlapped_ptr.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_overlapped_ptr.hpp @@ -2,7 +2,7 @@ // detail/win_iocp_overlapped_ptr.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_serial_port_service.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_serial_port_service.hpp index 2e184128d7..d41f49b0c7 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_serial_port_service.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_serial_port_service.hpp @@ -2,7 +2,7 @@ // detail/win_iocp_serial_port_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 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/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_accept_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_accept_op.hpp index b340928f3f..1c3e351645 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_accept_op.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_accept_op.hpp @@ -2,7 +2,7 @@ // detail/win_iocp_socket_accept_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the 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,6 +89,7 @@ public: boost::system::error_code ec(result_ec); // Take ownership of the operation object. + BOOST_ASIO_ASSUME(base != 0); win_iocp_socket_accept_op* o(static_cast<win_iocp_socket_accept_op*>(base)); ptr p = { boost::asio::detail::addressof(o->handler_), o, o }; @@ -235,6 +236,7 @@ public: boost::system::error_code ec(result_ec); // Take ownership of the operation object. + BOOST_ASIO_ASSUME(base != 0); win_iocp_socket_move_accept_op* o( static_cast<win_iocp_socket_move_accept_op*>(base)); ptr p = { boost::asio::detail::addressof(o->handler_), o, o }; diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_connect_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_connect_op.hpp index c86a6f7c99..5304a4ceed 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_connect_op.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_connect_op.hpp @@ -2,7 +2,7 @@ // detail/win_iocp_socket_connect_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -48,6 +48,7 @@ public: static status do_perform(reactor_op* base) { + BOOST_ASIO_ASSUME(base != 0); win_iocp_socket_connect_op_base* o( static_cast<win_iocp_socket_connect_op_base*>(base)); @@ -81,6 +82,7 @@ public: boost::system::error_code ec(result_ec); // Take ownership of the operation object. + BOOST_ASIO_ASSUME(base != 0); win_iocp_socket_connect_op* o( static_cast<win_iocp_socket_connect_op*>(base)); ptr p = { boost::asio::detail::addressof(o->handler_), o, o }; diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_recv_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_recv_op.hpp index a1b220e709..9bfb7cdb10 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_recv_op.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_recv_op.hpp @@ -2,7 +2,7 @@ // detail/win_iocp_socket_recv_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the 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 @@ public: boost::system::error_code ec(result_ec); // Take ownership of the operation object. + BOOST_ASIO_ASSUME(base != 0); win_iocp_socket_recv_op* o(static_cast<win_iocp_socket_recv_op*>(base)); ptr p = { boost::asio::detail::addressof(o->handler_), o, o }; diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_recvfrom_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_recvfrom_op.hpp index 4f38e34ed0..6d7650b171 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_recvfrom_op.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_recvfrom_op.hpp @@ -2,7 +2,7 @@ // detail/win_iocp_socket_recvfrom_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -69,6 +69,7 @@ public: boost::system::error_code ec(result_ec); // Take ownership of the operation object. + BOOST_ASIO_ASSUME(base != 0); win_iocp_socket_recvfrom_op* o( static_cast<win_iocp_socket_recvfrom_op*>(base)); ptr p = { boost::asio::detail::addressof(o->handler_), o, o }; diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_recvmsg_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_recvmsg_op.hpp index aacdae6a4c..deaa6e66f4 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_recvmsg_op.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_recvmsg_op.hpp @@ -2,7 +2,7 @@ // detail/win_iocp_socket_recvmsg_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the 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,6 +64,7 @@ public: boost::system::error_code ec(result_ec); // Take ownership of the operation object. + BOOST_ASIO_ASSUME(base != 0); win_iocp_socket_recvmsg_op* o( static_cast<win_iocp_socket_recvmsg_op*>(base)); ptr p = { boost::asio::detail::addressof(o->handler_), o, o }; diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_send_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_send_op.hpp index cb01f82d01..1e6cdeee7c 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_send_op.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_send_op.hpp @@ -2,7 +2,7 @@ // detail/win_iocp_socket_send_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -60,6 +60,7 @@ public: boost::system::error_code ec(result_ec); // Take ownership of the operation object. + BOOST_ASIO_ASSUME(base != 0); win_iocp_socket_send_op* o(static_cast<win_iocp_socket_send_op*>(base)); ptr p = { boost::asio::detail::addressof(o->handler_), o, o }; diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_service.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_service.hpp index 75d54a3678..18705ed594 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_service.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_service.hpp @@ -2,7 +2,7 @@ // detail/win_iocp_socket_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_service_base.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_service_base.hpp index aa0c1a9ecf..77ef5c7ebc 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_service_base.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_service_base.hpp @@ -2,7 +2,7 @@ // detail/win_iocp_socket_service_base.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_thread_info.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_thread_info.hpp index 8b5aca12f7..6283715ed5 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_thread_info.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_thread_info.hpp @@ -2,7 +2,7 @@ // detail/win_iocp_thread_info.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_wait_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_wait_op.hpp index e6542abe48..1773cad066 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_wait_op.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_wait_op.hpp @@ -2,7 +2,7 @@ // detail/win_iocp_wait_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -65,6 +65,7 @@ public: boost::system::error_code ec(result_ec); // Take ownership of the operation object. + BOOST_ASIO_ASSUME(base != 0); win_iocp_wait_op* o(static_cast<win_iocp_wait_op*>(base)); ptr p = { boost::asio::detail::addressof(o->handler_), o, o }; diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/win_mutex.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/win_mutex.hpp index b79aa8e736..fd47330445 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/win_mutex.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/win_mutex.hpp @@ -2,7 +2,7 @@ // detail/win_mutex.hpp // ~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/win_object_handle_service.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/win_object_handle_service.hpp index ded47990d9..a9327524ca 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/win_object_handle_service.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/win_object_handle_service.hpp @@ -2,7 +2,7 @@ // detail/win_object_handle_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 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/contrib/restricted/boost/asio/include/boost/asio/detail/win_static_mutex.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/win_static_mutex.hpp index 2111e2882f..de2ad6c83d 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/win_static_mutex.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/win_static_mutex.hpp @@ -2,7 +2,7 @@ // detail/win_static_mutex.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/win_thread.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/win_thread.hpp index f471896d89..996a73cc36 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/win_thread.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/win_thread.hpp @@ -2,7 +2,7 @@ // detail/win_thread.hpp // ~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/win_tss_ptr.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/win_tss_ptr.hpp index 05b62bad24..91d76c73f2 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/win_tss_ptr.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/win_tss_ptr.hpp @@ -2,7 +2,7 @@ // detail/win_tss_ptr.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/winapp_thread.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/winapp_thread.hpp index b79b3f2870..7a755eb0c4 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/winapp_thread.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/winapp_thread.hpp @@ -2,7 +2,7 @@ // detail/winapp_thread.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/wince_thread.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/wince_thread.hpp index 66239f7a0b..b0069a692f 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/wince_thread.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/wince_thread.hpp @@ -2,7 +2,7 @@ // detail/wince_thread.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_async_manager.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_async_manager.hpp index a72fa28741..01398d54c1 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_async_manager.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_async_manager.hpp @@ -2,7 +2,7 @@ // detail/winrt_async_manager.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_async_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_async_op.hpp index 53ab671b6f..c873e67914 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_async_op.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_async_op.hpp @@ -2,7 +2,7 @@ // detail/winrt_async_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_resolve_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_resolve_op.hpp index 1f742ba506..f8d1a18900 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_resolve_op.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_resolve_op.hpp @@ -2,7 +2,7 @@ // detail/winrt_resolve_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the 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,6 +64,7 @@ public: const boost::system::error_code&, std::size_t) { // Take ownership of the operation object. + BOOST_ASIO_ASSUME(base != 0); winrt_resolve_op* o(static_cast<winrt_resolve_op*>(base)); ptr p = { boost::asio::detail::addressof(o->handler_), o, o }; diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_resolver_service.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_resolver_service.hpp index 698e7b20a0..8b762fb0ef 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_resolver_service.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_resolver_service.hpp @@ -2,7 +2,7 @@ // detail/winrt_resolver_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_socket_connect_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_socket_connect_op.hpp index ac2f63c52c..b198c9e378 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_socket_connect_op.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_socket_connect_op.hpp @@ -2,7 +2,7 @@ // detail/winrt_socket_connect_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the 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,6 +53,7 @@ public: const boost::system::error_code&, std::size_t) { // Take ownership of the operation object. + BOOST_ASIO_ASSUME(base != 0); winrt_socket_connect_op* o(static_cast<winrt_socket_connect_op*>(base)); ptr p = { boost::asio::detail::addressof(o->handler_), o, o }; diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_socket_recv_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_socket_recv_op.hpp index 764590e410..99b7459c87 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_socket_recv_op.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_socket_recv_op.hpp @@ -2,7 +2,7 @@ // detail/winrt_socket_recv_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -56,6 +56,7 @@ public: const boost::system::error_code&, std::size_t) { // Take ownership of the operation object. + BOOST_ASIO_ASSUME(base != 0); winrt_socket_recv_op* o(static_cast<winrt_socket_recv_op*>(base)); ptr p = { boost::asio::detail::addressof(o->handler_), o, o }; diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_socket_send_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_socket_send_op.hpp index c73f92de1d..913f77e84b 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_socket_send_op.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_socket_send_op.hpp @@ -2,7 +2,7 @@ // detail/winrt_socket_send_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -55,6 +55,7 @@ public: const boost::system::error_code&, std::size_t) { // Take ownership of the operation object. + BOOST_ASIO_ASSUME(base != 0); winrt_socket_send_op* o(static_cast<winrt_socket_send_op*>(base)); ptr p = { boost::asio::detail::addressof(o->handler_), o, o }; diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_ssocket_service.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_ssocket_service.hpp index 4f61abb989..b47e99609a 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_ssocket_service.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_ssocket_service.hpp @@ -2,7 +2,7 @@ // detail/winrt_ssocket_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_ssocket_service_base.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_ssocket_service_base.hpp index bcfce97041..e1ca515376 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_ssocket_service_base.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_ssocket_service_base.hpp @@ -2,7 +2,7 @@ // detail/winrt_ssocket_service_base.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_timer_scheduler.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_timer_scheduler.hpp index 9fc15aea3d..fdc41211ef 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_timer_scheduler.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_timer_scheduler.hpp @@ -2,7 +2,7 @@ // detail/winrt_timer_scheduler.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_utils.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_utils.hpp index 41f97baab3..d225cee062 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_utils.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_utils.hpp @@ -2,7 +2,7 @@ // detail/winrt_utils.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/winsock_init.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/winsock_init.hpp index 7b81fa0d3e..c4b67d7474 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/winsock_init.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/winsock_init.hpp @@ -2,7 +2,7 @@ // detail/winsock_init.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/work_dispatcher.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/work_dispatcher.hpp index 6d2413a3e9..c59ce56b5a 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/work_dispatcher.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/work_dispatcher.hpp @@ -2,7 +2,7 @@ // detail/work_dispatcher.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/wrapped_handler.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/wrapped_handler.hpp index fe402fc0d5..46706f69d5 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/wrapped_handler.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/wrapped_handler.hpp @@ -2,7 +2,7 @@ // detail/wrapped_handler.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/dispatch.hpp b/contrib/restricted/boost/asio/include/boost/asio/dispatch.hpp index dd4de50172..89db1728ad 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/dispatch.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/dispatch.hpp @@ -2,7 +2,7 @@ // dispatch.hpp // ~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -17,6 +17,7 @@ #include <boost/asio/detail/config.hpp> #include <boost/asio/async_result.hpp> +#include <boost/asio/detail/initiate_dispatch.hpp> #include <boost/asio/detail/type_traits.hpp> #include <boost/asio/execution_context.hpp> #include <boost/asio/execution/executor.hpp> @@ -26,12 +27,6 @@ namespace boost { namespace asio { -namespace detail { - -class initiate_dispatch; -template <typename> class initiate_dispatch_with_executor; - -} // namespace detail /// Submits a completion token or function object for execution. /** @@ -79,7 +74,11 @@ BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_PREFIX(NullaryToken, void()) dispatch( BOOST_ASIO_MOVE_ARG(NullaryToken) token) BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_SUFFIX(( async_initiate<NullaryToken, void()>( - declval<detail::initiate_dispatch>(), token))); + declval<detail::initiate_dispatch>(), token))) +{ + return async_initiate<NullaryToken, void()>( + detail::initiate_dispatch(), token); +} /// Submits a completion token or function object for execution. /** @@ -155,7 +154,11 @@ BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_PREFIX(NullaryToken, void()) dispatch( >::type = 0) BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_SUFFIX(( async_initiate<NullaryToken, void()>( - declval<detail::initiate_dispatch_with_executor<Executor> >(), token))); + declval<detail::initiate_dispatch_with_executor<Executor> >(), token))) +{ + return async_initiate<NullaryToken, void()>( + detail::initiate_dispatch_with_executor<Executor>(ex), token); +} /// Submits a completion token or function object for execution. /** @@ -185,13 +188,17 @@ BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_PREFIX(NullaryToken, void()) dispatch( BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_SUFFIX(( async_initiate<NullaryToken, void()>( declval<detail::initiate_dispatch_with_executor< - typename ExecutionContext::executor_type> >(), token))); + typename ExecutionContext::executor_type> >(), token))) +{ + return async_initiate<NullaryToken, void()>( + detail::initiate_dispatch_with_executor< + typename ExecutionContext::executor_type>( + ctx.get_executor()), token); +} } // namespace asio } // namespace boost #include <boost/asio/detail/pop_options.hpp> -#include <boost/asio/impl/dispatch.hpp> - #endif // BOOST_ASIO_DISPATCH_HPP diff --git a/contrib/restricted/boost/asio/include/boost/asio/error.hpp b/contrib/restricted/boost/asio/include/boost/asio/error.hpp index 35ff81e91b..03640067fe 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/error.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/error.hpp @@ -2,7 +2,7 @@ // error.hpp // ~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/execution.hpp b/contrib/restricted/boost/asio/include/boost/asio/execution.hpp index e8ce4e8e92..677039a070 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/execution.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/execution.hpp @@ -2,7 +2,7 @@ // execution.hpp // ~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/execution/allocator.hpp b/contrib/restricted/boost/asio/include/boost/asio/execution/allocator.hpp index af3f197f75..8b0a38a21c 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/execution/allocator.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/execution/allocator.hpp @@ -2,7 +2,7 @@ // execution/allocator.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/execution/any_executor.hpp b/contrib/restricted/boost/asio/include/boost/asio/execution/any_executor.hpp index 3a05141604..2514e4c5e6 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/execution/any_executor.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/execution/any_executor.hpp @@ -2,7 +2,7 @@ // execution/any_executor.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -993,27 +993,34 @@ protected: static bool equal_ex(const any_executor_base& ex1, const any_executor_base& ex2) { - return *ex1.target<Ex>() == *ex2.target<Ex>(); + const Ex* p1 = ex1.target<Ex>(); + const Ex* p2 = ex2.target<Ex>(); + BOOST_ASIO_ASSUME(p1 != 0 && p2 != 0); + return *p1 == *p2; } template <typename Ex> static void execute_ex(const any_executor_base& ex, BOOST_ASIO_MOVE_ARG(function) f) { + const Ex* p = ex.target<Ex>(); + BOOST_ASIO_ASSUME(p != 0); #if defined(BOOST_ASIO_NO_DEPRECATED) - ex.target<Ex>()->execute(BOOST_ASIO_MOVE_CAST(function)(f)); + p->execute(BOOST_ASIO_MOVE_CAST(function)(f)); #else // defined(BOOST_ASIO_NO_DEPRECATED) - execution::execute(*ex.target<Ex>(), BOOST_ASIO_MOVE_CAST(function)(f)); + execution::execute(*p, BOOST_ASIO_MOVE_CAST(function)(f)); #endif // defined(BOOST_ASIO_NO_DEPRECATED) } template <typename Ex> static void blocking_execute_ex(const any_executor_base& ex, function_view f) { + const Ex* p = ex.target<Ex>(); + BOOST_ASIO_ASSUME(p != 0); #if defined(BOOST_ASIO_NO_DEPRECATED) - ex.target<Ex>()->execute(f); + p->execute(f); #else // defined(BOOST_ASIO_NO_DEPRECATED) - execution::execute(*ex.target<Ex>(), f); + execution::execute(*p, f); #endif // defined(BOOST_ASIO_NO_DEPRECATED) } diff --git a/contrib/restricted/boost/asio/include/boost/asio/execution/bad_executor.hpp b/contrib/restricted/boost/asio/include/boost/asio/execution/bad_executor.hpp index 25ba0782fc..e613c463f2 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/execution/bad_executor.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/execution/bad_executor.hpp @@ -2,7 +2,7 @@ // execution/bad_executor.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/execution/blocking.hpp b/contrib/restricted/boost/asio/include/boost/asio/execution/blocking.hpp index c005bfce5b..c2caaa698c 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/execution/blocking.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/execution/blocking.hpp @@ -2,7 +2,7 @@ // execution/blocking.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/execution/blocking_adaptation.hpp b/contrib/restricted/boost/asio/include/boost/asio/execution/blocking_adaptation.hpp index 08fc2ce6f7..84febd7007 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/execution/blocking_adaptation.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/execution/blocking_adaptation.hpp @@ -2,7 +2,7 @@ // execution/blocking_adaptation.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/execution/bulk_execute.hpp b/contrib/restricted/boost/asio/include/boost/asio/execution/bulk_execute.hpp index c3db343a63..340902147f 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/execution/bulk_execute.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/execution/bulk_execute.hpp @@ -2,7 +2,7 @@ // execution/bulk_execute.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/execution/bulk_guarantee.hpp b/contrib/restricted/boost/asio/include/boost/asio/execution/bulk_guarantee.hpp index f3dec30aa7..9c4f3b2c2b 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/execution/bulk_guarantee.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/execution/bulk_guarantee.hpp @@ -2,7 +2,7 @@ // execution/bulk_guarantee.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/execution/connect.hpp b/contrib/restricted/boost/asio/include/boost/asio/execution/connect.hpp index d2f88b9495..09cbd964d4 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/execution/connect.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/execution/connect.hpp @@ -2,7 +2,7 @@ // execution/connect.hpp // ~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/execution/context.hpp b/contrib/restricted/boost/asio/include/boost/asio/execution/context.hpp index 36ddd5b86a..af93738b09 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/execution/context.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/execution/context.hpp @@ -2,7 +2,7 @@ // execution/context.hpp // ~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/execution/context_as.hpp b/contrib/restricted/boost/asio/include/boost/asio/execution/context_as.hpp index 6bd4697c7b..1d7e257d49 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/execution/context_as.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/execution/context_as.hpp @@ -2,7 +2,7 @@ // execution/context_as.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/execution/detail/as_invocable.hpp b/contrib/restricted/boost/asio/include/boost/asio/execution/detail/as_invocable.hpp index b6aa9a57ca..e1835d0ad7 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/execution/detail/as_invocable.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/execution/detail/as_invocable.hpp @@ -2,7 +2,7 @@ // execution/detail/as_invocable.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/execution/detail/as_operation.hpp b/contrib/restricted/boost/asio/include/boost/asio/execution/detail/as_operation.hpp index fc34306a80..61eeaad9aa 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/execution/detail/as_operation.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/execution/detail/as_operation.hpp @@ -2,7 +2,7 @@ // execution/detail/as_operation.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/execution/detail/as_receiver.hpp b/contrib/restricted/boost/asio/include/boost/asio/execution/detail/as_receiver.hpp index 330a0ba82d..b019e1c09a 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/execution/detail/as_receiver.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/execution/detail/as_receiver.hpp @@ -2,7 +2,7 @@ // execution/detail/as_receiver.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/execution/detail/bulk_sender.hpp b/contrib/restricted/boost/asio/include/boost/asio/execution/detail/bulk_sender.hpp index 407c86467e..ff2155e779 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/execution/detail/bulk_sender.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/execution/detail/bulk_sender.hpp @@ -2,7 +2,7 @@ // execution/detail/bulk_sender.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/execution/detail/submit_receiver.hpp b/contrib/restricted/boost/asio/include/boost/asio/execution/detail/submit_receiver.hpp index d784f6c8ef..b87aaa43ac 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/execution/detail/submit_receiver.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/execution/detail/submit_receiver.hpp @@ -2,7 +2,7 @@ // execution/detail/submit_receiver.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/execution/detail/void_receiver.hpp b/contrib/restricted/boost/asio/include/boost/asio/execution/detail/void_receiver.hpp index c40368dff2..ca9c862980 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/execution/detail/void_receiver.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/execution/detail/void_receiver.hpp @@ -2,7 +2,7 @@ // execution/detail/void_receiver.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/execution/execute.hpp b/contrib/restricted/boost/asio/include/boost/asio/execution/execute.hpp index ef2ff3204e..cd4fb969c6 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/execution/execute.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/execution/execute.hpp @@ -2,7 +2,7 @@ // execution/execute.hpp // ~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/execution/executor.hpp b/contrib/restricted/boost/asio/include/boost/asio/execution/executor.hpp index a0a0ff3613..39ff3eebbd 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/execution/executor.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/execution/executor.hpp @@ -2,7 +2,7 @@ // execution/executor.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/execution/impl/bad_executor.ipp b/contrib/restricted/boost/asio/include/boost/asio/execution/impl/bad_executor.ipp index bb13acadd2..c8d1c04cb3 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/execution/impl/bad_executor.ipp +++ b/contrib/restricted/boost/asio/include/boost/asio/execution/impl/bad_executor.ipp @@ -2,7 +2,7 @@ // exection/impl/bad_executor.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/execution/impl/receiver_invocation_error.ipp b/contrib/restricted/boost/asio/include/boost/asio/execution/impl/receiver_invocation_error.ipp index 04387e723a..923c1624a8 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/execution/impl/receiver_invocation_error.ipp +++ b/contrib/restricted/boost/asio/include/boost/asio/execution/impl/receiver_invocation_error.ipp @@ -2,7 +2,7 @@ // exection/impl/receiver_invocation_error.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/execution/invocable_archetype.hpp b/contrib/restricted/boost/asio/include/boost/asio/execution/invocable_archetype.hpp index bf60c39946..36a146170e 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/execution/invocable_archetype.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/execution/invocable_archetype.hpp @@ -2,7 +2,7 @@ // execution/invocable_archetype.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/execution/mapping.hpp b/contrib/restricted/boost/asio/include/boost/asio/execution/mapping.hpp index 0765ecae20..ecd3ef2478 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/execution/mapping.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/execution/mapping.hpp @@ -2,7 +2,7 @@ // execution/mapping.hpp // ~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/execution/occupancy.hpp b/contrib/restricted/boost/asio/include/boost/asio/execution/occupancy.hpp index af4e9cd737..0211be1886 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/execution/occupancy.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/execution/occupancy.hpp @@ -2,7 +2,7 @@ // execution/occupancy.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/execution/operation_state.hpp b/contrib/restricted/boost/asio/include/boost/asio/execution/operation_state.hpp index 7c356060bf..7baf7c4cac 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/execution/operation_state.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/execution/operation_state.hpp @@ -2,7 +2,7 @@ // execution/operation_state.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/execution/outstanding_work.hpp b/contrib/restricted/boost/asio/include/boost/asio/execution/outstanding_work.hpp index 95d9da26a3..0e726caba0 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/execution/outstanding_work.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/execution/outstanding_work.hpp @@ -2,7 +2,7 @@ // execution/outstanding_work.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/execution/prefer_only.hpp b/contrib/restricted/boost/asio/include/boost/asio/execution/prefer_only.hpp index 8f22b5b853..1d5d7a5af5 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/execution/prefer_only.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/execution/prefer_only.hpp @@ -2,7 +2,7 @@ // execution/prefer_only.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/execution/receiver.hpp b/contrib/restricted/boost/asio/include/boost/asio/execution/receiver.hpp index 3c115a6418..e5b08eb9b0 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/execution/receiver.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/execution/receiver.hpp @@ -2,7 +2,7 @@ // execution/receiver.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/execution/receiver_invocation_error.hpp b/contrib/restricted/boost/asio/include/boost/asio/execution/receiver_invocation_error.hpp index f78138bf3c..f3bac5d6bb 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/execution/receiver_invocation_error.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/execution/receiver_invocation_error.hpp @@ -2,7 +2,7 @@ // execution/receiver_invocation_error.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/execution/relationship.hpp b/contrib/restricted/boost/asio/include/boost/asio/execution/relationship.hpp index 488fce97be..dcdba3b00e 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/execution/relationship.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/execution/relationship.hpp @@ -2,7 +2,7 @@ // execution/relationship.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/execution/schedule.hpp b/contrib/restricted/boost/asio/include/boost/asio/execution/schedule.hpp index 351d761df0..56b835d176 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/execution/schedule.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/execution/schedule.hpp @@ -2,7 +2,7 @@ // execution/schedule.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/execution/scheduler.hpp b/contrib/restricted/boost/asio/include/boost/asio/execution/scheduler.hpp index 881ad05859..a148945683 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/execution/scheduler.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/execution/scheduler.hpp @@ -2,7 +2,7 @@ // execution/scheduler.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/execution/sender.hpp b/contrib/restricted/boost/asio/include/boost/asio/execution/sender.hpp index 396a6b7395..fd38adc9da 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/execution/sender.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/execution/sender.hpp @@ -2,7 +2,7 @@ // execution/sender.hpp // ~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/execution/set_done.hpp b/contrib/restricted/boost/asio/include/boost/asio/execution/set_done.hpp index 5627ec6728..d0fe0c21bc 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/execution/set_done.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/execution/set_done.hpp @@ -2,7 +2,7 @@ // execution/set_done.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/execution/set_error.hpp b/contrib/restricted/boost/asio/include/boost/asio/execution/set_error.hpp index 0ced6fb6c7..5bca7a5e41 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/execution/set_error.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/execution/set_error.hpp @@ -2,7 +2,7 @@ // execution/set_error.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/execution/set_value.hpp b/contrib/restricted/boost/asio/include/boost/asio/execution/set_value.hpp index 6919e7d7ac..fff8c71945 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/execution/set_value.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/execution/set_value.hpp @@ -2,7 +2,7 @@ // execution/set_value.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/execution/start.hpp b/contrib/restricted/boost/asio/include/boost/asio/execution/start.hpp index 1fcbbf0e87..824be3b8f3 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/execution/start.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/execution/start.hpp @@ -2,7 +2,7 @@ // execution/start.hpp // ~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/execution/submit.hpp b/contrib/restricted/boost/asio/include/boost/asio/execution/submit.hpp index 77dd4b4cef..6626007e80 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/execution/submit.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/execution/submit.hpp @@ -2,7 +2,7 @@ // execution/submit.hpp // ~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/execution_context.hpp b/contrib/restricted/boost/asio/include/boost/asio/execution_context.hpp index e305dba5d8..b96815afa5 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/execution_context.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/execution_context.hpp @@ -2,7 +2,7 @@ // execution_context.hpp // ~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/executor.hpp b/contrib/restricted/boost/asio/include/boost/asio/executor.hpp index 7ef34081e3..037d1d214f 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/executor.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/executor.hpp @@ -2,7 +2,7 @@ // executor.hpp // ~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/executor_work_guard.hpp b/contrib/restricted/boost/asio/include/boost/asio/executor_work_guard.hpp index a83f346977..ce94ee3ba9 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/executor_work_guard.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/executor_work_guard.hpp @@ -2,7 +2,7 @@ // executor_work_guard.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/append.hpp b/contrib/restricted/boost/asio/include/boost/asio/experimental/append.hpp index 1736e36537..d138f92df6 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/experimental/append.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/append.hpp @@ -2,7 +2,7 @@ // experimental/append.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/as_single.hpp b/contrib/restricted/boost/asio/include/boost/asio/experimental/as_single.hpp index 3fc38eb10b..8ec8dccb71 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/experimental/as_single.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/as_single.hpp @@ -2,7 +2,7 @@ // experimental/as_single.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/as_tuple.hpp b/contrib/restricted/boost/asio/include/boost/asio/experimental/as_tuple.hpp index 30d615d405..6a94d28def 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/experimental/as_tuple.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/as_tuple.hpp @@ -2,7 +2,7 @@ // experimental/as_tuple.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/awaitable_operators.hpp b/contrib/restricted/boost/asio/include/boost/asio/experimental/awaitable_operators.hpp index 992aef777d..16bde898ab 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/experimental/awaitable_operators.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/awaitable_operators.hpp @@ -2,7 +2,7 @@ // experimental/awaitable_operators.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/basic_channel.hpp b/contrib/restricted/boost/asio/include/boost/asio/experimental/basic_channel.hpp index 1a74a7c9eb..0ae7c337b4 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/experimental/basic_channel.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/basic_channel.hpp @@ -2,7 +2,7 @@ // experimental/basic_channel.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/basic_concurrent_channel.hpp b/contrib/restricted/boost/asio/include/boost/asio/experimental/basic_concurrent_channel.hpp index d9666d3699..781fdbabf1 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/experimental/basic_concurrent_channel.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/basic_concurrent_channel.hpp @@ -2,7 +2,7 @@ // experimental/basic_concurrent_channel.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/cancellation_condition.hpp b/contrib/restricted/boost/asio/include/boost/asio/experimental/cancellation_condition.hpp index f6d33effd1..a64f588b43 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/experimental/cancellation_condition.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/cancellation_condition.hpp @@ -2,7 +2,7 @@ // experimental/cancellation_condition.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/channel.hpp b/contrib/restricted/boost/asio/include/boost/asio/experimental/channel.hpp index 941e5ed32a..34ea4e57d6 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/experimental/channel.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/channel.hpp @@ -2,7 +2,7 @@ // experimental/channel.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/channel_error.hpp b/contrib/restricted/boost/asio/include/boost/asio/experimental/channel_error.hpp index 3381c23f64..6e05696733 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/experimental/channel_error.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/channel_error.hpp @@ -2,7 +2,7 @@ // experimental/channel_error.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/channel_traits.hpp b/contrib/restricted/boost/asio/include/boost/asio/experimental/channel_traits.hpp index 97ed6f2268..671751cb3e 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/experimental/channel_traits.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/channel_traits.hpp @@ -2,7 +2,7 @@ // experimental/channel_traits.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/co_composed.hpp b/contrib/restricted/boost/asio/include/boost/asio/experimental/co_composed.hpp index 066d2d2bf7..6c20008eea 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/experimental/co_composed.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/co_composed.hpp @@ -2,7 +2,7 @@ // experimental/co_composed.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/co_spawn.hpp b/contrib/restricted/boost/asio/include/boost/asio/experimental/co_spawn.hpp index c973c61cbe..9d56b254e7 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/experimental/co_spawn.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/co_spawn.hpp @@ -2,7 +2,7 @@ // experimental/co_spawn.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2021-2022 Klemens D. Morgenstern +// Copyright (c) 2021-2023 Klemens D. Morgenstern // (klemens dot morgenstern at gmx dot net) // // Distributed under the Boost Software License, Version 1.0. (See accompanying diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/concurrent_channel.hpp b/contrib/restricted/boost/asio/include/boost/asio/experimental/concurrent_channel.hpp index c32367a9f4..2bf6edad62 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/experimental/concurrent_channel.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/concurrent_channel.hpp @@ -2,7 +2,7 @@ // experimental/concurrent_channel.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/coro.hpp b/contrib/restricted/boost/asio/include/boost/asio/experimental/coro.hpp index 718d64fd14..ad90fbe69a 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/experimental/coro.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/coro.hpp @@ -2,7 +2,7 @@ // experimental/coro.hpp // ~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2021-2022 Klemens D. Morgenstern +// Copyright (c) 2021-2023 Klemens D. Morgenstern // (klemens dot morgenstern at gmx dot net) // // Distributed under the Boost Software License, Version 1.0. (See accompanying diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/coro_traits.hpp b/contrib/restricted/boost/asio/include/boost/asio/experimental/coro_traits.hpp index bcd92aad52..f997526cfb 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/experimental/coro_traits.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/coro_traits.hpp @@ -2,7 +2,7 @@ // experimental/detail/coro_traits.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2021-2022 Klemens D. Morgenstern +// Copyright (c) 2021-2023 Klemens D. Morgenstern // (klemens dot morgenstern at gmx dot net) // // Distributed under the Boost Software License, Version 1.0. (See accompanying diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/deferred.hpp b/contrib/restricted/boost/asio/include/boost/asio/experimental/deferred.hpp index aa72b07f1b..8c48917b7d 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/experimental/deferred.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/deferred.hpp @@ -2,7 +2,7 @@ // experimental/deferred.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/channel_handler.hpp b/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/channel_handler.hpp index aee027aaf2..e526900a0a 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/channel_handler.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/channel_handler.hpp @@ -2,7 +2,7 @@ // experimental/detail/channel_handler.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/channel_message.hpp b/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/channel_message.hpp index f565c7e313..3d81af5c3d 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/channel_message.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/channel_message.hpp @@ -2,7 +2,7 @@ // experimental/detail/channel_message.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the 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 <boost/asio/detail/config.hpp> #include <tuple> #include <boost/asio/detail/type_traits.hpp> +#include <boost/asio/detail/utility.hpp> #include <boost/asio/detail/push_options.hpp> @@ -105,11 +106,17 @@ public: template <typename Handler> void receive(Handler& h) { - std::apply(BOOST_ASIO_MOVE_OR_LVALUE(Handler)(h), - BOOST_ASIO_MOVE_CAST(args_type)(args_)); + this->do_receive(h, boost::asio::detail::index_sequence_for<Args...>()); } private: + template <typename Handler, std::size_t... I> + void do_receive(Handler& h, boost::asio::detail::index_sequence<I...>) + { + BOOST_ASIO_MOVE_OR_LVALUE(Handler)(h)( + std::get<I>(BOOST_ASIO_MOVE_CAST(args_type)(args_))...); + } + typedef std::tuple<typename decay<Args>::type...> args_type; args_type args_; }; diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/channel_operation.hpp b/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/channel_operation.hpp index 180476e412..557d4b36c8 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/channel_operation.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/channel_operation.hpp @@ -2,7 +2,7 @@ // experimental/detail/channel_operation.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the 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,7 +18,11 @@ #include <boost/asio/detail/config.hpp> #include <boost/asio/associated_allocator.hpp> #include <boost/asio/associated_executor.hpp> +#include <boost/asio/associated_immediate_executor.hpp> +#include <boost/asio/detail/initiate_post.hpp> +#include <boost/asio/detail/initiate_dispatch.hpp> #include <boost/asio/detail/op_queue.hpp> +#include <boost/asio/detail/type_traits.hpp> #include <boost/asio/execution/executor.hpp> #include <boost/asio/execution/outstanding_work.hpp> #include <boost/asio/executor_work_guard.hpp> @@ -51,9 +55,10 @@ protected: enum action { destroy_op = 0, - complete_op = 1, - cancel_op = 2, - close_op = 3 + immediate_op = 1, + complete_op = 2, + cancel_op = 3, + close_op = 4 }; typedef void (*func_type)(channel_operation*, action, void*); @@ -83,11 +88,22 @@ template <typename Executor, typename> class channel_operation::handler_work_base { public: + typedef typename decay< + typename prefer_result<Executor, + execution::outstanding_work_t::tracked_t + >::type + >::type executor_type; + handler_work_base(int, const Executor& ex) : executor_(boost::asio::prefer(ex, execution::outstanding_work.tracked)) { } + const executor_type& get_executor() const BOOST_ASIO_NOEXCEPT + { + return executor_; + } + template <typename Function, typename Handler> void post(Function& function, Handler& handler) { @@ -109,11 +125,7 @@ public: } private: - typename decay< - typename prefer_result<Executor, - execution::outstanding_work_t::tracked_t - >::type - >::type executor_; + executor_type executor_; }; #if !defined(BOOST_ASIO_NO_TS_EXECUTORS) @@ -125,11 +137,18 @@ class channel_operation::handler_work_base<Executor, >::type> { public: + typedef Executor executor_type; + handler_work_base(int, const Executor& ex) : work_(ex) { } + executor_type get_executor() const BOOST_ASIO_NOEXCEPT + { + return work_.get_executor(); + } + template <typename Function, typename Handler> void post(Function& function, Handler& handler) { @@ -170,6 +189,37 @@ public: { base2_type::post(function, handler); } + + template <typename Function> + void immediate(Function& function, Handler& handler, ...) + { + typedef typename associated_immediate_executor<Handler, + typename base1_type::executor_type>::type immediate_ex_type; + + immediate_ex_type immediate_ex = (get_associated_immediate_executor)( + handler, base1_type::get_executor()); + + (boost::asio::detail::initiate_dispatch_with_executor<immediate_ex_type>( + immediate_ex))(BOOST_ASIO_MOVE_CAST(Function)(function)); + } + + template <typename Function> + void immediate(Function& function, Handler&, + typename enable_if< + is_same< + typename associated_immediate_executor< + typename conditional<false, Function, Handler>::type, + typename base1_type::executor_type>:: + asio_associated_immediate_executor_is_unspecialised, + void + >::value + >::type*) + { + (boost::asio::detail::initiate_post_with_executor< + typename base1_type::executor_type>( + base1_type::get_executor()))( + BOOST_ASIO_MOVE_CAST(Function)(function)); + } }; template <typename Handler, typename IoExecutor> @@ -196,6 +246,34 @@ public: { base1_type::post(function, handler); } + + template <typename Function> + void immediate(Function& function, Handler& handler, ...) + { + typedef typename associated_immediate_executor<Handler, + typename base1_type::executor_type>::type immediate_ex_type; + + immediate_ex_type immediate_ex = (get_associated_immediate_executor)( + handler, base1_type::get_executor()); + + (boost::asio::detail::initiate_dispatch_with_executor<immediate_ex_type>( + immediate_ex))(BOOST_ASIO_MOVE_CAST(Function)(function)); + } + + template <typename Function> + void immediate(Function& function, Handler& handler, + typename enable_if< + is_same< + typename associated_immediate_executor< + typename conditional<false, Function, Handler>::type, + typename base1_type::executor_type>:: + asio_associated_immediate_executor_is_unspecialised, + void + >::value + >::type*) + { + base1_type::post(function, handler); + } }; } // namespace detail diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/channel_payload.hpp b/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/channel_payload.hpp index 83415322e5..83ccb2eb67 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/channel_payload.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/channel_payload.hpp @@ -2,7 +2,7 @@ // experimental/detail/channel_payload.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the 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,10 +16,14 @@ #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) #include <boost/asio/detail/config.hpp> -#include <variant> #include <boost/asio/detail/type_traits.hpp> +#include <boost/system/error_code.hpp> #include <boost/asio/experimental/detail/channel_message.hpp> +#if defined(BOOST_ASIO_HAS_STD_VARIANT) +# include <variant> +#endif // defined(BOOST_ASIO_HAS_STD_VARIANT) + #include <boost/asio/detail/push_options.hpp> namespace boost { @@ -28,6 +32,45 @@ namespace experimental { namespace detail { template <typename... Signatures> +class channel_payload; + +template <typename R> +class channel_payload<R()> +{ +public: + explicit channel_payload(channel_message<R()>) + { + } + + template <typename Handler> + void receive(Handler& handler) + { + BOOST_ASIO_MOVE_OR_LVALUE(Handler)(handler)(); + } +}; + +template <typename Signature> +class channel_payload<Signature> +{ +public: + channel_payload(BOOST_ASIO_MOVE_ARG(channel_message<Signature>) m) + : message_(BOOST_ASIO_MOVE_CAST(channel_message<Signature>)(m)) + { + } + + template <typename Handler> + void receive(Handler& handler) + { + message_.receive(handler); + } + +private: + channel_message<Signature> message_; +}; + +#if defined(BOOST_ASIO_HAS_STD_VARIANT) + +template <typename... Signatures> class channel_payload { public: @@ -51,40 +94,43 @@ private: std::variant<channel_message<Signatures>...> message_; }; -template <typename R> -class channel_payload<R()> +#else // defined(BOOST_ASIO_HAS_STD_VARIANT) + +template <typename R1, typename R2> +class channel_payload<R1(), R2(boost::system::error_code)> { public: - explicit channel_payload(channel_message<R()>) - { - } + typedef channel_message<R1()> void_message_type; + typedef channel_message<R2(boost::system::error_code)> error_message_type; - template <typename Handler> - void receive(Handler& handler) + channel_payload(BOOST_ASIO_MOVE_ARG(void_message_type)) + : message_(0, boost::system::error_code()), + empty_(true) { - BOOST_ASIO_MOVE_OR_LVALUE(Handler)(handler)(); } -}; -template <typename Signature> -class channel_payload<Signature> -{ -public: - channel_payload(BOOST_ASIO_MOVE_ARG(channel_message<Signature>) m) - : message_(BOOST_ASIO_MOVE_CAST(channel_message<Signature>)(m)) + channel_payload(BOOST_ASIO_MOVE_ARG(error_message_type) m) + : message_(BOOST_ASIO_MOVE_CAST(error_message_type)(m)), + empty_(false) { } template <typename Handler> void receive(Handler& handler) { - message_.receive(handler); + if (empty_) + channel_message<R1()>(0).receive(handler); + else + message_.receive(handler); } private: - channel_message<Signature> message_; + error_message_type message_; + bool empty_; }; +#endif // defined(BOOST_ASIO_HAS_STD_VARIANT) + } // namespace detail } // namespace experimental } // namespace asio diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/channel_receive_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/channel_receive_op.hpp index 4c3f04cad1..d92e22b99e 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/channel_receive_op.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/channel_receive_op.hpp @@ -2,7 +2,7 @@ // experimental/detail/channel_receive_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -34,6 +34,11 @@ template <typename Payload> class channel_receive : public channel_operation { public: + void immediate(Payload payload) + { + func_(this, immediate_op, &payload); + } + void complete(Payload payload) { func_(this, complete_op, &payload); @@ -80,7 +85,7 @@ public: // with the handler. Consequently, a local copy of the handler is required // to ensure that any owning sub-object remains valid until after we have // deallocated the memory here. - if (a == channel_operation::complete_op) + if (a != channel_operation::destroy_op) { Payload* payload = static_cast<Payload*>(v); channel_handler<Payload, Handler> handler( @@ -88,7 +93,10 @@ public: p.h = boost::asio::detail::addressof(handler.handler_); p.reset(); BOOST_ASIO_HANDLER_INVOCATION_BEGIN(()); - w.complete(handler, handler.handler_); + if (a == channel_operation::immediate_op) + w.immediate(handler, handler.handler_, 0); + else + w.complete(handler, handler.handler_); BOOST_ASIO_HANDLER_INVOCATION_END; } else diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/channel_send_functions.hpp b/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/channel_send_functions.hpp index 7b6c24bc86..f4fb588c9f 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/channel_send_functions.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/channel_send_functions.hpp @@ -2,7 +2,7 @@ // experimental/detail/channel_send_functions.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -65,6 +65,12 @@ public: auto async_send(Args... args, BOOST_ASIO_MOVE_ARG(CompletionToken) token BOOST_ASIO_DEFAULT_COMPLETION_TOKEN(Executor)) + -> decltype( + async_initiate<CompletionToken, void (boost::system::error_code)>( + declval<typename conditional<false, CompletionToken, + Derived>::type::initiate_async_send>(), token, + declval<typename conditional<false, CompletionToken, + Derived>::type::payload_type>())) { typedef typename Derived::payload_type payload_type; typedef typename detail::channel_message<R(Args...)> message_type; @@ -114,6 +120,12 @@ public: auto async_send(Args... args, BOOST_ASIO_MOVE_ARG(CompletionToken) token BOOST_ASIO_DEFAULT_COMPLETION_TOKEN(Executor)) + -> decltype( + async_initiate<CompletionToken, void (boost::system::error_code)>( + declval<typename conditional<false, CompletionToken, + Derived>::type::initiate_async_send>(), token, + declval<typename conditional<false, CompletionToken, + Derived>::type::payload_type>())) { typedef typename Derived::payload_type payload_type; typedef typename detail::channel_message<R(Args...)> message_type; diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/channel_send_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/channel_send_op.hpp index 3961236964..860d2d46c5 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/channel_send_op.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/channel_send_op.hpp @@ -2,7 +2,7 @@ // experimental/detail/channel_send_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the 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,6 +39,11 @@ public: return BOOST_ASIO_MOVE_CAST(Payload)(payload_); } + void immediate() + { + func_(this, immediate_op, 0); + } + void complete() { func_(this, complete_op, 0); @@ -122,7 +127,10 @@ public: if (a != channel_operation::destroy_op) { BOOST_ASIO_HANDLER_INVOCATION_BEGIN((handler.arg1_)); - w.complete(handler, handler.handler_); + if (a == channel_operation::immediate_op) + w.immediate(handler, handler.handler_, 0); + else + w.complete(handler, handler.handler_); BOOST_ASIO_HANDLER_INVOCATION_END; } } diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/channel_service.hpp b/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/channel_service.hpp index 628646ff95..f9bb64b2f5 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/channel_service.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/channel_service.hpp @@ -2,7 +2,7 @@ // experimental/detail/channel_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -186,7 +186,6 @@ public: bool try_receive(implementation_type<Traits, Signatures...>& impl, BOOST_ASIO_MOVE_ARG(Handler) handler); - // Asynchronously send a new value into the channel. // Asynchronously receive a value from the channel. template <typename Traits, typename... Signatures, typename Handler, typename IoExecutor> @@ -537,6 +536,7 @@ struct channel_service<Mutex>::implementation_type< implementation_type() : size_(0) { + first_.count_ = 0; } // Move from another buffer. @@ -637,7 +637,7 @@ private: struct buffered_value { boost::system::error_code value_; - std::size_t count_ = 0; + std::size_t count_; }; struct value_handler diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/coro_completion_handler.hpp b/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/coro_completion_handler.hpp index d2bbbf2e72..7e0b0360a3 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/coro_completion_handler.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/coro_completion_handler.hpp @@ -2,7 +2,7 @@ // experimental/detail/coro_completion_handler.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2021-2022 Klemens D. Morgenstern +// Copyright (c) 2021-2023 Klemens D. Morgenstern // (klemens dot morgenstern at gmx dot net) // // Distributed under the Boost Software License, Version 1.0. (See accompanying @@ -106,7 +106,7 @@ auto coro_interpret_result(std::tuple<std::exception_ptr, Args...>&& args) [](auto, auto&&... rest) { return std::make_tuple(std::move(rest)...); - }); + }, std::move(args)); } template <typename... Args> @@ -121,7 +121,7 @@ auto coro_interpret_result( [](auto, auto&&... rest) { return std::make_tuple(std::move(rest)...); - }); + }, std::move(args)); } template <typename Arg> diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/coro_promise_allocator.hpp b/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/coro_promise_allocator.hpp index a459a06784..322ecbbef2 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/coro_promise_allocator.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/coro_promise_allocator.hpp @@ -2,7 +2,7 @@ // experimental/detail/coro_promise_allocator.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2021-2022 Klemens D. Morgenstern +// Copyright (c) 2021-2023 Klemens D. Morgenstern // (klemens dot morgenstern at gmx dot net) // // Distributed under the Boost Software License, Version 1.0. (See accompanying diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/has_signature.hpp b/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/has_signature.hpp index ffd330ca39..e380a498bd 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/has_signature.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/has_signature.hpp @@ -2,7 +2,7 @@ // experimental/detail/has_signature.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/impl/channel_service.hpp b/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/impl/channel_service.hpp index 29951325c3..eca622a0f8 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/impl/channel_service.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/impl/channel_service.hpp @@ -2,7 +2,7 @@ // experimental/detail/impl/channel_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -212,7 +212,8 @@ void channel_service<Mutex>::close( } impl.send_state_ = closed; - impl.receive_state_ = closed; + if (impl.receive_state_ != buffer) + impl.receive_state_ = closed; } template <typename Mutex> @@ -247,7 +248,7 @@ void channel_service<Mutex>::cancel( if (impl.receive_state_ == waiter) impl.receive_state_ = block; if (impl.send_state_ == waiter) - impl.send_state_ = block; + impl.send_state_ = impl.max_buffer_size_ ? buffer : block; } template <typename Mutex> @@ -295,7 +296,7 @@ void channel_service<Mutex>::cancel_by_key( if (impl.receive_state_ == waiter) impl.receive_state_ = block; if (impl.send_state_ == waiter) - impl.send_state_ = block; + impl.send_state_ = impl.max_buffer_size_ ? buffer : block; } } @@ -448,7 +449,7 @@ void channel_service<Mutex>::start_send_op( impl.receive_state_ = buffer; if (impl.buffer_size() == impl.max_buffer_size_) impl.send_state_ = block; - send_op->complete(); + send_op->immediate(); break; } case waiter: @@ -459,7 +460,7 @@ void channel_service<Mutex>::start_send_op( receive_op->complete(send_op->get_payload()); if (impl.waiters_.empty()) impl.send_state_ = impl.max_buffer_size_ ? buffer : block; - send_op->complete(); + send_op->immediate(); break; } case closed: @@ -560,7 +561,8 @@ void channel_service<Mutex>::start_receive_op( } case buffer: { - receive_op->complete(impl.buffer_front()); + payload_type payload( + BOOST_ASIO_MOVE_CAST(payload_type)(impl.buffer_front())); if (channel_send<payload_type>* send_op = static_cast<channel_send<payload_type>*>(impl.waiters_.front())) { @@ -576,6 +578,7 @@ void channel_service<Mutex>::start_receive_op( impl.receive_state_ = (impl.send_state_ == closed) ? closed : block; impl.send_state_ = (impl.send_state_ == closed) ? closed : buffer; } + receive_op->immediate(BOOST_ASIO_MOVE_CAST(payload_type)(payload)); break; } case waiter: @@ -585,9 +588,9 @@ void channel_service<Mutex>::start_receive_op( payload_type payload = send_op->get_payload(); impl.waiters_.pop(); send_op->complete(); - receive_op->complete(BOOST_ASIO_MOVE_CAST(payload_type)(payload)); if (impl.waiters_.front() == 0) impl.receive_state_ = (impl.send_state_ == closed) ? closed : block; + receive_op->immediate(BOOST_ASIO_MOVE_CAST(payload_type)(payload)); break; } case closed: diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/partial_promise.hpp b/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/partial_promise.hpp index 56805e183c..48c8496609 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/partial_promise.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/partial_promise.hpp @@ -2,7 +2,7 @@ // experimental/detail/partial_promise.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2021-2022 Klemens D. Morgenstern +// Copyright (c) 2021-2023 Klemens D. Morgenstern // (klemens dot morgenstern at gmx dot net) // // Distributed under the Boost Software License, Version 1.0. (See accompanying diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/impl/as_single.hpp b/contrib/restricted/boost/asio/include/boost/asio/experimental/impl/as_single.hpp index 7749ce2371..12c16cd756 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/experimental/impl/as_single.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/impl/as_single.hpp @@ -2,7 +2,7 @@ // experimental/impl/as_single.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/impl/channel_error.ipp b/contrib/restricted/boost/asio/include/boost/asio/experimental/impl/channel_error.ipp index e5e762e4c9..c97ec3afaf 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/experimental/impl/channel_error.ipp +++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/impl/channel_error.ipp @@ -2,7 +2,7 @@ // experimental/impl/channel_error.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/impl/co_composed.hpp b/contrib/restricted/boost/asio/include/boost/asio/experimental/impl/co_composed.hpp index 2134b32cb7..42eb9d2d4e 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/experimental/impl/co_composed.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/impl/co_composed.hpp @@ -2,7 +2,7 @@ // experimental/impl/co_composed.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -35,6 +35,12 @@ # error #include <experimental/coroutine> #endif // defined(BOOST_ASIO_HAS_STD_COROUTINE) +#if defined(BOOST_ASIO_ENABLE_HANDLER_TRACKING) +# if defined(BOOST_ASIO_HAS_SOURCE_LOCATION) +# include <boost/asio/detail/source_location.hpp> +# endif // defined(BOOST_ASIO_HAS_SOURCE_LOCATION) +#endif // defined(BOOST_ASIO_ENABLE_HANDLER_TRACKING) + #include <boost/asio/detail/push_options.hpp> namespace boost { @@ -839,14 +845,32 @@ public: } template <async_operation Op> - auto await_transform(Op&& op) + auto await_transform(Op&& op +#if defined(BOOST_ASIO_ENABLE_HANDLER_TRACKING) +# if defined(BOOST_ASIO_HAS_SOURCE_LOCATION) + , boost::asio::detail::source_location location + = boost::asio::detail::source_location::current() +# endif // defined(BOOST_ASIO_HAS_SOURCE_LOCATION) +#endif // defined(BOOST_ASIO_ENABLE_HANDLER_TRACKING) + ) { class [[nodiscard]] awaitable { public: - awaitable(Op&& op, co_composed_promise& promise) + awaitable(Op&& op, co_composed_promise& promise +#if defined(BOOST_ASIO_ENABLE_HANDLER_TRACKING) +# if defined(BOOST_ASIO_HAS_SOURCE_LOCATION) + , const boost::asio::detail::source_location& location +# endif // defined(BOOST_ASIO_HAS_SOURCE_LOCATION) +#endif // defined(BOOST_ASIO_ENABLE_HANDLER_TRACKING) + ) : op_(std::forward<Op>(op)), promise_(promise) +#if defined(BOOST_ASIO_ENABLE_HANDLER_TRACKING) +# if defined(BOOST_ASIO_HAS_SOURCE_LOCATION) + , location_(location) +# endif // defined(BOOST_ASIO_HAS_SOURCE_LOCATION) +#endif // defined(BOOST_ASIO_ENABLE_HANDLER_TRACKING) { } @@ -863,6 +887,14 @@ public: promise_.state_.on_suspend_->fn_ = [](void* p) { +#if defined(BOOST_ASIO_ENABLE_HANDLER_TRACKING) +# if defined(BOOST_ASIO_HAS_SOURCE_LOCATION) + BOOST_ASIO_HANDLER_LOCATION(( + static_cast<awaitable*>(p)->location_.file_name(), + static_cast<awaitable*>(p)->location_.line(), + static_cast<awaitable*>(p)->location_.function_name())); +# endif // defined(BOOST_ASIO_HAS_SOURCE_LOCATION) +#endif // defined(BOOST_ASIO_ENABLE_HANDLER_TRACKING) std::forward<Op>(static_cast<awaitable*>(p)->op_)( co_composed_handler<Executors, Handler, Return, completion_signature_of_t<Op>>( @@ -880,10 +912,21 @@ public: private: Op&& op_; co_composed_promise& promise_; +#if defined(BOOST_ASIO_ENABLE_HANDLER_TRACKING) +# if defined(BOOST_ASIO_HAS_SOURCE_LOCATION) + boost::asio::detail::source_location location_; +# endif // defined(BOOST_ASIO_HAS_SOURCE_LOCATION) +#endif // defined(BOOST_ASIO_ENABLE_HANDLER_TRACKING) }; state_.check_for_cancellation_on_transform(); - return awaitable{std::forward<Op>(op), *this}; + return awaitable{std::forward<Op>(op), *this +#if defined(BOOST_ASIO_ENABLE_HANDLER_TRACKING) +# if defined(BOOST_ASIO_HAS_SOURCE_LOCATION) + , location +# endif // defined(BOOST_ASIO_HAS_SOURCE_LOCATION) +#endif // defined(BOOST_ASIO_ENABLE_HANDLER_TRACKING) + }; } template <typename... Args> diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/impl/coro.hpp b/contrib/restricted/boost/asio/include/boost/asio/experimental/impl/coro.hpp index d769ba72bb..ec7d956e1b 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/experimental/impl/coro.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/impl/coro.hpp @@ -2,7 +2,7 @@ // experimental/impl/coro.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2021-2022 Klemens D. Morgenstern +// Copyright (c) 2021-2023 Klemens D. Morgenstern // (klemens dot morgenstern at gmx dot net) // // Distributed under the Boost Software License, Version 1.0. (See accompanying @@ -583,7 +583,7 @@ struct coro_promise final : typename coro_traits<Yield, Return, Executor>::input_type, typename coro_traits<Yield, Return, Executor>::return_type> { - using coro_type = coro<Yield, Return, Executor>; + using coro_type = coro<Yield, Return, Executor, Allocator>; auto handle() { @@ -865,14 +865,17 @@ struct coro_promise final : return result{cancel, throw_if_cancelled.value}; } - template <typename Yield_, typename Return_, typename Executor_> - auto await_transform(coro<Yield_, Return_, Executor_>& kr) -> decltype(auto) + template <typename Yield_, typename Return_, + typename Executor_, typename Allocator_> + auto await_transform(coro<Yield_, Return_, Executor_, Allocator_>& kr) + -> decltype(auto) { return kr; } - template <typename Yield_, typename Return_, typename Executor_> - auto await_transform(coro<Yield_, Return_, Executor_>&& kr) + template <typename Yield_, typename Return_, + typename Executor_, typename Allocator_> + auto await_transform(coro<Yield_, Return_, Executor_, Allocator_>&& kr) { return std::move(kr); } diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/impl/parallel_group.hpp b/contrib/restricted/boost/asio/include/boost/asio/experimental/impl/parallel_group.hpp index a22b0ac612..e63cfcf65c 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/experimental/impl/parallel_group.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/impl/parallel_group.hpp @@ -2,7 +2,7 @@ // experimental/impl/parallel_group.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/impl/promise.hpp b/contrib/restricted/boost/asio/include/boost/asio/experimental/impl/promise.hpp index 0cab847539..0eb0f6b6fc 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/experimental/impl/promise.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/impl/promise.hpp @@ -2,7 +2,7 @@ // experimental/impl/promise.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2021-2022 Klemens D. Morgenstern +// Copyright (c) 2021-2023 Klemens D. Morgenstern // (klemens dot morgenstern at gmx dot net) // // Distributed under the Boost Software License, Version 1.0. (See accompanying @@ -144,6 +144,19 @@ struct promise_impl<void(Ts...), Executor, Allocator> std::exchange(completion, nullptr)->invoke(std::forward<T_>(ts)...); } + template<std::size_t... Idx> + void complete_with_result_impl(boost::asio::detail::index_sequence<Idx...>) + { + auto& result_type = *reinterpret_cast<promise_impl::result_type*>(&result); + this->complete(std::get<Idx>(std::move(result_type))...); + } + + void complete_with_result() + { + complete_with_result_impl( + boost::asio::detail::make_index_sequence<sizeof...(Ts)>{}); + } + template<typename... T_> void cancel_impl_(std::exception_ptr*, T_*...) { @@ -229,7 +242,7 @@ struct promise_handler<void(Ts...), Executor, Allocator> impl_->done = true; if (impl_->completion) - impl_->complete(std::move(ts)...); + impl_->complete_with_result(); } }; diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/impl/use_coro.hpp b/contrib/restricted/boost/asio/include/boost/asio/experimental/impl/use_coro.hpp index 0e32722225..4112e5b221 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/experimental/impl/use_coro.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/impl/use_coro.hpp @@ -2,7 +2,7 @@ // experimental/impl/use_coro.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2021-2022 Klemens D. Morgenstern +// Copyright (c) 2021-2023 Klemens D. Morgenstern // (klemens dot morgenstern at gmx dot net) // // Distributed under the Boost Software License, Version 1.0. (See accompanying @@ -96,7 +96,7 @@ struct async_result< boost::asio::associated_executor_t<Initiation>, Allocator> { co_await deferred_async_operation< - R(boost::system::error_code), Initiation, InitArgs...>( + R(std::exception_ptr), Initiation, InitArgs...>( deferred_init_tag{}, std::move(initiation), std::move(args)...); } @@ -126,7 +126,7 @@ struct async_result<experimental::use_coro_t<Allocator>, R(T)> -> experimental::coro<void() noexcept, T, boost::asio::associated_executor_t<Initiation>, Allocator> { - co_return co_await deferred_async_operation<R(), Initiation, InitArgs...>( + co_return co_await deferred_async_operation<R(T), Initiation, InitArgs...>( deferred_init_tag{}, std::move(initiation), std::move(args)...); } @@ -156,7 +156,7 @@ struct async_result< boost::asio::associated_executor_t<Initiation>, Allocator> { co_return co_await deferred_async_operation< - R(boost::system::error_code), Initiation, InitArgs...>( + R(boost::system::error_code, T), Initiation, InitArgs...>( deferred_init_tag{}, std::move(initiation), std::move(args)...); } @@ -187,7 +187,7 @@ struct async_result< boost::asio::associated_executor_t<Initiation>, Allocator> { co_return co_await deferred_async_operation< - R(boost::system::error_code), Initiation, InitArgs...>( + R(std::exception_ptr, T), Initiation, InitArgs...>( deferred_init_tag{}, std::move(initiation), std::move(args)...); } diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/impl/use_promise.hpp b/contrib/restricted/boost/asio/include/boost/asio/experimental/impl/use_promise.hpp index 3b6918e52e..a9241e2e9f 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/experimental/impl/use_promise.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/impl/use_promise.hpp @@ -2,7 +2,7 @@ // experimental/impl/use_promise.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2021-2022 Klemens D. Morgenstern +// Copyright (c) 2021-2023 Klemens D. Morgenstern // (klemens dot morgenstern at gmx dot net) // // Distributed under the Boost Software License, Version 1.0. (See accompanying diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/parallel_group.hpp b/contrib/restricted/boost/asio/include/boost/asio/experimental/parallel_group.hpp index 110db8450a..7f731dfa5f 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/experimental/parallel_group.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/parallel_group.hpp @@ -2,7 +2,7 @@ // experimental/parallel_group.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/prepend.hpp b/contrib/restricted/boost/asio/include/boost/asio/experimental/prepend.hpp index 0b6cd23ea0..038e5c311b 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/experimental/prepend.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/prepend.hpp @@ -2,7 +2,7 @@ // experimental/prepend.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/promise.hpp b/contrib/restricted/boost/asio/include/boost/asio/experimental/promise.hpp index e6f9454dac..205d795456 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/experimental/promise.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/promise.hpp @@ -2,7 +2,7 @@ // experimental/promise.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2021-2022 Klemens D. Morgenstern +// Copyright (c) 2021-2023 Klemens D. Morgenstern // (klemens dot morgenstern at gmx dot net) // // Distributed under the Boost Software License, Version 1.0. (See accompanying diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/use_coro.hpp b/contrib/restricted/boost/asio/include/boost/asio/experimental/use_coro.hpp index eeb297229b..0f25049aae 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/experimental/use_coro.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/use_coro.hpp @@ -2,7 +2,7 @@ // experimental/use_coro.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2021-2022 Klemens D. Morgenstern +// Copyright (c) 2021-2023 Klemens D. Morgenstern // (klemens dot morgenstern at gmx dot net) // // Distributed under the Boost Software License, Version 1.0. (See accompanying diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/use_promise.hpp b/contrib/restricted/boost/asio/include/boost/asio/experimental/use_promise.hpp index b7b70cefbb..e81d04155c 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/experimental/use_promise.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/use_promise.hpp @@ -2,8 +2,8 @@ // experimental/use_promise.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2022 Klemens D. Morgenstern -// (klemens dot morgenstern at gmx dot net) +// Copyright (c) 2021-2023 Klemens D. Morgenstern +// (klemens dot morgenstern at gmx dot net) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/file_base.hpp b/contrib/restricted/boost/asio/include/boost/asio/file_base.hpp index 2b97068d3e..fbaabfcd0d 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/file_base.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/file_base.hpp @@ -2,7 +2,7 @@ // file_base.hpp // ~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/generic/basic_endpoint.hpp b/contrib/restricted/boost/asio/include/boost/asio/generic/basic_endpoint.hpp index c3586e6b9f..73df8b265c 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/generic/basic_endpoint.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/generic/basic_endpoint.hpp @@ -2,7 +2,7 @@ // generic/basic_endpoint.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/generic/datagram_protocol.hpp b/contrib/restricted/boost/asio/include/boost/asio/generic/datagram_protocol.hpp index 209713c049..cb069f73b0 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/generic/datagram_protocol.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/generic/datagram_protocol.hpp @@ -2,7 +2,7 @@ // generic/datagram_protocol.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/generic/detail/endpoint.hpp b/contrib/restricted/boost/asio/include/boost/asio/generic/detail/endpoint.hpp index 8008145cfa..88ae981c0a 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/generic/detail/endpoint.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/generic/detail/endpoint.hpp @@ -2,7 +2,7 @@ // generic/detail/endpoint.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/generic/detail/impl/endpoint.ipp b/contrib/restricted/boost/asio/include/boost/asio/generic/detail/impl/endpoint.ipp index ba63dc7f99..1f8bbd7e9b 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/generic/detail/impl/endpoint.ipp +++ b/contrib/restricted/boost/asio/include/boost/asio/generic/detail/impl/endpoint.ipp @@ -2,7 +2,7 @@ // generic/detail/impl/endpoint.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/generic/raw_protocol.hpp b/contrib/restricted/boost/asio/include/boost/asio/generic/raw_protocol.hpp index 8332539b01..09856f5a59 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/generic/raw_protocol.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/generic/raw_protocol.hpp @@ -2,7 +2,7 @@ // generic/raw_protocol.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/generic/seq_packet_protocol.hpp b/contrib/restricted/boost/asio/include/boost/asio/generic/seq_packet_protocol.hpp index edab62d848..b3db50356b 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/generic/seq_packet_protocol.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/generic/seq_packet_protocol.hpp @@ -2,7 +2,7 @@ // generic/seq_packet_protocol.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/generic/stream_protocol.hpp b/contrib/restricted/boost/asio/include/boost/asio/generic/stream_protocol.hpp index 2ee8bb029e..ae8147946b 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/generic/stream_protocol.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/generic/stream_protocol.hpp @@ -2,7 +2,7 @@ // generic/stream_protocol.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/handler_alloc_hook.hpp b/contrib/restricted/boost/asio/include/boost/asio/handler_alloc_hook.hpp index 7b8d89bac7..894d166941 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/handler_alloc_hook.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/handler_alloc_hook.hpp @@ -2,7 +2,7 @@ // handler_alloc_hook.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/handler_continuation_hook.hpp b/contrib/restricted/boost/asio/include/boost/asio/handler_continuation_hook.hpp index ba3c4122ce..97fe525fa8 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/handler_continuation_hook.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/handler_continuation_hook.hpp @@ -2,7 +2,7 @@ // handler_continuation_hook.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/handler_invoke_hook.hpp b/contrib/restricted/boost/asio/include/boost/asio/handler_invoke_hook.hpp index a9fbc86293..77f2ab5c04 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/handler_invoke_hook.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/handler_invoke_hook.hpp @@ -2,7 +2,7 @@ // handler_invoke_hook.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/high_resolution_timer.hpp b/contrib/restricted/boost/asio/include/boost/asio/high_resolution_timer.hpp index 8c7633ae7d..a73fae0efc 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/high_resolution_timer.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/high_resolution_timer.hpp @@ -2,7 +2,7 @@ // high_resolution_timer.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/any_completion_executor.ipp b/contrib/restricted/boost/asio/include/boost/asio/impl/any_completion_executor.ipp index c947361868..a975f22769 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/impl/any_completion_executor.ipp +++ b/contrib/restricted/boost/asio/include/boost/asio/impl/any_completion_executor.ipp @@ -2,7 +2,7 @@ // impl/any_completion_executor.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/any_io_executor.ipp b/contrib/restricted/boost/asio/include/boost/asio/impl/any_io_executor.ipp index 2524fccd63..e7462fb5f9 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/impl/any_io_executor.ipp +++ b/contrib/restricted/boost/asio/include/boost/asio/impl/any_io_executor.ipp @@ -2,7 +2,7 @@ // impl/any_io_executor.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/append.hpp b/contrib/restricted/boost/asio/include/boost/asio/impl/append.hpp index 54e7030f2e..1cb274b21b 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/impl/append.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/impl/append.hpp @@ -2,7 +2,7 @@ // impl/append.hpp // ~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/as_tuple.hpp b/contrib/restricted/boost/asio/include/boost/asio/impl/as_tuple.hpp index c373f7f858..2cd73706e5 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/impl/as_tuple.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/impl/as_tuple.hpp @@ -2,7 +2,7 @@ // impl/as_tuple.hpp // ~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -176,10 +176,6 @@ struct async_result<as_tuple_t<CompletionToken>, Signatures...> : async_result<CompletionToken, typename detail::as_tuple_signature<Signatures>::type...> { - typedef async_result<CompletionToken, - typename detail::as_tuple_signature<Signatures>::type...> - base_async_result; - template <typename Initiation> struct init_wrapper { @@ -206,22 +202,79 @@ struct async_result<as_tuple_t<CompletionToken>, Signatures...> template <typename Initiation, typename RawCompletionToken, typename... Args> static BOOST_ASIO_INITFN_DEDUCED_RESULT_TYPE(CompletionToken, typename detail::as_tuple_signature<Signatures>::type..., - (base_async_result::initiate( - declval<init_wrapper<typename decay<Initiation>::type> >(), - declval<CompletionToken>(), - declval<BOOST_ASIO_MOVE_ARG(Args)>()...))) + (async_initiate<CompletionToken, + typename detail::as_tuple_signature<Signatures>::type...>( + declval<init_wrapper<typename decay<Initiation>::type> >(), + declval<CompletionToken&>(), + declval<BOOST_ASIO_MOVE_ARG(Args)>()...))) + initiate( + BOOST_ASIO_MOVE_ARG(Initiation) initiation, + BOOST_ASIO_MOVE_ARG(RawCompletionToken) token, + BOOST_ASIO_MOVE_ARG(Args)... args) + { + return async_initiate<CompletionToken, + typename detail::as_tuple_signature<Signatures>::type...>( + init_wrapper<typename decay<Initiation>::type>( + BOOST_ASIO_MOVE_CAST(Initiation)(initiation)), + token.token_, BOOST_ASIO_MOVE_CAST(Args)(args)...); + } +}; + +#if defined(BOOST_ASIO_MSVC) + +// Workaround for MSVC internal compiler error. + +template <typename CompletionToken, typename Signature> +struct async_result<as_tuple_t<CompletionToken>, Signature> + : async_result<CompletionToken, + typename detail::as_tuple_signature<Signature>::type> +{ + template <typename Initiation> + struct init_wrapper + { + init_wrapper(Initiation init) + : initiation_(BOOST_ASIO_MOVE_CAST(Initiation)(init)) + { + } + + template <typename Handler, typename... Args> + void operator()( + BOOST_ASIO_MOVE_ARG(Handler) handler, + BOOST_ASIO_MOVE_ARG(Args)... args) + { + BOOST_ASIO_MOVE_CAST(Initiation)(initiation_)( + detail::as_tuple_handler< + typename decay<Handler>::type>( + BOOST_ASIO_MOVE_CAST(Handler)(handler)), + BOOST_ASIO_MOVE_CAST(Args)(args)...); + } + + Initiation initiation_; + }; + + template <typename Initiation, typename RawCompletionToken, typename... Args> + static BOOST_ASIO_INITFN_DEDUCED_RESULT_TYPE(CompletionToken, + typename detail::as_tuple_signature<Signature>::type, + (async_initiate<CompletionToken, + typename detail::as_tuple_signature<Signature>::type>( + declval<init_wrapper<typename decay<Initiation>::type> >(), + declval<CompletionToken&>(), + declval<BOOST_ASIO_MOVE_ARG(Args)>()...))) initiate( BOOST_ASIO_MOVE_ARG(Initiation) initiation, BOOST_ASIO_MOVE_ARG(RawCompletionToken) token, BOOST_ASIO_MOVE_ARG(Args)... args) { - return base_async_result::initiate( + return async_initiate<CompletionToken, + typename detail::as_tuple_signature<Signature>::type>( init_wrapper<typename decay<Initiation>::type>( BOOST_ASIO_MOVE_CAST(Initiation)(initiation)), token.token_, BOOST_ASIO_MOVE_CAST(Args)(args)...); } }; +#endif // defined(BOOST_ASIO_MSVC) + template <template <typename, typename> class Associator, typename Handler, typename DefaultCandidate> struct associator<Associator, diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/awaitable.hpp b/contrib/restricted/boost/asio/include/boost/asio/impl/awaitable.hpp index 84a2a7ca42..3bd1c2858f 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/impl/awaitable.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/impl/awaitable.hpp @@ -2,7 +2,7 @@ // impl/awaitable.hpp // ~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -30,6 +30,12 @@ #include <boost/system/system_error.hpp> #include <boost/asio/this_coro.hpp> +#if defined(BOOST_ASIO_ENABLE_HANDLER_TRACKING) +# if defined(BOOST_ASIO_HAS_SOURCE_LOCATION) +# include <boost/asio/detail/source_location.hpp> +# endif // defined(BOOST_ASIO_HAS_SOURCE_LOCATION) +#endif // defined(BOOST_ASIO_ENABLE_HANDLER_TRACKING) + #include <boost/asio/detail/push_options.hpp> namespace boost { @@ -170,7 +176,13 @@ public: template <typename Op> auto await_transform(Op&& op, - typename constraint<is_async_operation<Op>::value>::type = 0) + typename constraint<is_async_operation<Op>::value>::type = 0 +#if defined(BOOST_ASIO_ENABLE_HANDLER_TRACKING) +# if defined(BOOST_ASIO_HAS_SOURCE_LOCATION) + , detail::source_location location = detail::source_location::current() +# endif // defined(BOOST_ASIO_HAS_SOURCE_LOCATION) +#endif // defined(BOOST_ASIO_ENABLE_HANDLER_TRACKING) + ) { if (attached_thread_->entry_point()->throw_if_cancelled_) if (!!attached_thread_->get_cancellation_state().cancelled()) @@ -178,7 +190,13 @@ public: return awaitable_async_op<typename completion_signature_of<Op>::type, typename decay<Op>::type, Executor>{ - std::forward<Op>(op), this}; + std::forward<Op>(op), this +#if defined(BOOST_ASIO_ENABLE_HANDLER_TRACKING) +# if defined(BOOST_ASIO_HAS_SOURCE_LOCATION) + , location +# endif // defined(BOOST_ASIO_HAS_SOURCE_LOCATION) +#endif // defined(BOOST_ASIO_ENABLE_HANDLER_TRACKING) + }; } // This await transformation obtains the associated executor of the thread of @@ -953,7 +971,7 @@ public: static T resume(result_type& result) { - if (*result) + if (*result.ex_) { std::exception_ptr ex = std::exchange(*result.ex_, nullptr); std::rethrow_exception(ex); @@ -1068,7 +1086,7 @@ public: static std::tuple<Ts...> resume(result_type& result) { - if (*result) + if (*result.ex_) { std::exception_ptr ex = std::exchange(*result.ex_, nullptr); std::rethrow_exception(ex); @@ -1086,10 +1104,21 @@ class awaitable_async_op public: typedef awaitable_async_op_handler<Signature, Executor> handler_type; - awaitable_async_op(Op&& o, awaitable_frame_base<Executor>* frame) + awaitable_async_op(Op&& o, awaitable_frame_base<Executor>* frame +#if defined(BOOST_ASIO_ENABLE_HANDLER_TRACKING) +# if defined(BOOST_ASIO_HAS_SOURCE_LOCATION) + , const detail::source_location& location +# endif // defined(BOOST_ASIO_HAS_SOURCE_LOCATION) +#endif // defined(BOOST_ASIO_ENABLE_HANDLER_TRACKING) + ) : op_(std::forward<Op>(o)), frame_(frame), result_() +#if defined(BOOST_ASIO_ENABLE_HANDLER_TRACKING) +# if defined(BOOST_ASIO_HAS_SOURCE_LOCATION) + , location_(location) +# endif // defined(BOOST_ASIO_HAS_SOURCE_LOCATION) +#endif // defined(BOOST_ASIO_ENABLE_HANDLER_TRACKING) { } @@ -1104,6 +1133,12 @@ public: [](void* arg) { awaitable_async_op* self = static_cast<awaitable_async_op*>(arg); +#if defined(BOOST_ASIO_ENABLE_HANDLER_TRACKING) +# if defined(BOOST_ASIO_HAS_SOURCE_LOCATION) + BOOST_ASIO_HANDLER_LOCATION((self->location_.file_name(), + self->location_.line(), self->location_.function_name())); +# endif // defined(BOOST_ASIO_HAS_SOURCE_LOCATION) +#endif // defined(BOOST_ASIO_ENABLE_HANDLER_TRACKING) std::forward<Op&&>(self->op_)( handler_type(self->frame_->detach_thread(), self->result_)); }, this); @@ -1118,6 +1153,11 @@ private: Op&& op_; awaitable_frame_base<Executor>* frame_; typename handler_type::result_type result_; +#if defined(BOOST_ASIO_ENABLE_HANDLER_TRACKING) +# if defined(BOOST_ASIO_HAS_SOURCE_LOCATION) + detail::source_location location_; +# endif // defined(BOOST_ASIO_HAS_SOURCE_LOCATION) +#endif // defined(BOOST_ASIO_ENABLE_HANDLER_TRACKING) }; } // namespace detail diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/buffered_read_stream.hpp b/contrib/restricted/boost/asio/include/boost/asio/impl/buffered_read_stream.hpp index dffca02f82..330c5625d4 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/impl/buffered_read_stream.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/impl/buffered_read_stream.hpp @@ -2,7 +2,7 @@ // impl/buffered_read_stream.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/buffered_write_stream.hpp b/contrib/restricted/boost/asio/include/boost/asio/impl/buffered_write_stream.hpp index 4e94ee1bda..259a30ffe0 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/impl/buffered_write_stream.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/impl/buffered_write_stream.hpp @@ -2,7 +2,7 @@ // impl/buffered_write_stream.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/cancellation_signal.ipp b/contrib/restricted/boost/asio/include/boost/asio/impl/cancellation_signal.ipp index dad7c36245..33e80bac39 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/impl/cancellation_signal.ipp +++ b/contrib/restricted/boost/asio/include/boost/asio/impl/cancellation_signal.ipp @@ -2,7 +2,7 @@ // impl/cancellation_signal.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/co_spawn.hpp b/contrib/restricted/boost/asio/include/boost/asio/impl/co_spawn.hpp index c5aab716ee..c6d75ea91a 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/impl/co_spawn.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/impl/co_spawn.hpp @@ -2,7 +2,7 @@ // impl/co_spawn.hpp // ~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/connect.hpp b/contrib/restricted/boost/asio/include/boost/asio/impl/connect.hpp index 3ba192ba4c..b965b16819 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/impl/connect.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/impl/connect.hpp @@ -2,7 +2,7 @@ // impl/connect.hpp // ~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/connect_pipe.hpp b/contrib/restricted/boost/asio/include/boost/asio/impl/connect_pipe.hpp index 419857cc41..6908dfb480 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/impl/connect_pipe.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/impl/connect_pipe.hpp @@ -2,7 +2,7 @@ // impl/connect_pipe.hpp // ~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/connect_pipe.ipp b/contrib/restricted/boost/asio/include/boost/asio/impl/connect_pipe.ipp index 2888246898..0f1952235e 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/impl/connect_pipe.ipp +++ b/contrib/restricted/boost/asio/include/boost/asio/impl/connect_pipe.ipp @@ -2,7 +2,7 @@ // impl/connect_pipe.ipp // ~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2021 Klemens D. Morgenstern // (klemens dot morgenstern at gmx dot net) // diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/consign.hpp b/contrib/restricted/boost/asio/include/boost/asio/impl/consign.hpp index 96a6811f9b..d4a7d0feb0 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/impl/consign.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/impl/consign.hpp @@ -2,7 +2,7 @@ // impl/consign.hpp // ~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/deferred.hpp b/contrib/restricted/boost/asio/include/boost/asio/impl/deferred.hpp index 7ccc7d074a..973359a1a1 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/impl/deferred.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/impl/deferred.hpp @@ -2,7 +2,7 @@ // impl/deferred.hpp // ~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the 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,8 +39,59 @@ public: } }; -template <typename Function, typename R, typename... Args> -class async_result<deferred_function<Function>, R(Args...)> +template <typename... Signatures> +class async_result<deferred_t, Signatures...> +{ +public: + template <typename Initiation, typename... InitArgs> + static deferred_async_operation< + deferred_signatures<Signatures...>, Initiation, InitArgs...> + initiate(BOOST_ASIO_MOVE_ARG(Initiation) initiation, + deferred_t, BOOST_ASIO_MOVE_ARG(InitArgs)... args) + { + return deferred_async_operation< + deferred_signatures<Signatures...>, Initiation, InitArgs...>( + deferred_init_tag{}, + BOOST_ASIO_MOVE_CAST(Initiation)(initiation), + BOOST_ASIO_MOVE_CAST(InitArgs)(args)...); + } +}; + +template <typename Function, typename Signature> +class async_result<deferred_function<Function>, Signature> +{ +public: + template <typename Initiation, typename... InitArgs> + static auto initiate(BOOST_ASIO_MOVE_ARG(Initiation) initiation, + deferred_function<Function> token, + BOOST_ASIO_MOVE_ARG(InitArgs)... init_args) + -> decltype( + deferred_sequence< + deferred_async_operation< + Signature, Initiation, InitArgs...>, + Function>(deferred_init_tag{}, + deferred_async_operation< + Signature, Initiation, InitArgs...>( + deferred_init_tag{}, + BOOST_ASIO_MOVE_CAST(Initiation)(initiation), + BOOST_ASIO_MOVE_CAST(InitArgs)(init_args)...), + BOOST_ASIO_MOVE_CAST(Function)(token.function_))) + { + return deferred_sequence< + deferred_async_operation< + Signature, Initiation, InitArgs...>, + Function>(deferred_init_tag{}, + deferred_async_operation< + Signature, Initiation, InitArgs...>( + deferred_init_tag{}, + BOOST_ASIO_MOVE_CAST(Initiation)(initiation), + BOOST_ASIO_MOVE_CAST(InitArgs)(init_args)...), + BOOST_ASIO_MOVE_CAST(Function)(token.function_)); + } +}; + +template <typename Function, typename... Signatures> +class async_result<deferred_function<Function>, Signatures...> { public: template <typename Initiation, typename... InitArgs> @@ -50,10 +101,10 @@ public: -> decltype( deferred_sequence< deferred_async_operation< - R(Args...), Initiation, InitArgs...>, + deferred_signatures<Signatures...>, Initiation, InitArgs...>, Function>(deferred_init_tag{}, deferred_async_operation< - R(Args...), Initiation, InitArgs...>( + deferred_signatures<Signatures...>, Initiation, InitArgs...>( deferred_init_tag{}, BOOST_ASIO_MOVE_CAST(Initiation)(initiation), BOOST_ASIO_MOVE_CAST(InitArgs)(init_args)...), @@ -61,10 +112,10 @@ public: { return deferred_sequence< deferred_async_operation< - R(Args...), Initiation, InitArgs...>, + deferred_signatures<Signatures...>, Initiation, InitArgs...>, Function>(deferred_init_tag{}, deferred_async_operation< - R(Args...), Initiation, InitArgs...>( + deferred_signatures<Signatures...>, Initiation, InitArgs...>( deferred_init_tag{}, BOOST_ASIO_MOVE_CAST(Initiation)(initiation), BOOST_ASIO_MOVE_CAST(InitArgs)(init_args)...), diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/detached.hpp b/contrib/restricted/boost/asio/include/boost/asio/impl/detached.hpp index f8c5562ac8..4ff59b1e08 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/impl/detached.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/impl/detached.hpp @@ -2,7 +2,7 @@ // impl/detached.hpp // ~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/error.ipp b/contrib/restricted/boost/asio/include/boost/asio/impl/error.ipp index 082ccb05b5..ff67b74afc 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/impl/error.ipp +++ b/contrib/restricted/boost/asio/include/boost/asio/impl/error.ipp @@ -2,7 +2,7 @@ // impl/error.ipp // ~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/execution_context.hpp b/contrib/restricted/boost/asio/include/boost/asio/impl/execution_context.hpp index bed35985f9..1d9933928e 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/impl/execution_context.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/impl/execution_context.hpp @@ -2,7 +2,7 @@ // impl/execution_context.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/execution_context.ipp b/contrib/restricted/boost/asio/include/boost/asio/impl/execution_context.ipp index 1cfefc91ba..52f4e5cb01 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/impl/execution_context.ipp +++ b/contrib/restricted/boost/asio/include/boost/asio/impl/execution_context.ipp @@ -2,7 +2,7 @@ // impl/execution_context.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/executor.hpp b/contrib/restricted/boost/asio/include/boost/asio/impl/executor.hpp index a514a1ff75..02d40e30f0 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/impl/executor.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/impl/executor.hpp @@ -2,7 +2,7 @@ // impl/executor.hpp // ~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/executor.ipp b/contrib/restricted/boost/asio/include/boost/asio/impl/executor.ipp index f463a9f07c..f58c8b73bc 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/impl/executor.ipp +++ b/contrib/restricted/boost/asio/include/boost/asio/impl/executor.ipp @@ -2,7 +2,7 @@ // impl/executor.ipp // ~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/handler_alloc_hook.ipp b/contrib/restricted/boost/asio/include/boost/asio/impl/handler_alloc_hook.ipp index 7dbe10b39f..5368b5bcd8 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/impl/handler_alloc_hook.ipp +++ b/contrib/restricted/boost/asio/include/boost/asio/impl/handler_alloc_hook.ipp @@ -2,7 +2,7 @@ // impl/handler_alloc_hook.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/io_context.hpp b/contrib/restricted/boost/asio/include/boost/asio/impl/io_context.hpp index 7fbbb1906a..f98358f194 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/impl/io_context.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/impl/io_context.hpp @@ -2,7 +2,7 @@ // impl/io_context.hpp // ~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/io_context.ipp b/contrib/restricted/boost/asio/include/boost/asio/impl/io_context.ipp index 1331798b21..712f744bf7 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/impl/io_context.ipp +++ b/contrib/restricted/boost/asio/include/boost/asio/impl/io_context.ipp @@ -2,7 +2,7 @@ // impl/io_context.ipp // ~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -55,6 +55,7 @@ io_context::impl_type& io_context::add_impl(io_context::impl_type* impl) io_context::~io_context() { + shutdown(); } io_context::count_type io_context::run() diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/multiple_exceptions.ipp b/contrib/restricted/boost/asio/include/boost/asio/impl/multiple_exceptions.ipp index ab59b17f1a..6ff57e834a 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/impl/multiple_exceptions.ipp +++ b/contrib/restricted/boost/asio/include/boost/asio/impl/multiple_exceptions.ipp @@ -2,7 +2,7 @@ // impl/multiple_exceptions.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/prepend.hpp b/contrib/restricted/boost/asio/include/boost/asio/impl/prepend.hpp index 0357280a51..a692cbeaa3 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/impl/prepend.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/impl/prepend.hpp @@ -2,7 +2,7 @@ // impl/prepend.hpp // ~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/read.hpp b/contrib/restricted/boost/asio/include/boost/asio/impl/read.hpp index ae99b019ed..559e3cc1a7 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/impl/read.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/impl/read.hpp @@ -2,7 +2,7 @@ // impl/read.hpp // ~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/read_at.hpp b/contrib/restricted/boost/asio/include/boost/asio/impl/read_at.hpp index 643ad7a69b..90a00a3e62 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/impl/read_at.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/impl/read_at.hpp @@ -2,7 +2,7 @@ // impl/read_at.hpp // ~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/read_until.hpp b/contrib/restricted/boost/asio/include/boost/asio/impl/read_until.hpp index 5b35890a28..4e1edfaeff 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/impl/read_until.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/impl/read_until.hpp @@ -2,7 +2,7 @@ // impl/read_until.hpp // ~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/redirect_error.hpp b/contrib/restricted/boost/asio/include/boost/asio/impl/redirect_error.hpp index 55a366bb21..bd4926687d 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/impl/redirect_error.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/impl/redirect_error.hpp @@ -2,7 +2,7 @@ // impl/redirect_error.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -474,29 +474,26 @@ struct redirect_error_signature< template <typename CompletionToken, typename Signature> struct async_result<redirect_error_t<CompletionToken>, Signature> + : async_result<CompletionToken, + typename detail::redirect_error_signature<Signature>::type> { - typedef typename async_result<CompletionToken, - typename detail::redirect_error_signature<Signature>::type> - ::return_type return_type; - template <typename Initiation> struct init_wrapper { - template <typename Init> - init_wrapper(boost::system::error_code& ec, BOOST_ASIO_MOVE_ARG(Init) init) - : ec_(ec), - initiation_(BOOST_ASIO_MOVE_CAST(Init)(init)) + explicit init_wrapper(boost::system::error_code& ec) + : ec_(ec) { } #if defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES) - template <typename Handler, typename... Args> + template <typename Handler, typename Initiation, typename... Args> void operator()( BOOST_ASIO_MOVE_ARG(Handler) handler, - BOOST_ASIO_MOVE_ARG(Args)... args) + BOOST_ASIO_MOVE_ARG(Initiation) initiation, + BOOST_ASIO_MOVE_ARG(Args)... args) const { - BOOST_ASIO_MOVE_CAST(Initiation)(initiation_)( + BOOST_ASIO_MOVE_CAST(Initiation)(initiation)( detail::redirect_error_handler< typename decay<Handler>::type>( ec_, BOOST_ASIO_MOVE_CAST(Handler)(handler)), @@ -505,23 +502,26 @@ struct async_result<redirect_error_t<CompletionToken>, Signature> #else // defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES) - template <typename Handler> + template <typename Handler, typename Initiation> void operator()( - BOOST_ASIO_MOVE_ARG(Handler) handler) + BOOST_ASIO_MOVE_ARG(Handler) handler, + BOOST_ASIO_MOVE_ARG(Initiation) initiation) const { - BOOST_ASIO_MOVE_CAST(Initiation)(initiation_)( + BOOST_ASIO_MOVE_CAST(Initiation)(initiation)( detail::redirect_error_handler< typename decay<Handler>::type>( ec_, BOOST_ASIO_MOVE_CAST(Handler)(handler))); } #define BOOST_ASIO_PRIVATE_INIT_WRAPPER_DEF(n) \ - template <typename Handler, BOOST_ASIO_VARIADIC_TPARAMS(n)> \ + template <typename Handler, typename Initiation, \ + BOOST_ASIO_VARIADIC_TPARAMS(n)> \ void operator()( \ BOOST_ASIO_MOVE_ARG(Handler) handler, \ - BOOST_ASIO_VARIADIC_MOVE_PARAMS(n)) \ + BOOST_ASIO_MOVE_ARG(Initiation) initiation, \ + BOOST_ASIO_VARIADIC_MOVE_PARAMS(n)) const \ { \ - BOOST_ASIO_MOVE_CAST(Initiation)(initiation_)( \ + BOOST_ASIO_MOVE_CAST(Initiation)(initiation)( \ detail::redirect_error_handler< \ typename decay<Handler>::type>( \ ec_, BOOST_ASIO_MOVE_CAST(Handler)(handler)), \ @@ -534,51 +534,67 @@ struct async_result<redirect_error_t<CompletionToken>, Signature> #endif // defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES) boost::system::error_code& ec_; - Initiation initiation_; }; #if defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES) template <typename Initiation, typename RawCompletionToken, typename... Args> - static return_type initiate( + static BOOST_ASIO_INITFN_DEDUCED_RESULT_TYPE(CompletionToken, + typename detail::redirect_error_signature<Signature>::type, + (async_initiate<CompletionToken, + typename detail::redirect_error_signature<Signature>::type>( + declval<init_wrapper>(), declval<CompletionToken&>(), + declval<Initiation>(), declval<BOOST_ASIO_MOVE_ARG(Args)>()...))) + initiate( BOOST_ASIO_MOVE_ARG(Initiation) initiation, BOOST_ASIO_MOVE_ARG(RawCompletionToken) token, BOOST_ASIO_MOVE_ARG(Args)... args) { return async_initiate<CompletionToken, typename detail::redirect_error_signature<Signature>::type>( - init_wrapper<typename decay<Initiation>::type>( - token.ec_, BOOST_ASIO_MOVE_CAST(Initiation)(initiation)), - token.token_, BOOST_ASIO_MOVE_CAST(Args)(args)...); + init_wrapper(token.ec_), token.token_, + BOOST_ASIO_MOVE_CAST(Initiation)(initiation), + BOOST_ASIO_MOVE_CAST(Args)(args)...); } #else // defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES) template <typename Initiation, typename RawCompletionToken> - static return_type initiate( + static BOOST_ASIO_INITFN_DEDUCED_RESULT_TYPE(CompletionToken, + typename detail::redirect_error_signature<Signature>::type, + (async_initiate<CompletionToken, + typename detail::redirect_error_signature<Signature>::type>( + declval<init_wrapper>(), declval<CompletionToken&>(), + declval<Initiation>()))) + initiate( BOOST_ASIO_MOVE_ARG(Initiation) initiation, BOOST_ASIO_MOVE_ARG(RawCompletionToken) token) { return async_initiate<CompletionToken, typename detail::redirect_error_signature<Signature>::type>( - init_wrapper<typename decay<Initiation>::type>( - token.ec_, BOOST_ASIO_MOVE_CAST(Initiation)(initiation)), - token.token_); + init_wrapper(token.ec_), token.token_, + BOOST_ASIO_MOVE_CAST(Initiation)(initiation)); } #define BOOST_ASIO_PRIVATE_INITIATE_DEF(n) \ template <typename Initiation, typename RawCompletionToken, \ BOOST_ASIO_VARIADIC_TPARAMS(n)> \ - static return_type initiate( \ + static BOOST_ASIO_INITFN_DEDUCED_RESULT_TYPE(CompletionToken, \ + typename detail::redirect_error_signature<Signature>::type, \ + (async_initiate<CompletionToken, \ + typename detail::redirect_error_signature<Signature>::type>( \ + declval<init_wrapper>(), declval<CompletionToken&>(), \ + declval<Initiation>(), BOOST_ASIO_VARIADIC_DECLVAL(n)))) \ + initiate( \ BOOST_ASIO_MOVE_ARG(Initiation) initiation, \ BOOST_ASIO_MOVE_ARG(RawCompletionToken) token, \ BOOST_ASIO_VARIADIC_MOVE_PARAMS(n)) \ { \ return async_initiate<CompletionToken, \ typename detail::redirect_error_signature<Signature>::type>( \ - init_wrapper<typename decay<Initiation>::type>( \ - token.ec_, BOOST_ASIO_MOVE_CAST(Initiation)(initiation)), \ - token.token_, BOOST_ASIO_VARIADIC_MOVE_ARGS(n)); \ + init_wrapper(token.ec_), token.token_, \ + BOOST_ASIO_MOVE_CAST(Initiation)(initiation), \ + BOOST_ASIO_VARIADIC_MOVE_ARGS(n)); \ } \ /**/ BOOST_ASIO_VARIADIC_GENERATE(BOOST_ASIO_PRIVATE_INITIATE_DEF) diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/serial_port_base.hpp b/contrib/restricted/boost/asio/include/boost/asio/impl/serial_port_base.hpp index bffec99c37..a55bed37e9 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/impl/serial_port_base.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/impl/serial_port_base.hpp @@ -2,7 +2,7 @@ // impl/serial_port_base.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 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/contrib/restricted/boost/asio/include/boost/asio/impl/serial_port_base.ipp b/contrib/restricted/boost/asio/include/boost/asio/impl/serial_port_base.ipp index d80b327fb8..4e786d46ea 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/impl/serial_port_base.ipp +++ b/contrib/restricted/boost/asio/include/boost/asio/impl/serial_port_base.ipp @@ -2,7 +2,7 @@ // impl/serial_port_base.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 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/contrib/restricted/boost/asio/include/boost/asio/impl/spawn.hpp b/contrib/restricted/boost/asio/include/boost/asio/impl/spawn.hpp index f03c0c6a97..1d9d79115a 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/impl/spawn.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/impl/spawn.hpp @@ -2,7 +2,7 @@ // impl/spawn.hpp // ~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/src.hpp b/contrib/restricted/boost/asio/include/boost/asio/impl/src.hpp index f448e33207..6e4904ee8b 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/impl/src.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/impl/src.hpp @@ -2,7 +2,7 @@ // impl/src.hpp // ~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/system_context.hpp b/contrib/restricted/boost/asio/include/boost/asio/impl/system_context.hpp index 084251a7e4..32eba34234 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/impl/system_context.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/impl/system_context.hpp @@ -2,7 +2,7 @@ // impl/system_context.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/system_context.ipp b/contrib/restricted/boost/asio/include/boost/asio/impl/system_context.ipp index 46b72a8346..91e643f7ff 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/impl/system_context.ipp +++ b/contrib/restricted/boost/asio/include/boost/asio/impl/system_context.ipp @@ -2,7 +2,7 @@ // impl/system_context.ipp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/system_executor.hpp b/contrib/restricted/boost/asio/include/boost/asio/impl/system_executor.hpp index 1a40ef922e..747656b324 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/impl/system_executor.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/impl/system_executor.hpp @@ -2,7 +2,7 @@ // impl/system_executor.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/thread_pool.hpp b/contrib/restricted/boost/asio/include/boost/asio/impl/thread_pool.hpp index ddda458aa1..04d375488a 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/impl/thread_pool.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/impl/thread_pool.hpp @@ -2,7 +2,7 @@ // impl/thread_pool.hpp // ~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/thread_pool.ipp b/contrib/restricted/boost/asio/include/boost/asio/impl/thread_pool.ipp index 6449036895..bb7861a17e 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/impl/thread_pool.ipp +++ b/contrib/restricted/boost/asio/include/boost/asio/impl/thread_pool.ipp @@ -2,7 +2,7 @@ // impl/thread_pool.ipp // ~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the 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,6 +99,7 @@ thread_pool::~thread_pool() { stop(); join(); + shutdown(); } void thread_pool::stop() @@ -115,11 +116,11 @@ void thread_pool::attach() void thread_pool::join() { - if (!threads_.empty()) - { + if (num_threads_) scheduler_.work_finished(); + + if (!threads_.empty()) threads_.join(); - } } detail::scheduler& thread_pool::add_scheduler(detail::scheduler* s) diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/use_awaitable.hpp b/contrib/restricted/boost/asio/include/boost/asio/impl/use_awaitable.hpp index b0525283a5..d07ea174a6 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/impl/use_awaitable.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/impl/use_awaitable.hpp @@ -2,7 +2,7 @@ // impl/use_awaitable.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/use_future.hpp b/contrib/restricted/boost/asio/include/boost/asio/impl/use_future.hpp index 6e15e27028..4afa40d69d 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/impl/use_future.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/impl/use_future.hpp @@ -2,7 +2,7 @@ // impl/use_future.hpp // ~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -974,7 +974,7 @@ struct execute_member< #endif // !defined(BOOST_ASIO_HAS_DEDUCED_EXECUTE_MEMBER_TRAIT) -#if !defined(BOOST_ASIO_HAS_DEDUCED_QUERY_STATIC_CONSTEXPR_TRAIT) +#if !defined(BOOST_ASIO_HAS_DEDUCED_QUERY_STATIC_CONSTEXPR_MEMBER_TRAIT) template <typename T, typename Blocking, typename Property> struct query_static_constexpr_member< @@ -998,7 +998,7 @@ struct query_static_constexpr_member< } }; -#endif // !defined(BOOST_ASIO_HAS_DEDUCED_QUERY_STATIC_CONSTEXPR_TRAIT) +#endif // !defined(BOOST_ASIO_HAS_DEDUCED_QUERY_STATIC_CONSTEXPR_MEMBER_TRAIT) #if !defined(BOOST_ASIO_HAS_DEDUCED_QUERY_MEMBER_TRAIT) diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/write.hpp b/contrib/restricted/boost/asio/include/boost/asio/impl/write.hpp index 07236b0899..6a5d71de68 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/impl/write.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/impl/write.hpp @@ -2,7 +2,7 @@ // impl/write.hpp // ~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/write_at.hpp b/contrib/restricted/boost/asio/include/boost/asio/impl/write_at.hpp index 4c3afdba3e..0251393a76 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/impl/write_at.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/impl/write_at.hpp @@ -2,7 +2,7 @@ // impl/write_at.hpp // ~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/io_context.hpp b/contrib/restricted/boost/asio/include/boost/asio/io_context.hpp index 23bec2cdf7..cb5392426d 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/io_context.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/io_context.hpp @@ -2,7 +2,7 @@ // io_context.hpp // ~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/io_context_strand.hpp b/contrib/restricted/boost/asio/include/boost/asio/io_context_strand.hpp index ccbb5de89f..3b4ac725a6 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/io_context_strand.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/io_context_strand.hpp @@ -2,7 +2,7 @@ // io_context_strand.hpp // ~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/io_service.hpp b/contrib/restricted/boost/asio/include/boost/asio/io_service.hpp index 51dda2fb08..3262936836 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/io_service.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/io_service.hpp @@ -2,7 +2,7 @@ // io_service.hpp // ~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/io_service_strand.hpp b/contrib/restricted/boost/asio/include/boost/asio/io_service_strand.hpp index 2822ccae09..f4a6d6e043 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/io_service_strand.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/io_service_strand.hpp @@ -2,7 +2,7 @@ // io_service_strand.hpp // ~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/address.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/address.hpp index 2fe071cbaa..8dc9fbf48a 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/ip/address.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/ip/address.hpp @@ -2,7 +2,7 @@ // ip/address.hpp // ~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/address_v4.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/address_v4.hpp index e639806b57..04b5fb5552 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/ip/address_v4.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/ip/address_v4.hpp @@ -2,7 +2,7 @@ // ip/address_v4.hpp // ~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -125,11 +125,12 @@ public: /// Get the address in bytes, in network byte order. BOOST_ASIO_DECL bytes_type to_bytes() const BOOST_ASIO_NOEXCEPT; - /// Get the address as an unsigned integer in host byte order + /// Get the address as an unsigned integer in host byte order. BOOST_ASIO_DECL uint_type to_uint() const BOOST_ASIO_NOEXCEPT; #if !defined(BOOST_ASIO_NO_DEPRECATED) - /// Get the address as an unsigned long in host byte order + /// (Deprecated: Use to_uint().) Get the address as an unsigned long in host + /// byte order. BOOST_ASIO_DECL unsigned long to_ulong() const; #endif // !defined(BOOST_ASIO_NO_DEPRECATED) diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/address_v4_iterator.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/address_v4_iterator.hpp index 46ff23ede4..360af19fe4 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/ip/address_v4_iterator.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/ip/address_v4_iterator.hpp @@ -2,7 +2,7 @@ // ip/address_v4_iterator.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/address_v4_range.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/address_v4_range.hpp index 1d8ccf50e3..ac0f0fa916 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/ip/address_v4_range.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/ip/address_v4_range.hpp @@ -2,7 +2,7 @@ // ip/address_v4_range.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/address_v6.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/address_v6.hpp index 0a7ddd04fe..ed0b3cd883 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/ip/address_v6.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/ip/address_v6.hpp @@ -2,7 +2,7 @@ // ip/address_v6.hpp // ~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/address_v6_iterator.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/address_v6_iterator.hpp index 71f40f4e6d..1f4b73f8b8 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/ip/address_v6_iterator.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/ip/address_v6_iterator.hpp @@ -2,7 +2,7 @@ // ip/address_v6_iterator.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 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/contrib/restricted/boost/asio/include/boost/asio/ip/address_v6_range.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/address_v6_range.hpp index 05a4ed52e8..64d6dfea4f 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/ip/address_v6_range.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/ip/address_v6_range.hpp @@ -2,7 +2,7 @@ // ip/address_v6_range.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 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/contrib/restricted/boost/asio/include/boost/asio/ip/bad_address_cast.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/bad_address_cast.hpp index 7a3097a49b..28a1786bdf 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/ip/bad_address_cast.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/ip/bad_address_cast.hpp @@ -2,7 +2,7 @@ // ip/bad_address_cast.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/basic_endpoint.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/basic_endpoint.hpp index e1e17841e6..0fde31314d 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/ip/basic_endpoint.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/ip/basic_endpoint.hpp @@ -2,7 +2,7 @@ // ip/basic_endpoint.hpp // ~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/basic_resolver.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/basic_resolver.hpp index 30fc66a264..fb20c38f22 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/ip/basic_resolver.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/ip/basic_resolver.hpp @@ -2,7 +2,7 @@ // ip/basic_resolver.hpp // ~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/basic_resolver_entry.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/basic_resolver_entry.hpp index b1fe5ab16d..9f19f3c61e 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/ip/basic_resolver_entry.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/ip/basic_resolver_entry.hpp @@ -2,7 +2,7 @@ // ip/basic_resolver_entry.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/basic_resolver_iterator.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/basic_resolver_iterator.hpp index 08e2b7ece0..2c1ae41271 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/ip/basic_resolver_iterator.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/ip/basic_resolver_iterator.hpp @@ -2,7 +2,7 @@ // ip/basic_resolver_iterator.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/basic_resolver_query.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/basic_resolver_query.hpp index e6a0b466a9..43f4010784 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/ip/basic_resolver_query.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/ip/basic_resolver_query.hpp @@ -2,7 +2,7 @@ // ip/basic_resolver_query.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/basic_resolver_results.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/basic_resolver_results.hpp index bdf448e833..0127473e2b 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/ip/basic_resolver_results.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/ip/basic_resolver_results.hpp @@ -2,7 +2,7 @@ // ip/basic_resolver_results.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/detail/endpoint.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/detail/endpoint.hpp index 660b273a58..393d066626 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/ip/detail/endpoint.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/ip/detail/endpoint.hpp @@ -2,7 +2,7 @@ // ip/detail/endpoint.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/detail/impl/endpoint.ipp b/contrib/restricted/boost/asio/include/boost/asio/ip/detail/impl/endpoint.ipp index c1dfd247a7..6190d76e1d 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/ip/detail/impl/endpoint.ipp +++ b/contrib/restricted/boost/asio/include/boost/asio/ip/detail/impl/endpoint.ipp @@ -2,7 +2,7 @@ // ip/detail/impl/endpoint.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/detail/socket_option.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/detail/socket_option.hpp index 7e64c72ca5..30df18e730 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/ip/detail/socket_option.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/ip/detail/socket_option.hpp @@ -2,7 +2,7 @@ // detail/socket_option.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/host_name.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/host_name.hpp index 8c4acac0c1..8647af96d1 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/ip/host_name.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/ip/host_name.hpp @@ -2,7 +2,7 @@ // ip/host_name.hpp // ~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/icmp.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/icmp.hpp index b676d61f35..f5b24d48af 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/ip/icmp.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/ip/icmp.hpp @@ -2,7 +2,7 @@ // ip/icmp.hpp // ~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/impl/address.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/impl/address.hpp index d14f5334dc..7b384e5bb3 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/ip/impl/address.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/ip/impl/address.hpp @@ -2,7 +2,7 @@ // ip/impl/address.hpp // ~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/impl/address.ipp b/contrib/restricted/boost/asio/include/boost/asio/ip/impl/address.ipp index 348e477f9b..942b686773 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/ip/impl/address.ipp +++ b/contrib/restricted/boost/asio/include/boost/asio/ip/impl/address.ipp @@ -2,7 +2,7 @@ // ip/impl/address.ipp // ~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/impl/address_v4.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/impl/address_v4.hpp index 1c18933cbf..98d0c45d3d 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/ip/impl/address_v4.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/ip/impl/address_v4.hpp @@ -2,7 +2,7 @@ // ip/impl/address_v4.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/impl/address_v4.ipp b/contrib/restricted/boost/asio/include/boost/asio/ip/impl/address_v4.ipp index 5e1ae45d74..221655e123 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/ip/impl/address_v4.ipp +++ b/contrib/restricted/boost/asio/include/boost/asio/ip/impl/address_v4.ipp @@ -2,7 +2,7 @@ // ip/impl/address_v4.ipp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/impl/address_v6.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/impl/address_v6.hpp index e9c50188a1..a6ee15f3dd 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/ip/impl/address_v6.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/ip/impl/address_v6.hpp @@ -2,7 +2,7 @@ // ip/impl/address_v6.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/impl/address_v6.ipp b/contrib/restricted/boost/asio/include/boost/asio/ip/impl/address_v6.ipp index 4cd615a7d0..a54527b84c 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/ip/impl/address_v6.ipp +++ b/contrib/restricted/boost/asio/include/boost/asio/ip/impl/address_v6.ipp @@ -2,7 +2,7 @@ // ip/impl/address_v6.ipp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/impl/basic_endpoint.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/impl/basic_endpoint.hpp index 227e191bbb..8f3ec18cea 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/ip/impl/basic_endpoint.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/ip/impl/basic_endpoint.hpp @@ -2,7 +2,7 @@ // ip/impl/basic_endpoint.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/impl/host_name.ipp b/contrib/restricted/boost/asio/include/boost/asio/ip/impl/host_name.ipp index 5c0e723c6b..b2d6b6a809 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/ip/impl/host_name.ipp +++ b/contrib/restricted/boost/asio/include/boost/asio/ip/impl/host_name.ipp @@ -2,7 +2,7 @@ // ip/impl/host_name.ipp // ~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/impl/network_v4.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/impl/network_v4.hpp index 21dd8fce6e..b1d53cc77d 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/ip/impl/network_v4.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/ip/impl/network_v4.hpp @@ -2,7 +2,7 @@ // ip/impl/network_v4.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 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/contrib/restricted/boost/asio/include/boost/asio/ip/impl/network_v4.ipp b/contrib/restricted/boost/asio/include/boost/asio/ip/impl/network_v4.ipp index 7ac1425383..32fcfa3da5 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/ip/impl/network_v4.ipp +++ b/contrib/restricted/boost/asio/include/boost/asio/ip/impl/network_v4.ipp @@ -2,7 +2,7 @@ // ip/impl/network_v4.ipp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 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/contrib/restricted/boost/asio/include/boost/asio/ip/impl/network_v6.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/impl/network_v6.hpp index a43c958e15..b3b2135d6d 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/ip/impl/network_v6.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/ip/impl/network_v6.hpp @@ -2,7 +2,7 @@ // ip/impl/network_v6.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/impl/network_v6.ipp b/contrib/restricted/boost/asio/include/boost/asio/ip/impl/network_v6.ipp index 5f96dd53b3..34aaeb1dea 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/ip/impl/network_v6.ipp +++ b/contrib/restricted/boost/asio/include/boost/asio/ip/impl/network_v6.ipp @@ -2,7 +2,7 @@ // ip/impl/network_v6.ipp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 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/contrib/restricted/boost/asio/include/boost/asio/ip/multicast.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/multicast.hpp index f28cd4da9a..83ff9eb6f0 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/ip/multicast.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/ip/multicast.hpp @@ -2,7 +2,7 @@ // ip/multicast.hpp // ~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/network_v4.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/network_v4.hpp index 729cc5c168..2b5b82de92 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/ip/network_v4.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/ip/network_v4.hpp @@ -2,7 +2,7 @@ // ip/network_v4.hpp // ~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 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/contrib/restricted/boost/asio/include/boost/asio/ip/network_v6.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/network_v6.hpp index d157dcd8e2..9615ba3bdf 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/ip/network_v6.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/ip/network_v6.hpp @@ -2,7 +2,7 @@ // ip/network_v6.hpp // ~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 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/contrib/restricted/boost/asio/include/boost/asio/ip/resolver_base.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/resolver_base.hpp index e32fc272fb..2678d5b807 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/ip/resolver_base.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/ip/resolver_base.hpp @@ -2,7 +2,7 @@ // ip/resolver_base.hpp // ~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/resolver_query_base.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/resolver_query_base.hpp index 95b9364c2c..ec6b848e54 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/ip/resolver_query_base.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/ip/resolver_query_base.hpp @@ -2,7 +2,7 @@ // ip/resolver_query_base.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/tcp.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/tcp.hpp index 3c26c16bac..ffe2247384 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/ip/tcp.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/ip/tcp.hpp @@ -2,7 +2,7 @@ // ip/tcp.hpp // ~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/udp.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/udp.hpp index 548a034ba6..b19eb554bb 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/ip/udp.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/ip/udp.hpp @@ -2,7 +2,7 @@ // ip/udp.hpp // ~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/unicast.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/unicast.hpp index b575f78a0a..ad6af37834 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/ip/unicast.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/ip/unicast.hpp @@ -2,7 +2,7 @@ // ip/unicast.hpp // ~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/v6_only.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/v6_only.hpp index d21edfcd50..721a21ba46 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/ip/v6_only.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/ip/v6_only.hpp @@ -2,7 +2,7 @@ // ip/v6_only.hpp // ~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/is_applicable_property.hpp b/contrib/restricted/boost/asio/include/boost/asio/is_applicable_property.hpp index 0dfa00b638..8c073ccc17 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/is_applicable_property.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/is_applicable_property.hpp @@ -2,7 +2,7 @@ // is_applicable_property.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/is_contiguous_iterator.hpp b/contrib/restricted/boost/asio/include/boost/asio/is_contiguous_iterator.hpp index c496dea757..72b15ca3cc 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/is_contiguous_iterator.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/is_contiguous_iterator.hpp @@ -2,7 +2,7 @@ // is_contiguous_iterator.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/is_executor.hpp b/contrib/restricted/boost/asio/include/boost/asio/is_executor.hpp index ba38fabe91..c4a488ca04 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/is_executor.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/is_executor.hpp @@ -2,7 +2,7 @@ // is_executor.hpp // ~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/is_read_buffered.hpp b/contrib/restricted/boost/asio/include/boost/asio/is_read_buffered.hpp index adf3136c9f..425f794742 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/is_read_buffered.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/is_read_buffered.hpp @@ -2,7 +2,7 @@ // is_read_buffered.hpp // ~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/is_write_buffered.hpp b/contrib/restricted/boost/asio/include/boost/asio/is_write_buffered.hpp index 4c74d205c2..819e4520f5 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/is_write_buffered.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/is_write_buffered.hpp @@ -2,7 +2,7 @@ // is_write_buffered.hpp // ~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/local/basic_endpoint.hpp b/contrib/restricted/boost/asio/include/boost/asio/local/basic_endpoint.hpp index 305a76cc3a..79aba5de76 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/local/basic_endpoint.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/local/basic_endpoint.hpp @@ -2,7 +2,7 @@ // local/basic_endpoint.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 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/contrib/restricted/boost/asio/include/boost/asio/local/connect_pair.hpp b/contrib/restricted/boost/asio/include/boost/asio/local/connect_pair.hpp index 0fead446a3..50c91bdaa9 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/local/connect_pair.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/local/connect_pair.hpp @@ -2,7 +2,7 @@ // local/connect_pair.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/local/datagram_protocol.hpp b/contrib/restricted/boost/asio/include/boost/asio/local/datagram_protocol.hpp index 2fc9c46467..8ce050aeea 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/local/datagram_protocol.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/local/datagram_protocol.hpp @@ -2,7 +2,7 @@ // local/datagram_protocol.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/local/detail/endpoint.hpp b/contrib/restricted/boost/asio/include/boost/asio/local/detail/endpoint.hpp index b35622e20c..072ae58cb7 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/local/detail/endpoint.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/local/detail/endpoint.hpp @@ -2,7 +2,7 @@ // local/detail/endpoint.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 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/contrib/restricted/boost/asio/include/boost/asio/local/detail/impl/endpoint.ipp b/contrib/restricted/boost/asio/include/boost/asio/local/detail/impl/endpoint.ipp index 49f8ac7bdb..b3e20c47bb 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/local/detail/impl/endpoint.ipp +++ b/contrib/restricted/boost/asio/include/boost/asio/local/detail/impl/endpoint.ipp @@ -2,7 +2,7 @@ // local/detail/impl/endpoint.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 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/contrib/restricted/boost/asio/include/boost/asio/local/seq_packet_protocol.hpp b/contrib/restricted/boost/asio/include/boost/asio/local/seq_packet_protocol.hpp new file mode 100644 index 0000000000..6e50a08e2a --- /dev/null +++ b/contrib/restricted/boost/asio/include/boost/asio/local/seq_packet_protocol.hpp @@ -0,0 +1,86 @@ +// +// local/seq_packet_protocol.hpp +// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// +// Distributed under the 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 BOOST_ASIO_LOCAL_SEQ_PACKET_PROTOCOL_HPP +#define BOOST_ASIO_LOCAL_SEQ_PACKET_PROTOCOL_HPP + +#if defined(_MSC_VER) && (_MSC_VER >= 1200) +# pragma once +#endif // defined(_MSC_VER) && (_MSC_VER >= 1200) + +#include <boost/asio/detail/config.hpp> + +#if defined(BOOST_ASIO_HAS_LOCAL_SOCKETS) \ + || defined(GENERATING_DOCUMENTATION) + +#include <boost/asio/basic_socket_acceptor.hpp> +#include <boost/asio/basic_seq_packet_socket.hpp> +#include <boost/asio/detail/socket_types.hpp> +#include <boost/asio/local/basic_endpoint.hpp> + +#include <boost/asio/detail/push_options.hpp> + +namespace boost { +namespace asio { +namespace local { + +/// Encapsulates the flags needed for seq_packet UNIX sockets. +/** + * The boost::asio::local::seq_packet_protocol class contains flags necessary + * for sequenced packet UNIX domain sockets. + * + * @par Thread Safety + * @e Distinct @e objects: Safe.@n + * @e Shared @e objects: Safe. + * + * @par Concepts: + * Protocol. + */ +class seq_packet_protocol +{ +public: + /// Obtain an identifier for the type of the protocol. + int type() const BOOST_ASIO_NOEXCEPT + { + return SOCK_SEQPACKET; + } + + /// Obtain an identifier for the protocol. + int protocol() const BOOST_ASIO_NOEXCEPT + { + return 0; + } + + /// Obtain an identifier for the protocol family. + int family() const BOOST_ASIO_NOEXCEPT + { + return AF_UNIX; + } + + /// The type of a UNIX domain endpoint. + typedef basic_endpoint<seq_packet_protocol> endpoint; + + /// The UNIX domain socket type. + typedef basic_seq_packet_socket<seq_packet_protocol> socket; + + /// The UNIX domain acceptor type. + typedef basic_socket_acceptor<seq_packet_protocol> acceptor; +}; + +} // namespace local +} // namespace asio +} // namespace boost + +#include <boost/asio/detail/pop_options.hpp> + +#endif // defined(BOOST_ASIO_HAS_LOCAL_SOCKETS) + // || defined(GENERATING_DOCUMENTATION) + +#endif // BOOST_ASIO_LOCAL_SEQ_PACKET_PROTOCOL_HPP diff --git a/contrib/restricted/boost/asio/include/boost/asio/local/stream_protocol.hpp b/contrib/restricted/boost/asio/include/boost/asio/local/stream_protocol.hpp index 0e2f91ec15..fc153965b0 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/local/stream_protocol.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/local/stream_protocol.hpp @@ -2,7 +2,7 @@ // local/stream_protocol.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/multiple_exceptions.hpp b/contrib/restricted/boost/asio/include/boost/asio/multiple_exceptions.hpp index 313b121697..d22af614ac 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/multiple_exceptions.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/multiple_exceptions.hpp @@ -2,7 +2,7 @@ // multiple_exceptions.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/packaged_task.hpp b/contrib/restricted/boost/asio/include/boost/asio/packaged_task.hpp index fc531146ca..3f0933c9b6 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/packaged_task.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/packaged_task.hpp @@ -2,7 +2,7 @@ // packaged_task.hpp // ~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/placeholders.hpp b/contrib/restricted/boost/asio/include/boost/asio/placeholders.hpp index b59901ed4a..c64bfbcdab 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/placeholders.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/placeholders.hpp @@ -2,7 +2,7 @@ // placeholders.hpp // ~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/posix/basic_descriptor.hpp b/contrib/restricted/boost/asio/include/boost/asio/posix/basic_descriptor.hpp index d17814deea..1e77a265f6 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/posix/basic_descriptor.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/posix/basic_descriptor.hpp @@ -2,7 +2,7 @@ // posix/basic_descriptor.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/posix/basic_stream_descriptor.hpp b/contrib/restricted/boost/asio/include/boost/asio/posix/basic_stream_descriptor.hpp index 9508d6e674..f00e0193c8 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/posix/basic_stream_descriptor.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/posix/basic_stream_descriptor.hpp @@ -2,7 +2,7 @@ // posix/basic_stream_descriptor.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/posix/descriptor.hpp b/contrib/restricted/boost/asio/include/boost/asio/posix/descriptor.hpp index 8a5404daaa..2e602932c7 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/posix/descriptor.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/posix/descriptor.hpp @@ -2,7 +2,7 @@ // posix/descriptor.hpp // ~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/posix/descriptor_base.hpp b/contrib/restricted/boost/asio/include/boost/asio/posix/descriptor_base.hpp index e26155133c..7a75742a68 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/posix/descriptor_base.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/posix/descriptor_base.hpp @@ -2,7 +2,7 @@ // posix/descriptor_base.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/posix/stream_descriptor.hpp b/contrib/restricted/boost/asio/include/boost/asio/posix/stream_descriptor.hpp index 3249322e24..12f100c553 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/posix/stream_descriptor.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/posix/stream_descriptor.hpp @@ -2,7 +2,7 @@ // posix/stream_descriptor.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/post.hpp b/contrib/restricted/boost/asio/include/boost/asio/post.hpp index 7dc4343f98..5dea00d224 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/post.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/post.hpp @@ -2,7 +2,7 @@ // post.hpp // ~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -17,6 +17,7 @@ #include <boost/asio/detail/config.hpp> #include <boost/asio/async_result.hpp> +#include <boost/asio/detail/initiate_post.hpp> #include <boost/asio/detail/type_traits.hpp> #include <boost/asio/execution_context.hpp> #include <boost/asio/execution/blocking.hpp> @@ -28,12 +29,6 @@ namespace boost { namespace asio { -namespace detail { - -class initiate_post; -template <typename> class initiate_post_with_executor; - -} // namespace detail /// Submits a completion token or function object for execution. /** @@ -87,7 +82,11 @@ BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_PREFIX(NullaryToken, void()) post( BOOST_ASIO_MOVE_ARG(NullaryToken) token) BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_SUFFIX(( async_initiate<NullaryToken, void()>( - declval<detail::initiate_post>(), token))); + declval<detail::initiate_post>(), token))) +{ + return async_initiate<NullaryToken, void()>( + detail::initiate_post(), token); +} /// Submits a completion token or function object for execution. /** @@ -172,7 +171,11 @@ BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_PREFIX(NullaryToken, void()) post( >::type = 0) BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_SUFFIX(( async_initiate<NullaryToken, void()>( - declval<detail::initiate_post_with_executor<Executor> >(), token))); + declval<detail::initiate_post_with_executor<Executor> >(), token))) +{ + return async_initiate<NullaryToken, void()>( + detail::initiate_post_with_executor<Executor>(ex), token); +} /// Submits a completion token or function object for execution. /** @@ -201,13 +204,17 @@ BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_PREFIX(NullaryToken, void()) post( BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_SUFFIX(( async_initiate<NullaryToken, void()>( declval<detail::initiate_post_with_executor< - typename ExecutionContext::executor_type> >(), token))); + typename ExecutionContext::executor_type> >(), token))) +{ + return async_initiate<NullaryToken, void()>( + detail::initiate_post_with_executor< + typename ExecutionContext::executor_type>( + ctx.get_executor()), token); +} } // namespace asio } // namespace boost #include <boost/asio/detail/pop_options.hpp> -#include <boost/asio/impl/post.hpp> - #endif // BOOST_ASIO_POST_HPP diff --git a/contrib/restricted/boost/asio/include/boost/asio/prefer.hpp b/contrib/restricted/boost/asio/include/boost/asio/prefer.hpp index d6d4338fab..eb8059b0b2 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/prefer.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/prefer.hpp @@ -2,7 +2,7 @@ // prefer.hpp // ~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/prepend.hpp b/contrib/restricted/boost/asio/include/boost/asio/prepend.hpp index 04f7d6c0cf..8e70213e45 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/prepend.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/prepend.hpp @@ -2,7 +2,7 @@ // prepend.hpp // ~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/query.hpp b/contrib/restricted/boost/asio/include/boost/asio/query.hpp index 1f71fba061..402413ed97 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/query.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/query.hpp @@ -2,7 +2,7 @@ // query.hpp // ~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/random_access_file.hpp b/contrib/restricted/boost/asio/include/boost/asio/random_access_file.hpp index 20fdc9a5cc..270978ac14 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/random_access_file.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/random_access_file.hpp @@ -2,7 +2,7 @@ // random_access_file.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/read.hpp b/contrib/restricted/boost/asio/include/boost/asio/read.hpp index c789b9137e..28f01696c9 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/read.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/read.hpp @@ -2,7 +2,7 @@ // read.hpp // ~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/read_at.hpp b/contrib/restricted/boost/asio/include/boost/asio/read_at.hpp index 5e2d8113d8..a97bb3b339 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/read_at.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/read_at.hpp @@ -2,7 +2,7 @@ // read_at.hpp // ~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/read_until.hpp b/contrib/restricted/boost/asio/include/boost/asio/read_until.hpp index fdc2ac697c..858aa1e50f 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/read_until.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/read_until.hpp @@ -2,7 +2,7 @@ // read_until.hpp // ~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/readable_pipe.hpp b/contrib/restricted/boost/asio/include/boost/asio/readable_pipe.hpp index 417de3190c..89fd749bd5 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/readable_pipe.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/readable_pipe.hpp @@ -2,7 +2,7 @@ // readable_pipe.hpp // ~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/recycling_allocator.hpp b/contrib/restricted/boost/asio/include/boost/asio/recycling_allocator.hpp index bc12612ac8..e52c147851 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/recycling_allocator.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/recycling_allocator.hpp @@ -2,7 +2,7 @@ // recycling_allocator.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/redirect_error.hpp b/contrib/restricted/boost/asio/include/boost/asio/redirect_error.hpp index 7d60bf55a4..991f5f7988 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/redirect_error.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/redirect_error.hpp @@ -2,7 +2,7 @@ // redirect_error.hpp // ~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/registered_buffer.hpp b/contrib/restricted/boost/asio/include/boost/asio/registered_buffer.hpp index 028eb2d79f..2004b7e357 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/registered_buffer.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/registered_buffer.hpp @@ -2,7 +2,7 @@ // registered_buffer.hpp // ~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/require.hpp b/contrib/restricted/boost/asio/include/boost/asio/require.hpp index ca9423e3c8..ee2eb22314 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/require.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/require.hpp @@ -2,7 +2,7 @@ // require.hpp // ~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/require_concept.hpp b/contrib/restricted/boost/asio/include/boost/asio/require_concept.hpp index 4bdf91badc..6a72a39ca4 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/require_concept.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/require_concept.hpp @@ -2,7 +2,7 @@ // require_concept.hpp // ~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/serial_port.hpp b/contrib/restricted/boost/asio/include/boost/asio/serial_port.hpp index cd405ed70c..72cb92dac4 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/serial_port.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/serial_port.hpp @@ -2,7 +2,7 @@ // serial_port.hpp // ~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 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/contrib/restricted/boost/asio/include/boost/asio/serial_port_base.hpp b/contrib/restricted/boost/asio/include/boost/asio/serial_port_base.hpp index 84e903d36c..ba8d879d84 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/serial_port_base.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/serial_port_base.hpp @@ -2,7 +2,7 @@ // serial_port_base.hpp // ~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 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/contrib/restricted/boost/asio/include/boost/asio/signal_set.hpp b/contrib/restricted/boost/asio/include/boost/asio/signal_set.hpp index eca29e2bcc..7155b6b3c0 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/signal_set.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/signal_set.hpp @@ -2,7 +2,7 @@ // signal_set.hpp // ~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/signal_set_base.hpp b/contrib/restricted/boost/asio/include/boost/asio/signal_set_base.hpp new file mode 100644 index 0000000000..29161ade94 --- /dev/null +++ b/contrib/restricted/boost/asio/include/boost/asio/signal_set_base.hpp @@ -0,0 +1,184 @@ +// +// signal_set_base.hpp +// ~~~~~~~~~~~~~~~~~~~ +// +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// +// Distributed under the 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 BOOST_ASIO_SIGNAL_SET_BASE_HPP +#define BOOST_ASIO_SIGNAL_SET_BASE_HPP + +#if defined(_MSC_VER) && (_MSC_VER >= 1200) +# pragma once +#endif // defined(_MSC_VER) && (_MSC_VER >= 1200) + +#include <boost/asio/detail/config.hpp> +#include <boost/asio/detail/socket_types.hpp> + +#include <boost/asio/detail/push_options.hpp> + +namespace boost { +namespace asio { + +/// The signal_set_base class is used as a base for the basic_signal_set class +/// templates so that we have a common place to define the flags enum. +class signal_set_base +{ +public: +# if defined(GENERATING_DOCUMENTATION) + /// Enumeration representing the different types of flags that may specified + /// when adding a signal to a set. + enum flags + { + /// Bitmask representing no flags. + none = 0, + + /// Affects the behaviour of interruptible functions such that, if the + /// function would have failed with error::interrupted when interrupted by + /// the specified signal, the function shall instead be restarted and not + /// fail with error::interrupted. + restart = implementation_defined, + + /// Do not generate SIGCHLD when child processes stop or stopped child + /// processes continue. + no_child_stop = implementation_defined, + + /// Do not transform child processes into zombies when they terminate. + no_child_wait = implementation_defined, + + /// Special value to indicate that the signal registration does not care + /// which flags are set, and so will not conflict with any prior + /// registrations of the same signal. + dont_care = -1 + }; + + /// Portability typedef. + typedef flags flags_t; +#elif defined(BOOST_ASIO_HAS_ENUM_CLASS) + enum class flags : int + { + none = 0, + restart = BOOST_ASIO_OS_DEF(SA_RESTART), + no_child_stop = BOOST_ASIO_OS_DEF(SA_NOCLDSTOP), + no_child_wait = BOOST_ASIO_OS_DEF(SA_NOCLDWAIT), + dont_care = -1 + }; + + typedef flags flags_t; +#else // defined(BOOST_ASIO_HAS_ENUM_CLASS) + struct flags + { + enum flags_t + { + none = 0, + restart = BOOST_ASIO_OS_DEF(SA_RESTART), + no_child_stop = BOOST_ASIO_OS_DEF(SA_NOCLDSTOP), + no_child_wait = BOOST_ASIO_OS_DEF(SA_NOCLDWAIT), + dont_care = -1 + }; + }; + + typedef flags::flags_t flags_t; +#endif // defined(BOOST_ASIO_HAS_ENUM_CLASS) + +protected: + /// Protected destructor to prevent deletion through this type. + ~signal_set_base() + { + } +}; + +/// Negation operator. +/** + * @relates signal_set_base::flags + */ +inline BOOST_ASIO_CONSTEXPR bool operator!(signal_set_base::flags_t x) +{ + return static_cast<int>(x) == 0; +} + +/// Bitwise and operator. +/** + * @relates signal_set_base::flags + */ +inline BOOST_ASIO_CONSTEXPR signal_set_base::flags_t operator&( + signal_set_base::flags_t x, signal_set_base::flags_t y) +{ + return static_cast<signal_set_base::flags_t>( + static_cast<int>(x) & static_cast<int>(y)); +} + +/// Bitwise or operator. +/** + * @relates signal_set_base::flags + */ +inline BOOST_ASIO_CONSTEXPR signal_set_base::flags_t operator|( + signal_set_base::flags_t x, signal_set_base::flags_t y) +{ + return static_cast<signal_set_base::flags_t>( + static_cast<int>(x) | static_cast<int>(y)); +} + +/// Bitwise xor operator. +/** + * @relates signal_set_base::flags + */ +inline BOOST_ASIO_CONSTEXPR signal_set_base::flags_t operator^( + signal_set_base::flags_t x, signal_set_base::flags_t y) +{ + return static_cast<signal_set_base::flags_t>( + static_cast<int>(x) ^ static_cast<int>(y)); +} + +/// Bitwise negation operator. +/** + * @relates signal_set_base::flags + */ +inline BOOST_ASIO_CONSTEXPR signal_set_base::flags_t operator~( + signal_set_base::flags_t x) +{ + return static_cast<signal_set_base::flags_t>(~static_cast<int>(x)); +} + +/// Bitwise and-assignment operator. +/** + * @relates signal_set_base::flags + */ +inline signal_set_base::flags_t& operator&=( + signal_set_base::flags_t& x, signal_set_base::flags_t y) +{ + x = x & y; + return x; +} + +/// Bitwise or-assignment operator. +/** + * @relates signal_set_base::flags + */ +inline signal_set_base::flags_t& operator|=( + signal_set_base::flags_t& x, signal_set_base::flags_t y) +{ + x = x | y; + return x; +} + +/// Bitwise xor-assignment operator. +/** + * @relates signal_set_base::flags + */ +inline signal_set_base::flags_t& operator^=( + signal_set_base::flags_t& x, signal_set_base::flags_t y) +{ + x = x ^ y; + return x; +} + +} // namespace asio +} // namespace boost + +#include <boost/asio/detail/pop_options.hpp> + +#endif // BOOST_ASIO_SIGNAL_SET_BASE_HPP diff --git a/contrib/restricted/boost/asio/include/boost/asio/socket_base.hpp b/contrib/restricted/boost/asio/include/boost/asio/socket_base.hpp index c2a5670bc4..012c014a63 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/socket_base.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/socket_base.hpp @@ -2,7 +2,7 @@ // socket_base.hpp // ~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/spawn.hpp b/contrib/restricted/boost/asio/include/boost/asio/spawn.hpp index 3c25eb58f2..311f2c08a2 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/spawn.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/spawn.hpp @@ -2,7 +2,7 @@ // spawn.hpp // ~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/ssl.hpp b/contrib/restricted/boost/asio/include/boost/asio/ssl.hpp index 2c09154c96..ed7d4e730a 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/ssl.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/ssl.hpp @@ -2,7 +2,7 @@ // ssl.hpp // ~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/ssl/context.hpp b/contrib/restricted/boost/asio/include/boost/asio/ssl/context.hpp index 78cadcb727..f1d8627dd6 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/ssl/context.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/ssl/context.hpp @@ -2,7 +2,7 @@ // ssl/context.hpp // ~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/ssl/context_base.hpp b/contrib/restricted/boost/asio/include/boost/asio/ssl/context_base.hpp index 9d94b5da4c..6a418c7b63 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/ssl/context_base.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/ssl/context_base.hpp @@ -2,7 +2,7 @@ // ssl/context_base.hpp // ~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the 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,60 +106,60 @@ public: }; /// Bitmask type for SSL options. - typedef long options; + typedef uint64_t options; #if defined(GENERATING_DOCUMENTATION) /// Implement various bug workarounds. - static const long default_workarounds = implementation_defined; + static const uint64_t default_workarounds = implementation_defined; /// Always create a new key when using tmp_dh parameters. - static const long single_dh_use = implementation_defined; + static const uint64_t single_dh_use = implementation_defined; /// Disable SSL v2. - static const long no_sslv2 = implementation_defined; + static const uint64_t no_sslv2 = implementation_defined; /// Disable SSL v3. - static const long no_sslv3 = implementation_defined; + static const uint64_t no_sslv3 = implementation_defined; /// Disable TLS v1. - static const long no_tlsv1 = implementation_defined; + static const uint64_t no_tlsv1 = implementation_defined; /// Disable TLS v1.1. - static const long no_tlsv1_1 = implementation_defined; + static const uint64_t no_tlsv1_1 = implementation_defined; /// Disable TLS v1.2. - static const long no_tlsv1_2 = implementation_defined; + static const uint64_t no_tlsv1_2 = implementation_defined; /// Disable TLS v1.3. - static const long no_tlsv1_3 = implementation_defined; + static const uint64_t no_tlsv1_3 = implementation_defined; /// Disable compression. Compression is disabled by default. - static const long no_compression = implementation_defined; + static const uint64_t no_compression = implementation_defined; #else - BOOST_ASIO_STATIC_CONSTANT(long, default_workarounds = SSL_OP_ALL); - BOOST_ASIO_STATIC_CONSTANT(long, single_dh_use = SSL_OP_SINGLE_DH_USE); - BOOST_ASIO_STATIC_CONSTANT(long, no_sslv2 = SSL_OP_NO_SSLv2); - BOOST_ASIO_STATIC_CONSTANT(long, no_sslv3 = SSL_OP_NO_SSLv3); - BOOST_ASIO_STATIC_CONSTANT(long, no_tlsv1 = SSL_OP_NO_TLSv1); + BOOST_ASIO_STATIC_CONSTANT(uint64_t, default_workarounds = SSL_OP_ALL); + BOOST_ASIO_STATIC_CONSTANT(uint64_t, single_dh_use = SSL_OP_SINGLE_DH_USE); + BOOST_ASIO_STATIC_CONSTANT(uint64_t, no_sslv2 = SSL_OP_NO_SSLv2); + BOOST_ASIO_STATIC_CONSTANT(uint64_t, no_sslv3 = SSL_OP_NO_SSLv3); + BOOST_ASIO_STATIC_CONSTANT(uint64_t, no_tlsv1 = SSL_OP_NO_TLSv1); # if defined(SSL_OP_NO_TLSv1_1) - BOOST_ASIO_STATIC_CONSTANT(long, no_tlsv1_1 = SSL_OP_NO_TLSv1_1); + BOOST_ASIO_STATIC_CONSTANT(uint64_t, no_tlsv1_1 = SSL_OP_NO_TLSv1_1); # else // defined(SSL_OP_NO_TLSv1_1) - BOOST_ASIO_STATIC_CONSTANT(long, no_tlsv1_1 = 0x10000000L); + BOOST_ASIO_STATIC_CONSTANT(uint64_t, no_tlsv1_1 = 0x10000000L); # endif // defined(SSL_OP_NO_TLSv1_1) # if defined(SSL_OP_NO_TLSv1_2) - BOOST_ASIO_STATIC_CONSTANT(long, no_tlsv1_2 = SSL_OP_NO_TLSv1_2); + BOOST_ASIO_STATIC_CONSTANT(uint64_t, no_tlsv1_2 = SSL_OP_NO_TLSv1_2); # else // defined(SSL_OP_NO_TLSv1_2) - BOOST_ASIO_STATIC_CONSTANT(long, no_tlsv1_2 = 0x08000000L); + BOOST_ASIO_STATIC_CONSTANT(uint64_t, no_tlsv1_2 = 0x08000000L); # endif // defined(SSL_OP_NO_TLSv1_2) # if defined(SSL_OP_NO_TLSv1_3) - BOOST_ASIO_STATIC_CONSTANT(long, no_tlsv1_3 = SSL_OP_NO_TLSv1_3); + BOOST_ASIO_STATIC_CONSTANT(uint64_t, no_tlsv1_3 = SSL_OP_NO_TLSv1_3); # else // defined(SSL_OP_NO_TLSv1_3) - BOOST_ASIO_STATIC_CONSTANT(long, no_tlsv1_3 = 0x20000000L); + BOOST_ASIO_STATIC_CONSTANT(uint64_t, no_tlsv1_3 = 0x20000000L); # endif // defined(SSL_OP_NO_TLSv1_3) # if defined(SSL_OP_NO_COMPRESSION) - BOOST_ASIO_STATIC_CONSTANT(long, no_compression = SSL_OP_NO_COMPRESSION); + BOOST_ASIO_STATIC_CONSTANT(uint64_t, no_compression = SSL_OP_NO_COMPRESSION); # else // defined(SSL_OP_NO_COMPRESSION) - BOOST_ASIO_STATIC_CONSTANT(long, no_compression = 0x20000L); + BOOST_ASIO_STATIC_CONSTANT(uint64_t, no_compression = 0x20000L); # endif // defined(SSL_OP_NO_COMPRESSION) #endif diff --git a/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/buffered_handshake_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/buffered_handshake_op.hpp index 00e999b6b6..5884ee70e0 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/buffered_handshake_op.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/buffered_handshake_op.hpp @@ -2,7 +2,7 @@ // ssl/detail/buffered_handshake_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/engine.hpp b/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/engine.hpp index 957d218365..9d4875b72e 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/engine.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/engine.hpp @@ -2,7 +2,7 @@ // ssl/detail/engine.hpp // ~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/handshake_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/handshake_op.hpp index 095137b590..143abca8cb 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/handshake_op.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/handshake_op.hpp @@ -2,7 +2,7 @@ // ssl/detail/handshake_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/impl/engine.ipp b/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/impl/engine.ipp index ea373ad86a..37cb650dd3 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/impl/engine.ipp +++ b/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/impl/engine.ipp @@ -2,7 +2,7 @@ // ssl/detail/impl/engine.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/impl/openssl_init.ipp b/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/impl/openssl_init.ipp index 8357146f90..456f2a4511 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/impl/openssl_init.ipp +++ b/contrib/restricted/boost/asio/include/boost/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-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2005-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/io.hpp b/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/io.hpp index 43603c61b3..3a0697be08 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/io.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/io.hpp @@ -2,7 +2,7 @@ // ssl/detail/io.hpp // ~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/openssl_init.hpp b/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/openssl_init.hpp index be96173bc3..e1aa4d5184 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/openssl_init.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/openssl_init.hpp @@ -2,7 +2,7 @@ // ssl/detail/openssl_init.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/openssl_types.hpp b/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/openssl_types.hpp index aa3778b041..f758ae739c 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/openssl_types.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/openssl_types.hpp @@ -2,7 +2,7 @@ // ssl/detail/openssl_types.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/password_callback.hpp b/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/password_callback.hpp index 6751024e96..971ba4c320 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/password_callback.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/password_callback.hpp @@ -2,7 +2,7 @@ // ssl/detail/password_callback.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/read_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/read_op.hpp index a8d500489a..00038ba93f 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/read_op.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/read_op.hpp @@ -2,7 +2,7 @@ // ssl/detail/read_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/shutdown_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/shutdown_op.hpp index fe6a1ba0cc..70bd7286cb 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/shutdown_op.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/shutdown_op.hpp @@ -2,7 +2,7 @@ // ssl/detail/shutdown_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/stream_core.hpp b/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/stream_core.hpp index d3ba395e68..08024ef6f0 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/stream_core.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/stream_core.hpp @@ -2,7 +2,7 @@ // ssl/detail/stream_core.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/verify_callback.hpp b/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/verify_callback.hpp index b61551b1e9..6faeef882c 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/verify_callback.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/verify_callback.hpp @@ -2,7 +2,7 @@ // ssl/detail/verify_callback.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/write_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/write_op.hpp index e8fa3c8ec7..e651ccc57d 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/write_op.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/write_op.hpp @@ -2,7 +2,7 @@ // ssl/detail/write_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/ssl/error.hpp b/contrib/restricted/boost/asio/include/boost/asio/ssl/error.hpp index 7e8f897799..b3c674e789 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/ssl/error.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/ssl/error.hpp @@ -2,7 +2,7 @@ // ssl/error.hpp // ~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/ssl/host_name_verification.hpp b/contrib/restricted/boost/asio/include/boost/asio/ssl/host_name_verification.hpp index 669b19a82c..35d7c01b2d 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/ssl/host_name_verification.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/ssl/host_name_verification.hpp @@ -2,7 +2,7 @@ // ssl/host_name_verification.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/ssl/impl/context.hpp b/contrib/restricted/boost/asio/include/boost/asio/ssl/impl/context.hpp index 6f70b15099..345a389cf6 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/ssl/impl/context.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/ssl/impl/context.hpp @@ -3,7 +3,7 @@ // ~~~~~~~~~~~~~~~~~~~~ // // Copyright (c) 2005 Voipster / Indrek dot Juhani at voipster dot com -// Copyright (c) 2005-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2005-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/ssl/impl/context.ipp b/contrib/restricted/boost/asio/include/boost/asio/ssl/impl/context.ipp index e3985c1439..be3ecbc014 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/ssl/impl/context.ipp +++ b/contrib/restricted/boost/asio/include/boost/asio/ssl/impl/context.ipp @@ -3,7 +3,7 @@ // ~~~~~~~~~~~~~~~~~~~~ // // Copyright (c) 2005 Voipster / Indrek dot Juhani at voipster dot com -// Copyright (c) 2005-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2005-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/ssl/impl/error.ipp b/contrib/restricted/boost/asio/include/boost/asio/ssl/impl/error.ipp index b33be63673..83fadeb2d2 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/ssl/impl/error.ipp +++ b/contrib/restricted/boost/asio/include/boost/asio/ssl/impl/error.ipp @@ -2,7 +2,7 @@ // ssl/impl/error.ipp // ~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/ssl/impl/host_name_verification.ipp b/contrib/restricted/boost/asio/include/boost/asio/ssl/impl/host_name_verification.ipp index 5b50c670df..ff49f53807 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/ssl/impl/host_name_verification.ipp +++ b/contrib/restricted/boost/asio/include/boost/asio/ssl/impl/host_name_verification.ipp @@ -2,7 +2,7 @@ // ssl/impl/host_name_verification.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/ssl/impl/rfc2818_verification.ipp b/contrib/restricted/boost/asio/include/boost/asio/ssl/impl/rfc2818_verification.ipp index a07c729a50..0996831d66 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/ssl/impl/rfc2818_verification.ipp +++ b/contrib/restricted/boost/asio/include/boost/asio/ssl/impl/rfc2818_verification.ipp @@ -2,7 +2,7 @@ // ssl/impl/rfc2818_verification.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/ssl/impl/src.hpp b/contrib/restricted/boost/asio/include/boost/asio/ssl/impl/src.hpp index 91520d62d3..0f9d7b80d8 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/ssl/impl/src.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/ssl/impl/src.hpp @@ -2,7 +2,7 @@ // impl/ssl/src.hpp // ~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/ssl/rfc2818_verification.hpp b/contrib/restricted/boost/asio/include/boost/asio/ssl/rfc2818_verification.hpp index 38518b86da..f5a36a9b76 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/ssl/rfc2818_verification.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/ssl/rfc2818_verification.hpp @@ -2,7 +2,7 @@ // ssl/rfc2818_verification.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/ssl/stream.hpp b/contrib/restricted/boost/asio/include/boost/asio/ssl/stream.hpp index 1e1faf78b6..417455a9a0 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/ssl/stream.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/ssl/stream.hpp @@ -2,7 +2,7 @@ // ssl/stream.hpp // ~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/ssl/stream_base.hpp b/contrib/restricted/boost/asio/include/boost/asio/ssl/stream_base.hpp index cbf9b7573b..769bc2cfe7 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/ssl/stream_base.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/ssl/stream_base.hpp @@ -2,7 +2,7 @@ // ssl/stream_base.hpp // ~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/ssl/verify_context.hpp b/contrib/restricted/boost/asio/include/boost/asio/ssl/verify_context.hpp index 3d1f5ae600..107b128454 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/ssl/verify_context.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/ssl/verify_context.hpp @@ -2,7 +2,7 @@ // ssl/verify_context.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/ssl/verify_mode.hpp b/contrib/restricted/boost/asio/include/boost/asio/ssl/verify_mode.hpp index 18ceb733d2..cd22a6b47b 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/ssl/verify_mode.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/ssl/verify_mode.hpp @@ -2,7 +2,7 @@ // ssl/verify_mode.hpp // ~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/static_thread_pool.hpp b/contrib/restricted/boost/asio/include/boost/asio/static_thread_pool.hpp index 0e022419d4..50b4da351c 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/static_thread_pool.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/static_thread_pool.hpp @@ -2,7 +2,7 @@ // static_thread_pool.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/steady_timer.hpp b/contrib/restricted/boost/asio/include/boost/asio/steady_timer.hpp index 6a6ce57501..33ec79b875 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/steady_timer.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/steady_timer.hpp @@ -2,7 +2,7 @@ // steady_timer.hpp // ~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/strand.hpp b/contrib/restricted/boost/asio/include/boost/asio/strand.hpp index e6e5a1aa89..32dffd5c47 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/strand.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/strand.hpp @@ -2,7 +2,7 @@ // strand.hpp // ~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/stream_file.hpp b/contrib/restricted/boost/asio/include/boost/asio/stream_file.hpp index 0b83cd3616..7579cbbb46 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/stream_file.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/stream_file.hpp @@ -2,7 +2,7 @@ // stream_file.hpp // ~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/streambuf.hpp b/contrib/restricted/boost/asio/include/boost/asio/streambuf.hpp index 4e0f656ea6..af0b781022 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/streambuf.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/streambuf.hpp @@ -2,7 +2,7 @@ // streambuf.hpp // ~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/system_context.hpp b/contrib/restricted/boost/asio/include/boost/asio/system_context.hpp index 1f47ec464c..7fff02dfee 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/system_context.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/system_context.hpp @@ -2,7 +2,7 @@ // system_context.hpp // ~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/system_executor.hpp b/contrib/restricted/boost/asio/include/boost/asio/system_executor.hpp index 6ebf8799b1..c6f69b609e 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/system_executor.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/system_executor.hpp @@ -2,7 +2,7 @@ // system_executor.hpp // ~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/system_timer.hpp b/contrib/restricted/boost/asio/include/boost/asio/system_timer.hpp index b5b1e6e4e9..cc77ea016f 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/system_timer.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/system_timer.hpp @@ -2,7 +2,7 @@ // system_timer.hpp // ~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/this_coro.hpp b/contrib/restricted/boost/asio/include/boost/asio/this_coro.hpp index 2e0c994f5e..69abf1c198 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/this_coro.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/this_coro.hpp @@ -2,7 +2,7 @@ // this_coro.hpp // ~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -194,7 +194,7 @@ template <typename Filter> struct reset_cancellation_state_1_t { template <typename F> - BOOST_ASIO_CONSTEXPR reset_cancellation_state_1_t( + explicit BOOST_ASIO_CONSTEXPR reset_cancellation_state_1_t( BOOST_ASIO_MOVE_ARG(F) filt) : filter(BOOST_ASIO_MOVE_CAST(F)(filt)) { @@ -257,7 +257,7 @@ throw_if_cancelled() struct throw_if_cancelled_1_t { - BOOST_ASIO_CONSTEXPR throw_if_cancelled_1_t(bool val) + explicit BOOST_ASIO_CONSTEXPR throw_if_cancelled_1_t(bool val) : value(val) { } diff --git a/contrib/restricted/boost/asio/include/boost/asio/thread_pool.hpp b/contrib/restricted/boost/asio/include/boost/asio/thread_pool.hpp index a33f50ed8e..a2dc69de37 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/thread_pool.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/thread_pool.hpp @@ -2,7 +2,7 @@ // thread_pool.hpp // ~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/time_traits.hpp b/contrib/restricted/boost/asio/include/boost/asio/time_traits.hpp index c5dd10869b..80d40b7715 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/time_traits.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/time_traits.hpp @@ -2,7 +2,7 @@ // time_traits.hpp // ~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/traits/bulk_execute_free.hpp b/contrib/restricted/boost/asio/include/boost/asio/traits/bulk_execute_free.hpp index b055be523b..f80a353cf5 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/traits/bulk_execute_free.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/traits/bulk_execute_free.hpp @@ -2,7 +2,7 @@ // traits/bulk_execute_free.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/traits/bulk_execute_member.hpp b/contrib/restricted/boost/asio/include/boost/asio/traits/bulk_execute_member.hpp index e02dbe61a1..9e2954ed3a 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/traits/bulk_execute_member.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/traits/bulk_execute_member.hpp @@ -2,7 +2,7 @@ // traits/bulk_execute_member.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/traits/connect_free.hpp b/contrib/restricted/boost/asio/include/boost/asio/traits/connect_free.hpp index bad6f99326..a80b7a7ee8 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/traits/connect_free.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/traits/connect_free.hpp @@ -2,7 +2,7 @@ // traits/connect_free.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/traits/connect_member.hpp b/contrib/restricted/boost/asio/include/boost/asio/traits/connect_member.hpp index 63bb3fa820..1f52a366c1 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/traits/connect_member.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/traits/connect_member.hpp @@ -2,7 +2,7 @@ // traits/connect_member.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/traits/equality_comparable.hpp b/contrib/restricted/boost/asio/include/boost/asio/traits/equality_comparable.hpp index 9ec39bbdfc..46b46fcdc1 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/traits/equality_comparable.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/traits/equality_comparable.hpp @@ -2,7 +2,7 @@ // traits/equality_comparable.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/traits/execute_free.hpp b/contrib/restricted/boost/asio/include/boost/asio/traits/execute_free.hpp index 642ffb974f..bfd6e39d6f 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/traits/execute_free.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/traits/execute_free.hpp @@ -2,7 +2,7 @@ // traits/execute_free.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/traits/execute_member.hpp b/contrib/restricted/boost/asio/include/boost/asio/traits/execute_member.hpp index 2038f41866..cadcdd9abf 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/traits/execute_member.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/traits/execute_member.hpp @@ -2,7 +2,7 @@ // traits/execute_member.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/traits/prefer_free.hpp b/contrib/restricted/boost/asio/include/boost/asio/traits/prefer_free.hpp index 8d79c2147b..6895718ed6 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/traits/prefer_free.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/traits/prefer_free.hpp @@ -2,7 +2,7 @@ // traits/prefer_free.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/traits/prefer_member.hpp b/contrib/restricted/boost/asio/include/boost/asio/traits/prefer_member.hpp index 848693ed80..2ba78460f1 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/traits/prefer_member.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/traits/prefer_member.hpp @@ -2,7 +2,7 @@ // traits/prefer_member.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/traits/query_free.hpp b/contrib/restricted/boost/asio/include/boost/asio/traits/query_free.hpp index 5d0ded7ca7..fd5c323735 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/traits/query_free.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/traits/query_free.hpp @@ -2,7 +2,7 @@ // traits/query_free.hpp // ~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/traits/query_member.hpp b/contrib/restricted/boost/asio/include/boost/asio/traits/query_member.hpp index deca0d811f..d4895becf3 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/traits/query_member.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/traits/query_member.hpp @@ -2,7 +2,7 @@ // traits/query_member.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/traits/query_static_constexpr_member.hpp b/contrib/restricted/boost/asio/include/boost/asio/traits/query_static_constexpr_member.hpp index 5ea5252184..dc5f7836cb 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/traits/query_static_constexpr_member.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/traits/query_static_constexpr_member.hpp @@ -2,7 +2,7 @@ // traits/query_static_constexpr_member.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/traits/require_concept_free.hpp b/contrib/restricted/boost/asio/include/boost/asio/traits/require_concept_free.hpp index 31523050f9..9641b4f3f2 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/traits/require_concept_free.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/traits/require_concept_free.hpp @@ -2,7 +2,7 @@ // traits/require_concept_free.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/traits/require_concept_member.hpp b/contrib/restricted/boost/asio/include/boost/asio/traits/require_concept_member.hpp index 3c91c57f3f..309e8d1014 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/traits/require_concept_member.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/traits/require_concept_member.hpp @@ -2,7 +2,7 @@ // traits/require_concept_member.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/traits/require_free.hpp b/contrib/restricted/boost/asio/include/boost/asio/traits/require_free.hpp index 39b71b91fb..90fdadb163 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/traits/require_free.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/traits/require_free.hpp @@ -2,7 +2,7 @@ // traits/require_free.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/traits/require_member.hpp b/contrib/restricted/boost/asio/include/boost/asio/traits/require_member.hpp index df959faeb4..06a164452c 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/traits/require_member.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/traits/require_member.hpp @@ -2,7 +2,7 @@ // traits/require_member.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/traits/schedule_free.hpp b/contrib/restricted/boost/asio/include/boost/asio/traits/schedule_free.hpp index 9d163f8029..3a3ae8d93e 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/traits/schedule_free.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/traits/schedule_free.hpp @@ -2,7 +2,7 @@ // traits/schedule_free.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/traits/schedule_member.hpp b/contrib/restricted/boost/asio/include/boost/asio/traits/schedule_member.hpp index 2f334a66cb..9102fc0afa 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/traits/schedule_member.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/traits/schedule_member.hpp @@ -2,7 +2,7 @@ // traits/schedule_member.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/traits/set_done_free.hpp b/contrib/restricted/boost/asio/include/boost/asio/traits/set_done_free.hpp index eb2b2f7289..6bcd84da6c 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/traits/set_done_free.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/traits/set_done_free.hpp @@ -2,7 +2,7 @@ // traits/set_done_free.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/traits/set_done_member.hpp b/contrib/restricted/boost/asio/include/boost/asio/traits/set_done_member.hpp index a32d3cbc58..5f1c30485f 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/traits/set_done_member.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/traits/set_done_member.hpp @@ -2,7 +2,7 @@ // traits/set_done_member.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/traits/set_error_free.hpp b/contrib/restricted/boost/asio/include/boost/asio/traits/set_error_free.hpp index 55924e7dc8..9390bfe907 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/traits/set_error_free.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/traits/set_error_free.hpp @@ -2,7 +2,7 @@ // traits/set_error_free.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/traits/set_error_member.hpp b/contrib/restricted/boost/asio/include/boost/asio/traits/set_error_member.hpp index 5160c6ef97..873a197ef1 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/traits/set_error_member.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/traits/set_error_member.hpp @@ -2,7 +2,7 @@ // traits/set_error_member.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/traits/set_value_free.hpp b/contrib/restricted/boost/asio/include/boost/asio/traits/set_value_free.hpp index bb1bab9b22..2647708e44 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/traits/set_value_free.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/traits/set_value_free.hpp @@ -2,7 +2,7 @@ // traits/set_value_free.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/traits/set_value_member.hpp b/contrib/restricted/boost/asio/include/boost/asio/traits/set_value_member.hpp index 0d7583334a..03aa631a62 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/traits/set_value_member.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/traits/set_value_member.hpp @@ -2,7 +2,7 @@ // traits/set_value_member.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/traits/start_free.hpp b/contrib/restricted/boost/asio/include/boost/asio/traits/start_free.hpp index 34c8479394..0e27dc7c20 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/traits/start_free.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/traits/start_free.hpp @@ -2,7 +2,7 @@ // traits/start_free.hpp // ~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/traits/start_member.hpp b/contrib/restricted/boost/asio/include/boost/asio/traits/start_member.hpp index 8d3882fcae..24a7afb94d 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/traits/start_member.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/traits/start_member.hpp @@ -2,7 +2,7 @@ // traits/start_member.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/traits/static_query.hpp b/contrib/restricted/boost/asio/include/boost/asio/traits/static_query.hpp index aa7979b703..bba58cf7e1 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/traits/static_query.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/traits/static_query.hpp @@ -2,7 +2,7 @@ // traits/static_query.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/traits/static_require.hpp b/contrib/restricted/boost/asio/include/boost/asio/traits/static_require.hpp index 964494274a..a53c0e3ab8 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/traits/static_require.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/traits/static_require.hpp @@ -2,7 +2,7 @@ // traits/static_require.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/traits/static_require_concept.hpp b/contrib/restricted/boost/asio/include/boost/asio/traits/static_require_concept.hpp index b27327e731..81b3dca314 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/traits/static_require_concept.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/traits/static_require_concept.hpp @@ -2,7 +2,7 @@ // traits/static_require_concept.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/traits/submit_free.hpp b/contrib/restricted/boost/asio/include/boost/asio/traits/submit_free.hpp index 565ce156d2..2f5691eba4 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/traits/submit_free.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/traits/submit_free.hpp @@ -2,7 +2,7 @@ // traits/submit_free.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/traits/submit_member.hpp b/contrib/restricted/boost/asio/include/boost/asio/traits/submit_member.hpp index d409c38b0c..8874f4d491 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/traits/submit_member.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/traits/submit_member.hpp @@ -2,7 +2,7 @@ // traits/submit_member.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/ts/buffer.hpp b/contrib/restricted/boost/asio/include/boost/asio/ts/buffer.hpp index 840b17e2d2..9dc1e992de 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/ts/buffer.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/ts/buffer.hpp @@ -2,7 +2,7 @@ // ts/buffer.hpp // ~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/ts/executor.hpp b/contrib/restricted/boost/asio/include/boost/asio/ts/executor.hpp index f3c674b08b..df1aae9ff8 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/ts/executor.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/ts/executor.hpp @@ -2,7 +2,7 @@ // ts/executor.hpp // ~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/ts/internet.hpp b/contrib/restricted/boost/asio/include/boost/asio/ts/internet.hpp index 4b07bb0790..78c458fd56 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/ts/internet.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/ts/internet.hpp @@ -2,7 +2,7 @@ // ts/internet.hpp // ~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/ts/io_context.hpp b/contrib/restricted/boost/asio/include/boost/asio/ts/io_context.hpp index ed27e0536e..4a5a294b1f 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/ts/io_context.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/ts/io_context.hpp @@ -2,7 +2,7 @@ // ts/io_context.hpp // ~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/ts/net.hpp b/contrib/restricted/boost/asio/include/boost/asio/ts/net.hpp index 394f6ff4a5..13cb8ba027 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/ts/net.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/ts/net.hpp @@ -2,7 +2,7 @@ // ts/net.hpp // ~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/ts/netfwd.hpp b/contrib/restricted/boost/asio/include/boost/asio/ts/netfwd.hpp index 4aac37479e..c326e48ac4 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/ts/netfwd.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/ts/netfwd.hpp @@ -2,7 +2,7 @@ // ts/netfwd.hpp // ~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/ts/socket.hpp b/contrib/restricted/boost/asio/include/boost/asio/ts/socket.hpp index ea69c53065..98951f114f 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/ts/socket.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/ts/socket.hpp @@ -2,7 +2,7 @@ // ts/socket.hpp // ~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/ts/timer.hpp b/contrib/restricted/boost/asio/include/boost/asio/ts/timer.hpp index 17cc681564..2e7173c535 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/ts/timer.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/ts/timer.hpp @@ -2,7 +2,7 @@ // ts/timer.hpp // ~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/unyield.hpp b/contrib/restricted/boost/asio/include/boost/asio/unyield.hpp index f09a2fd71f..ed70d5f50d 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/unyield.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/unyield.hpp @@ -2,7 +2,7 @@ // unyield.hpp // ~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/use_awaitable.hpp b/contrib/restricted/boost/asio/include/boost/asio/use_awaitable.hpp index f3bc66b129..372d8750cd 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/use_awaitable.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/use_awaitable.hpp @@ -2,7 +2,7 @@ // use_awaitable.hpp // ~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/use_future.hpp b/contrib/restricted/boost/asio/include/boost/asio/use_future.hpp index 8c75678009..647353cee3 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/use_future.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/use_future.hpp @@ -2,7 +2,7 @@ // use_future.hpp // ~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/uses_executor.hpp b/contrib/restricted/boost/asio/include/boost/asio/uses_executor.hpp index 111aef06a7..2c5d538321 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/uses_executor.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/uses_executor.hpp @@ -2,7 +2,7 @@ // uses_executor.hpp // ~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/version.hpp b/contrib/restricted/boost/asio/include/boost/asio/version.hpp index f5be3dc485..53e4fd4003 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/version.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/version.hpp @@ -2,7 +2,7 @@ // version.hpp // ~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the 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 @@ // BOOST_ASIO_VERSION % 100 is the sub-minor version // BOOST_ASIO_VERSION / 100 % 1000 is the minor version // BOOST_ASIO_VERSION / 100000 is the major version -#define BOOST_ASIO_VERSION 102600 // 1.26.0 +#define BOOST_ASIO_VERSION 102800 // 1.28.0 #endif // BOOST_ASIO_VERSION_HPP diff --git a/contrib/restricted/boost/asio/include/boost/asio/wait_traits.hpp b/contrib/restricted/boost/asio/include/boost/asio/wait_traits.hpp index 42a9047f92..9075b6d1ac 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/wait_traits.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/wait_traits.hpp @@ -2,7 +2,7 @@ // wait_traits.hpp // ~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/windows/basic_object_handle.hpp b/contrib/restricted/boost/asio/include/boost/asio/windows/basic_object_handle.hpp index c101abf3ad..07b9827cde 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/windows/basic_object_handle.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/windows/basic_object_handle.hpp @@ -2,7 +2,7 @@ // windows/basic_object_handle.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 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/contrib/restricted/boost/asio/include/boost/asio/windows/basic_overlapped_handle.hpp b/contrib/restricted/boost/asio/include/boost/asio/windows/basic_overlapped_handle.hpp index ea61548a37..1b75060d07 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/windows/basic_overlapped_handle.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/windows/basic_overlapped_handle.hpp @@ -2,7 +2,7 @@ // windows/basic_overlapped_handle.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/windows/basic_random_access_handle.hpp b/contrib/restricted/boost/asio/include/boost/asio/windows/basic_random_access_handle.hpp index 93033f493e..04e2c73489 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/windows/basic_random_access_handle.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/windows/basic_random_access_handle.hpp @@ -2,7 +2,7 @@ // windows/basic_random_access_handle.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/windows/basic_stream_handle.hpp b/contrib/restricted/boost/asio/include/boost/asio/windows/basic_stream_handle.hpp index 2471e172b9..e76a8f20b2 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/windows/basic_stream_handle.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/windows/basic_stream_handle.hpp @@ -2,7 +2,7 @@ // windows/basic_stream_handle.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/windows/object_handle.hpp b/contrib/restricted/boost/asio/include/boost/asio/windows/object_handle.hpp index 41afcff9b3..3740337b37 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/windows/object_handle.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/windows/object_handle.hpp @@ -2,7 +2,7 @@ // windows/object_handle.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 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/contrib/restricted/boost/asio/include/boost/asio/windows/overlapped_handle.hpp b/contrib/restricted/boost/asio/include/boost/asio/windows/overlapped_handle.hpp index b2dd5b9750..f3e6e04fa5 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/windows/overlapped_handle.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/windows/overlapped_handle.hpp @@ -2,7 +2,7 @@ // windows/overlapped_handle.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/windows/overlapped_ptr.hpp b/contrib/restricted/boost/asio/include/boost/asio/windows/overlapped_ptr.hpp index ac709ed1c4..801394590f 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/windows/overlapped_ptr.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/windows/overlapped_ptr.hpp @@ -2,7 +2,7 @@ // windows/overlapped_ptr.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/windows/random_access_handle.hpp b/contrib/restricted/boost/asio/include/boost/asio/windows/random_access_handle.hpp index 3a61db8e2e..b62dfca10a 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/windows/random_access_handle.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/windows/random_access_handle.hpp @@ -2,7 +2,7 @@ // windows/random_access_handle.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/windows/stream_handle.hpp b/contrib/restricted/boost/asio/include/boost/asio/windows/stream_handle.hpp index a7253382c6..1530bf4f13 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/windows/stream_handle.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/windows/stream_handle.hpp @@ -2,7 +2,7 @@ // windows/stream_handle.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/writable_pipe.hpp b/contrib/restricted/boost/asio/include/boost/asio/writable_pipe.hpp index 9b52a099f2..881df79247 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/writable_pipe.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/writable_pipe.hpp @@ -2,7 +2,7 @@ // writable_pipe.hpp // ~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/write.hpp b/contrib/restricted/boost/asio/include/boost/asio/write.hpp index acdbbcef21..7bd4ee9181 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/write.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/write.hpp @@ -2,7 +2,7 @@ // write.hpp // ~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/write_at.hpp b/contrib/restricted/boost/asio/include/boost/asio/write_at.hpp index 6789f410fc..c60756aa6b 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/write_at.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/write_at.hpp @@ -2,7 +2,7 @@ // write_at.hpp // ~~~~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/include/boost/asio/yield.hpp b/contrib/restricted/boost/asio/include/boost/asio/yield.hpp index 4c1c68681d..ad2172fe4a 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/yield.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/yield.hpp @@ -2,7 +2,7 @@ // yield.hpp // ~~~~~~~~~ // -// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/asio/ya.make b/contrib/restricted/boost/asio/ya.make index 53948d3850..0a481235b0 100644 --- a/contrib/restricted/boost/asio/ya.make +++ b/contrib/restricted/boost/asio/ya.make @@ -9,9 +9,9 @@ LICENSE( LICENSE_TEXTS(.yandex_meta/licenses.list.txt) -VERSION(1.81.0) +VERSION(1.82.0) -ORIGINAL_SOURCE(https://github.com/boostorg/asio/archive/boost-1.81.0.tar.gz) +ORIGINAL_SOURCE(https://github.com/boostorg/asio/archive/boost-1.82.0.tar.gz) PEERDIR( contrib/libs/openssl |