aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorthegeorg <thegeorg@yandex-team.com>2024-11-07 12:23:51 +0300
committerthegeorg <thegeorg@yandex-team.com>2024-11-07 13:29:37 +0300
commit338da9a169aaa11be7fa8ca7e6ca87d783a2f75c (patch)
tree9eb59d6d053cd9ee5cb51146b92ca3cd16515fbb
parenta454f5fbc2c79ea1f8e9ca584d888a57f535c8f3 (diff)
downloadydb-338da9a169aaa11be7fa8ca7e6ca87d783a2f75c.tar.gz
Update contrib/restricted/boost/asio to 1.82.0
commit_hash:6f5e0002557289d16812809c88c0756d4775bd44
-rw-r--r--contrib/restricted/boost/asio/.yandex_meta/devtools.copyrights.report139
-rw-r--r--contrib/restricted/boost/asio/.yandex_meta/devtools.licenses.report10
-rw-r--r--contrib/restricted/boost/asio/.yandex_meta/licenses.list.txt23
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio.hpp8
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/any_completion_executor.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/any_completion_handler.hpp84
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/any_io_executor.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/append.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/as_tuple.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/associated_allocator.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/associated_cancellation_slot.hpp4
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/associated_executor.hpp10
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/associated_immediate_executor.hpp299
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/associator.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/async_result.hpp54
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/awaitable.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/basic_datagram_socket.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/basic_deadline_timer.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/basic_file.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/basic_io_object.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/basic_random_access_file.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/basic_raw_socket.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/basic_readable_pipe.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/basic_seq_packet_socket.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/basic_serial_port.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/basic_signal_set.hpp57
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/basic_socket.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/basic_socket_acceptor.hpp14
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/basic_socket_iostream.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/basic_socket_streambuf.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/basic_stream_file.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/basic_stream_socket.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/basic_streambuf.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/basic_streambuf_fwd.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/basic_waitable_timer.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/basic_writable_pipe.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/bind_allocator.hpp13
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/bind_cancellation_slot.hpp13
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/bind_executor.hpp13
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/bind_immediate_executor.hpp738
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/buffer.hpp235
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/buffer_registration.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/buffered_read_stream.hpp11
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/buffered_read_stream_fwd.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/buffered_stream.hpp12
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/buffered_stream_fwd.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/buffered_write_stream.hpp11
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/buffered_write_stream_fwd.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/buffers_iterator.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/cancellation_signal.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/cancellation_state.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/cancellation_type.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/co_spawn.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/completion_condition.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/compose.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/connect.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/connect_pipe.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/consign.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/coroutine.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/deadline_timer.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/defer.hpp31
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/deferred.hpp241
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detached.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/array.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/array_fwd.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/assert.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/atomic_count.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/base_from_cancellation_state.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/base_from_completion_cond.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/bind_handler.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/blocking_executor_op.hpp3
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/buffer_resize_guard.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/buffer_sequence_adapter.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/buffered_stream_storage.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/bulk_executor_op.hpp3
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/call_stack.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/chrono.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/chrono_time_traits.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/completion_handler.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/composed_work.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/concurrency_hint.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/conditionally_enabled_event.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/conditionally_enabled_mutex.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/config.hpp57
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/consuming_buffers.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/cstddef.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/cstdint.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/date_time_fwd.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/deadline_timer_service.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/dependent_type.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/descriptor_ops.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/descriptor_read_op.hpp40
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/descriptor_write_op.hpp39
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/dev_poll_reactor.hpp24
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/epoll_reactor.hpp23
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/event.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/eventfd_select_interrupter.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/exception.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/executor_function.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/executor_op.hpp3
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/fd_set_adapter.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/fenced_block.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/functional.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/future.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/gcc_arm_fenced_block.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/gcc_hppa_fenced_block.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/gcc_sync_fenced_block.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/gcc_x86_fenced_block.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/global.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/handler_alloc_helpers.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/handler_cont_helpers.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/handler_invoke_helpers.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/handler_tracking.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/handler_type_requirements.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/handler_work.hpp34
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/hash_map.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/buffer_sequence_adapter.ipp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/descriptor_ops.ipp6
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/dev_poll_reactor.hpp4
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/dev_poll_reactor.ipp17
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/epoll_reactor.hpp4
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/epoll_reactor.ipp25
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/eventfd_select_interrupter.ipp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/handler_tracking.ipp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/io_uring_descriptor_service.ipp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/io_uring_file_service.ipp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/io_uring_service.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/io_uring_service.ipp43
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/io_uring_socket_service_base.ipp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/kqueue_reactor.hpp4
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/kqueue_reactor.ipp21
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/null_event.ipp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/pipe_select_interrupter.ipp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/posix_event.ipp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/posix_mutex.ipp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/posix_serial_port_service.ipp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/posix_thread.ipp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/posix_tss_ptr.ipp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/reactive_descriptor_service.ipp16
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/reactive_socket_service_base.ipp42
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/resolver_service_base.ipp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/scheduler.ipp3
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/select_reactor.hpp4
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/select_reactor.ipp16
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/service_registry.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/service_registry.ipp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/signal_set_service.ipp59
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/socket_ops.ipp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/socket_select_interrupter.ipp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/strand_executor_service.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/strand_executor_service.ipp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/strand_service.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/strand_service.ipp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/thread_context.ipp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/throw_error.ipp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/timer_queue_ptime.ipp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/timer_queue_set.ipp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_event.ipp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_iocp_file_service.ipp5
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_iocp_handle_service.ipp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_iocp_io_context.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_iocp_io_context.ipp11
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_iocp_serial_port_service.ipp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_iocp_socket_service_base.ipp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_mutex.ipp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_object_handle_service.ipp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_static_mutex.ipp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_thread.ipp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_tss_ptr.ipp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/winrt_ssocket_service_base.ipp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/winrt_timer_scheduler.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/winrt_timer_scheduler.ipp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/winsock_init.ipp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/initiate_defer.hpp (renamed from contrib/restricted/boost/asio/include/boost/asio/impl/defer.hpp)58
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/initiate_dispatch.hpp (renamed from contrib/restricted/boost/asio/include/boost/asio/impl/dispatch.hpp)56
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/initiate_post.hpp (renamed from contrib/restricted/boost/asio/include/boost/asio/impl/post.hpp)58
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/io_control.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/io_object_impl.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_descriptor_read_at_op.hpp5
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_descriptor_read_op.hpp5
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_descriptor_service.hpp10
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_descriptor_write_at_op.hpp5
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_descriptor_write_op.hpp5
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_file_service.hpp5
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_null_buffers_op.hpp4
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_operation.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_service.hpp7
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_socket_accept_op.hpp6
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_socket_connect_op.hpp4
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_socket_recv_op.hpp5
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_socket_recvfrom_op.hpp5
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_socket_recvmsg_op.hpp5
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_socket_send_op.hpp5
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_socket_sendto_op.hpp5
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_socket_service.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_socket_service_base.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_wait_op.hpp4
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/is_buffer_sequence.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/is_executor.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/keyword_tss_ptr.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/kqueue_reactor.hpp23
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/local_free_on_block_exit.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/macos_fenced_block.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/memory.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/mutex.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/non_const_lvalue.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/noncopyable.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/null_event.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/null_fenced_block.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/null_global.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/null_mutex.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/null_reactor.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/null_signal_blocker.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/null_socket_service.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/null_static_mutex.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/null_thread.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/null_tss_ptr.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/object_pool.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/old_win_sdk_compat.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/op_queue.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/operation.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/pipe_select_interrupter.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/pop_options.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/posix_event.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/posix_fd_set_adapter.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/posix_global.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/posix_mutex.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/posix_serial_port_service.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/posix_signal_blocker.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/posix_static_mutex.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/posix_thread.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/posix_tss_ptr.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/push_options.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/reactive_descriptor_service.hpp74
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/reactive_null_buffers_op.hpp36
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_accept_op.hpp84
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_connect_op.hpp40
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_recv_op.hpp39
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_recvfrom_op.hpp40
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_recvmsg_op.hpp40
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_send_op.hpp40
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_sendto_op.hpp39
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_service.hpp18
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_service_base.hpp153
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/reactive_wait_op.hpp36
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/reactor.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/reactor_op.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/reactor_op_queue.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/recycling_allocator.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/regex_fwd.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/resolve_endpoint_op.hpp3
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/resolve_op.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/resolve_query_op.hpp3
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/resolver_service.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/resolver_service_base.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/scheduler.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/scheduler_operation.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/scheduler_task.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/scheduler_thread_info.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/scoped_lock.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/scoped_ptr.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/select_interrupter.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/select_reactor.hpp23
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/service_registry.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/signal_blocker.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/signal_handler.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/signal_init.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/signal_op.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/signal_set_service.hpp13
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/socket_holder.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/socket_ops.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/socket_option.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/socket_select_interrupter.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/socket_types.hpp12
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/solaris_fenced_block.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/source_location.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/static_mutex.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/std_event.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/std_fenced_block.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/std_global.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/std_mutex.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/std_static_mutex.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/std_thread.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/strand_executor_service.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/strand_service.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/string_view.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/thread.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/thread_context.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/thread_group.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/thread_info_base.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/throw_error.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/throw_exception.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/timer_queue.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/timer_queue_base.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/timer_queue_ptime.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/timer_queue_set.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/timer_scheduler.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/timer_scheduler_fwd.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/tss_ptr.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/type_traits.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/utility.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/variadic_templates.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/wait_handler.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/wait_op.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/win_event.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/win_fd_set_adapter.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/win_fenced_block.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/win_global.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_file_service.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_handle_read_op.hpp3
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_handle_service.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_handle_write_op.hpp3
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_io_context.hpp4
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_null_buffers_op.hpp3
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_operation.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_overlapped_op.hpp3
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_overlapped_ptr.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_serial_port_service.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_accept_op.hpp4
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_connect_op.hpp4
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_recv_op.hpp3
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_recvfrom_op.hpp3
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_recvmsg_op.hpp3
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_send_op.hpp3
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_service.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_service_base.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_thread_info.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_wait_op.hpp3
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/win_mutex.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/win_object_handle_service.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/win_static_mutex.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/win_thread.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/win_tss_ptr.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/winapp_thread.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/wince_thread.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/winrt_async_manager.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/winrt_async_op.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/winrt_resolve_op.hpp3
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/winrt_resolver_service.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/winrt_socket_connect_op.hpp3
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/winrt_socket_recv_op.hpp3
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/winrt_socket_send_op.hpp3
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/winrt_ssocket_service.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/winrt_ssocket_service_base.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/winrt_timer_scheduler.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/winrt_utils.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/winsock_init.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/work_dispatcher.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/wrapped_handler.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/dispatch.hpp31
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/error.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/execution.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/execution/allocator.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/execution/any_executor.hpp19
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/execution/bad_executor.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/execution/blocking.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/execution/blocking_adaptation.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/execution/bulk_execute.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/execution/bulk_guarantee.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/execution/connect.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/execution/context.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/execution/context_as.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/execution/detail/as_invocable.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/execution/detail/as_operation.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/execution/detail/as_receiver.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/execution/detail/bulk_sender.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/execution/detail/submit_receiver.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/execution/detail/void_receiver.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/execution/execute.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/execution/executor.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/execution/impl/bad_executor.ipp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/execution/impl/receiver_invocation_error.ipp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/execution/invocable_archetype.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/execution/mapping.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/execution/occupancy.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/execution/operation_state.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/execution/outstanding_work.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/execution/prefer_only.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/execution/receiver.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/execution/receiver_invocation_error.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/execution/relationship.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/execution/schedule.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/execution/scheduler.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/execution/sender.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/execution/set_done.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/execution/set_error.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/execution/set_value.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/execution/start.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/execution/submit.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/execution_context.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/executor.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/executor_work_guard.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/experimental/append.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/experimental/as_single.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/experimental/as_tuple.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/experimental/awaitable_operators.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/experimental/basic_channel.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/experimental/basic_concurrent_channel.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/experimental/cancellation_condition.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/experimental/channel.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/experimental/channel_error.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/experimental/channel_traits.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/experimental/co_composed.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/experimental/co_spawn.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/experimental/concurrent_channel.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/experimental/coro.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/experimental/coro_traits.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/experimental/deferred.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/experimental/detail/channel_handler.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/experimental/detail/channel_message.hpp13
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/experimental/detail/channel_operation.hpp96
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/experimental/detail/channel_payload.hpp84
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/experimental/detail/channel_receive_op.hpp14
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/experimental/detail/channel_send_functions.hpp14
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/experimental/detail/channel_send_op.hpp12
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/experimental/detail/channel_service.hpp6
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/experimental/detail/coro_completion_handler.hpp6
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/experimental/detail/coro_promise_allocator.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/experimental/detail/has_signature.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/experimental/detail/impl/channel_service.hpp19
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/experimental/detail/partial_promise.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/experimental/impl/as_single.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/experimental/impl/channel_error.ipp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/experimental/impl/co_composed.hpp51
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/experimental/impl/coro.hpp15
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/experimental/impl/parallel_group.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/experimental/impl/promise.hpp17
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/experimental/impl/use_coro.hpp10
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/experimental/impl/use_promise.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/experimental/parallel_group.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/experimental/prepend.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/experimental/promise.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/experimental/use_coro.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/experimental/use_promise.hpp4
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/file_base.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/generic/basic_endpoint.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/generic/datagram_protocol.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/generic/detail/endpoint.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/generic/detail/impl/endpoint.ipp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/generic/raw_protocol.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/generic/seq_packet_protocol.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/generic/stream_protocol.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/handler_alloc_hook.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/handler_continuation_hook.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/handler_invoke_hook.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/high_resolution_timer.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/impl/any_completion_executor.ipp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/impl/any_io_executor.ipp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/impl/append.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/impl/as_tuple.hpp73
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/impl/awaitable.hpp52
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/impl/buffered_read_stream.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/impl/buffered_write_stream.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/impl/cancellation_signal.ipp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/impl/co_spawn.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/impl/connect.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/impl/connect_pipe.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/impl/connect_pipe.ipp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/impl/consign.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/impl/deferred.hpp65
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/impl/detached.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/impl/error.ipp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/impl/execution_context.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/impl/execution_context.ipp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/impl/executor.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/impl/executor.ipp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/impl/handler_alloc_hook.ipp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/impl/io_context.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/impl/io_context.ipp3
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/impl/multiple_exceptions.ipp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/impl/prepend.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/impl/read.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/impl/read_at.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/impl/read_until.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/impl/redirect_error.hpp78
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/impl/serial_port_base.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/impl/serial_port_base.ipp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/impl/spawn.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/impl/src.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/impl/system_context.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/impl/system_context.ipp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/impl/system_executor.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/impl/thread_pool.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/impl/thread_pool.ipp9
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/impl/use_awaitable.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/impl/use_future.hpp6
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/impl/write.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/impl/write_at.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/io_context.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/io_context_strand.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/io_service.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/io_service_strand.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ip/address.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ip/address_v4.hpp7
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ip/address_v4_iterator.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ip/address_v4_range.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ip/address_v6.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ip/address_v6_iterator.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ip/address_v6_range.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ip/bad_address_cast.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ip/basic_endpoint.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ip/basic_resolver.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ip/basic_resolver_entry.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ip/basic_resolver_iterator.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ip/basic_resolver_query.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ip/basic_resolver_results.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ip/detail/endpoint.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ip/detail/impl/endpoint.ipp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ip/detail/socket_option.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ip/host_name.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ip/icmp.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ip/impl/address.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ip/impl/address.ipp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ip/impl/address_v4.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ip/impl/address_v4.ipp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ip/impl/address_v6.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ip/impl/address_v6.ipp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ip/impl/basic_endpoint.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ip/impl/host_name.ipp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ip/impl/network_v4.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ip/impl/network_v4.ipp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ip/impl/network_v6.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ip/impl/network_v6.ipp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ip/multicast.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ip/network_v4.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ip/network_v6.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ip/resolver_base.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ip/resolver_query_base.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ip/tcp.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ip/udp.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ip/unicast.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ip/v6_only.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/is_applicable_property.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/is_contiguous_iterator.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/is_executor.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/is_read_buffered.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/is_write_buffered.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/local/basic_endpoint.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/local/connect_pair.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/local/datagram_protocol.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/local/detail/endpoint.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/local/detail/impl/endpoint.ipp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/local/seq_packet_protocol.hpp86
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/local/stream_protocol.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/multiple_exceptions.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/packaged_task.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/placeholders.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/posix/basic_descriptor.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/posix/basic_stream_descriptor.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/posix/descriptor.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/posix/descriptor_base.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/posix/stream_descriptor.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/post.hpp31
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/prefer.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/prepend.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/query.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/random_access_file.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/read.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/read_at.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/read_until.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/readable_pipe.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/recycling_allocator.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/redirect_error.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/registered_buffer.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/require.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/require_concept.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/serial_port.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/serial_port_base.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/signal_set.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/signal_set_base.hpp184
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/socket_base.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/spawn.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ssl.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ssl/context.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ssl/context_base.hpp48
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ssl/detail/buffered_handshake_op.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ssl/detail/engine.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ssl/detail/handshake_op.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ssl/detail/impl/engine.ipp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ssl/detail/impl/openssl_init.ipp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ssl/detail/io.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ssl/detail/openssl_init.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ssl/detail/openssl_types.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ssl/detail/password_callback.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ssl/detail/read_op.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ssl/detail/shutdown_op.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ssl/detail/stream_core.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ssl/detail/verify_callback.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ssl/detail/write_op.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ssl/error.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ssl/host_name_verification.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ssl/impl/context.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ssl/impl/context.ipp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ssl/impl/error.ipp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ssl/impl/host_name_verification.ipp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ssl/impl/rfc2818_verification.ipp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ssl/impl/src.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ssl/rfc2818_verification.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ssl/stream.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ssl/stream_base.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ssl/verify_context.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ssl/verify_mode.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/static_thread_pool.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/steady_timer.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/strand.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/stream_file.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/streambuf.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/system_context.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/system_executor.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/system_timer.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/this_coro.hpp6
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/thread_pool.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/time_traits.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/traits/bulk_execute_free.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/traits/bulk_execute_member.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/traits/connect_free.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/traits/connect_member.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/traits/equality_comparable.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/traits/execute_free.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/traits/execute_member.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/traits/prefer_free.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/traits/prefer_member.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/traits/query_free.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/traits/query_member.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/traits/query_static_constexpr_member.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/traits/require_concept_free.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/traits/require_concept_member.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/traits/require_free.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/traits/require_member.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/traits/schedule_free.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/traits/schedule_member.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/traits/set_done_free.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/traits/set_done_member.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/traits/set_error_free.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/traits/set_error_member.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/traits/set_value_free.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/traits/set_value_member.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/traits/start_free.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/traits/start_member.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/traits/static_query.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/traits/static_require.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/traits/static_require_concept.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/traits/submit_free.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/traits/submit_member.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ts/buffer.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ts/executor.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ts/internet.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ts/io_context.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ts/net.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ts/netfwd.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ts/socket.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ts/timer.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/unyield.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/use_awaitable.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/use_future.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/uses_executor.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/version.hpp4
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/wait_traits.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/windows/basic_object_handle.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/windows/basic_overlapped_handle.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/windows/basic_random_access_handle.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/windows/basic_stream_handle.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/windows/object_handle.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/windows/overlapped_handle.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/windows/overlapped_ptr.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/windows/random_access_handle.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/windows/stream_handle.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/writable_pipe.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/write.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/write_at.hpp2
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/yield.hpp2
-rw-r--r--contrib/restricted/boost/asio/ya.make4
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 b7c7e48a28b..0fdd78396d4 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 b1ce2a74aec..4b71f2cd843 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 30db5a6cb6b..edd1ee0684f 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 ee6f0af4cf6..1d78a75877e 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 74933b96d3c..a006bbc9829 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 b7510a8241f..ae73387ebd5 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 523ae94d228..12e0008b38f 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 0963236f68e..7b34641c715 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 613fe1addb9..03aeac1eb7a 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 ed085703ef6..50cc9c45d9f 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 3ee637ff2fe..ab55354f324 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 a110182cbf0..4ffc80f9a64 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 00000000000..d73d395f752
--- /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 bc775b01078..b0b5b44c014 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 c25a2fae97d..c73e0eed532 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 4145e2b19ba..8075a084524 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 f220951fd01..7f6326bfc69 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 56672947ccb..47796ad4a30 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 79aad88e245..6bac363cbbd 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 ff6321d4979..589b4435f2d 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 a0e52d6d9ab..464a66be76c 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 b9fcc6a3e95..925371002cd 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 8cb880c6fa6..28404a94794 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 5bfe40977b2..8ed9b1fd360 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 ce91b5dface..503406c77df 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 e37728f0043..c080bdff1ab 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 32f42f86f6e..1bb6d280681 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 6a6dd532206..a9d1d25e7c4 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 3223ac77a19..a7eb6bec63c 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 3173c01bcab..8b6aee09b84 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 3df40da67ed..727f85cb9a2 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 badfee79946..a877c4c4133 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 bfcc71e305f..f28bb1ea2c0 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 64260128fa8..65b1cb7e624 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 302d13a0ee0..23333de1473 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 6d981a052d0..3ae16b76649 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 892c0507469..49bb2c7f438 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 55ea7fb649c..91e97cf1ad4 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 8b7d5a213fc..118faaf3d90 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 00000000000..f9ff922ca54
--- /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 73a589bb432..cd61cf30426 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 b05eb276654..8c5a0e02947 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 ad341c9eb07..93769ef68a1 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 c8b08a62bbb..f5ed2c847a0 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 1365a5a90d5..1fc7ff4bf4b 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 ac9e3283db2..7a6911d0b23 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 1df846c8a4f..b5eb85ce5e6 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 4d2f4b9b59f..33ec1570ec9 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 1bff44e6491..3f015a57d31 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 6a8d644be3c..e7b32370d49 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 156b420a037..0ec1e4fa07c 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 ef68883f031..9ab89311c31 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 b453fc0ec7d..03f83bf2dd1 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 bcca73e6a4a..f16238ef1e4 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 f7740c080f6..3a43fbeff9a 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 8c7ca45b435..e83225854ee 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 fb9e58736c9..627d7b6fa7c 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 39b4741b275..c3de1fb4e2c 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 61d09a25078..2f92a8b236f 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 91c80e3cf83..9bd02d00164 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 5026ec542c1..c8339225ad5 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 d8df593bd58..ca712bfee73 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 083908191f2..e850f382291 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 fa868060c06..be076b48504 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 7a8f7266c2a..4d5f87e697e 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 b54503ba20d..964f618564e 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 a24fb5cdc65..0a90ffcd30c 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 62170cd7e7e..c3006a164b3 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 3af86cff51b..9f409bb0467 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 d2eaab0a583..52122cb2e80 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 f189fd4b743..92cda4a9b25 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 d2352589628..e2f4040a573 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 ed671536cae..77bd76932c9 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 be019460193..fc4d0ccce00 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 6d457c42e52..099acfe64b4 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 4a01e89228c..7e96fcd0dc0 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 9d3b81174a7..39d17b301bd 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 d5fbb89394b..e391f2259e7 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 76927e6b830..ac409a44064 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 522673136dc..4d873ff01bb 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 3febc0018ce..30d90b2edbc 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 f6c39097134..d4b6585c6a0 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 5a71314debc..3046c64f7e1 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 7d3d75da157..850037e5318 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 8c2bd640c91..191f901e3ec 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 9a3b00a8562..0c399fb8bf3 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 c3ef46e525e..90f342da2e2 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 2d391b54181..38eabde058f 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 1202c1431b0..2ede2efd0a0 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 58aa27adf07..069465af23e 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 26fffc5368e..6413a5db0e7 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 12fa38415f2..610532331aa 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 a3cc32d9e56..344dc7b3118 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 f6a2fae4a63..506b1ae65f9 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 e2de3e7f3c7..7947641f573 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 f4855f26c6a..e19bca9a3ae 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 b1c02b8aa64..4a976120973 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 02fd5507557..840bc2cf68c 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 8dfa6b4a259..b01f3ca333c 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 8679b9eb0b1..a94ee679f45 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 2b0fac99fa7..b4191a82edb 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 bc99ef0ec72..2b490c6b11e 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 833f659a703..599a94acf1e 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 b8a3750acef..ec611db3894 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 f179321d1c1..8b946075965 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 8b584ac77da..ae259256d64 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 1d7ff427766..659ed6dc704 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 243ce33e19f..3498954692a 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 c515cffc751..c48155829c0 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 d8b116f212a..081ce0f7238 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 9e763980c6f..c5976801c02 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 722bfea73c4..f47ba8f1317 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 22bdf690948..bc5f08b1c90 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 1dfe8d5666a..92fafacdf24 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 c0fcd25e758..3e03388c983 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 bc170416220..98d17a43f21 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 0aadb8243ae..3e072b3c3d7 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 ea7705fd087..c9d0d87527a 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 72a7ce22122..4eea4f152de 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 60b9c111c96..96b4f3707b9 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 8c618e32e1c..0611bcb7f34 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 214ed192a8a..5bbb434278b 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 f72c4fb140b..ac86f5c2db2 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 95c1644170e..17e66c952fd 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 744eec03673..ecb71dbc1c7 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 99c61016431..91ef41ca3ce 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 314e1f73371..c90adb90c3e 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 3291d04276c..98a08a601e4 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 7bad2405a5c..cdc2a227cc0 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 8d302b6e684..91561a8738d 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 c710a2789dd..47a9d4ab68c 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 723bd859034..05be28eafff 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 dc894eb7969..52dd43f686d 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 e987f09366f..dfe20bcc38e 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 507c91d1afa..743df56d40b 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 79e3afb7dff..d96c4ba7977 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 3f034c3d520..d14dcff7491 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 7b26dc3a684..eb2cf7f59fc 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 47e27885b4b..d7be640f5dd 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 de2c2f17453..7e40711b009 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 df22ee1ddb0..5ce8eaa7009 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 0ebc5599261..28f34dddc92 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 187cb852528..b7d862a0a75 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 f8f9f545454..33887e24453 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 d2b9b9880ec..fd9f7077854 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 914b73e05da..8cb97b3c9a5 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 c9061ee96fe..695b688ce6d 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 89be2f06fa6..8bf26421198 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 0ad5d479aa5..ca352008c8f 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 d0a7b820d45..8649dab05e2 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 70d72e2b809..de009063e2e 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 0b3a8e4d727..070b1f70a1b 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 51cb45d53cf..c7e088b0757 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 fcfcc88d7ec..4ffbc509cb8 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 2b50d46e43b..cee9ee76ed1 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 b256caec747..ad0a10a283c 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 5d61a4cb918..e1db2294580 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 8245da06e04..c86600bd85d 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 eeec9559e78..7e47a52139b 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 33c61def0e4..96d07b61191 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 932a3b31030..bec39abae19 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 1b4f9187ab9..1170b619d52 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 713a61ab7e8..3102a992d37 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 65f05a663e0..4b023168a7c 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 f08bc8500ff..eeb2931589c 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 92b752f3191..5fbd49eb4f4 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 6cad7f4ad30..aaef4dd0259 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 ee885ee0dfc..8a9241a6894 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 545aaf254c4..580c7b7e9c9 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 27519d4b467..21198f66713 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 c8d42b82bd2..4a3b230abac 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 acd3e22c4ec..d294ac74d71 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 157f1de3931..5331bdfdb16 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 6d4ed402f3b..0cc55f74ece 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 4874f5725c6..dfa801b753f 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 d2219d3e59c..98886424dcf 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 185b2033fba..efcd161a1ea 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 844fbcf3dd1..e48769349ea 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 c8dc8654654..04c9e4f1977 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 855e388337d..24575411478 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 429c2748bcb..91be2ac8184 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 2708eda7ba5..3cf22040fcb 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 57082b4e1b3..1bd7d4a0cb8 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 d1b97fb3c18..142d62e8aaa 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 a3c47090eb6..1d9ebbfbf3f 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 4d49f138fbd..56258edb586 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 a48796c2fde..51bc0d273b0 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 ee66fb2b608..cffcf8255bb 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 70d818ef3a0..37c946ca25e 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 68f48b5c15b..eb437856de4 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 131134f42fb..67aa18bfbc6 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 db911b08848..49c58fdda60 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 6658a4b6bfa..e0d2756c3cb 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 f7ebd2aeb2e..cb1d98e69cd 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 04f65df2aea..5193e19e8b8 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 40c1fa26ef7..53d3a689335 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 53e459bc6bd..bf1a9efb3ce 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 16c62596f1a..df4f5b70c9c 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 326480e3d80..8d3f3468aa7 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 a72e3c09295..6b8e3b7d18b 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 89f99f98f82..665914333bf 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 073a1c31ca0..900b5c25282 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 42636121e7f..0fba52894f7 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 e8828e2c7b7..5aec12fc11e 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 0c5a4dea7b1..3aab47c084a 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 05e2821a13e..7b05815c022 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 d08d779e0c4..4c625a0241f 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 4f9d4c7845e..1a6dcb70902 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 1f8cf227f21..d79edc3173a 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 686390382cf..c65c77d1b2b 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 4517c510500..c43168f0664 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 7af42b29594..fde40d70f09 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 cf0fc1c931c..14d6807ae9c 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 f43ddf949c8..551f3febf99 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 ab7206a7280..08f31aa8051 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 d9759dd416e..973535718de 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 f31d192fa98..4f7738934da 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 9573f9595f8..4243e90a723 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 780570020ac..d494ac251e7 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 c946032658e..4f7b14250b0 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 d52afc5fcdf..088a92a404e 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 4360dacbd04..141818764e9 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 e73dea0d168..b119ae80fb1 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 a832dc5212a..caf80e70b58 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 7d3151594d6..3cd3887c0fb 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 9ac9f4895e4..3e9e3a380f1 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 ad0354acfe2..6c09b8445ee 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 c4e84904515..61552c95e57 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 62173c4c37f..168fe351d89 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 2faf5f22d35..a722ae82f05 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 23c5b6e7f1a..b5f12d14be6 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 224bef78cb1..9d8560d62ee 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 b8edfaa4a5d..8c3982a760b 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 09f5a5d0720..3a0e8b6e88d 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 b39eed530eb..23824b8697f 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 c9cdd59ec23..043ea096687 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 70b0ccf3c1d..61cbfd54b5e 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 edb8a9e88e4..23fb55293a5 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 1a4fd323736..a62e6405638 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 1a721399865..040d900c4bf 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 d3d9b9f3af5..891531b82d1 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 0128e41fef0..de7a2aff5d9 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 11d46cd5b46..06da20ed537 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 04c14c6bfbd..6dc76483749 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 c97ab308dd1..a1e843e85e0 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 705ab9cd3f5..76ca947ee8e 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 c13e5890037..1f37e6eb912 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 ef076ebdddf..e527ea0bd34 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 87a83959ea7..b432209afff 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 be78fad6525..0ab06577fe3 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 14426d97c9c..f2e08b9a393 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 fdb0cb9120b..2d8ba749a04 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 79aef04bd66..24807ef87a7 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 ca0b0b6a287..dbb70ce753f 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 3661cd4e48e..0fce6e34729 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 da02346bd5d..b68f541d56a 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 387d13892ed..8b66e814fd9 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 eff848bf3bf..f8fac9b1fe7 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 327e1957e6a..c692ced355d 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 35f3c558f90..56a8f2742d0 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 49bf48becf2..a5ef527b823 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 f7417b6c1d6..953b817569d 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 99955895ea6..a4b8b81ab81 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 863d795b084..447fc910af6 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 690aa5fdd0f..88ac5f63251 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 a2825d1df9a..cf8d8aeb7e2 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 e227d4898fb..9fbb092cc8f 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 0e12dc5bed2..82c1e50f1cc 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 704861c322a..39c062cad33 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 3c44dca3b6f..73c37f1d61f 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 b135375762f..8ce16c13939 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 e390fb007f2..04c6a8769a9 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 dbd94ca163a..217542edb34 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 4b308741b29..7c6f0cd475b 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 a690612bf04..8c84b298016 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 86ba9d9683e..8a56edd3279 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 647a48d21fb..c0f0547f0ad 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 13aeb4a6270..9590e8779a0 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 0a5cfedbcce..73dfc81d47a 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 1a6ab909166..b9e3887600e 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 7ecd903278f..85b8e315cba 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 af590a1ecca..5345c2c005e 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 fc186f5d1fb..a261e394587 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 9b3eb38cbd0..6ac78053802 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 016a6cfcd58..3959056a1ef 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 b3eeb54d96f..aa2251cbcda 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 57e9cbce578..3d425d992d7 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 6396dd37a31..c5ca10c0409 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 ff91f397249..cfcd849c913 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 fd976f918af..533fa859dad 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 43c5b59bed5..57d40560bf5 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 afb89a963f7..394ceef5eaa 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 2a973430d96..7235ef52472 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 c20ccc9862c..240674a20a6 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 6d0f94009a6..16d3c4d03c6 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 783adfb7289..c5c1e03b4b4 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 01001aafccf..b8372bf5354 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 abb4f93019d..e99eda74e83 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 92deeaaf228..c6a6ba90cf3 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 8d62eab891a..157d5c1d008 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 c1dc73c8e9b..6254ad842a4 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 fea03044ff0..b7159ff4eff 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 f2c253731d4..2b70441879c 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 15d57cf574e..b5a5bdf66e4 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 48e90a17f2f..25e119e2584 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 5e91303d7c9..daac5307d35 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 8d32720a964..45e2b67c8d1 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 b54d5c395bb..951467ced12 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 b66882fd4b4..22802a04258 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 db7d635b882..f0a81169497 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 56157158090..05a3fdfc92b 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 2ad28a2c511..a9c35b09798 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 abb69b2b535..f91a70d03d8 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 51a62ffc73e..9d2f80d753d 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 2b2dc67442e..c724a305c1f 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 5251a75036b..3bd436fbf70 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 d44ae97cb8b..1d7f5f6a2bd 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 2e184128d71..d41f49b0c72 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 b340928f3fe..1c3e351645b 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 c86a6f7c995..5304a4ceed2 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 a1b220e709d..9bfb7cdb106 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 4f38e34ed00..6d7650b171d 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 aacdae6a4ce..deaa6e66f45 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 cb01f82d015..1e6cdeee7c4 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 75d54a36784..18705ed5946 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 aa0c1a9ecf2..77ef5c7ebc7 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 8b5aca12f79..6283715ed5e 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 e6542abe484..1773cad066b 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 b79aa8e7365..fd47330445a 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 ded47990d97..a9327524ca5 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 2111e2882f5..de2ad6c83da 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 f471896d89c..996a73cc364 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 05b62bad24d..91d76c73f25 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 b79b3f28709..7a755eb0c41 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 66239f7a0b5..b0069a692f8 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 a72fa287415..01398d54c19 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 53ab671b6f4..c873e679149 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 1f742ba5063..f8d1a189005 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 698e7b20a09..8b762fb0ef6 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 ac2f63c52ce..b198c9e3785 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 764590e4100..99b7459c87b 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 c73f92de1d0..913f77e84bc 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 4f61abb9899..b47e99609ad 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 bcfce97041f..e1ca5153766 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 9fc15aea3d3..fdc41211ef5 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 41f97baab3e..d225cee0622 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 7b81fa0d3e8..c4b67d74746 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 6d2413a3e97..c59ce56b5a8 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 fe402fc0d5b..46706f69d51 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 dd4de501720..89db1728ad0 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 35ff81e91b4..03640067fe5 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 e8ce4e8e92f..677039a0708 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 af3f197f751..8b0a38a21c1 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 3a05141604a..2514e4c5e62 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 25ba0782fce..e613c463f2c 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 c005bfce5b3..c2caaa698c0 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 08fc2ce6f72..84febd70075 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 c3db343a632..340902147f3 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 f3dec30aa7e..9c4f3b2c2b9 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 d2f88b94954..09cbd964d49 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 36ddd5b86a1..af93738b098 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 6bd4697c7b0..1d7e257d49f 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 b6aa9a57ca8..e1835d0ad77 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 fc34306a802..61eeaad9aaa 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 330a0ba82d5..b019e1c09a3 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 407c86467ec..ff2155e7793 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 d784f6c8efc..b87aaa43ace 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 c40368dff24..ca9c8629806 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 ef2ff3204e1..cd4fb969c63 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 a0a0ff36135..39ff3eebbdf 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 bb13acadd27..c8d1c04cb38 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 04387e723a9..923c1624a83 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 bf60c399461..36a146170ee 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 0765ecae20c..ecd3ef24787 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 af4e9cd7375..0211be18863 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 7c356060bf7..7baf7c4cac6 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 95d9da26a36..0e726caba05 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 8f22b5b8534..1d5d7a5af5b 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 3c115a6418c..e5b08eb9b05 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 f78138bf3c7..f3bac5d6bba 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 488fce97bee..dcdba3b00e7 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 351d761df0b..56b835d1760 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 881ad058591..a148945683f 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 396a6b7395b..fd38adc9dae 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 5627ec6728b..d0fe0c21bce 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 0ced6fb6c73..5bca7a5e414 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 6919e7d7ac5..fff8c719458 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 1fcbbf0e873..824be3b8f33 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 77dd4b4cefa..6626007e802 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 e305dba5d80..b96815afa50 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 7ef34081e30..037d1d214f8 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 a83f3469775..ce94ee3ba9c 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 1736e365374..d138f92df67 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 3fc38eb10b3..8ec8dccb71c 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 30d615d4050..6a94d28def5 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 992aef777dd..16bde898aba 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 1a74a7c9eb6..0ae7c337b49 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 d9666d3699d..781fdbabf14 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 f6d33effd18..a64f588b437 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 941e5ed32a7..34ea4e57d6f 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 3381c23f646..6e05696733d 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 97ed6f2268b..671751cb3ef 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 066d2d2bf71..6c20008eea9 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 c973c61cbef..9d56b254e74 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 c32367a9f42..2bf6edad626 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 718d64fd14e..ad90fbe69a3 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 bcd92aad527..f997526cfb5 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 aa72b07f1b7..8c48917b7d2 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 aee027aaf25..e526900a0a8 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 f565c7e313e..3d81af5c3de 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 180476e4121..557d4b36c84 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 83415322e5b..83ccb2eb67b 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 4c3f04cad17..d92e22b99e5 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 7b6c24bc865..f4fb588c9f7 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 3961236964a..860d2d46c5a 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 628646ff958..f9bb64b2f5d 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 d2bbbf2e720..7e0b0360a31 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 a459a06784b..322ecbbef2c 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 ffd330ca399..e380a498bd5 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 29951325c30..eca622a0f80 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 56805e183c8..48c8496609d 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 7749ce23711..12c16cd756e 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 e5e762e4c9e..c97ec3afaf2 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 2134b32cb7b..42eb9d2d4e8 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 d769ba72bb5..ec7d956e1b6 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 a22b0ac6121..e63cfcf65c7 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 0cab847539a..0eb0f6b6fc0 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 0e32722225b..4112e5b2214 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 3b6918e52ea..a9241e2e9f0 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 110db8450a4..7f731dfa5fe 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 0b6cd23ea0d..038e5c311b3 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 e6f9454daca..205d7954569 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 eeb297229b9..0f25049aaeb 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 b7b70cefbbb..e81d04155c0 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 2b97068d3ee..fbaabfcd0d8 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 c3586e6b9ff..73df8b265cb 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 209713c0499..cb069f73b03 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 8008145cfa5..88ae981c0af 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 ba63dc7f992..1f8bbd7e9be 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 8332539b01b..09856f5a593 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 edab62d8485..b3db50356ba 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 2ee8bb029e5..ae8147946b2 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 7b8d89bac78..894d1669414 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 ba3c4122ce3..97fe525fa82 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 a9fbc86293c..77f2ab5c043 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 8c7633ae7d5..a73fae0efc4 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 c947361868d..a975f227694 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 2524fccd638..e7462fb5f99 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 54e7030f2eb..1cb274b21ba 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 c373f7f8583..2cd73706e51 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 84a2a7ca42f..3bd1c2858f2 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 dffca02f827..330c5625d4c 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 4e94ee1bda5..259a30ffe0c 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 dad7c362454..33e80bac394 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 c5aab716eeb..c6d75ea91a8 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 3ba192ba4ca..b965b16819b 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 419857cc410..6908dfb4809 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 28882468981..0f1952235ea 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 96a6811f9be..d4a7d0feb0a 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 7ccc7d074af..973359a1a1e 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 f8c5562ac8b..4ff59b1e08c 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 082ccb05b52..ff67b74afce 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 bed35985f98..1d9933928ef 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 1cfefc91ba2..52f4e5cb01d 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 a514a1ff75a..02d40e30f02 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 f463a9f07cc..f58c8b73bc9 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 7dbe10b39f1..5368b5bcd87 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 7fbbb1906a2..f98358f1941 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 1331798b212..712f744bf7d 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 ab59b17f1a3..6ff57e834ad 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 0357280a515..a692cbeaa35 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 ae99b019ed6..559e3cc1a71 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 643ad7a69bd..90a00a3e62b 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 5b35890a280..4e1edfaeff8 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 55a366bb212..bd4926687dc 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 bffec99c370..a55bed37e94 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 d80b327fb8e..4e786d46ea7 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 f03c0c6a975..1d9d79115a4 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 f448e33207f..6e4904ee8b1 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 084251a7e4c..32eba342346 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 46b72a83468..91e643f7ff4 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 1a40ef922ec..747656b324e 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 ddda458aa13..04d375488ac 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 64490368957..bb7861a17e0 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 b0525283a5b..d07ea174a6f 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 6e15e27028d..4afa40d69d0 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 07236b08998..6a5d71de684 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 4c3afdba3e9..0251393a76b 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 23bec2cdf76..cb5392426de 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 ccbb5de89f6..3b4ac725a69 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 51dda2fb08f..32629368360 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 2822ccae097..f4a6d6e0431 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 2fe071cbaa1..8dc9fbf48a4 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 e639806b57e..04b5fb55527 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 46ff23ede4b..360af19fe44 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 1d8ccf50e36..ac0f0fa9166 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 0a7ddd04fe4..ed0b3cd8837 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 71f40f4e6d4..1f4b73f8b8c 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 05a4ed52e85..64d6dfea4f6 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 7a3097a49bf..28a1786bdf0 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 e1e17841e6c..0fde31314db 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 30fc66a264d..fb20c38f226 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 b1fe5ab16d0..9f19f3c61e6 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 08e2b7ece02..2c1ae41271b 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 e6a0b466a9f..43f4010784e 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 bdf448e8332..0127473e2b8 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 660b273a586..393d066626f 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 c1dfd247a74..6190d76e1de 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 7e64c72ca55..30df18e7305 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 8c4acac0c1a..8647af96d10 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 b676d61f354..f5b24d48af2 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 d14f5334dc5..7b384e5bb3e 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 348e477f9b8..942b686773a 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 1c18933cbf2..98d0c45d3d0 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 5e1ae45d74e..221655e1231 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 e9c50188a15..a6ee15f3dd4 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 4cd615a7d06..a54527b84c9 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 227e191bbb8..8f3ec18cead 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 5c0e723c6bd..b2d6b6a8093 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 21dd8fce6e7..b1d53cc77d5 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 7ac14253836..32fcfa3da59 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 a43c958e155..b3b2135d6d9 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 5f96dd53b36..34aaeb1dea1 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 f28cd4da9a5..83ff9eb6f09 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 729cc5c168f..2b5b82de92a 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 d157dcd8e2f..9615ba3bdf2 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 e32fc272fb4..2678d5b8071 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 95b9364c2c3..ec6b848e542 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 3c26c16bacf..ffe22473847 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 548a034ba62..b19eb554bb9 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 b575f78a0ae..ad6af378341 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 d21edfcd501..721a21ba468 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 0dfa00b6388..8c073ccc179 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 c496dea7579..72b15ca3cc5 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 ba38fabe911..c4a488ca04e 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 adf3136c9f3..425f794742c 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 4c74d205c27..819e4520f51 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 305a76cc3ad..79aba5de763 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 0fead446a35..50c91bdaa92 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 2fc9c46467c..8ce050aeea5 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 b35622e20c6..072ae58cb7c 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 49f8ac7bdb1..b3e20c47bbe 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 00000000000..6e50a08e2a9
--- /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 0e2f91ec155..fc153965b0d 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 313b1216977..d22af614aca 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 fc531146ca1..3f0933c9b6d 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 b59901ed4a9..c64bfbcdab4 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 d17814deea8..1e77a265f68 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 9508d6e6746..f00e0193c88 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 8a5404daaa5..2e602932c79 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 e26155133c1..7a75742a684 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 3249322e241..12f100c5530 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 7dc4343f984..5dea00d224f 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 d6d4338fab7..eb8059b0b22 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 04f7d6c0cf5..8e70213e452 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 1f71fba0611..402413ed97d 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 20fdc9a5cc4..270978ac141 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 c789b9137eb..28f01696c9c 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 5e2d8113d8c..a97bb3b3395 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 fdc2ac697c1..858aa1e50fc 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 417de3190c7..89fd749bd50 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 bc12612ac87..e52c1478519 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 7d60bf55a4b..991f5f79888 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 028eb2d79fd..2004b7e3579 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 ca9423e3c8d..ee2eb223143 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 4bdf91badc0..6a72a39ca4f 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 cd405ed70ce..72cb92dac43 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 84e903d36c0..ba8d879d849 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 eca29e2bcc9..7155b6b3c07 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 00000000000..29161ade946
--- /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 c2a5670bc4f..012c014a633 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 3c25eb58f2b..311f2c08a2d 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 2c09154c966..ed7d4e730a8 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 78cadcb727f..f1d8627dd6a 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 9d94b5da4cc..6a418c7b631 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 00e999b6b64..5884ee70e0e 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 957d2183656..9d4875b72e0 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 095137b5909..143abca8cb8 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 ea373ad86a2..37cb650dd33 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 8357146f90a..456f2a4511e 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 43603c61b3f..3a0697be085 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 be96173bc37..e1aa4d51843 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 aa3778b0419..f758ae739c5 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 6751024e963..971ba4c3209 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 a8d500489a1..00038ba93f1 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 fe6a1ba0cc2..70bd7286cb4 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 d3ba395e687..08024ef6f01 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 b61551b1e96..6faeef882c1 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 e8fa3c8ec76..e651ccc57dd 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 7e8f897799b..b3c674e789b 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 669b19a82c4..35d7c01b2db 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 6f70b150992..345a389cf61 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 e3985c14390..be3ecbc0147 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 b33be636732..83fadeb2d22 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 5b50c670df5..ff49f538072 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 a07c729a50b..0996831d668 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 91520d62d3f..0f9d7b80d88 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 38518b86da1..f5a36a9b76d 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 1e1faf78b62..417455a9a06 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 cbf9b7573be..769bc2cfe79 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 3d1f5ae600c..107b128454f 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 18ceb733d2a..cd22a6b47bd 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 0e022419d46..50b4da351c7 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 6a6ce57501f..33ec79b8758 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 e6e5a1aa897..32dffd5c47f 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 0b83cd36168..7579cbbb46f 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 4e0f656ea61..af0b781022d 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 1f47ec464c2..7fff02dfee1 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 6ebf8799b19..c6f69b609e7 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 b5b1e6e4e9a..cc77ea016f8 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 2e0c994f5ec..69abf1c1982 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 a33f50ed8e6..a2dc69de37f 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 c5dd10869b7..80d40b77155 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 b055be523b2..f80a353cf50 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 e02dbe61a19..9e2954ed3a6 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 bad6f99326b..a80b7a7ee86 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 63bb3fa820b..1f52a366c1e 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 9ec39bbdfc8..46b46fcdc16 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 642ffb974fb..bfd6e39d6f1 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 2038f41866f..cadcdd9abfe 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 8d79c2147b7..6895718ed69 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 848693ed80d..2ba78460f10 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 5d0ded7ca73..fd5c323735e 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 deca0d811f6..d4895becf34 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 5ea5252184b..dc5f7836cbc 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 31523050f98..9641b4f3f2e 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 3c91c57f3f4..309e8d10149 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 39b71b91fb6..90fdadb1634 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 df959faeb44..06a164452c3 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 9d163f80298..3a3ae8d93ef 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 2f334a66cb9..9102fc0afa4 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 eb2b2f7289b..6bcd84da6c7 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 a32d3cbc583..5f1c30485f7 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 55924e7dc89..9390bfe907a 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 5160c6ef973..873a197ef14 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 bb1bab9b227..2647708e44b 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 0d7583334a1..03aa631a626 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 34c8479394a..0e27dc7c20d 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 8d3882fcaee..24a7afb94d8 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 aa7979b7036..bba58cf7e17 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 964494274ad..a53c0e3ab8e 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 b27327e731a..81b3dca3141 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 565ce156d22..2f5691eba42 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 d409c38b0c7..8874f4d4914 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 840b17e2d28..9dc1e992de9 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 f3c674b08be..df1aae9ff83 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 4b07bb0790d..78c458fd56d 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 ed27e0536eb..4a5a294b1f2 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 394f6ff4a5c..13cb8ba027f 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 4aac37479e8..c326e48ac4f 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 ea69c530655..98951f114fc 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 17cc6815643..2e7173c535f 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 f09a2fd71fe..ed70d5f50d1 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 f3bc66b1298..372d8750cd2 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 8c75678009e..647353cee31 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 111aef06a7f..2c5d538321c 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 f5be3dc4855..53e4fd40031 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 42a9047f922..9075b6d1ac9 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 c101abf3ad0..07b9827cde4 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 ea61548a379..1b75060d076 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 93033f493e4..04e2c73489d 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 2471e172b9b..e76a8f20b2d 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 41afcff9b35..3740337b376 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 b2dd5b97508..f3e6e04fa5b 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 ac709ed1c43..801394590f4 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 3a61db8e2ef..b62dfca10ae 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 a7253382c69..1530bf4f13e 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 9b52a099f2b..881df792470 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 acdbbcef21a..7bd4ee91816 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 6789f410fc7..c60756aa6b2 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 4c1c68681d1..ad2172fe4a3 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 53948d38503..0a481235b0d 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