aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/restricted/boost
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 /contrib/restricted/boost
parenta454f5fbc2c79ea1f8e9ca584d888a57f535c8f3 (diff)
downloadydb-338da9a169aaa11be7fa8ca7e6ca87d783a2f75c.tar.gz
Update contrib/restricted/boost/asio to 1.82.0
commit_hash:6f5e0002557289d16812809c88c0756d4775bd44
Diffstat (limited to 'contrib/restricted/boost')
-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 b7c7e48a28..0fdd78396d 100644
--- a/contrib/restricted/boost/asio/.yandex_meta/devtools.copyrights.report
+++ b/contrib/restricted/boost/asio/.yandex_meta/devtools.copyrights.report
@@ -36,7 +36,7 @@
KEEP COPYRIGHT_SERVICE_LABEL 09b747b5492c0054ccb0805469599656
BELONGS ya.make
License text:
- // Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+ // Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// Copyright (c) 2008 Roelof Naude (roelof.naude at gmail dot com)
Scancode info:
Original SPDX id: COPYRIGHT_SERVICE_LABEL
@@ -61,7 +61,7 @@ KEEP COPYRIGHT_SERVICE_LABEL 266d0bf761289539d88d2d0c479f3e6c
BELONGS ya.make
License text:
// Copyright (c) 2005 Voipster / Indrek dot Juhani at voipster dot com
- // Copyright (c) 2005-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+ // Copyright (c) 2005-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
Scancode info:
Original SPDX id: COPYRIGHT_SERVICE_LABEL
Score : 100.00
@@ -71,10 +71,61 @@ BELONGS ya.make
include/boost/asio/ssl/impl/context.hpp [5:6]
include/boost/asio/ssl/impl/context.ipp [5:6]
-KEEP COPYRIGHT_SERVICE_LABEL 449ed4448271c0045b32b83e8bafb352
+KEEP COPYRIGHT_SERVICE_LABEL 4ce9f73bd1dfbd027a7bc5d78910d662
BELONGS ya.make
License text:
- // Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+ // Copyright (c) 2005 Voipster / Indrek dot Juhani at voipster dot com
+ // Copyright (c) 2005-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ include/boost/asio/ssl/detail/impl/openssl_init.ipp [5:6]
+ include/boost/asio/ssl/impl/context.hpp [5:6]
+ include/boost/asio/ssl/impl/context.ipp [5:6]
+
+KEEP COPYRIGHT_SERVICE_LABEL 529d2406b1955604206f10bc3d44afc8
+BELONGS ya.make
+ License text:
+ // Copyright (c) 2021-2023 Klemens D. Morgenstern
+ // (klemens dot morgenstern at gmx dot net)
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ include/boost/asio/experimental/co_spawn.hpp [5:6]
+ include/boost/asio/experimental/coro.hpp [5:6]
+ include/boost/asio/experimental/coro_traits.hpp [5:6]
+ include/boost/asio/experimental/detail/coro_completion_handler.hpp [5:6]
+ include/boost/asio/experimental/detail/coro_promise_allocator.hpp [5:6]
+ include/boost/asio/experimental/detail/partial_promise.hpp [5:6]
+ include/boost/asio/experimental/impl/coro.hpp [5:6]
+ include/boost/asio/experimental/impl/promise.hpp [5:6]
+ include/boost/asio/experimental/impl/use_coro.hpp [5:6]
+ include/boost/asio/experimental/impl/use_promise.hpp [5:6]
+ include/boost/asio/experimental/promise.hpp [5:6]
+ include/boost/asio/experimental/use_coro.hpp [5:6]
+ include/boost/asio/experimental/use_promise.hpp [5:6]
+
+KEEP COPYRIGHT_SERVICE_LABEL 6495f2e3736232dcde6616b6b4fc2659
+BELONGS ya.make
+ License text:
+ // Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+ // Copyright (c) 2021 Klemens D. Morgenstern
+ // (klemens dot morgenstern at gmx dot net)
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ include/boost/asio/impl/connect_pipe.ipp [5:7]
+
+KEEP COPYRIGHT_SERVICE_LABEL 65af04607a789316553d621025ea64f3
+BELONGS ya.make
+ License text:
+ // Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
Scancode info:
Original SPDX id: COPYRIGHT_SERVICE_LABEL
Score : 100.00
@@ -89,6 +140,7 @@ BELONGS ya.make
include/boost/asio/associated_allocator.hpp [5:5]
include/boost/asio/associated_cancellation_slot.hpp [5:5]
include/boost/asio/associated_executor.hpp [5:5]
+ include/boost/asio/associated_immediate_executor.hpp [5:5]
include/boost/asio/associator.hpp [5:5]
include/boost/asio/async_result.hpp [5:5]
include/boost/asio/awaitable.hpp [5:5]
@@ -115,6 +167,7 @@ BELONGS ya.make
include/boost/asio/bind_allocator.hpp [5:5]
include/boost/asio/bind_cancellation_slot.hpp [5:5]
include/boost/asio/bind_executor.hpp [5:5]
+ include/boost/asio/bind_immediate_executor.hpp [5:5]
include/boost/asio/buffer.hpp [5:5]
include/boost/asio/buffer_registration.hpp [5:5]
include/boost/asio/buffered_read_stream.hpp [5:5]
@@ -248,6 +301,9 @@ BELONGS ya.make
include/boost/asio/detail/impl/winrt_timer_scheduler.hpp [5:5]
include/boost/asio/detail/impl/winrt_timer_scheduler.ipp [5:5]
include/boost/asio/detail/impl/winsock_init.ipp [5:5]
+ include/boost/asio/detail/initiate_defer.hpp [5:5]
+ include/boost/asio/detail/initiate_dispatch.hpp [5:5]
+ include/boost/asio/detail/initiate_post.hpp [5:5]
include/boost/asio/detail/io_control.hpp [5:5]
include/boost/asio/detail/io_object_impl.hpp [5:5]
include/boost/asio/detail/io_uring_descriptor_read_at_op.hpp [5:5]
@@ -518,10 +574,8 @@ BELONGS ya.make
include/boost/asio/impl/connect_pipe.hpp [5:5]
include/boost/asio/impl/connect_pipe.ipp [5:7]
include/boost/asio/impl/consign.hpp [5:5]
- include/boost/asio/impl/defer.hpp [5:5]
include/boost/asio/impl/deferred.hpp [5:5]
include/boost/asio/impl/detached.hpp [5:5]
- include/boost/asio/impl/dispatch.hpp [5:5]
include/boost/asio/impl/error.ipp [5:5]
include/boost/asio/impl/execution_context.hpp [5:5]
include/boost/asio/impl/execution_context.ipp [5:5]
@@ -531,7 +585,6 @@ BELONGS ya.make
include/boost/asio/impl/io_context.hpp [5:5]
include/boost/asio/impl/io_context.ipp [5:5]
include/boost/asio/impl/multiple_exceptions.ipp [5:5]
- include/boost/asio/impl/post.hpp [5:5]
include/boost/asio/impl/prepend.hpp [5:5]
include/boost/asio/impl/read.hpp [5:5]
include/boost/asio/impl/read_at.hpp [5:5]
@@ -604,6 +657,7 @@ BELONGS ya.make
include/boost/asio/local/datagram_protocol.hpp [5:5]
include/boost/asio/local/detail/endpoint.hpp [5:6]
include/boost/asio/local/detail/impl/endpoint.ipp [5:6]
+ include/boost/asio/local/seq_packet_protocol.hpp [5:5]
include/boost/asio/local/stream_protocol.hpp [5:5]
include/boost/asio/multiple_exceptions.hpp [5:5]
include/boost/asio/packaged_task.hpp [5:5]
@@ -630,6 +684,7 @@ BELONGS ya.make
include/boost/asio/serial_port.hpp [5:6]
include/boost/asio/serial_port_base.hpp [5:6]
include/boost/asio/signal_set.hpp [5:5]
+ include/boost/asio/signal_set_base.hpp [5:5]
include/boost/asio/socket_base.hpp [5:5]
include/boost/asio/spawn.hpp [5:5]
include/boost/asio/ssl.hpp [5:5]
@@ -729,23 +784,10 @@ BELONGS ya.make
include/boost/asio/write_at.hpp [5:5]
include/boost/asio/yield.hpp [5:5]
-KEEP COPYRIGHT_SERVICE_LABEL 6495f2e3736232dcde6616b6b4fc2659
-BELONGS ya.make
- License text:
- // Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
- // Copyright (c) 2021 Klemens D. Morgenstern
- // (klemens dot morgenstern at gmx dot net)
- Scancode info:
- Original SPDX id: COPYRIGHT_SERVICE_LABEL
- Score : 100.00
- Match type : COPYRIGHT
- Files with this license:
- include/boost/asio/impl/connect_pipe.ipp [5:7]
-
KEEP COPYRIGHT_SERVICE_LABEL 77248a96a79940a9fa1d82b59477d791
BELONGS ya.make
License text:
- // Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+ // Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// Copyright (c) 2005 Stefan Arentz (stefan at soze dot com)
Scancode info:
Original SPDX id: COPYRIGHT_SERVICE_LABEL
@@ -759,7 +801,7 @@ BELONGS ya.make
KEEP COPYRIGHT_SERVICE_LABEL 77f9dd6047adac3aadfc4e429a97736b
BELONGS ya.make
License text:
- // Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+ // Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// Copyright (c) 2008 Rep Invariant Systems, Inc. (info@repinvariant.com)
Scancode info:
Original SPDX id: COPYRIGHT_SERVICE_LABEL
@@ -780,59 +822,10 @@ BELONGS ya.make
include/boost/asio/serial_port.hpp [5:6]
include/boost/asio/serial_port_base.hpp [5:6]
-KEEP COPYRIGHT_SERVICE_LABEL a1fb802c2897bd8b522e07fc08e3988a
-BELONGS ya.make
- License text:
- // Copyright (c) 2005 Voipster / Indrek dot Juhani at voipster dot com
- // Copyright (c) 2005-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
- Scancode info:
- Original SPDX id: COPYRIGHT_SERVICE_LABEL
- Score : 100.00
- Match type : COPYRIGHT
- Files with this license:
- include/boost/asio/ssl/detail/impl/openssl_init.ipp [5:6]
- include/boost/asio/ssl/impl/context.hpp [5:6]
- include/boost/asio/ssl/impl/context.ipp [5:6]
-
-KEEP COPYRIGHT_SERVICE_LABEL ac8aa760fecd6ff857e31432dcb50229
-BELONGS ya.make
- License text:
- // Copyright (c) 2022 Klemens D. Morgenstern
- // (klemens dot morgenstern at gmx dot net)
- Scancode info:
- Original SPDX id: COPYRIGHT_SERVICE_LABEL
- Score : 100.00
- Match type : COPYRIGHT
- Files with this license:
- include/boost/asio/experimental/use_promise.hpp [5:6]
-
-KEEP COPYRIGHT_SERVICE_LABEL b54a4b9bb1b7b86932babc13c91439ba
-BELONGS ya.make
- License text:
- // Copyright (c) 2021-2022 Klemens D. Morgenstern
- // (klemens dot morgenstern at gmx dot net)
- Scancode info:
- Original SPDX id: COPYRIGHT_SERVICE_LABEL
- Score : 100.00
- Match type : COPYRIGHT
- Files with this license:
- include/boost/asio/experimental/co_spawn.hpp [5:6]
- include/boost/asio/experimental/coro.hpp [5:6]
- include/boost/asio/experimental/coro_traits.hpp [5:6]
- include/boost/asio/experimental/detail/coro_completion_handler.hpp [5:6]
- include/boost/asio/experimental/detail/coro_promise_allocator.hpp [5:6]
- include/boost/asio/experimental/detail/partial_promise.hpp [5:6]
- include/boost/asio/experimental/impl/coro.hpp [5:6]
- include/boost/asio/experimental/impl/promise.hpp [5:6]
- include/boost/asio/experimental/impl/use_coro.hpp [5:6]
- include/boost/asio/experimental/impl/use_promise.hpp [5:6]
- include/boost/asio/experimental/promise.hpp [5:6]
- include/boost/asio/experimental/use_coro.hpp [5:6]
-
KEEP COPYRIGHT_SERVICE_LABEL cec519351b68fb385bc916223bd0753a
BELONGS ya.make
License text:
- // Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+ // Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// Copyright (c) 2011 Boris Schaeling (boris@highscore.de)
Scancode info:
Original SPDX id: COPYRIGHT_SERVICE_LABEL
@@ -847,7 +840,7 @@ BELONGS ya.make
KEEP COPYRIGHT_SERVICE_LABEL f5e28497f7d46b75936cac4feeb981f4
BELONGS ya.make
License text:
- // Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+ // Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// Copyright (c) 2014 Oliver Kowalke (oliver dot kowalke at gmail dot com)
Scancode info:
Original SPDX id: COPYRIGHT_SERVICE_LABEL
diff --git a/contrib/restricted/boost/asio/.yandex_meta/devtools.licenses.report b/contrib/restricted/boost/asio/.yandex_meta/devtools.licenses.report
index b1ce2a74ae..4b71f2cd84 100644
--- a/contrib/restricted/boost/asio/.yandex_meta/devtools.licenses.report
+++ b/contrib/restricted/boost/asio/.yandex_meta/devtools.licenses.report
@@ -53,6 +53,7 @@ BELONGS ya.make
include/boost/asio/associated_allocator.hpp [7:8]
include/boost/asio/associated_cancellation_slot.hpp [7:8]
include/boost/asio/associated_executor.hpp [7:8]
+ include/boost/asio/associated_immediate_executor.hpp [7:8]
include/boost/asio/associator.hpp [7:8]
include/boost/asio/async_result.hpp [7:8]
include/boost/asio/awaitable.hpp [7:8]
@@ -79,6 +80,7 @@ BELONGS ya.make
include/boost/asio/bind_allocator.hpp [7:8]
include/boost/asio/bind_cancellation_slot.hpp [7:8]
include/boost/asio/bind_executor.hpp [7:8]
+ include/boost/asio/bind_immediate_executor.hpp [7:8]
include/boost/asio/buffer.hpp [7:8]
include/boost/asio/buffer_registration.hpp [7:8]
include/boost/asio/buffered_read_stream.hpp [7:8]
@@ -212,6 +214,9 @@ BELONGS ya.make
include/boost/asio/detail/impl/winrt_timer_scheduler.hpp [7:8]
include/boost/asio/detail/impl/winrt_timer_scheduler.ipp [7:8]
include/boost/asio/detail/impl/winsock_init.ipp [7:8]
+ include/boost/asio/detail/initiate_defer.hpp [7:8]
+ include/boost/asio/detail/initiate_dispatch.hpp [7:8]
+ include/boost/asio/detail/initiate_post.hpp [7:8]
include/boost/asio/detail/io_control.hpp [7:8]
include/boost/asio/detail/io_object_impl.hpp [7:8]
include/boost/asio/detail/io_uring_descriptor_read_at_op.hpp [7:8]
@@ -496,10 +501,8 @@ BELONGS ya.make
include/boost/asio/impl/connect_pipe.hpp [7:8]
include/boost/asio/impl/connect_pipe.ipp [9:10]
include/boost/asio/impl/consign.hpp [7:8]
- include/boost/asio/impl/defer.hpp [7:8]
include/boost/asio/impl/deferred.hpp [7:8]
include/boost/asio/impl/detached.hpp [7:8]
- include/boost/asio/impl/dispatch.hpp [7:8]
include/boost/asio/impl/error.ipp [7:8]
include/boost/asio/impl/execution_context.hpp [7:8]
include/boost/asio/impl/execution_context.ipp [7:8]
@@ -509,7 +512,6 @@ BELONGS ya.make
include/boost/asio/impl/io_context.hpp [7:8]
include/boost/asio/impl/io_context.ipp [7:8]
include/boost/asio/impl/multiple_exceptions.ipp [7:8]
- include/boost/asio/impl/post.hpp [7:8]
include/boost/asio/impl/prepend.hpp [7:8]
include/boost/asio/impl/read.hpp [7:8]
include/boost/asio/impl/read_at.hpp [7:8]
@@ -582,6 +584,7 @@ BELONGS ya.make
include/boost/asio/local/datagram_protocol.hpp [7:8]
include/boost/asio/local/detail/endpoint.hpp [8:9]
include/boost/asio/local/detail/impl/endpoint.ipp [8:9]
+ include/boost/asio/local/seq_packet_protocol.hpp [7:8]
include/boost/asio/local/stream_protocol.hpp [7:8]
include/boost/asio/multiple_exceptions.hpp [7:8]
include/boost/asio/packaged_task.hpp [7:8]
@@ -608,6 +611,7 @@ BELONGS ya.make
include/boost/asio/serial_port.hpp [8:9]
include/boost/asio/serial_port_base.hpp [8:9]
include/boost/asio/signal_set.hpp [7:8]
+ include/boost/asio/signal_set_base.hpp [7:8]
include/boost/asio/socket_base.hpp [7:8]
include/boost/asio/spawn.hpp [7:8]
include/boost/asio/ssl.hpp [7:8]
diff --git a/contrib/restricted/boost/asio/.yandex_meta/licenses.list.txt b/contrib/restricted/boost/asio/.yandex_meta/licenses.list.txt
index 30db5a6cb6..edd1ee0684 100644
--- a/contrib/restricted/boost/asio/.yandex_meta/licenses.list.txt
+++ b/contrib/restricted/boost/asio/.yandex_meta/licenses.list.txt
@@ -8,54 +8,49 @@
====================COPYRIGHT====================
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
====================COPYRIGHT====================
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// Copyright (c) 2005 Stefan Arentz (stefan at soze dot com)
====================COPYRIGHT====================
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// Copyright (c) 2008 Rep Invariant Systems, Inc. (info@repinvariant.com)
====================COPYRIGHT====================
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// Copyright (c) 2008 Roelof Naude (roelof.naude at gmail dot com)
====================COPYRIGHT====================
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// Copyright (c) 2011 Boris Schaeling (boris@highscore.de)
====================COPYRIGHT====================
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// Copyright (c) 2014 Oliver Kowalke (oliver dot kowalke at gmail dot com)
====================COPYRIGHT====================
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// Copyright (c) 2021 Klemens D. Morgenstern
// (klemens dot morgenstern at gmx dot net)
====================COPYRIGHT====================
// Copyright (c) 2005 Voipster / Indrek dot Juhani at voipster dot com
-// Copyright (c) 2005-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2005-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
====================COPYRIGHT====================
-// Copyright (c) 2021-2022 Klemens D. Morgenstern
+// Copyright (c) 2021-2023 Klemens D. Morgenstern
// (klemens dot morgenstern at gmx dot net)
-====================COPYRIGHT====================
-// Copyright (c) 2022 Klemens D. Morgenstern
-// (klemens dot morgenstern at gmx dot net)
-
-
====================Public-Domain====================
// Derived from a public domain implementation written by Daniel Casimiro.
diff --git a/contrib/restricted/boost/asio/include/boost/asio.hpp b/contrib/restricted/boost/asio/include/boost/asio.hpp
index ee6f0af4cf..1d78a75877 100644
--- a/contrib/restricted/boost/asio/include/boost/asio.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio.hpp
@@ -2,7 +2,7 @@
// asio.hpp
// ~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -23,8 +23,9 @@
#include <boost/asio/append.hpp>
#include <boost/asio/as_tuple.hpp>
#include <boost/asio/associated_allocator.hpp>
-#include <boost/asio/associated_executor.hpp>
#include <boost/asio/associated_cancellation_slot.hpp>
+#include <boost/asio/associated_executor.hpp>
+#include <boost/asio/associated_immediate_executor.hpp>
#include <boost/asio/associator.hpp>
#include <boost/asio/async_result.hpp>
#include <boost/asio/awaitable.hpp>
@@ -50,6 +51,7 @@
#include <boost/asio/bind_allocator.hpp>
#include <boost/asio/bind_cancellation_slot.hpp>
#include <boost/asio/bind_executor.hpp>
+#include <boost/asio/bind_immediate_executor.hpp>
#include <boost/asio/buffer.hpp>
#include <boost/asio/buffer_registration.hpp>
#include <boost/asio/buffered_read_stream_fwd.hpp>
@@ -152,6 +154,7 @@
#include <boost/asio/local/basic_endpoint.hpp>
#include <boost/asio/local/connect_pair.hpp>
#include <boost/asio/local/datagram_protocol.hpp>
+#include <boost/asio/local/seq_packet_protocol.hpp>
#include <boost/asio/local/stream_protocol.hpp>
#include <boost/asio/multiple_exceptions.hpp>
#include <boost/asio/packaged_task.hpp>
@@ -178,6 +181,7 @@
#include <boost/asio/serial_port.hpp>
#include <boost/asio/serial_port_base.hpp>
#include <boost/asio/signal_set.hpp>
+#include <boost/asio/signal_set_base.hpp>
#include <boost/asio/socket_base.hpp>
#include <boost/asio/static_thread_pool.hpp>
#include <boost/asio/steady_timer.hpp>
diff --git a/contrib/restricted/boost/asio/include/boost/asio/any_completion_executor.hpp b/contrib/restricted/boost/asio/include/boost/asio/any_completion_executor.hpp
index 74933b96d3..a006bbc982 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/any_completion_executor.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/any_completion_executor.hpp
@@ -2,7 +2,7 @@
// any_completion_executor.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/any_completion_handler.hpp b/contrib/restricted/boost/asio/include/boost/asio/any_completion_handler.hpp
index b7510a8241..ae73387ebd 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/any_completion_handler.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/any_completion_handler.hpp
@@ -2,7 +2,7 @@
// any_completion_handler.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -416,6 +416,8 @@ any_completion_handler_fn_table_instance<Handler, Signatures...>::value;
template <typename... Signatures>
class any_completion_handler;
+/// An allocator type that forwards memory allocation operations through an
+/// instance of @c any_completion_handler.
template <typename T, typename... Signatures>
class any_completion_handler_allocator
{
@@ -437,14 +439,18 @@ private:
}
public:
+ /// The type of objects that may be allocated by the allocator.
typedef T value_type;
+ /// Rebinds an allocator to another value type.
template <typename U>
struct rebind
{
+ /// Specifies the type of the rebound allocator.
typedef any_completion_handler_allocator<U, Signatures...> other;
};
+ /// Construct from another @c any_completion_handler_allocator.
template <typename U>
constexpr any_completion_handler_allocator(
const any_completion_handler_allocator<U, Signatures...>& a)
@@ -454,18 +460,21 @@ public:
{
}
+ /// Equality operator.
constexpr bool operator==(
const any_completion_handler_allocator& other) const BOOST_ASIO_NOEXCEPT
{
return fn_table_ == other.fn_table_ && impl_ == other.impl_;
}
+ /// Inequality operator.
constexpr bool operator!=(
const any_completion_handler_allocator& other) const BOOST_ASIO_NOEXCEPT
{
return fn_table_ != other.fn_table_ || impl_ != other.impl_;
}
+ /// Allocate space for @c n objects of the allocator's value type.
T* allocate(std::size_t n) const
{
return static_cast<T*>(
@@ -473,12 +482,16 @@ public:
impl_, sizeof(T) * n, alignof(T)));
}
+ /// Deallocate space for @c n objects of the allocator's value type.
void deallocate(T* p, std::size_t n) const
{
fn_table_->deallocate(impl_, p, sizeof(T) * n, alignof(T));
}
};
+/// A protoco-allocator type that may be rebound to obtain an allocator that
+/// forwards memory allocation operations through an instance of
+/// @c any_completion_handler.
template <typename... Signatures>
class any_completion_handler_allocator<void, Signatures...>
{
@@ -500,14 +513,18 @@ private:
}
public:
+ /// @c void as no objects can be allocated through a proto-allocator.
typedef void value_type;
+ /// Rebinds an allocator to another value type.
template <typename U>
struct rebind
{
+ /// Specifies the type of the rebound allocator.
typedef any_completion_handler_allocator<U, Signatures...> other;
};
+ /// Construct from another @c any_completion_handler_allocator.
template <typename U>
constexpr any_completion_handler_allocator(
const any_completion_handler_allocator<U, Signatures...>& a)
@@ -517,12 +534,14 @@ public:
{
}
+ /// Equality operator.
constexpr bool operator==(
const any_completion_handler_allocator& other) const BOOST_ASIO_NOEXCEPT
{
return fn_table_ == other.fn_table_ && impl_ == other.impl_;
}
+ /// Inequality operator.
constexpr bool operator!=(
const any_completion_handler_allocator& other) const BOOST_ASIO_NOEXCEPT
{
@@ -530,9 +549,27 @@ public:
}
};
+/// Polymorphic wrapper for completion handlers.
+/**
+ * The @c any_completion_handler class template is a polymorphic wrapper for
+ * completion handlers that propagates the associated executor, associated
+ * allocator, and associated cancellation slot through a type-erasing interface.
+ *
+ * When using @c any_completion_handler, specify one or more completion
+ * signatures as template parameters. These will dictate the arguments that may
+ * be passed to the handler through the polymorphic interface.
+ *
+ * Typical uses for @c any_completion_handler include:
+ *
+ * @li Separate compilation of asynchronous operation implementations.
+ *
+ * @li Enabling interoperability between asynchronous operations and virtual
+ * functions.
+ */
template <typename... Signatures>
class any_completion_handler
{
+#if !defined(GENERATING_DOCUMENTATION)
private:
template <typename, typename...>
friend class any_completion_handler_allocator;
@@ -542,25 +579,37 @@ private:
const detail::any_completion_handler_fn_table<Signatures...>* fn_table_;
detail::any_completion_handler_impl_base* impl_;
+#endif // !defined(GENERATING_DOCUMENTATION)
public:
+ /// The associated allocator type.
using allocator_type = any_completion_handler_allocator<void, Signatures...>;
+
+ /// The associated cancellation slot type.
using cancellation_slot_type = cancellation_slot;
+ /// Construct an @c any_completion_handler in an empty state, without a target
+ /// object.
constexpr any_completion_handler()
: fn_table_(nullptr),
impl_(nullptr)
{
}
+ /// Construct an @c any_completion_handler in an empty state, without a target
+ /// object.
constexpr any_completion_handler(nullptr_t)
: fn_table_(nullptr),
impl_(nullptr)
{
}
+ /// Construct an @c any_completion_handler to contain the specified target.
template <typename H, typename Handler = typename decay<H>::type>
- any_completion_handler(H&& h)
+ any_completion_handler(H&& h,
+ typename constraint<
+ !is_same<typename decay<H>::type, any_completion_handler>::value
+ >::type = 0)
: fn_table_(
&detail::any_completion_handler_fn_table_instance<
Handler, Signatures...>::value),
@@ -569,6 +618,10 @@ public:
{
}
+ /// Move-construct an @c any_completion_handler from another.
+ /**
+ * After the operation, the moved-from object @c other has no target.
+ */
any_completion_handler(any_completion_handler&& other) BOOST_ASIO_NOEXCEPT
: fn_table_(other.fn_table_),
impl_(other.impl_)
@@ -577,51 +630,72 @@ public:
other.impl_ = nullptr;
}
+ /// Move-assign an @c any_completion_handler from another.
+ /**
+ * After the operation, the moved-from object @c other has no target.
+ */
any_completion_handler& operator=(
any_completion_handler&& other) BOOST_ASIO_NOEXCEPT
{
- any_completion_handler(other).swap(*this);
+ any_completion_handler(
+ BOOST_ASIO_MOVE_CAST(any_completion_handler)(other)).swap(*this);
return *this;
}
+ /// Assignment operator that sets the polymorphic wrapper to the empty state.
any_completion_handler& operator=(nullptr_t) BOOST_ASIO_NOEXCEPT
{
any_completion_handler().swap(*this);
return *this;
}
+ /// Destructor.
~any_completion_handler()
{
if (impl_)
fn_table_->destroy(impl_);
}
+ /// Test if the polymorphic wrapper is empty.
constexpr explicit operator bool() const BOOST_ASIO_NOEXCEPT
{
return impl_ != nullptr;
}
+ /// Test if the polymorphic wrapper is non-empty.
constexpr bool operator!() const BOOST_ASIO_NOEXCEPT
{
return impl_ == nullptr;
}
+ /// Swap the content of an @c any_completion_handler with another.
void swap(any_completion_handler& other) BOOST_ASIO_NOEXCEPT
{
std::swap(fn_table_, other.fn_table_);
std::swap(impl_, other.impl_);
}
+ /// Get the associated allocator.
allocator_type get_allocator() const BOOST_ASIO_NOEXCEPT
{
return allocator_type(0, *this);
}
+ /// Get the associated cancellation slot.
cancellation_slot_type get_cancellation_slot() const BOOST_ASIO_NOEXCEPT
{
return impl_->get_cancellation_slot();
}
+ /// Function call operator.
+ /**
+ * Invokes target completion handler with the supplied arguments.
+ *
+ * This function may only be called once, as the target handler is moved from.
+ * The polymorphic wrapper is left in an empty state.
+ *
+ * Throws @c std::bad_function_call if the polymorphic wrapper is empty.
+ */
template <typename... Args>
auto operator()(Args&&... args)
-> decltype(fn_table_->call(impl_, BOOST_ASIO_MOVE_CAST(Args)(args)...))
@@ -635,24 +709,28 @@ public:
boost::asio::detail::throw_exception(ex);
}
+ /// Equality operator.
friend constexpr bool operator==(
const any_completion_handler& a, nullptr_t) BOOST_ASIO_NOEXCEPT
{
return a.impl_ == nullptr;
}
+ /// Equality operator.
friend constexpr bool operator==(
nullptr_t, const any_completion_handler& b) BOOST_ASIO_NOEXCEPT
{
return nullptr == b.impl_;
}
+ /// Inequality operator.
friend constexpr bool operator!=(
const any_completion_handler& a, nullptr_t) BOOST_ASIO_NOEXCEPT
{
return a.impl_ != nullptr;
}
+ /// Inequality operator.
friend constexpr bool operator!=(
nullptr_t, const any_completion_handler& b) BOOST_ASIO_NOEXCEPT
{
diff --git a/contrib/restricted/boost/asio/include/boost/asio/any_io_executor.hpp b/contrib/restricted/boost/asio/include/boost/asio/any_io_executor.hpp
index 523ae94d22..12e0008b38 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/any_io_executor.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/any_io_executor.hpp
@@ -2,7 +2,7 @@
// any_io_executor.hpp
// ~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/append.hpp b/contrib/restricted/boost/asio/include/boost/asio/append.hpp
index 0963236f68..7b34641c71 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/append.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/append.hpp
@@ -2,7 +2,7 @@
// append.hpp
// ~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/as_tuple.hpp b/contrib/restricted/boost/asio/include/boost/asio/as_tuple.hpp
index 613fe1addb..03aeac1eb7 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/as_tuple.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/as_tuple.hpp
@@ -2,7 +2,7 @@
// as_tuple.hpp
// ~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/associated_allocator.hpp b/contrib/restricted/boost/asio/include/boost/asio/associated_allocator.hpp
index ed085703ef..50cc9c45d9 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/associated_allocator.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/associated_allocator.hpp
@@ -2,7 +2,7 @@
// associated_allocator.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/associated_cancellation_slot.hpp b/contrib/restricted/boost/asio/include/boost/asio/associated_cancellation_slot.hpp
index 3ee637ff2f..ab55354f32 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/associated_cancellation_slot.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/associated_cancellation_slot.hpp
@@ -2,7 +2,7 @@
// associated_cancellation_slot.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -221,7 +221,7 @@ struct associated_cancellation_slot<reference_wrapper<T>, CancellationSlot>
/// Forwards the request to get the cancellation slot to the associator
/// specialisation for the unwrapped type @c T.
static BOOST_ASIO_AUTO_RETURN_TYPE_PREFIX(type) get(reference_wrapper<T> t,
- const CancellationSlot& s = CancellationSlot()) BOOST_ASIO_NOEXCEPT
+ const CancellationSlot& s) BOOST_ASIO_NOEXCEPT
BOOST_ASIO_AUTO_RETURN_TYPE_SUFFIX((
associated_cancellation_slot<T, CancellationSlot>::get(t.get(), s)))
{
diff --git a/contrib/restricted/boost/asio/include/boost/asio/associated_executor.hpp b/contrib/restricted/boost/asio/include/boost/asio/associated_executor.hpp
index a110182cbf..4ffc80f9a6 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/associated_executor.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/associated_executor.hpp
@@ -2,7 +2,7 @@
// associated_executor.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -173,15 +173,11 @@ get_associated_executor(const T& t, const Executor& ex,
* ExecutionContext::executor_type>::get(t, ctx.get_executor())</tt>
*/
template <typename T, typename ExecutionContext>
-BOOST_ASIO_NODISCARD inline BOOST_ASIO_AUTO_RETURN_TYPE_PREFIX2(
- typename associated_executor<T,
- typename ExecutionContext::executor_type>::type)
+BOOST_ASIO_NODISCARD inline typename associated_executor<T,
+ typename ExecutionContext::executor_type>::type
get_associated_executor(const T& t, ExecutionContext& ctx,
typename constraint<is_convertible<ExecutionContext&,
execution_context&>::value>::type = 0) BOOST_ASIO_NOEXCEPT
- BOOST_ASIO_AUTO_RETURN_TYPE_SUFFIX((
- associated_executor<T,
- typename ExecutionContext::executor_type>::get(t, ctx.get_executor())))
{
return associated_executor<T,
typename ExecutionContext::executor_type>::get(t, ctx.get_executor());
diff --git a/contrib/restricted/boost/asio/include/boost/asio/associated_immediate_executor.hpp b/contrib/restricted/boost/asio/include/boost/asio/associated_immediate_executor.hpp
new file mode 100644
index 0000000000..d73d395f75
--- /dev/null
+++ b/contrib/restricted/boost/asio/include/boost/asio/associated_immediate_executor.hpp
@@ -0,0 +1,299 @@
+//
+// associated_immediate_executor.hpp
+// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+//
+// Distributed under the Boost Software License, Version 1.0. (See accompanying
+// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+//
+
+#ifndef BOOST_ASIO_ASSOCIATED_IMMEDIATE_EXECUTOR_HPP
+#define BOOST_ASIO_ASSOCIATED_IMMEDIATE_EXECUTOR_HPP
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+# pragma once
+#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
+
+#include <boost/asio/detail/config.hpp>
+#include <boost/asio/associator.hpp>
+#include <boost/asio/detail/functional.hpp>
+#include <boost/asio/detail/type_traits.hpp>
+#include <boost/asio/execution/blocking.hpp>
+#include <boost/asio/execution/executor.hpp>
+#include <boost/asio/execution_context.hpp>
+#include <boost/asio/is_executor.hpp>
+#include <boost/asio/require.hpp>
+
+#include <boost/asio/detail/push_options.hpp>
+
+namespace boost {
+namespace asio {
+
+template <typename T, typename Executor>
+struct associated_immediate_executor;
+
+namespace detail {
+
+template <typename T, typename = void>
+struct has_immediate_executor_type : false_type
+{
+};
+
+template <typename T>
+struct has_immediate_executor_type<T,
+ typename void_type<typename T::immediate_executor_type>::type>
+ : true_type
+{
+};
+
+template <typename E, typename = void, typename = void>
+struct default_immediate_executor
+{
+ typedef typename require_result<E, execution::blocking_t::never_t>::type type;
+
+ static type get(const E& e) BOOST_ASIO_NOEXCEPT
+ {
+ return boost::asio::require(e, execution::blocking.never);
+ }
+};
+
+template <typename E>
+struct default_immediate_executor<E,
+ typename enable_if<
+ !execution::is_executor<E>::value
+ >::type,
+ typename enable_if<
+ is_executor<E>::value
+ >::type>
+{
+ class type : public E
+ {
+ public:
+ template <typename Executor1>
+ explicit type(const Executor1& e,
+ typename constraint<
+ conditional<
+ !is_same<Executor1, type>::value,
+ is_convertible<Executor1, E>,
+ false_type
+ >::type::value
+ >::type = 0) BOOST_ASIO_NOEXCEPT
+ : E(e)
+ {
+ }
+
+ type(const type& other) BOOST_ASIO_NOEXCEPT
+ : E(static_cast<const E&>(other))
+ {
+ }
+
+#if defined(BOOST_ASIO_HAS_MOVE)
+ type(type&& other) BOOST_ASIO_NOEXCEPT
+ : E(BOOST_ASIO_MOVE_CAST(E)(other))
+ {
+ }
+#endif // defined(BOOST_ASIO_HAS_MOVE)
+
+ template <typename Function, typename Allocator>
+ void dispatch(BOOST_ASIO_MOVE_ARG(Function) f, const Allocator& a) const
+ {
+ this->post(BOOST_ASIO_MOVE_CAST(Function)(f), a);
+ }
+
+ friend bool operator==(const type& a, const type& b) BOOST_ASIO_NOEXCEPT
+ {
+ return static_cast<const E&>(a) == static_cast<const E&>(b);
+ }
+
+ friend bool operator!=(const type& a, const type& b) BOOST_ASIO_NOEXCEPT
+ {
+ return static_cast<const E&>(a) != static_cast<const E&>(b);
+ }
+ };
+
+ static type get(const E& e) BOOST_ASIO_NOEXCEPT
+ {
+ return type(e);
+ }
+};
+
+template <typename T, typename E, typename = void, typename = void>
+struct associated_immediate_executor_impl
+{
+ typedef void asio_associated_immediate_executor_is_unspecialised;
+
+ typedef typename default_immediate_executor<E>::type type;
+
+ static BOOST_ASIO_AUTO_RETURN_TYPE_PREFIX(type) get(
+ const T&, const E& e) BOOST_ASIO_NOEXCEPT
+ BOOST_ASIO_AUTO_RETURN_TYPE_SUFFIX((default_immediate_executor<E>::get(e)))
+ {
+ return default_immediate_executor<E>::get(e);
+ }
+};
+
+template <typename T, typename E>
+struct associated_immediate_executor_impl<T, E,
+ typename void_type<typename T::immediate_executor_type>::type>
+{
+ typedef typename T::immediate_executor_type type;
+
+ static BOOST_ASIO_AUTO_RETURN_TYPE_PREFIX(type) get(
+ const T& t, const E&) BOOST_ASIO_NOEXCEPT
+ BOOST_ASIO_AUTO_RETURN_TYPE_SUFFIX((t.get_immediate_executor()))
+ {
+ return t.get_immediate_executor();
+ }
+};
+
+template <typename T, typename E>
+struct associated_immediate_executor_impl<T, E,
+ typename enable_if<
+ !has_immediate_executor_type<T>::value
+ >::type,
+ typename void_type<
+ typename associator<associated_immediate_executor, T, E>::type
+ >::type> : associator<associated_immediate_executor, T, E>
+{
+};
+
+} // namespace detail
+
+/// Traits type used to obtain the immediate executor associated with an object.
+/**
+ * A program may specialise this traits type if the @c T template parameter in
+ * the specialisation is a user-defined type. The template parameter @c
+ * Executor shall be a type meeting the Executor requirements.
+ *
+ * Specialisations shall meet the following requirements, where @c t is a const
+ * reference to an object of type @c T, and @c e is an object of type @c
+ * Executor.
+ *
+ * @li Provide a nested typedef @c type that identifies a type meeting the
+ * Executor requirements.
+ *
+ * @li Provide a noexcept static member function named @c get, callable as @c
+ * get(t) and with return type @c type or a (possibly const) reference to @c
+ * type.
+ *
+ * @li Provide a noexcept static member function named @c get, callable as @c
+ * get(t,e) and with return type @c type or a (possibly const) reference to @c
+ * type.
+ */
+template <typename T, typename Executor>
+struct associated_immediate_executor
+#if !defined(GENERATING_DOCUMENTATION)
+ : detail::associated_immediate_executor_impl<T, Executor>
+#endif // !defined(GENERATING_DOCUMENTATION)
+{
+#if defined(GENERATING_DOCUMENTATION)
+ /// If @c T has a nested type @c immediate_executor_type,
+ // <tt>T::immediate_executor_type</tt>. Otherwise @c Executor.
+ typedef see_below type;
+
+ /// If @c T has a nested type @c immediate_executor_type, returns
+ /// <tt>t.get_immediate_executor()</tt>. Otherwise returns
+ /// <tt>boost::asio::require(ex, boost::asio::execution::blocking.never)</tt>.
+ static decltype(auto) get(const T& t, const Executor& ex) BOOST_ASIO_NOEXCEPT;
+#endif // defined(GENERATING_DOCUMENTATION)
+};
+
+/// Helper function to obtain an object's associated executor.
+/**
+ * @returns <tt>associated_immediate_executor<T, Executor>::get(t, ex)</tt>
+ */
+template <typename T, typename Executor>
+BOOST_ASIO_NODISCARD inline BOOST_ASIO_AUTO_RETURN_TYPE_PREFIX2(
+ typename associated_immediate_executor<T, Executor>::type)
+get_associated_immediate_executor(const T& t, const Executor& ex,
+ typename constraint<
+ is_executor<Executor>::value || execution::is_executor<Executor>::value
+ >::type = 0) BOOST_ASIO_NOEXCEPT
+ BOOST_ASIO_AUTO_RETURN_TYPE_SUFFIX((
+ associated_immediate_executor<T, Executor>::get(t, ex)))
+{
+ return associated_immediate_executor<T, Executor>::get(t, ex);
+}
+
+/// Helper function to obtain an object's associated executor.
+/**
+ * @returns <tt>associated_immediate_executor<T, typename
+ * ExecutionContext::executor_type>::get(t, ctx.get_executor())</tt>
+ */
+template <typename T, typename ExecutionContext>
+BOOST_ASIO_NODISCARD inline typename associated_immediate_executor<T,
+ typename ExecutionContext::executor_type>::type
+get_associated_immediate_executor(const T& t, ExecutionContext& ctx,
+ typename constraint<is_convertible<ExecutionContext&,
+ execution_context&>::value>::type = 0) BOOST_ASIO_NOEXCEPT
+{
+ return associated_immediate_executor<T,
+ typename ExecutionContext::executor_type>::get(t, ctx.get_executor());
+}
+
+#if defined(BOOST_ASIO_HAS_ALIAS_TEMPLATES)
+
+template <typename T, typename Executor>
+using associated_immediate_executor_t =
+ typename associated_immediate_executor<T, Executor>::type;
+
+#endif // defined(BOOST_ASIO_HAS_ALIAS_TEMPLATES)
+
+namespace detail {
+
+template <typename T, typename E, typename = void>
+struct associated_immediate_executor_forwarding_base
+{
+};
+
+template <typename T, typename E>
+struct associated_immediate_executor_forwarding_base<T, E,
+ typename enable_if<
+ is_same<
+ typename associated_immediate_executor<T,
+ E>::asio_associated_immediate_executor_is_unspecialised,
+ void
+ >::value
+ >::type>
+{
+ typedef void asio_associated_immediate_executor_is_unspecialised;
+};
+
+} // namespace detail
+
+#if defined(BOOST_ASIO_HAS_STD_REFERENCE_WRAPPER) \
+ || defined(GENERATING_DOCUMENTATION)
+
+/// Specialisation of associated_immediate_executor for
+/// @c std::reference_wrapper.
+template <typename T, typename Executor>
+struct associated_immediate_executor<reference_wrapper<T>, Executor>
+#if !defined(GENERATING_DOCUMENTATION)
+ : detail::associated_immediate_executor_forwarding_base<T, Executor>
+#endif // !defined(GENERATING_DOCUMENTATION)
+{
+ /// Forwards @c type to the associator specialisation for the unwrapped type
+ /// @c T.
+ typedef typename associated_immediate_executor<T, Executor>::type type;
+
+ /// Forwards the request to get the executor to the associator specialisation
+ /// for the unwrapped type @c T.
+ static BOOST_ASIO_AUTO_RETURN_TYPE_PREFIX(type) get(
+ reference_wrapper<T> t, const Executor& ex) BOOST_ASIO_NOEXCEPT
+ BOOST_ASIO_AUTO_RETURN_TYPE_SUFFIX((
+ associated_immediate_executor<T, Executor>::get(t.get(), ex)))
+ {
+ return associated_immediate_executor<T, Executor>::get(t.get(), ex);
+ }
+};
+
+#endif // defined(BOOST_ASIO_HAS_STD_REFERENCE_WRAPPER)
+ // || defined(GENERATING_DOCUMENTATION)
+
+} // namespace asio
+} // namespace boost
+
+#include <boost/asio/detail/pop_options.hpp>
+
+#endif // BOOST_ASIO_ASSOCIATED_IMMEDIATE_EXECUTOR_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/associator.hpp b/contrib/restricted/boost/asio/include/boost/asio/associator.hpp
index bc775b0107..b0b5b44c01 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/associator.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/associator.hpp
@@ -2,7 +2,7 @@
// associator.hpp
// ~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/async_result.hpp b/contrib/restricted/boost/asio/include/boost/asio/async_result.hpp
index c25a2fae97..c73e0eed53 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/async_result.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/async_result.hpp
@@ -2,7 +2,7 @@
// async_result.hpp
// ~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -1321,7 +1321,7 @@ class async_result<detail::async_operation_probe, Sig0, Sig1, Sig2>
#endif // defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
#endif // !defined(GENERATING_DOCUMENTATION)
-#if defined(GENERATION_DOCUMENTATION)
+#if defined(GENERATING_DOCUMENTATION)
/// The is_async_operation trait detects whether a type @c T and arguments
/// @c Args... may be used to initiate an asynchronous operation.
@@ -1350,7 +1350,10 @@ struct is_async_operation :
template <typename T, typename = void, typename = void, typename = void,
typename = void, typename = void, typename = void, typename = void,
typename = void, typename = void>
-struct is_async_operation :
+struct is_async_operation;
+
+template <typename T>
+struct is_async_operation<T> :
detail::is_async_operation_call<
T(detail::async_operation_probe)>
{
@@ -1399,6 +1402,42 @@ namespace detail {
struct completion_signature_probe {};
+#if defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
+
+template <typename... T>
+struct completion_signature_probe_result
+{
+ template <template <typename...> class Op>
+ struct apply
+ {
+ typedef Op<T...> type;
+ };
+};
+
+template <typename T>
+struct completion_signature_probe_result<T>
+{
+ typedef T type;
+
+ template <template <typename...> class Op>
+ struct apply
+ {
+ typedef Op<T> type;
+ };
+};
+
+template <>
+struct completion_signature_probe_result<void>
+{
+ template <template <typename...> class Op>
+ struct apply
+ {
+ typedef Op<> type;
+ };
+};
+
+#else // defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
+
template <typename T>
struct completion_signature_probe_result
{
@@ -1410,6 +1449,8 @@ struct completion_signature_probe_result<void>
{
};
+#endif // defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
+
} // namespace detail
#if !defined(GENERATING_DOCUMENTATION)
@@ -1419,7 +1460,7 @@ template <typename... Signatures>
class async_result<detail::completion_signature_probe, Signatures...>
{
public:
- typedef detail::completion_signature_probe_result<void> return_type;
+ typedef detail::completion_signature_probe_result<Signatures...> return_type;
template <typename Initiation, typename... InitArgs>
static return_type initiate(BOOST_ASIO_MOVE_ARG(Initiation),
@@ -1537,7 +1578,10 @@ using completion_signature_of_t =
template <typename T, typename = void, typename = void, typename = void,
typename = void, typename = void, typename = void, typename = void,
typename = void, typename = void>
-struct completion_signature_of :
+struct completion_signature_of;
+
+template <typename T>
+struct completion_signature_of<T> :
result_of<T(detail::completion_signature_probe)>::type
{
};
diff --git a/contrib/restricted/boost/asio/include/boost/asio/awaitable.hpp b/contrib/restricted/boost/asio/include/boost/asio/awaitable.hpp
index 4145e2b19b..8075a08452 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/awaitable.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/awaitable.hpp
@@ -2,7 +2,7 @@
// awaitable.hpp
// ~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/basic_datagram_socket.hpp b/contrib/restricted/boost/asio/include/boost/asio/basic_datagram_socket.hpp
index f220951fd0..7f6326bfc6 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/basic_datagram_socket.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/basic_datagram_socket.hpp
@@ -2,7 +2,7 @@
// basic_datagram_socket.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/basic_deadline_timer.hpp b/contrib/restricted/boost/asio/include/boost/asio/basic_deadline_timer.hpp
index 56672947cc..47796ad4a3 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/basic_deadline_timer.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/basic_deadline_timer.hpp
@@ -2,7 +2,7 @@
// basic_deadline_timer.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/basic_file.hpp b/contrib/restricted/boost/asio/include/boost/asio/basic_file.hpp
index 79aad88e24..6bac363cbb 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/basic_file.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/basic_file.hpp
@@ -2,7 +2,7 @@
// basic_file.hpp
// ~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/basic_io_object.hpp b/contrib/restricted/boost/asio/include/boost/asio/basic_io_object.hpp
index ff6321d497..589b4435f2 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/basic_io_object.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/basic_io_object.hpp
@@ -2,7 +2,7 @@
// basic_io_object.hpp
// ~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/basic_random_access_file.hpp b/contrib/restricted/boost/asio/include/boost/asio/basic_random_access_file.hpp
index a0e52d6d9a..464a66be76 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/basic_random_access_file.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/basic_random_access_file.hpp
@@ -2,7 +2,7 @@
// basic_random_access_file.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/basic_raw_socket.hpp b/contrib/restricted/boost/asio/include/boost/asio/basic_raw_socket.hpp
index b9fcc6a3e9..925371002c 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/basic_raw_socket.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/basic_raw_socket.hpp
@@ -2,7 +2,7 @@
// basic_raw_socket.hpp
// ~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/basic_readable_pipe.hpp b/contrib/restricted/boost/asio/include/boost/asio/basic_readable_pipe.hpp
index 8cb880c6fa..28404a9479 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/basic_readable_pipe.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/basic_readable_pipe.hpp
@@ -2,7 +2,7 @@
// basic_readable_pipe.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/basic_seq_packet_socket.hpp b/contrib/restricted/boost/asio/include/boost/asio/basic_seq_packet_socket.hpp
index 5bfe40977b..8ed9b1fd36 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/basic_seq_packet_socket.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/basic_seq_packet_socket.hpp
@@ -2,7 +2,7 @@
// basic_seq_packet_socket.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/basic_serial_port.hpp b/contrib/restricted/boost/asio/include/boost/asio/basic_serial_port.hpp
index ce91b5dfac..503406c77d 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/basic_serial_port.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/basic_serial_port.hpp
@@ -2,7 +2,7 @@
// basic_serial_port.hpp
// ~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// Copyright (c) 2008 Rep Invariant Systems, Inc. (info@repinvariant.com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
diff --git a/contrib/restricted/boost/asio/include/boost/asio/basic_signal_set.hpp b/contrib/restricted/boost/asio/include/boost/asio/basic_signal_set.hpp
index e37728f004..c080bdff1a 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/basic_signal_set.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/basic_signal_set.hpp
@@ -2,7 +2,7 @@
// basic_signal_set.hpp
// ~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -27,6 +27,7 @@
#include <boost/asio/detail/type_traits.hpp>
#include <boost/asio/error.hpp>
#include <boost/asio/execution_context.hpp>
+#include <boost/asio/signal_set_base.hpp>
#include <boost/asio/detail/push_options.hpp>
@@ -94,7 +95,7 @@ namespace asio {
* least one thread.
*/
template <typename Executor = any_io_executor>
-class basic_signal_set
+class basic_signal_set : public signal_set_base
{
private:
class initiate_async_wait;
@@ -371,6 +372,58 @@ public:
BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
}
+ /// Add a signal to a signal_set with the specified flags.
+ /**
+ * This function adds the specified signal to the set. It has no effect if the
+ * signal is already in the set.
+ *
+ * Flags other than flags::dont_care require OS support for the @c sigaction
+ * call, and this function will fail with @c error::operation_not_supported if
+ * this is unavailable.
+ *
+ * The specified flags will conflict with a prior, active registration of the
+ * same signal, if either specified a flags value other than flags::dont_care.
+ * In this case, the @c add will fail with @c error::invalid_argument.
+ *
+ * @param signal_number The signal to be added to the set.
+ *
+ * @param f Flags to modify the behaviour of the specified signal.
+ *
+ * @throws boost::system::system_error Thrown on failure.
+ */
+ void add(int signal_number, flags_t f)
+ {
+ boost::system::error_code ec;
+ impl_.get_service().add(impl_.get_implementation(), signal_number, f, ec);
+ boost::asio::detail::throw_error(ec, "add");
+ }
+
+ /// Add a signal to a signal_set with the specified flags.
+ /**
+ * This function adds the specified signal to the set. It has no effect if the
+ * signal is already in the set.
+ *
+ * Flags other than flags::dont_care require OS support for the @c sigaction
+ * call, and this function will fail with @c error::operation_not_supported if
+ * this is unavailable.
+ *
+ * The specified flags will conflict with a prior, active registration of the
+ * same signal, if either specified a flags value other than flags::dont_care.
+ * In this case, the @c add will fail with @c error::invalid_argument.
+ *
+ * @param signal_number The signal to be added to the set.
+ *
+ * @param f Flags to modify the behaviour of the specified signal.
+ *
+ * @param ec Set to indicate what error occurred, if any.
+ */
+ BOOST_ASIO_SYNC_OP_VOID add(int signal_number, flags_t f,
+ boost::system::error_code& ec)
+ {
+ impl_.get_service().add(impl_.get_implementation(), signal_number, f, ec);
+ BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
+ }
+
/// Remove a signal from a signal_set.
/**
* This function removes the specified signal from the set. It has no effect
diff --git a/contrib/restricted/boost/asio/include/boost/asio/basic_socket.hpp b/contrib/restricted/boost/asio/include/boost/asio/basic_socket.hpp
index 32f42f86f6..1bb6d28068 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/basic_socket.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/basic_socket.hpp
@@ -2,7 +2,7 @@
// basic_socket.hpp
// ~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/basic_socket_acceptor.hpp b/contrib/restricted/boost/asio/include/boost/asio/basic_socket_acceptor.hpp
index 6a6dd53220..a9d1d25e7c 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/basic_socket_acceptor.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/basic_socket_acceptor.hpp
@@ -2,7 +2,7 @@
// basic_socket_acceptor.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -1925,8 +1925,10 @@ public:
template <typename Executor1,
BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code,
typename Protocol::socket::template rebind_executor<
- Executor1>::other)) MoveAcceptToken
- BOOST_ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(executor_type)>
+ typename constraint<is_executor<Executor1>::value
+ || execution::is_executor<Executor1>::value,
+ Executor1>::type>::other)) MoveAcceptToken
+ BOOST_ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(executor_type)>
BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_PREFIX(MoveAcceptToken,
void (boost::system::error_code,
typename Protocol::socket::template rebind_executor<
@@ -2487,8 +2489,10 @@ public:
template <typename Executor1,
BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code,
typename Protocol::socket::template rebind_executor<
- Executor1>::other)) MoveAcceptToken
- BOOST_ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(executor_type)>
+ typename constraint<is_executor<Executor1>::value
+ || execution::is_executor<Executor1>::value,
+ Executor1>::type>::other)) MoveAcceptToken
+ BOOST_ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(executor_type)>
BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_PREFIX(MoveAcceptToken,
void (boost::system::error_code,
typename Protocol::socket::template rebind_executor<
diff --git a/contrib/restricted/boost/asio/include/boost/asio/basic_socket_iostream.hpp b/contrib/restricted/boost/asio/include/boost/asio/basic_socket_iostream.hpp
index 3223ac77a1..a7eb6bec63 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/basic_socket_iostream.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/basic_socket_iostream.hpp
@@ -2,7 +2,7 @@
// basic_socket_iostream.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/basic_socket_streambuf.hpp b/contrib/restricted/boost/asio/include/boost/asio/basic_socket_streambuf.hpp
index 3173c01bca..8b6aee09b8 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/basic_socket_streambuf.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/basic_socket_streambuf.hpp
@@ -2,7 +2,7 @@
// basic_socket_streambuf.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/basic_stream_file.hpp b/contrib/restricted/boost/asio/include/boost/asio/basic_stream_file.hpp
index 3df40da67e..727f85cb9a 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/basic_stream_file.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/basic_stream_file.hpp
@@ -2,7 +2,7 @@
// basic_stream_file.hpp
// ~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/basic_stream_socket.hpp b/contrib/restricted/boost/asio/include/boost/asio/basic_stream_socket.hpp
index badfee7994..a877c4c413 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/basic_stream_socket.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/basic_stream_socket.hpp
@@ -2,7 +2,7 @@
// basic_stream_socket.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/basic_streambuf.hpp b/contrib/restricted/boost/asio/include/boost/asio/basic_streambuf.hpp
index bfcc71e305..f28bb1ea2c 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/basic_streambuf.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/basic_streambuf.hpp
@@ -2,7 +2,7 @@
// basic_streambuf.hpp
// ~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/basic_streambuf_fwd.hpp b/contrib/restricted/boost/asio/include/boost/asio/basic_streambuf_fwd.hpp
index 64260128fa..65b1cb7e62 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/basic_streambuf_fwd.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/basic_streambuf_fwd.hpp
@@ -2,7 +2,7 @@
// basic_streambuf_fwd.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/basic_waitable_timer.hpp b/contrib/restricted/boost/asio/include/boost/asio/basic_waitable_timer.hpp
index 302d13a0ee..23333de147 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/basic_waitable_timer.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/basic_waitable_timer.hpp
@@ -2,7 +2,7 @@
// basic_waitable_timer.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/basic_writable_pipe.hpp b/contrib/restricted/boost/asio/include/boost/asio/basic_writable_pipe.hpp
index 6d981a052d..3ae16b7664 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/basic_writable_pipe.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/basic_writable_pipe.hpp
@@ -2,7 +2,7 @@
// basic_writable_pipe.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/bind_allocator.hpp b/contrib/restricted/boost/asio/include/boost/asio/bind_allocator.hpp
index 892c050746..49bb2c7f43 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/bind_allocator.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/bind_allocator.hpp
@@ -2,7 +2,7 @@
// bind_allocator.hpp
// ~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -690,16 +690,17 @@ template <template <typename, typename> class Associator,
struct associator<Associator,
allocator_binder<T, Allocator>,
DefaultCandidate>
+ : Associator<T, DefaultCandidate>
{
- typedef typename Associator<T, DefaultCandidate>::type type;
-
- static type get(const allocator_binder<T, Allocator>& b) BOOST_ASIO_NOEXCEPT
+ static typename Associator<T, DefaultCandidate>::type
+ get(const allocator_binder<T, Allocator>& b) BOOST_ASIO_NOEXCEPT
{
return Associator<T, DefaultCandidate>::get(b.get());
}
- static BOOST_ASIO_AUTO_RETURN_TYPE_PREFIX(type) get(
- const allocator_binder<T, Allocator>& b,
+ static BOOST_ASIO_AUTO_RETURN_TYPE_PREFIX2(
+ typename Associator<T, DefaultCandidate>::type)
+ get(const allocator_binder<T, Allocator>& b,
const DefaultCandidate& c) BOOST_ASIO_NOEXCEPT
BOOST_ASIO_AUTO_RETURN_TYPE_SUFFIX((
Associator<T, DefaultCandidate>::get(b.get(), c)))
diff --git a/contrib/restricted/boost/asio/include/boost/asio/bind_cancellation_slot.hpp b/contrib/restricted/boost/asio/include/boost/asio/bind_cancellation_slot.hpp
index 55ea7fb649..91e97cf1ad 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/bind_cancellation_slot.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/bind_cancellation_slot.hpp
@@ -2,7 +2,7 @@
// bind_cancellation_slot.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -692,17 +692,18 @@ template <template <typename, typename> class Associator,
struct associator<Associator,
cancellation_slot_binder<T, CancellationSlot>,
DefaultCandidate>
+ : Associator<T, DefaultCandidate>
{
- typedef typename Associator<T, DefaultCandidate>::type type;
-
- static type get(const cancellation_slot_binder<T, CancellationSlot>& b)
+ static typename Associator<T, DefaultCandidate>::type
+ get(const cancellation_slot_binder<T, CancellationSlot>& b)
BOOST_ASIO_NOEXCEPT
{
return Associator<T, DefaultCandidate>::get(b.get());
}
- static BOOST_ASIO_AUTO_RETURN_TYPE_PREFIX(type) get(
- const cancellation_slot_binder<T, CancellationSlot>& b,
+ static BOOST_ASIO_AUTO_RETURN_TYPE_PREFIX2(
+ typename Associator<T, DefaultCandidate>::type)
+ get(const cancellation_slot_binder<T, CancellationSlot>& b,
const DefaultCandidate& c) BOOST_ASIO_NOEXCEPT
BOOST_ASIO_AUTO_RETURN_TYPE_SUFFIX((
Associator<T, DefaultCandidate>::get(b.get(), c)))
diff --git a/contrib/restricted/boost/asio/include/boost/asio/bind_executor.hpp b/contrib/restricted/boost/asio/include/boost/asio/bind_executor.hpp
index 8b7d5a213f..118faaf3d9 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/bind_executor.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/bind_executor.hpp
@@ -2,7 +2,7 @@
// bind_executor.hpp
// ~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -740,16 +740,17 @@ private:
template <template <typename, typename> class Associator,
typename T, typename Executor, typename DefaultCandidate>
struct associator<Associator, executor_binder<T, Executor>, DefaultCandidate>
+ : Associator<T, DefaultCandidate>
{
- typedef typename Associator<T, DefaultCandidate>::type type;
-
- static type get(const executor_binder<T, Executor>& b) BOOST_ASIO_NOEXCEPT
+ static typename Associator<T, DefaultCandidate>::type
+ get(const executor_binder<T, Executor>& b) BOOST_ASIO_NOEXCEPT
{
return Associator<T, DefaultCandidate>::get(b.get());
}
- static BOOST_ASIO_AUTO_RETURN_TYPE_PREFIX(type) get(
- const executor_binder<T, Executor>& b,
+ static BOOST_ASIO_AUTO_RETURN_TYPE_PREFIX2(
+ typename Associator<T, DefaultCandidate>::type)
+ get(const executor_binder<T, Executor>& b,
const DefaultCandidate& c) BOOST_ASIO_NOEXCEPT
BOOST_ASIO_AUTO_RETURN_TYPE_SUFFIX((
Associator<T, DefaultCandidate>::get(b.get(), c)))
diff --git a/contrib/restricted/boost/asio/include/boost/asio/bind_immediate_executor.hpp b/contrib/restricted/boost/asio/include/boost/asio/bind_immediate_executor.hpp
new file mode 100644
index 0000000000..f9ff922ca5
--- /dev/null
+++ b/contrib/restricted/boost/asio/include/boost/asio/bind_immediate_executor.hpp
@@ -0,0 +1,738 @@
+//
+// bind_immediate_executor.hpp
+// ~~~~~~~~~~~~~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+//
+// Distributed under the Boost Software License, Version 1.0. (See accompanying
+// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+//
+
+#ifndef BOOST_ASIO_BIND_IMMEDIATE_EXECUTOR_HPP
+#define BOOST_ASIO_BIND_IMMEDIATE_EXECUTOR_HPP
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+# pragma once
+#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
+
+#include <boost/asio/detail/config.hpp>
+#include <boost/asio/detail/type_traits.hpp>
+#include <boost/asio/detail/variadic_templates.hpp>
+#include <boost/asio/associated_immediate_executor.hpp>
+#include <boost/asio/associator.hpp>
+#include <boost/asio/async_result.hpp>
+
+#include <boost/asio/detail/push_options.hpp>
+
+namespace boost {
+namespace asio {
+namespace detail {
+
+// Helper to automatically define nested typedef result_type.
+
+template <typename T, typename = void>
+struct immediate_executor_binder_result_type
+{
+protected:
+ typedef void result_type_or_void;
+};
+
+template <typename T>
+struct immediate_executor_binder_result_type<T,
+ typename void_type<typename T::result_type>::type>
+{
+ typedef typename T::result_type result_type;
+protected:
+ typedef result_type result_type_or_void;
+};
+
+template <typename R>
+struct immediate_executor_binder_result_type<R(*)()>
+{
+ typedef R result_type;
+protected:
+ typedef result_type result_type_or_void;
+};
+
+template <typename R>
+struct immediate_executor_binder_result_type<R(&)()>
+{
+ typedef R result_type;
+protected:
+ typedef result_type result_type_or_void;
+};
+
+template <typename R, typename A1>
+struct immediate_executor_binder_result_type<R(*)(A1)>
+{
+ typedef R result_type;
+protected:
+ typedef result_type result_type_or_void;
+};
+
+template <typename R, typename A1>
+struct immediate_executor_binder_result_type<R(&)(A1)>
+{
+ typedef R result_type;
+protected:
+ typedef result_type result_type_or_void;
+};
+
+template <typename R, typename A1, typename A2>
+struct immediate_executor_binder_result_type<R(*)(A1, A2)>
+{
+ typedef R result_type;
+protected:
+ typedef result_type result_type_or_void;
+};
+
+template <typename R, typename A1, typename A2>
+struct immediate_executor_binder_result_type<R(&)(A1, A2)>
+{
+ typedef R result_type;
+protected:
+ typedef result_type result_type_or_void;
+};
+
+// Helper to automatically define nested typedef argument_type.
+
+template <typename T, typename = void>
+struct immediate_executor_binder_argument_type {};
+
+template <typename T>
+struct immediate_executor_binder_argument_type<T,
+ typename void_type<typename T::argument_type>::type>
+{
+ typedef typename T::argument_type argument_type;
+};
+
+template <typename R, typename A1>
+struct immediate_executor_binder_argument_type<R(*)(A1)>
+{
+ typedef A1 argument_type;
+};
+
+template <typename R, typename A1>
+struct immediate_executor_binder_argument_type<R(&)(A1)>
+{
+ typedef A1 argument_type;
+};
+
+// Helper to automatically define nested typedefs first_argument_type and
+// second_argument_type.
+
+template <typename T, typename = void>
+struct immediate_executor_binder_argument_types {};
+
+template <typename T>
+struct immediate_executor_binder_argument_types<T,
+ typename void_type<typename T::first_argument_type>::type>
+{
+ typedef typename T::first_argument_type first_argument_type;
+ typedef typename T::second_argument_type second_argument_type;
+};
+
+template <typename R, typename A1, typename A2>
+struct immediate_executor_binder_argument_type<R(*)(A1, A2)>
+{
+ typedef A1 first_argument_type;
+ typedef A2 second_argument_type;
+};
+
+template <typename R, typename A1, typename A2>
+struct immediate_executor_binder_argument_type<R(&)(A1, A2)>
+{
+ typedef A1 first_argument_type;
+ typedef A2 second_argument_type;
+};
+
+// Helper to enable SFINAE on zero-argument operator() below.
+
+template <typename T, typename = void>
+struct immediate_executor_binder_result_of0
+{
+ typedef void type;
+};
+
+template <typename T>
+struct immediate_executor_binder_result_of0<T,
+ typename void_type<typename result_of<T()>::type>::type>
+{
+ typedef typename result_of<T()>::type type;
+};
+
+} // namespace detail
+
+/// A call wrapper type to bind a immediate executor of type @c Executor
+/// to an object of type @c T.
+template <typename T, typename Executor>
+class immediate_executor_binder
+#if !defined(GENERATING_DOCUMENTATION)
+ : public detail::immediate_executor_binder_result_type<T>,
+ public detail::immediate_executor_binder_argument_type<T>,
+ public detail::immediate_executor_binder_argument_types<T>
+#endif // !defined(GENERATING_DOCUMENTATION)
+{
+public:
+ /// The type of the target object.
+ typedef T target_type;
+
+ /// The type of the associated immediate executor.
+ typedef Executor immediate_executor_type;
+
+#if defined(GENERATING_DOCUMENTATION)
+ /// The return type if a function.
+ /**
+ * The type of @c result_type is based on the type @c T of the wrapper's
+ * target object:
+ *
+ * @li if @c T is a pointer to function type, @c result_type is a synonym for
+ * the return type of @c T;
+ *
+ * @li if @c T is a class type with a member type @c result_type, then @c
+ * result_type is a synonym for @c T::result_type;
+ *
+ * @li otherwise @c result_type is not defined.
+ */
+ typedef see_below result_type;
+
+ /// The type of the function's argument.
+ /**
+ * The type of @c argument_type is based on the type @c T of the wrapper's
+ * target object:
+ *
+ * @li if @c T is a pointer to a function type accepting a single argument,
+ * @c argument_type is a synonym for the return type of @c T;
+ *
+ * @li if @c T is a class type with a member type @c argument_type, then @c
+ * argument_type is a synonym for @c T::argument_type;
+ *
+ * @li otherwise @c argument_type is not defined.
+ */
+ typedef see_below argument_type;
+
+ /// The type of the function's first argument.
+ /**
+ * The type of @c first_argument_type is based on the type @c T of the
+ * wrapper's target object:
+ *
+ * @li if @c T is a pointer to a function type accepting two arguments, @c
+ * first_argument_type is a synonym for the return type of @c T;
+ *
+ * @li if @c T is a class type with a member type @c first_argument_type,
+ * then @c first_argument_type is a synonym for @c T::first_argument_type;
+ *
+ * @li otherwise @c first_argument_type is not defined.
+ */
+ typedef see_below first_argument_type;
+
+ /// The type of the function's second argument.
+ /**
+ * The type of @c second_argument_type is based on the type @c T of the
+ * wrapper's target object:
+ *
+ * @li if @c T is a pointer to a function type accepting two arguments, @c
+ * second_argument_type is a synonym for the return type of @c T;
+ *
+ * @li if @c T is a class type with a member type @c first_argument_type,
+ * then @c second_argument_type is a synonym for @c T::second_argument_type;
+ *
+ * @li otherwise @c second_argument_type is not defined.
+ */
+ typedef see_below second_argument_type;
+#endif // defined(GENERATING_DOCUMENTATION)
+
+ /// Construct a immediate executor wrapper for the specified object.
+ /**
+ * This constructor is only valid if the type @c T is constructible from type
+ * @c U.
+ */
+ template <typename U>
+ immediate_executor_binder(const immediate_executor_type& e,
+ BOOST_ASIO_MOVE_ARG(U) u)
+ : executor_(e),
+ target_(BOOST_ASIO_MOVE_CAST(U)(u))
+ {
+ }
+
+ /// Copy constructor.
+ immediate_executor_binder(const immediate_executor_binder& other)
+ : executor_(other.get_immediate_executor()),
+ target_(other.get())
+ {
+ }
+
+ /// Construct a copy, but specify a different immediate executor.
+ immediate_executor_binder(const immediate_executor_type& e,
+ const immediate_executor_binder& other)
+ : executor_(e),
+ target_(other.get())
+ {
+ }
+
+ /// Construct a copy of a different immediate executor wrapper type.
+ /**
+ * This constructor is only valid if the @c Executor type is
+ * constructible from type @c OtherExecutor, and the type @c T is
+ * constructible from type @c U.
+ */
+ template <typename U, typename OtherExecutor>
+ immediate_executor_binder(
+ const immediate_executor_binder<U, OtherExecutor>& other)
+ : executor_(other.get_immediate_executor()),
+ target_(other.get())
+ {
+ }
+
+ /// Construct a copy of a different immediate executor wrapper type, but
+ /// specify a different immediate executor.
+ /**
+ * This constructor is only valid if the type @c T is constructible from type
+ * @c U.
+ */
+ template <typename U, typename OtherExecutor>
+ immediate_executor_binder(const immediate_executor_type& e,
+ const immediate_executor_binder<U, OtherExecutor>& other)
+ : executor_(e),
+ target_(other.get())
+ {
+ }
+
+#if defined(BOOST_ASIO_HAS_MOVE) || defined(GENERATING_DOCUMENTATION)
+
+ /// Move constructor.
+ immediate_executor_binder(immediate_executor_binder&& other)
+ : executor_(BOOST_ASIO_MOVE_CAST(immediate_executor_type)(
+ other.get_immediate_executor())),
+ target_(BOOST_ASIO_MOVE_CAST(T)(other.get()))
+ {
+ }
+
+ /// Move construct the target object, but specify a different immediate
+ /// executor.
+ immediate_executor_binder(const immediate_executor_type& e,
+ immediate_executor_binder&& other)
+ : executor_(e),
+ target_(BOOST_ASIO_MOVE_CAST(T)(other.get()))
+ {
+ }
+
+ /// Move construct from a different immediate executor wrapper type.
+ template <typename U, typename OtherExecutor>
+ immediate_executor_binder(
+ immediate_executor_binder<U, OtherExecutor>&& other)
+ : executor_(BOOST_ASIO_MOVE_CAST(OtherExecutor)(
+ other.get_immediate_executor())),
+ target_(BOOST_ASIO_MOVE_CAST(U)(other.get()))
+ {
+ }
+
+ /// Move construct from a different immediate executor wrapper type, but
+ /// specify a different immediate executor.
+ template <typename U, typename OtherExecutor>
+ immediate_executor_binder(const immediate_executor_type& e,
+ immediate_executor_binder<U, OtherExecutor>&& other)
+ : executor_(e),
+ target_(BOOST_ASIO_MOVE_CAST(U)(other.get()))
+ {
+ }
+
+#endif // defined(BOOST_ASIO_HAS_MOVE) || defined(GENERATING_DOCUMENTATION)
+
+ /// Destructor.
+ ~immediate_executor_binder()
+ {
+ }
+
+ /// Obtain a reference to the target object.
+ target_type& get() BOOST_ASIO_NOEXCEPT
+ {
+ return target_;
+ }
+
+ /// Obtain a reference to the target object.
+ const target_type& get() const BOOST_ASIO_NOEXCEPT
+ {
+ return target_;
+ }
+
+ /// Obtain the associated immediate executor.
+ immediate_executor_type get_immediate_executor() const BOOST_ASIO_NOEXCEPT
+ {
+ return executor_;
+ }
+
+#if defined(GENERATING_DOCUMENTATION)
+
+ template <typename... Args> auto operator()(Args&& ...);
+ template <typename... Args> auto operator()(Args&& ...) const;
+
+#elif defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
+
+ /// Forwarding function call operator.
+ template <typename... Args>
+ typename result_of<T(Args...)>::type operator()(
+ BOOST_ASIO_MOVE_ARG(Args)... args)
+ {
+ return target_(BOOST_ASIO_MOVE_CAST(Args)(args)...);
+ }
+
+ /// Forwarding function call operator.
+ template <typename... Args>
+ typename result_of<T(Args...)>::type operator()(
+ BOOST_ASIO_MOVE_ARG(Args)... args) const
+ {
+ return target_(BOOST_ASIO_MOVE_CAST(Args)(args)...);
+ }
+
+#elif defined(BOOST_ASIO_HAS_STD_TYPE_TRAITS) && !defined(_MSC_VER)
+
+ typename detail::immediate_executor_binder_result_of0<T>::type operator()()
+ {
+ return target_();
+ }
+
+ typename detail::immediate_executor_binder_result_of0<T>::type
+ operator()() const
+ {
+ return target_();
+ }
+
+#define BOOST_ASIO_PRIVATE_BINDER_CALL_DEF(n) \
+ template <BOOST_ASIO_VARIADIC_TPARAMS(n)> \
+ typename result_of<T(BOOST_ASIO_VARIADIC_TARGS(n))>::type operator()( \
+ BOOST_ASIO_VARIADIC_MOVE_PARAMS(n)) \
+ { \
+ return target_(BOOST_ASIO_VARIADIC_MOVE_ARGS(n)); \
+ } \
+ \
+ template <BOOST_ASIO_VARIADIC_TPARAMS(n)> \
+ typename result_of<T(BOOST_ASIO_VARIADIC_TARGS(n))>::type operator()( \
+ BOOST_ASIO_VARIADIC_MOVE_PARAMS(n)) const \
+ { \
+ return target_(BOOST_ASIO_VARIADIC_MOVE_ARGS(n)); \
+ } \
+ /**/
+ BOOST_ASIO_VARIADIC_GENERATE(BOOST_ASIO_PRIVATE_BINDER_CALL_DEF)
+#undef BOOST_ASIO_PRIVATE_BINDER_CALL_DEF
+
+#else // defined(BOOST_ASIO_HAS_STD_TYPE_TRAITS) && !defined(_MSC_VER)
+
+ typedef typename detail::immediate_executor_binder_result_type<
+ T>::result_type_or_void result_type_or_void;
+
+ result_type_or_void operator()()
+ {
+ return target_();
+ }
+
+ result_type_or_void operator()() const
+ {
+ return target_();
+ }
+
+#define BOOST_ASIO_PRIVATE_BINDER_CALL_DEF(n) \
+ template <BOOST_ASIO_VARIADIC_TPARAMS(n)> \
+ result_type_or_void operator()( \
+ BOOST_ASIO_VARIADIC_MOVE_PARAMS(n)) \
+ { \
+ return target_(BOOST_ASIO_VARIADIC_MOVE_ARGS(n)); \
+ } \
+ \
+ template <BOOST_ASIO_VARIADIC_TPARAMS(n)> \
+ result_type_or_void operator()( \
+ BOOST_ASIO_VARIADIC_MOVE_PARAMS(n)) const \
+ { \
+ return target_(BOOST_ASIO_VARIADIC_MOVE_ARGS(n)); \
+ } \
+ /**/
+ BOOST_ASIO_VARIADIC_GENERATE(BOOST_ASIO_PRIVATE_BINDER_CALL_DEF)
+#undef BOOST_ASIO_PRIVATE_BINDER_CALL_DEF
+
+#endif // defined(BOOST_ASIO_HAS_STD_TYPE_TRAITS) && !defined(_MSC_VER)
+
+private:
+ Executor executor_;
+ T target_;
+};
+
+/// Associate an object of type @c T with a immediate executor of type
+/// @c Executor.
+template <typename Executor, typename T>
+BOOST_ASIO_NODISCARD inline
+immediate_executor_binder<typename decay<T>::type, Executor>
+bind_immediate_executor(const Executor& e, BOOST_ASIO_MOVE_ARG(T) t)
+{
+ return immediate_executor_binder<
+ typename decay<T>::type, Executor>(
+ e, BOOST_ASIO_MOVE_CAST(T)(t));
+}
+
+#if !defined(GENERATING_DOCUMENTATION)
+
+namespace detail {
+
+template <typename TargetAsyncResult,
+ typename Executor, typename = void>
+struct immediate_executor_binder_async_result_completion_handler_type
+{
+};
+
+template <typename TargetAsyncResult, typename Executor>
+struct immediate_executor_binder_async_result_completion_handler_type<
+ TargetAsyncResult, Executor,
+ typename void_type<
+ typename TargetAsyncResult::completion_handler_type
+ >::type>
+{
+ typedef immediate_executor_binder<
+ typename TargetAsyncResult::completion_handler_type, Executor>
+ completion_handler_type;
+};
+
+template <typename TargetAsyncResult, typename = void>
+struct immediate_executor_binder_async_result_return_type
+{
+};
+
+template <typename TargetAsyncResult>
+struct immediate_executor_binder_async_result_return_type<
+ TargetAsyncResult,
+ typename void_type<
+ typename TargetAsyncResult::return_type
+ >::type>
+{
+ typedef typename TargetAsyncResult::return_type return_type;
+};
+
+} // namespace detail
+
+template <typename T, typename Executor, typename Signature>
+class async_result<immediate_executor_binder<T, Executor>, Signature> :
+ public detail::immediate_executor_binder_async_result_completion_handler_type<
+ async_result<T, Signature>, Executor>,
+ public detail::immediate_executor_binder_async_result_return_type<
+ async_result<T, Signature> >
+{
+public:
+ explicit async_result(immediate_executor_binder<T, Executor>& b)
+ : target_(b.get())
+ {
+ }
+
+ typename async_result<T, Signature>::return_type get()
+ {
+ return target_.get();
+ }
+
+ template <typename Initiation>
+ struct init_wrapper
+ {
+ template <typename Init>
+ init_wrapper(const Executor& e, BOOST_ASIO_MOVE_ARG(Init) init)
+ : executor_(e),
+ initiation_(BOOST_ASIO_MOVE_CAST(Init)(init))
+ {
+ }
+
+#if defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
+
+ template <typename Handler, typename... Args>
+ void operator()(
+ BOOST_ASIO_MOVE_ARG(Handler) handler,
+ BOOST_ASIO_MOVE_ARG(Args)... args)
+ {
+ BOOST_ASIO_MOVE_CAST(Initiation)(initiation_)(
+ immediate_executor_binder<
+ typename decay<Handler>::type, Executor>(
+ executor_, BOOST_ASIO_MOVE_CAST(Handler)(handler)),
+ BOOST_ASIO_MOVE_CAST(Args)(args)...);
+ }
+
+ template <typename Handler, typename... Args>
+ void operator()(
+ BOOST_ASIO_MOVE_ARG(Handler) handler,
+ BOOST_ASIO_MOVE_ARG(Args)... args) const
+ {
+ initiation_(
+ immediate_executor_binder<
+ typename decay<Handler>::type, Executor>(
+ executor_, BOOST_ASIO_MOVE_CAST(Handler)(handler)),
+ BOOST_ASIO_MOVE_CAST(Args)(args)...);
+ }
+
+#else // defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
+
+ template <typename Handler>
+ void operator()(
+ BOOST_ASIO_MOVE_ARG(Handler) handler)
+ {
+ BOOST_ASIO_MOVE_CAST(Initiation)(initiation_)(
+ immediate_executor_binder<
+ typename decay<Handler>::type, Executor>(
+ executor_, BOOST_ASIO_MOVE_CAST(Handler)(handler)));
+ }
+
+ template <typename Handler>
+ void operator()(
+ BOOST_ASIO_MOVE_ARG(Handler) handler) const
+ {
+ initiation_(
+ immediate_executor_binder<
+ typename decay<Handler>::type, Executor>(
+ executor_, BOOST_ASIO_MOVE_CAST(Handler)(handler)));
+ }
+
+#define BOOST_ASIO_PRIVATE_INIT_WRAPPER_DEF(n) \
+ template <typename Handler, BOOST_ASIO_VARIADIC_TPARAMS(n)> \
+ void operator()( \
+ BOOST_ASIO_MOVE_ARG(Handler) handler, \
+ BOOST_ASIO_VARIADIC_MOVE_PARAMS(n)) \
+ { \
+ BOOST_ASIO_MOVE_CAST(Initiation)(initiation_)( \
+ immediate_executor_binder< \
+ typename decay<Handler>::type, Executor>( \
+ executor_, BOOST_ASIO_MOVE_CAST(Handler)(handler)), \
+ BOOST_ASIO_VARIADIC_MOVE_ARGS(n)); \
+ } \
+ \
+ template <typename Handler, BOOST_ASIO_VARIADIC_TPARAMS(n)> \
+ void operator()( \
+ BOOST_ASIO_MOVE_ARG(Handler) handler, \
+ BOOST_ASIO_VARIADIC_MOVE_PARAMS(n)) const \
+ { \
+ initiation_( \
+ immediate_executor_binder< \
+ typename decay<Handler>::type, Executor>( \
+ executor_, BOOST_ASIO_MOVE_CAST(Handler)(handler)), \
+ BOOST_ASIO_VARIADIC_MOVE_ARGS(n)); \
+ } \
+ /**/
+ BOOST_ASIO_VARIADIC_GENERATE(BOOST_ASIO_PRIVATE_INIT_WRAPPER_DEF)
+#undef BOOST_ASIO_PRIVATE_INIT_WRAPPER_DEF
+
+#endif // defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
+
+ Executor executor_;
+ Initiation initiation_;
+ };
+
+#if defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
+
+ template <typename Initiation, typename RawCompletionToken, typename... Args>
+ static BOOST_ASIO_INITFN_DEDUCED_RESULT_TYPE(T, Signature,
+ (async_initiate<T, Signature>(
+ declval<init_wrapper<typename decay<Initiation>::type> >(),
+ declval<RawCompletionToken>().get(),
+ declval<BOOST_ASIO_MOVE_ARG(Args)>()...)))
+ initiate(
+ BOOST_ASIO_MOVE_ARG(Initiation) initiation,
+ BOOST_ASIO_MOVE_ARG(RawCompletionToken) token,
+ BOOST_ASIO_MOVE_ARG(Args)... args)
+ {
+ return async_initiate<T, Signature>(
+ init_wrapper<typename decay<Initiation>::type>(
+ token.get_immediate_executor(),
+ BOOST_ASIO_MOVE_CAST(Initiation)(initiation)),
+ token.get(), BOOST_ASIO_MOVE_CAST(Args)(args)...);
+ }
+
+#else // defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
+
+ template <typename Initiation, typename RawCompletionToken>
+ static BOOST_ASIO_INITFN_DEDUCED_RESULT_TYPE(T, Signature,
+ (async_initiate<T, Signature>(
+ declval<init_wrapper<typename decay<Initiation>::type> >(),
+ declval<RawCompletionToken>().get())))
+ initiate(
+ BOOST_ASIO_MOVE_ARG(Initiation) initiation,
+ BOOST_ASIO_MOVE_ARG(RawCompletionToken) token)
+ {
+ return async_initiate<T, Signature>(
+ init_wrapper<typename decay<Initiation>::type>(
+ token.get_immediate_executor(),
+ BOOST_ASIO_MOVE_CAST(Initiation)(initiation)),
+ token.get());
+ }
+
+#define BOOST_ASIO_PRIVATE_INITIATE_DEF(n) \
+ template <typename Initiation, typename RawCompletionToken, \
+ BOOST_ASIO_VARIADIC_TPARAMS(n)> \
+ static BOOST_ASIO_INITFN_DEDUCED_RESULT_TYPE(T, Signature, \
+ (async_initiate<T, Signature>( \
+ declval<init_wrapper<typename decay<Initiation>::type> >(), \
+ declval<RawCompletionToken>().get(), \
+ BOOST_ASIO_VARIADIC_MOVE_DECLVAL(n)))) \
+ initiate( \
+ BOOST_ASIO_MOVE_ARG(Initiation) initiation, \
+ BOOST_ASIO_MOVE_ARG(RawCompletionToken) token, \
+ BOOST_ASIO_VARIADIC_MOVE_PARAMS(n)) \
+ { \
+ return async_initiate<T, Signature>( \
+ init_wrapper<typename decay<Initiation>::type>( \
+ token.get_immediate_executor(), \
+ BOOST_ASIO_MOVE_CAST(Initiation)(initiation)), \
+ token.get(), BOOST_ASIO_VARIADIC_MOVE_ARGS(n)); \
+ } \
+ /**/
+ BOOST_ASIO_VARIADIC_GENERATE(BOOST_ASIO_PRIVATE_INITIATE_DEF)
+#undef BOOST_ASIO_PRIVATE_INITIATE_DEF
+
+#endif // defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
+
+private:
+ async_result(const async_result&) BOOST_ASIO_DELETED;
+ async_result& operator=(const async_result&) BOOST_ASIO_DELETED;
+
+ async_result<T, Signature> target_;
+};
+
+template <template <typename, typename> class Associator,
+ typename T, typename Executor, typename DefaultCandidate>
+struct associator<Associator,
+ immediate_executor_binder<T, Executor>,
+ DefaultCandidate>
+ : Associator<T, DefaultCandidate>
+{
+ static typename Associator<T, DefaultCandidate>::type
+ get(const immediate_executor_binder<T, Executor>& b)
+ BOOST_ASIO_NOEXCEPT
+ {
+ return Associator<T, DefaultCandidate>::get(b.get());
+ }
+
+ static BOOST_ASIO_AUTO_RETURN_TYPE_PREFIX2(
+ typename Associator<T, DefaultCandidate>::type)
+ get(const immediate_executor_binder<T, Executor>& b,
+ const DefaultCandidate& c) BOOST_ASIO_NOEXCEPT
+ BOOST_ASIO_AUTO_RETURN_TYPE_SUFFIX((
+ Associator<T, DefaultCandidate>::get(b.get(), c)))
+ {
+ return Associator<T, DefaultCandidate>::get(b.get(), c);
+ }
+};
+
+template <typename T, typename Executor, typename Executor1>
+struct associated_immediate_executor<
+ immediate_executor_binder<T, Executor>,
+ Executor1>
+{
+ typedef Executor type;
+
+ static BOOST_ASIO_AUTO_RETURN_TYPE_PREFIX(type) get(
+ const immediate_executor_binder<T, Executor>& b,
+ const Executor1& = Executor1()) BOOST_ASIO_NOEXCEPT
+ BOOST_ASIO_AUTO_RETURN_TYPE_SUFFIX((b.get_immediate_executor()))
+ {
+ return b.get_immediate_executor();
+ }
+};
+
+#endif // !defined(GENERATING_DOCUMENTATION)
+
+} // namespace asio
+} // namespace boost
+
+#include <boost/asio/detail/pop_options.hpp>
+
+#endif // BOOST_ASIO_BIND_IMMEDIATE_EXECUTOR_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/buffer.hpp b/contrib/restricted/boost/asio/include/boost/asio/buffer.hpp
index 73a589bb43..cd61cf3042 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/buffer.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/buffer.hpp
@@ -2,7 +2,7 @@
// buffer.hpp
// ~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -893,6 +893,25 @@ private:
* bufs2.push_back(boost::asio::buffer(d2));
* bufs2.push_back(boost::asio::buffer(d3));
* bytes_transferred = sock.send(bufs2); @endcode
+ *
+ * @par Buffer Literals
+ *
+ * The `_buf` literal suffix, defined in namespace
+ * <tt>boost::asio::buffer_literals</tt>, may be used to create @c const_buffer
+ * objects from string, binary integer, and hexadecimal integer literals.
+ * For example:
+ *
+ * @code
+ * using namespace boost::asio::buffer_literals;
+ *
+ * boost::asio::const_buffer b1 = "hello"_buf;
+ * boost::asio::const_buffer b2 = 0xdeadbeef_buf;
+ * boost::asio::const_buffer b3 = 0x0123456789abcdef0123456789abcdef_buf;
+ * boost::asio::const_buffer b4 = 0b1010101011001100_buf; @endcode
+ *
+ * Note that the memory associated with a buffer literal is valid for the
+ * lifetime of the program. This means that the buffer can be safely used with
+ * asynchronous operations.
*/
/*@{*/
@@ -1569,6 +1588,14 @@ BOOST_ASIO_NODISCARD inline BOOST_ASIO_MUTABLE_BUFFER buffer(
defaulted_constraint
>::type = defaulted_constraint(),
typename constraint<
+ !is_convertible<T, const_buffer>::value,
+ defaulted_constraint
+ >::type = defaulted_constraint(),
+ typename constraint<
+ !is_convertible<T, mutable_buffer>::value,
+ defaulted_constraint
+ >::type = defaulted_constraint(),
+ typename constraint<
!is_const<
typename remove_reference<
typename std::iterator_traits<typename T::iterator>::reference
@@ -1599,6 +1626,14 @@ BOOST_ASIO_NODISCARD inline BOOST_ASIO_MUTABLE_BUFFER buffer(
defaulted_constraint
>::type = defaulted_constraint(),
typename constraint<
+ !is_convertible<T, const_buffer>::value,
+ defaulted_constraint
+ >::type = defaulted_constraint(),
+ typename constraint<
+ !is_convertible<T, mutable_buffer>::value,
+ defaulted_constraint
+ >::type = defaulted_constraint(),
+ typename constraint<
!is_const<
typename remove_reference<
typename std::iterator_traits<typename T::iterator>::reference
@@ -1628,6 +1663,14 @@ BOOST_ASIO_NODISCARD inline BOOST_ASIO_CONST_BUFFER buffer(
defaulted_constraint
>::type = defaulted_constraint(),
typename constraint<
+ !is_convertible<T, const_buffer>::value,
+ defaulted_constraint
+ >::type = defaulted_constraint(),
+ typename constraint<
+ !is_convertible<T, mutable_buffer>::value,
+ defaulted_constraint
+ >::type = defaulted_constraint(),
+ typename constraint<
is_const<
typename remove_reference<
typename std::iterator_traits<typename T::iterator>::reference
@@ -1658,6 +1701,14 @@ BOOST_ASIO_NODISCARD inline BOOST_ASIO_CONST_BUFFER buffer(
defaulted_constraint
>::type = defaulted_constraint(),
typename constraint<
+ !is_convertible<T, const_buffer>::value,
+ defaulted_constraint
+ >::type = defaulted_constraint(),
+ typename constraint<
+ !is_convertible<T, mutable_buffer>::value,
+ defaulted_constraint
+ >::type = defaulted_constraint(),
+ typename constraint<
is_const<
typename remove_reference<
typename std::iterator_traits<typename T::iterator>::reference
@@ -1685,6 +1736,14 @@ BOOST_ASIO_NODISCARD inline BOOST_ASIO_CONST_BUFFER buffer(
typename constraint<
is_contiguous_iterator<typename T::const_iterator>::value,
defaulted_constraint
+ >::type = defaulted_constraint(),
+ typename constraint<
+ !is_convertible<T, const_buffer>::value,
+ defaulted_constraint
+ >::type = defaulted_constraint(),
+ typename constraint<
+ !is_convertible<T, mutable_buffer>::value,
+ defaulted_constraint
>::type = defaulted_constraint()) BOOST_ASIO_NOEXCEPT
{
return BOOST_ASIO_CONST_BUFFER(
@@ -1707,6 +1766,14 @@ BOOST_ASIO_NODISCARD inline BOOST_ASIO_CONST_BUFFER buffer(
typename constraint<
is_contiguous_iterator<typename T::const_iterator>::value,
defaulted_constraint
+ >::type = defaulted_constraint(),
+ typename constraint<
+ !is_convertible<T, const_buffer>::value,
+ defaulted_constraint
+ >::type = defaulted_constraint(),
+ typename constraint<
+ !is_convertible<T, mutable_buffer>::value,
+ defaulted_constraint
>::type = defaulted_constraint()) BOOST_ASIO_NOEXCEPT
{
return BOOST_ASIO_CONST_BUFFER(
@@ -2672,6 +2739,172 @@ struct is_dynamic_buffer
{
};
+#if (defined(BOOST_ASIO_HAS_USER_DEFINED_LITERALS) \
+ && defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)) \
+ || defined(GENERATING_DOCUMENTATION)
+
+namespace buffer_literals {
+namespace detail {
+
+template <char... Chars>
+struct chars {};
+
+template <unsigned char... Bytes>
+struct bytes {};
+
+// Literal processor that converts binary literals to an array of bytes.
+
+template <typename Bytes, char... Chars>
+struct bin_literal;
+
+template <unsigned char... Bytes>
+struct bin_literal<bytes<Bytes...> >
+{
+ static const std::size_t size = sizeof...(Bytes);
+ static const unsigned char data[sizeof...(Bytes)];
+};
+
+template <unsigned char... Bytes>
+const unsigned char bin_literal<bytes<Bytes...> >::data[sizeof...(Bytes)]
+ = { Bytes... };
+
+template <unsigned char... Bytes, char Bit7, char Bit6, char Bit5,
+ char Bit4, char Bit3, char Bit2, char Bit1, char Bit0, char... Chars>
+struct bin_literal<bytes<Bytes...>, Bit7, Bit6,
+ Bit5, Bit4, Bit3, Bit2, Bit1, Bit0, Chars...> :
+ bin_literal<
+ bytes<Bytes...,
+ static_cast<unsigned char>(
+ (Bit7 == '1' ? 0x80 : 0) |
+ (Bit6 == '1' ? 0x40 : 0) |
+ (Bit5 == '1' ? 0x20 : 0) |
+ (Bit4 == '1' ? 0x10 : 0) |
+ (Bit3 == '1' ? 0x08 : 0) |
+ (Bit2 == '1' ? 0x04 : 0) |
+ (Bit1 == '1' ? 0x02 : 0) |
+ (Bit0 == '1' ? 0x01 : 0))
+ >, Chars...> {};
+
+template <unsigned char... Bytes, char... Chars>
+struct bin_literal<bytes<Bytes...>, Chars...>
+{
+ static_assert(sizeof...(Chars) == 0,
+ "number of digits in a binary buffer literal must be a multiple of 8");
+
+ static const std::size_t size = 0;
+ static const unsigned char data[1];
+};
+
+template <unsigned char... Bytes, char... Chars>
+const unsigned char bin_literal<bytes<Bytes...>, Chars...>::data[1] = {};
+
+// Literal processor that converts hexadecimal literals to an array of bytes.
+
+template <typename Bytes, char... Chars>
+struct hex_literal;
+
+template <unsigned char... Bytes>
+struct hex_literal<bytes<Bytes...> >
+{
+ static const std::size_t size = sizeof...(Bytes);
+ static const unsigned char data[sizeof...(Bytes)];
+};
+
+template <unsigned char... Bytes>
+const unsigned char hex_literal<bytes<Bytes...> >::data[sizeof...(Bytes)]
+ = { Bytes... };
+
+template <unsigned char... Bytes, char Hi, char Lo, char... Chars>
+struct hex_literal<bytes<Bytes...>, Hi, Lo, Chars...> :
+ hex_literal<
+ bytes<Bytes...,
+ static_cast<unsigned char>(
+ Lo >= 'A' && Lo <= 'F' ? Lo - 'A' + 10 :
+ (Lo >= 'a' && Lo <= 'f' ? Lo - 'a' + 10 : Lo - '0')) |
+ ((static_cast<unsigned char>(
+ Hi >= 'A' && Hi <= 'F' ? Hi - 'A' + 10 :
+ (Hi >= 'a' && Hi <= 'f' ? Hi - 'a' + 10 : Hi - '0'))) << 4)
+ >, Chars...> {};
+
+template <unsigned char... Bytes, char Char>
+struct hex_literal<bytes<Bytes...>, Char>
+{
+ static_assert(!Char,
+ "a hexadecimal buffer literal must have an even number of digits");
+
+ static const std::size_t size = 0;
+ static const unsigned char data[1];
+};
+
+template <unsigned char... Bytes, char Char>
+const unsigned char hex_literal<bytes<Bytes...>, Char>::data[1] = {};
+
+// Helper template that removes digit separators and then passes the cleaned
+// variadic pack of characters to the literal processor.
+
+template <template <typename, char...> class Literal,
+ typename Clean, char... Raw>
+struct remove_separators;
+
+template <template <typename, char...> class Literal,
+ char... Clean, char... Raw>
+struct remove_separators<Literal, chars<Clean...>, '\'', Raw...> :
+ remove_separators<Literal, chars<Clean...>, Raw...> {};
+
+template <template <typename, char...> class Literal,
+ char... Clean, char C, char... Raw>
+struct remove_separators<Literal, chars<Clean...>, C, Raw...> :
+ remove_separators<Literal, chars<Clean..., C>, Raw...> {};
+
+template <template <typename, char...> class Literal, char... Clean>
+struct remove_separators<Literal, chars<Clean...> > :
+ Literal<bytes<>, Clean...> {};
+
+// Helper template to determine the literal type based on the prefix.
+
+template <char... Chars>
+struct literal;
+
+template <char... Chars>
+struct literal<'0', 'b', Chars...> :
+ remove_separators<bin_literal, chars<>, Chars...>{};
+
+template <char... Chars>
+struct literal<'0', 'B', Chars...> :
+ remove_separators<bin_literal, chars<>, Chars...>{};
+
+template <char... Chars>
+struct literal<'0', 'x', Chars...> :
+ remove_separators<hex_literal, chars<>, Chars...>{};
+
+template <char... Chars>
+struct literal<'0', 'X', Chars...> :
+ remove_separators<hex_literal, chars<>, Chars...>{};
+
+} // namespace detail
+
+/// Literal operator for creating const_buffer objects from string literals.
+inline BOOST_ASIO_CONST_BUFFER operator"" _buf(const char* data, std::size_t n)
+{
+ return BOOST_ASIO_CONST_BUFFER(data, n);
+}
+
+/// Literal operator for creating const_buffer objects from unbounded binary or
+/// hexadecimal integer literals.
+template <char... Chars>
+inline BOOST_ASIO_CONST_BUFFER operator"" _buf()
+{
+ return BOOST_ASIO_CONST_BUFFER(
+ +detail::literal<Chars...>::data,
+ detail::literal<Chars...>::size);
+}
+
+} // namespace buffer_literals
+
+#endif // (defined(BOOST_ASIO_HAS_USER_DEFINED_LITERALS)
+ // && defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES))
+ // || defined(GENERATING_DOCUMENTATION)
+
} // namespace asio
} // namespace boost
diff --git a/contrib/restricted/boost/asio/include/boost/asio/buffer_registration.hpp b/contrib/restricted/boost/asio/include/boost/asio/buffer_registration.hpp
index b05eb27665..8c5a0e0294 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/buffer_registration.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/buffer_registration.hpp
@@ -2,7 +2,7 @@
// buffer_registration.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/buffered_read_stream.hpp b/contrib/restricted/boost/asio/include/boost/asio/buffered_read_stream.hpp
index ad341c9eb0..93769ef68a 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/buffered_read_stream.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/buffered_read_stream.hpp
@@ -2,7 +2,7 @@
// buffered_read_stream.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -73,16 +73,17 @@ public:
/// Construct, passing the specified argument to initialise the next layer.
template <typename Arg>
- explicit buffered_read_stream(Arg& a)
- : next_layer_(a),
+ explicit buffered_read_stream(BOOST_ASIO_MOVE_OR_LVALUE_ARG(Arg) a)
+ : next_layer_(BOOST_ASIO_MOVE_OR_LVALUE(Arg)(a)),
storage_(default_buffer_size)
{
}
/// Construct, passing the specified argument to initialise the next layer.
template <typename Arg>
- buffered_read_stream(Arg& a, std::size_t buffer_size)
- : next_layer_(a),
+ buffered_read_stream(BOOST_ASIO_MOVE_OR_LVALUE_ARG(Arg) a,
+ std::size_t buffer_size)
+ : next_layer_(BOOST_ASIO_MOVE_OR_LVALUE(Arg)(a)),
storage_(buffer_size)
{
}
diff --git a/contrib/restricted/boost/asio/include/boost/asio/buffered_read_stream_fwd.hpp b/contrib/restricted/boost/asio/include/boost/asio/buffered_read_stream_fwd.hpp
index c8b08a62bb..f5ed2c847a 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/buffered_read_stream_fwd.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/buffered_read_stream_fwd.hpp
@@ -2,7 +2,7 @@
// buffered_read_stream_fwd.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/buffered_stream.hpp b/contrib/restricted/boost/asio/include/boost/asio/buffered_stream.hpp
index 1365a5a90d..1fc7ff4bf4 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/buffered_stream.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/buffered_stream.hpp
@@ -2,7 +2,7 @@
// buffered_stream.hpp
// ~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -57,17 +57,17 @@ public:
/// Construct, passing the specified argument to initialise the next layer.
template <typename Arg>
- explicit buffered_stream(Arg& a)
- : inner_stream_impl_(a),
+ explicit buffered_stream(BOOST_ASIO_MOVE_OR_LVALUE_ARG(Arg) a)
+ : inner_stream_impl_(BOOST_ASIO_MOVE_OR_LVALUE(Arg)(a)),
stream_impl_(inner_stream_impl_)
{
}
/// Construct, passing the specified argument to initialise the next layer.
template <typename Arg>
- explicit buffered_stream(Arg& a, std::size_t read_buffer_size,
- std::size_t write_buffer_size)
- : inner_stream_impl_(a, write_buffer_size),
+ explicit buffered_stream(BOOST_ASIO_MOVE_OR_LVALUE_ARG(Arg) a,
+ std::size_t read_buffer_size, std::size_t write_buffer_size)
+ : inner_stream_impl_(BOOST_ASIO_MOVE_OR_LVALUE(Arg)(a), write_buffer_size),
stream_impl_(inner_stream_impl_, read_buffer_size)
{
}
diff --git a/contrib/restricted/boost/asio/include/boost/asio/buffered_stream_fwd.hpp b/contrib/restricted/boost/asio/include/boost/asio/buffered_stream_fwd.hpp
index ac9e3283db..7a6911d0b2 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/buffered_stream_fwd.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/buffered_stream_fwd.hpp
@@ -2,7 +2,7 @@
// buffered_stream_fwd.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/buffered_write_stream.hpp b/contrib/restricted/boost/asio/include/boost/asio/buffered_write_stream.hpp
index 1df846c8a4..b5eb85ce5e 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/buffered_write_stream.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/buffered_write_stream.hpp
@@ -2,7 +2,7 @@
// buffered_write_stream.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -73,16 +73,17 @@ public:
/// Construct, passing the specified argument to initialise the next layer.
template <typename Arg>
- explicit buffered_write_stream(Arg& a)
- : next_layer_(a),
+ explicit buffered_write_stream(BOOST_ASIO_MOVE_OR_LVALUE_ARG(Arg) a)
+ : next_layer_(BOOST_ASIO_MOVE_OR_LVALUE(Arg)(a)),
storage_(default_buffer_size)
{
}
/// Construct, passing the specified argument to initialise the next layer.
template <typename Arg>
- buffered_write_stream(Arg& a, std::size_t buffer_size)
- : next_layer_(a),
+ buffered_write_stream(BOOST_ASIO_MOVE_OR_LVALUE_ARG(Arg) a,
+ std::size_t buffer_size)
+ : next_layer_(BOOST_ASIO_MOVE_OR_LVALUE(Arg)(a)),
storage_(buffer_size)
{
}
diff --git a/contrib/restricted/boost/asio/include/boost/asio/buffered_write_stream_fwd.hpp b/contrib/restricted/boost/asio/include/boost/asio/buffered_write_stream_fwd.hpp
index 4d2f4b9b59..33ec1570ec 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/buffered_write_stream_fwd.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/buffered_write_stream_fwd.hpp
@@ -2,7 +2,7 @@
// buffered_write_stream_fwd.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/buffers_iterator.hpp b/contrib/restricted/boost/asio/include/boost/asio/buffers_iterator.hpp
index 1bff44e649..3f015a57d3 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/buffers_iterator.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/buffers_iterator.hpp
@@ -2,7 +2,7 @@
// buffers_iterator.hpp
// ~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/cancellation_signal.hpp b/contrib/restricted/boost/asio/include/boost/asio/cancellation_signal.hpp
index 6a8d644be3..e7b32370d4 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/cancellation_signal.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/cancellation_signal.hpp
@@ -2,7 +2,7 @@
// cancellation_signal.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/cancellation_state.hpp b/contrib/restricted/boost/asio/include/boost/asio/cancellation_state.hpp
index 156b420a03..0ec1e4fa07 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/cancellation_state.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/cancellation_state.hpp
@@ -2,7 +2,7 @@
// cancellation_state.hpp
// ~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/cancellation_type.hpp b/contrib/restricted/boost/asio/include/boost/asio/cancellation_type.hpp
index ef68883f03..9ab89311c3 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/cancellation_type.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/cancellation_type.hpp
@@ -2,7 +2,7 @@
// cancellation_type.hpp
// ~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/co_spawn.hpp b/contrib/restricted/boost/asio/include/boost/asio/co_spawn.hpp
index b453fc0ec7..03f83bf2dd 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/co_spawn.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/co_spawn.hpp
@@ -2,7 +2,7 @@
// co_spawn.hpp
// ~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/completion_condition.hpp b/contrib/restricted/boost/asio/include/boost/asio/completion_condition.hpp
index bcca73e6a4..f16238ef1e 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/completion_condition.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/completion_condition.hpp
@@ -2,7 +2,7 @@
// completion_condition.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/compose.hpp b/contrib/restricted/boost/asio/include/boost/asio/compose.hpp
index f7740c080f..3a43fbeff9 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/compose.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/compose.hpp
@@ -2,7 +2,7 @@
// compose.hpp
// ~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/connect.hpp b/contrib/restricted/boost/asio/include/boost/asio/connect.hpp
index 8c7ca45b43..e83225854e 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/connect.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/connect.hpp
@@ -2,7 +2,7 @@
// connect.hpp
// ~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/connect_pipe.hpp b/contrib/restricted/boost/asio/include/boost/asio/connect_pipe.hpp
index fb9e58736c..627d7b6fa7 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/connect_pipe.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/connect_pipe.hpp
@@ -2,7 +2,7 @@
// connect_pipe.hpp
// ~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/consign.hpp b/contrib/restricted/boost/asio/include/boost/asio/consign.hpp
index 39b4741b27..c3de1fb4e2 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/consign.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/consign.hpp
@@ -2,7 +2,7 @@
// consign.hpp
// ~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/coroutine.hpp b/contrib/restricted/boost/asio/include/boost/asio/coroutine.hpp
index 61d09a2507..2f92a8b236 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/coroutine.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/coroutine.hpp
@@ -2,7 +2,7 @@
// coroutine.hpp
// ~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/deadline_timer.hpp b/contrib/restricted/boost/asio/include/boost/asio/deadline_timer.hpp
index 91c80e3cf8..9bd02d0016 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/deadline_timer.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/deadline_timer.hpp
@@ -2,7 +2,7 @@
// deadline_timer.hpp
// ~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/defer.hpp b/contrib/restricted/boost/asio/include/boost/asio/defer.hpp
index 5026ec542c..c8339225ad 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/defer.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/defer.hpp
@@ -2,7 +2,7 @@
// defer.hpp
// ~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -17,6 +17,7 @@
#include <boost/asio/detail/config.hpp>
#include <boost/asio/async_result.hpp>
+#include <boost/asio/detail/initiate_defer.hpp>
#include <boost/asio/detail/type_traits.hpp>
#include <boost/asio/execution_context.hpp>
#include <boost/asio/execution/blocking.hpp>
@@ -28,12 +29,6 @@
namespace boost {
namespace asio {
-namespace detail {
-
-class initiate_defer;
-template <typename> class initiate_defer_with_executor;
-
-} // namespace detail
/// Submits a completion token or function object for execution.
/**
@@ -89,7 +84,11 @@ BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_PREFIX(NullaryToken, void()) defer(
BOOST_ASIO_MOVE_ARG(NullaryToken) token)
BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_SUFFIX((
async_initiate<NullaryToken, void()>(
- declval<detail::initiate_defer>(), token)));
+ declval<detail::initiate_defer>(), token)))
+{
+ return async_initiate<NullaryToken, void()>(
+ detail::initiate_defer(), token);
+}
/// Submits a completion token or function object for execution.
/**
@@ -176,7 +175,11 @@ BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_PREFIX(NullaryToken, void()) defer(
>::type = 0)
BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_SUFFIX((
async_initiate<NullaryToken, void()>(
- declval<detail::initiate_defer_with_executor<Executor> >(), token)));
+ declval<detail::initiate_defer_with_executor<Executor> >(), token)))
+{
+ return async_initiate<NullaryToken, void()>(
+ detail::initiate_defer_with_executor<Executor>(ex), token);
+}
/// Submits a completion token or function object for execution.
/**
@@ -205,13 +208,17 @@ BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_PREFIX(NullaryToken, void()) defer(
BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_SUFFIX((
async_initiate<NullaryToken, void()>(
declval<detail::initiate_defer_with_executor<
- typename ExecutionContext::executor_type> >(), token)));
+ typename ExecutionContext::executor_type> >(), token)))
+{
+ return async_initiate<NullaryToken, void()>(
+ detail::initiate_defer_with_executor<
+ typename ExecutionContext::executor_type>(
+ ctx.get_executor()), token);
+}
} // namespace asio
} // namespace boost
#include <boost/asio/detail/pop_options.hpp>
-#include <boost/asio/impl/defer.hpp>
-
#endif // BOOST_ASIO_DEFER_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/deferred.hpp b/contrib/restricted/boost/asio/include/boost/asio/deferred.hpp
index d8df593bd5..ca712bfee7 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/deferred.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/deferred.hpp
@@ -2,7 +2,7 @@
// deferred.hpp
// ~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -39,23 +39,27 @@ struct is_deferred : false_type
{
};
+/// Helper type to wrap multiple completion signatures.
+template <typename... Signatures>
+struct deferred_signatures
+{
+};
+
namespace detail {
-// Helper trait for getting the completion signature of the tail in a sequence
+// Helper trait for getting the completion signatures of the tail in a sequence
// when invoked with the specified arguments.
-template <typename HeadSignature, typename Tail>
-struct deferred_sequence_signature;
+template <typename Tail, typename... Signatures>
+struct deferred_sequence_signatures;
-template <typename R, typename... Args, typename Tail>
-struct deferred_sequence_signature<R(Args...), Tail>
+template <typename Tail, typename R, typename... Args, typename... Signatures>
+struct deferred_sequence_signatures<Tail, R(Args...), Signatures...>
+ : completion_signature_of<decltype(declval<Tail>()(declval<Args>()...))>
{
static_assert(
!is_same<decltype(declval<Tail>()(declval<Args>()...)), void>::value,
"deferred functions must produce a deferred return type");
-
- typedef typename completion_signature_of<
- decltype(declval<Tail>()(declval<Args>()...))>::type type;
};
// Completion handler for the head component of a deferred sequence.
@@ -84,6 +88,88 @@ public:
Tail tail_;
};
+template <typename Head, typename Tail, typename... Signatures>
+class deferred_sequence_base
+{
+private:
+ struct initiate
+ {
+ template <typename Handler>
+ void operator()(BOOST_ASIO_MOVE_ARG(Handler) handler,
+ Head head, BOOST_ASIO_MOVE_ARG(Tail) tail)
+ {
+ BOOST_ASIO_MOVE_OR_LVALUE(Head)(head)(
+ deferred_sequence_handler<
+ typename decay<Handler>::type,
+ typename decay<Tail>::type>(
+ BOOST_ASIO_MOVE_CAST(Handler)(handler),
+ BOOST_ASIO_MOVE_CAST(Tail)(tail)));
+ }
+ };
+
+ Head head_;
+ Tail tail_;
+
+public:
+ template <typename H, typename T>
+ BOOST_ASIO_CONSTEXPR explicit deferred_sequence_base(
+ BOOST_ASIO_MOVE_ARG(H) head, BOOST_ASIO_MOVE_ARG(T) tail)
+ : head_(BOOST_ASIO_MOVE_CAST(H)(head)),
+ tail_(BOOST_ASIO_MOVE_CAST(T)(tail))
+ {
+ }
+
+ template <BOOST_ASIO_COMPLETION_TOKEN_FOR(Signatures...) CompletionToken>
+ auto operator()(
+ BOOST_ASIO_MOVE_ARG(CompletionToken) token) BOOST_ASIO_RVALUE_REF_QUAL
+ -> decltype(
+ boost::asio::async_initiate<CompletionToken, Signatures...>(
+ declval<initiate>(), token,
+ BOOST_ASIO_MOVE_OR_LVALUE(Head)(this->head_),
+ BOOST_ASIO_MOVE_OR_LVALUE(Tail)(this->tail_)))
+ {
+ return boost::asio::async_initiate<CompletionToken, Signatures...>(
+ initiate(), token,
+ BOOST_ASIO_MOVE_OR_LVALUE(Head)(head_),
+ BOOST_ASIO_MOVE_OR_LVALUE(Tail)(tail_));
+ }
+
+#if defined(BOOST_ASIO_HAS_REF_QUALIFIED_FUNCTIONS)
+ template <BOOST_ASIO_COMPLETION_TOKEN_FOR(Signatures...) CompletionToken>
+ auto operator()(
+ BOOST_ASIO_MOVE_ARG(CompletionToken) token) const &
+ -> decltype(
+ boost::asio::async_initiate<CompletionToken, Signatures...>(
+ initiate(), token, this->head_, this->tail_))
+ {
+ return boost::asio::async_initiate<CompletionToken, Signatures...>(
+ initiate(), token, head_, tail_);
+ }
+#endif // defined(BOOST_ASIO_HAS_REF_QUALIFIED_FUNCTIONS)
+};
+
+// Two-step application of variadic Signatures to determine correct base type.
+
+template <typename Head, typename Tail>
+struct deferred_sequence_types
+{
+ template <typename... Signatures>
+ struct op1
+ {
+ typedef deferred_sequence_base<Head, Tail, Signatures...> type;
+ };
+
+ template <typename... Signatures>
+ struct op2
+ {
+ typedef typename deferred_sequence_signatures<Tail, Signatures...>::template
+ apply<op1>::type::type type;
+ };
+
+ typedef typename completion_signature_of<Head>::template
+ apply<op2>::type::type base;
+};
+
} // namespace detail
/// Used to represent an empty deferred action.
@@ -334,76 +420,117 @@ public:
#endif // defined(BOOST_ASIO_HAS_REF_QUALIFIED_FUNCTIONS)
};
-#if !defined(GENERATING_DOCUMENTATION)
-template <typename Signature, typename Initiation, typename... InitArgs>
-struct is_deferred<
- deferred_async_operation<Signature, Initiation, InitArgs...> > : true_type
-{
-};
-#endif // !defined(GENERATING_DOCUMENTATION)
-
-/// Defines a link between two consecutive operations in a sequence.
-template <typename Head, typename Tail>
-class BOOST_ASIO_NODISCARD deferred_sequence
+/// Encapsulates a deferred asynchronous operation thas has multiple completion
+/// signatures.
+template <typename... Signatures, typename Initiation, typename... InitArgs>
+class BOOST_ASIO_NODISCARD deferred_async_operation<
+ deferred_signatures<Signatures...>, Initiation, InitArgs...>
{
private:
- typedef typename detail::deferred_sequence_signature<
- typename completion_signature_of<Head>::type, Tail>::type
- signature;
+ typedef typename decay<Initiation>::type initiation_t;
+ initiation_t initiation_;
+ typedef std::tuple<typename decay<InitArgs>::type...> init_args_t;
+ init_args_t init_args_;
- struct initiate
+ template <typename CompletionToken, std::size_t... I>
+ auto invoke_helper(
+ BOOST_ASIO_MOVE_ARG(CompletionToken) token,
+ detail::index_sequence<I...>)
+ -> decltype(
+ boost::asio::async_initiate<CompletionToken, Signatures...>(
+ BOOST_ASIO_MOVE_CAST(initiation_t)(initiation_), token,
+ std::get<I>(BOOST_ASIO_MOVE_CAST(init_args_t)(init_args_))...))
{
- template <typename Handler>
- void operator()(BOOST_ASIO_MOVE_ARG(Handler) handler,
- Head head, BOOST_ASIO_MOVE_ARG(Tail) tail)
- {
- BOOST_ASIO_MOVE_OR_LVALUE(Head)(head)(
- detail::deferred_sequence_handler<
- typename decay<Handler>::type,
- typename decay<Tail>::type>(
- BOOST_ASIO_MOVE_CAST(Handler)(handler),
- BOOST_ASIO_MOVE_CAST(Tail)(tail)));
- }
- };
+ return boost::asio::async_initiate<CompletionToken, Signatures...>(
+ BOOST_ASIO_MOVE_CAST(initiation_t)(initiation_), token,
+ std::get<I>(BOOST_ASIO_MOVE_CAST(init_args_t)(init_args_))...);
+ }
- Head head_;
- Tail tail_;
+#if defined(BOOST_ASIO_HAS_REF_QUALIFIED_FUNCTIONS)
+ template <typename CompletionToken, std::size_t... I>
+ auto const_invoke_helper(
+ BOOST_ASIO_MOVE_ARG(CompletionToken) token,
+ detail::index_sequence<I...>) const &
+ -> decltype(
+ boost::asio::async_initiate<CompletionToken, Signatures...>(
+ initiation_t(initiation_), token, std::get<I>(init_args_)...))
+ {
+ return boost::asio::async_initiate<CompletionToken, Signatures...>(
+ initiation_t(initiation_), token, std::get<I>(init_args_)...);
+ }
+#endif // defined(BOOST_ASIO_HAS_REF_QUALIFIED_FUNCTIONS)
public:
- template <typename H, typename T>
- BOOST_ASIO_CONSTEXPR explicit deferred_sequence(deferred_init_tag,
- BOOST_ASIO_MOVE_ARG(H) head, BOOST_ASIO_MOVE_ARG(T) tail)
- : head_(BOOST_ASIO_MOVE_CAST(H)(head)),
- tail_(BOOST_ASIO_MOVE_CAST(T)(tail))
+ /// Construct a deferred asynchronous operation from the arguments to an
+ /// initiation function object.
+ template <typename I, typename... A>
+ BOOST_ASIO_CONSTEXPR explicit deferred_async_operation(
+ deferred_init_tag, BOOST_ASIO_MOVE_ARG(I) initiation,
+ BOOST_ASIO_MOVE_ARG(A)... init_args)
+ : initiation_(BOOST_ASIO_MOVE_CAST(I)(initiation)),
+ init_args_(BOOST_ASIO_MOVE_CAST(A)(init_args)...)
{
}
- template <BOOST_ASIO_COMPLETION_TOKEN_FOR(signature) CompletionToken>
+ /// Initiate the asynchronous operation using the supplied completion token.
+ template <BOOST_ASIO_COMPLETION_TOKEN_FOR(Signatures...) CompletionToken>
auto operator()(
BOOST_ASIO_MOVE_ARG(CompletionToken) token) BOOST_ASIO_RVALUE_REF_QUAL
-> decltype(
- boost::asio::async_initiate<CompletionToken, signature>(
- declval<initiate>(), token,
- BOOST_ASIO_MOVE_OR_LVALUE(Head)(this->head_),
- BOOST_ASIO_MOVE_OR_LVALUE(Tail)(this->tail_)))
+ this->invoke_helper(
+ BOOST_ASIO_MOVE_CAST(CompletionToken)(token),
+ detail::index_sequence_for<InitArgs...>()))
{
- return boost::asio::async_initiate<CompletionToken, signature>(
- initiate(), token,
- BOOST_ASIO_MOVE_OR_LVALUE(Head)(head_),
- BOOST_ASIO_MOVE_OR_LVALUE(Tail)(tail_));
+ return this->invoke_helper(
+ BOOST_ASIO_MOVE_CAST(CompletionToken)(token),
+ detail::index_sequence_for<InitArgs...>());
}
#if defined(BOOST_ASIO_HAS_REF_QUALIFIED_FUNCTIONS)
- template <BOOST_ASIO_COMPLETION_TOKEN_FOR(signature) CompletionToken>
+ template <BOOST_ASIO_COMPLETION_TOKEN_FOR(Signatures...) CompletionToken>
auto operator()(
BOOST_ASIO_MOVE_ARG(CompletionToken) token) const &
-> decltype(
- boost::asio::async_initiate<CompletionToken, signature>(
- initiate(), token, head_, tail_))
+ this->const_invoke_helper(
+ BOOST_ASIO_MOVE_CAST(CompletionToken)(token),
+ detail::index_sequence_for<InitArgs...>()))
+ {
+ return this->const_invoke_helper(
+ BOOST_ASIO_MOVE_CAST(CompletionToken)(token),
+ detail::index_sequence_for<InitArgs...>());
+ }
+#endif // defined(BOOST_ASIO_HAS_REF_QUALIFIED_FUNCTIONS)
+};
+
+#if !defined(GENERATING_DOCUMENTATION)
+template <typename Signature, typename Initiation, typename... InitArgs>
+struct is_deferred<
+ deferred_async_operation<Signature, Initiation, InitArgs...> > : true_type
+{
+};
+#endif // !defined(GENERATING_DOCUMENTATION)
+
+/// Defines a link between two consecutive operations in a sequence.
+template <typename Head, typename Tail>
+class BOOST_ASIO_NODISCARD deferred_sequence :
+ public detail::deferred_sequence_types<Head, Tail>::base
+{
+public:
+ template <typename H, typename T>
+ BOOST_ASIO_CONSTEXPR explicit deferred_sequence(deferred_init_tag,
+ BOOST_ASIO_MOVE_ARG(H) head, BOOST_ASIO_MOVE_ARG(T) tail)
+ : detail::deferred_sequence_types<Head, Tail>::base(
+ BOOST_ASIO_MOVE_CAST(H)(head), BOOST_ASIO_MOVE_CAST(T)(tail))
{
- return boost::asio::async_initiate<CompletionToken, signature>(
- initiate(), token, head_, tail_);
}
+
+#if defined(GENERATING_DOCUMENTATION)
+ template <typename CompletionToken>
+ auto operator()(BOOST_ASIO_MOVE_ARG(CompletionToken) token)
+ BOOST_ASIO_RVALUE_REF_QUAL;
+
+ template <typename CompletionToken>
+ auto operator()(BOOST_ASIO_MOVE_ARG(CompletionToken) token) const &;
#endif // defined(BOOST_ASIO_HAS_REF_QUALIFIED_FUNCTIONS)
};
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detached.hpp b/contrib/restricted/boost/asio/include/boost/asio/detached.hpp
index 083908191f..e850f38229 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detached.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detached.hpp
@@ -2,7 +2,7 @@
// detached.hpp
// ~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/array.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/array.hpp
index fa868060c0..be076b4850 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/array.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/array.hpp
@@ -2,7 +2,7 @@
// detail/array.hpp
// ~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/array_fwd.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/array_fwd.hpp
index 7a8f7266c2..4d5f87e697 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/array_fwd.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/array_fwd.hpp
@@ -2,7 +2,7 @@
// detail/array_fwd.hpp
// ~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/assert.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/assert.hpp
index b54503ba20..964f618564 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/assert.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/assert.hpp
@@ -2,7 +2,7 @@
// detail/assert.hpp
// ~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/atomic_count.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/atomic_count.hpp
index a24fb5cdc6..0a90ffcd30 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/atomic_count.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/atomic_count.hpp
@@ -2,7 +2,7 @@
// detail/atomic_count.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/base_from_cancellation_state.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/base_from_cancellation_state.hpp
index 62170cd7e7..c3006a164b 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/base_from_cancellation_state.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/base_from_cancellation_state.hpp
@@ -2,7 +2,7 @@
// detail/base_from_cancellation_state.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/base_from_completion_cond.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/base_from_completion_cond.hpp
index 3af86cff51..9f409bb046 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/base_from_completion_cond.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/base_from_completion_cond.hpp
@@ -2,7 +2,7 @@
// detail/base_from_completion_cond.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/bind_handler.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/bind_handler.hpp
index d2eaab0a58..52122cb2e8 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/bind_handler.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/bind_handler.hpp
@@ -2,7 +2,7 @@
// detail/bind_handler.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/blocking_executor_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/blocking_executor_op.hpp
index f189fd4b74..92cda4a9b2 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/blocking_executor_op.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/blocking_executor_op.hpp
@@ -2,7 +2,7 @@
// detail/blocking_executor_op.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -78,6 +78,7 @@ public:
const boost::system::error_code& /*ec*/,
std::size_t /*bytes_transferred*/)
{
+ BOOST_ASIO_ASSUME(base != 0);
blocking_executor_op* o(static_cast<blocking_executor_op*>(base));
typename blocking_executor_op_base<Operation>::do_complete_cleanup
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/buffer_resize_guard.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/buffer_resize_guard.hpp
index d235258962..e2f4040a57 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/buffer_resize_guard.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/buffer_resize_guard.hpp
@@ -2,7 +2,7 @@
// detail/buffer_resize_guard.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/buffer_sequence_adapter.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/buffer_sequence_adapter.hpp
index ed671536ca..77bd76932c 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/buffer_sequence_adapter.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/buffer_sequence_adapter.hpp
@@ -2,7 +2,7 @@
// detail/buffer_sequence_adapter.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/buffered_stream_storage.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/buffered_stream_storage.hpp
index be01946019..fc4d0ccce0 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/buffered_stream_storage.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/buffered_stream_storage.hpp
@@ -2,7 +2,7 @@
// detail/buffered_stream_storage.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/bulk_executor_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/bulk_executor_op.hpp
index 6d457c42e5..099acfe64b 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/bulk_executor_op.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/bulk_executor_op.hpp
@@ -2,7 +2,7 @@
// detail/bulk_executor_op.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -50,6 +50,7 @@ public:
std::size_t /*bytes_transferred*/)
{
// Take ownership of the handler object.
+ BOOST_ASIO_ASSUME(base != 0);
bulk_executor_op* o(static_cast<bulk_executor_op*>(base));
Alloc allocator(o->allocator_);
ptr p = { detail::addressof(allocator), o, o };
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/call_stack.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/call_stack.hpp
index 4a01e89228..7e96fcd0dc 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/call_stack.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/call_stack.hpp
@@ -2,7 +2,7 @@
// detail/call_stack.hpp
// ~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/chrono.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/chrono.hpp
index 9d3b81174a..39d17b301b 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/chrono.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/chrono.hpp
@@ -2,7 +2,7 @@
// detail/chrono.hpp
// ~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/chrono_time_traits.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/chrono_time_traits.hpp
index d5fbb89394..e391f2259e 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/chrono_time_traits.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/chrono_time_traits.hpp
@@ -2,7 +2,7 @@
// detail/chrono_time_traits.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/completion_handler.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/completion_handler.hpp
index 76927e6b83..ac409a4406 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/completion_handler.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/completion_handler.hpp
@@ -2,7 +2,7 @@
// detail/completion_handler.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/composed_work.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/composed_work.hpp
index 522673136d..4d873ff01b 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/composed_work.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/composed_work.hpp
@@ -2,7 +2,7 @@
// detail/composed_work.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/concurrency_hint.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/concurrency_hint.hpp
index 3febc0018c..30d90b2edb 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/concurrency_hint.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/concurrency_hint.hpp
@@ -2,7 +2,7 @@
// detail/concurrency_hint.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/conditionally_enabled_event.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/conditionally_enabled_event.hpp
index f6c3909713..d4b6585c6a 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/conditionally_enabled_event.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/conditionally_enabled_event.hpp
@@ -2,7 +2,7 @@
// detail/conditionally_enabled_event.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/conditionally_enabled_mutex.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/conditionally_enabled_mutex.hpp
index 5a71314deb..3046c64f7e 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/conditionally_enabled_mutex.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/conditionally_enabled_mutex.hpp
@@ -2,7 +2,7 @@
// detail/conditionally_enabled_mutex.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/config.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/config.hpp
index 7d3d75da15..850037e531 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/config.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/config.hpp
@@ -2,7 +2,7 @@
// detail/config.hpp
// ~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -135,6 +135,7 @@
# define BOOST_ASIO_MOVE_CAST(type) static_cast<type&&>
# define BOOST_ASIO_MOVE_CAST2(type1, type2) static_cast<type1, type2&&>
# define BOOST_ASIO_MOVE_OR_LVALUE(type) static_cast<type&&>
+# define BOOST_ASIO_MOVE_OR_LVALUE_ARG(type) type&&
# define BOOST_ASIO_MOVE_OR_LVALUE_TYPE(type) type
#endif // defined(BOOST_ASIO_HAS_MOVE) && !defined(BOOST_ASIO_MOVE_CAST)
@@ -163,6 +164,7 @@
# define BOOST_ASIO_MOVE_CAST(type) static_cast<const type&>
# define BOOST_ASIO_MOVE_CAST2(type1, type2) static_cast<const type1, type2&>
# define BOOST_ASIO_MOVE_OR_LVALUE(type)
+# define BOOST_ASIO_MOVE_OR_LVALUE_ARG(type) type&
# define BOOST_ASIO_MOVE_OR_LVALUE_TYPE(type) type&
#endif // !defined(BOOST_ASIO_MOVE_CAST)
@@ -645,6 +647,19 @@
# define BOOST_ASIO_DEFAULT_ALIGN 1
#endif // defined(BOOST_ASIO_HAS_ALIGNOF)
+// Support for user-defined literals.
+#if !defined(BOOST_ASIO_HAS_USER_DEFINED_LITERALS)
+# if !defined(BOOST_ASIO_DISABLE_USER_DEFINED_LITERALS)
+# if (__cplusplus >= 201103)
+# define BOOST_ASIO_HAS_USER_DEFINED_LITERALS 1
+# elif defined(BOOST_ASIO_MSVC)
+# if (_MSC_VER >= 1900 && _MSVC_LANG >= 201103)
+# define BOOST_ASIO_HAS_USER_DEFINED_LITERALS 1
+# endif // (_MSC_VER >= 1900 && _MSVC_LANG >= 201103)
+# endif // defined(BOOST_ASIO_MSVC)
+# endif // !defined(BOOST_ASIO_DISABLE_USER_DEFINED_LITERALS)
+#endif // !defined(BOOST_ASIO_HAS_USER_DEFINED_LITERALS)
+
// Standard library support for aligned allocation.
#if !defined(BOOST_ASIO_HAS_STD_ALIGNED_ALLOC)
# if !defined(BOOST_ASIO_DISABLE_STD_ALIGNED_ALLOC)
@@ -1430,6 +1445,30 @@
# endif // !defined(BOOST_ASIO_DISABLE_STD_ANY)
#endif // !defined(BOOST_ASIO_HAS_STD_ANY)
+// Standard library support for std::variant.
+#if !defined(BOOST_ASIO_HAS_STD_VARIANT)
+# if !defined(BOOST_ASIO_DISABLE_STD_VARIANT)
+# if defined(__clang__)
+# if (__cplusplus >= 201703)
+# if __has_include(<variant>)
+# define BOOST_ASIO_HAS_STD_VARIANT 1
+# endif // __has_include(<variant>)
+# endif // (__cplusplus >= 201703)
+# elif defined(__GNUC__)
+# if (__GNUC__ >= 7)
+# if (__cplusplus >= 201703)
+# define BOOST_ASIO_HAS_STD_VARIANT 1
+# endif // (__cplusplus >= 201703)
+# endif // (__GNUC__ >= 7)
+# endif // defined(__GNUC__)
+# if defined(BOOST_ASIO_MSVC)
+# if (_MSC_VER >= 1910) && (_MSVC_LANG >= 201703)
+# define BOOST_ASIO_HAS_STD_VARIANT 1
+# endif // (_MSC_VER >= 1910) && (_MSVC_LANG >= 201703)
+# endif // defined(BOOST_ASIO_MSVC)
+# endif // !defined(BOOST_ASIO_DISABLE_STD_VARIANT)
+#endif // !defined(BOOST_ASIO_HAS_STD_VARIANT)
+
// Standard library support for std::source_location.
#if !defined(BOOST_ASIO_HAS_STD_SOURCE_LOCATION)
# if !defined(BOOST_ASIO_DISABLE_STD_SOURCE_LOCATION)
@@ -2078,6 +2117,22 @@
# define BOOST_ASIO_UNUSED_VARIABLE
#endif // !defined(BOOST_ASIO_UNUSED_VARIABLE)
+// Helper macro to tell the optimiser what may be assumed to be true.
+#if defined(BOOST_ASIO_MSVC)
+# define BOOST_ASIO_ASSUME(expr) __assume(expr)
+#elif defined(__clang__)
+# if __has_builtin(__builtin_assume)
+# define BOOST_ASIO_ASSUME(expr) __builtin_assume(expr)
+# endif // __has_builtin(__builtin_assume)
+#elif defined(__GNUC__)
+# if ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 5)) || (__GNUC__ > 4)
+# define BOOST_ASIO_ASSUME(expr) if (expr) {} else { __builtin_unreachable(); }
+# endif // ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 5)) || (__GNUC__ > 4)
+#endif // defined(__GNUC__)
+#if !defined(BOOST_ASIO_ASSUME)
+# define BOOST_ASIO_ASSUME(expr) (void)0
+#endif // !defined(BOOST_ASIO_ASSUME)
+
// Support the co_await keyword on compilers known to allow it.
#if !defined(BOOST_ASIO_HAS_CO_AWAIT)
# if !defined(BOOST_ASIO_DISABLE_CO_AWAIT)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/consuming_buffers.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/consuming_buffers.hpp
index 8c2bd640c9..191f901e3e 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/consuming_buffers.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/consuming_buffers.hpp
@@ -2,7 +2,7 @@
// detail/consuming_buffers.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/cstddef.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/cstddef.hpp
index 9a3b00a856..0c399fb8bf 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/cstddef.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/cstddef.hpp
@@ -2,7 +2,7 @@
// detail/cstddef.hpp
// ~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/cstdint.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/cstdint.hpp
index c3ef46e525..90f342da2e 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/cstdint.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/cstdint.hpp
@@ -2,7 +2,7 @@
// detail/cstdint.hpp
// ~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/date_time_fwd.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/date_time_fwd.hpp
index 2d391b5418..38eabde058 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/date_time_fwd.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/date_time_fwd.hpp
@@ -2,7 +2,7 @@
// detail/date_time_fwd.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/deadline_timer_service.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/deadline_timer_service.hpp
index 1202c1431b..2ede2efd0a 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/deadline_timer_service.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/deadline_timer_service.hpp
@@ -2,7 +2,7 @@
// detail/deadline_timer_service.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/dependent_type.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/dependent_type.hpp
index 58aa27adf0..069465af23 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/dependent_type.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/dependent_type.hpp
@@ -2,7 +2,7 @@
// detail/dependent_type.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/descriptor_ops.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/descriptor_ops.hpp
index 26fffc5368..6413a5db0e 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/descriptor_ops.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/descriptor_ops.hpp
@@ -2,7 +2,7 @@
// detail/descriptor_ops.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/descriptor_read_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/descriptor_read_op.hpp
index 12fa38415f..610532331a 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/descriptor_read_op.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/descriptor_read_op.hpp
@@ -2,7 +2,7 @@
// detail/descriptor_read_op.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -26,6 +26,7 @@
#include <boost/asio/detail/handler_work.hpp>
#include <boost/asio/detail/memory.hpp>
#include <boost/asio/detail/reactor_op.hpp>
+#include <boost/asio/dispatch.hpp>
#include <boost/asio/detail/push_options.hpp>
@@ -49,6 +50,7 @@ public:
static status do_perform(reactor_op* base)
{
+ BOOST_ASIO_ASSUME(base != 0);
descriptor_read_op_base* o(static_cast<descriptor_read_op_base*>(base));
typedef buffer_sequence_adapter<boost::asio::mutable_buffer,
@@ -86,6 +88,9 @@ class descriptor_read_op
: public descriptor_read_op_base<MutableBufferSequence>
{
public:
+ typedef Handler handler_type;
+ typedef IoExecutor io_executor_type;
+
BOOST_ASIO_DEFINE_HANDLER_PTR(descriptor_read_op);
descriptor_read_op(const boost::system::error_code& success_ec,
@@ -103,6 +108,7 @@ public:
std::size_t /*bytes_transferred*/)
{
// Take ownership of the handler object.
+ BOOST_ASIO_ASSUME(base != 0);
descriptor_read_op* o(static_cast<descriptor_read_op*>(base));
ptr p = { boost::asio::detail::addressof(o->handler_), o, o };
@@ -136,6 +142,38 @@ public:
}
}
+ static void do_immediate(operation* base, bool, const void* io_ex)
+ {
+ // Take ownership of the handler object.
+ BOOST_ASIO_ASSUME(base != 0);
+ descriptor_read_op* o(static_cast<descriptor_read_op*>(base));
+ ptr p = { boost::asio::detail::addressof(o->handler_), o, o };
+
+ BOOST_ASIO_HANDLER_COMPLETION((*o));
+
+ // Take ownership of the operation's outstanding work.
+ immediate_handler_work<Handler, IoExecutor> w(
+ BOOST_ASIO_MOVE_CAST2(handler_work<Handler, IoExecutor>)(
+ o->work_));
+
+ BOOST_ASIO_ERROR_LOCATION(o->ec_);
+
+ // Make a copy of the handler so that the memory can be deallocated before
+ // the upcall is made. Even if we're not about to make an upcall, a
+ // sub-object of the handler may be the true owner of the memory associated
+ // with the handler. Consequently, a local copy of the handler is required
+ // to ensure that any owning sub-object remains valid until after we have
+ // deallocated the memory here.
+ detail::binder2<Handler, boost::system::error_code, std::size_t>
+ handler(o->handler_, o->ec_, o->bytes_transferred_);
+ p.h = boost::asio::detail::addressof(handler.handler_);
+ p.reset();
+
+ BOOST_ASIO_HANDLER_INVOCATION_BEGIN((handler.arg1_, handler.arg2_));
+ w.complete(handler, handler.handler_, io_ex);
+ BOOST_ASIO_HANDLER_INVOCATION_END;
+ }
+
private:
Handler handler_;
handler_work<Handler, IoExecutor> work_;
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/descriptor_write_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/descriptor_write_op.hpp
index a3cc32d9e5..344dc7b311 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/descriptor_write_op.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/descriptor_write_op.hpp
@@ -2,7 +2,7 @@
// detail/descriptor_write_op.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -49,6 +49,7 @@ public:
static status do_perform(reactor_op* base)
{
+ BOOST_ASIO_ASSUME(base != 0);
descriptor_write_op_base* o(static_cast<descriptor_write_op_base*>(base));
typedef buffer_sequence_adapter<boost::asio::const_buffer,
@@ -86,6 +87,9 @@ class descriptor_write_op
: public descriptor_write_op_base<ConstBufferSequence>
{
public:
+ typedef Handler handler_type;
+ typedef IoExecutor io_executor_type;
+
BOOST_ASIO_DEFINE_HANDLER_PTR(descriptor_write_op);
descriptor_write_op(const boost::system::error_code& success_ec,
@@ -103,6 +107,7 @@ public:
std::size_t /*bytes_transferred*/)
{
// Take ownership of the handler object.
+ BOOST_ASIO_ASSUME(base != 0);
descriptor_write_op* o(static_cast<descriptor_write_op*>(base));
ptr p = { boost::asio::detail::addressof(o->handler_), o, o };
@@ -136,6 +141,38 @@ public:
}
}
+ static void do_immediate(operation* base, bool, const void* io_ex)
+ {
+ // Take ownership of the handler object.
+ BOOST_ASIO_ASSUME(base != 0);
+ descriptor_write_op* o(static_cast<descriptor_write_op*>(base));
+ ptr p = { boost::asio::detail::addressof(o->handler_), o, o };
+
+ BOOST_ASIO_HANDLER_COMPLETION((*o));
+
+ // Take ownership of the operation's outstanding work.
+ immediate_handler_work<Handler, IoExecutor> w(
+ BOOST_ASIO_MOVE_CAST2(handler_work<Handler, IoExecutor>)(
+ o->work_));
+
+ BOOST_ASIO_ERROR_LOCATION(o->ec_);
+
+ // Make a copy of the handler so that the memory can be deallocated before
+ // the upcall is made. Even if we're not about to make an upcall, a
+ // sub-object of the handler may be the true owner of the memory associated
+ // with the handler. Consequently, a local copy of the handler is required
+ // to ensure that any owning sub-object remains valid until after we have
+ // deallocated the memory here.
+ detail::binder2<Handler, boost::system::error_code, std::size_t>
+ handler(o->handler_, o->ec_, o->bytes_transferred_);
+ p.h = boost::asio::detail::addressof(handler.handler_);
+ p.reset();
+
+ BOOST_ASIO_HANDLER_INVOCATION_BEGIN((handler.arg1_, handler.arg2_));
+ w.complete(handler, handler.handler_, io_ex);
+ BOOST_ASIO_HANDLER_INVOCATION_END;
+ }
+
private:
Handler handler_;
handler_work<Handler, IoExecutor> work_;
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/dev_poll_reactor.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/dev_poll_reactor.hpp
index f6a2fae4a6..506b1ae65f 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/dev_poll_reactor.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/dev_poll_reactor.hpp
@@ -2,7 +2,7 @@
// detail/dev_poll_reactor.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -87,13 +87,31 @@ public:
per_descriptor_data& source_descriptor_data);
// Post a reactor operation for immediate completion.
- void post_immediate_completion(reactor_op* op, bool is_continuation);
+ void post_immediate_completion(operation* op, bool is_continuation) const;
+
+ // Post a reactor operation for immediate completion.
+ BOOST_ASIO_DECL static void call_post_immediate_completion(
+ operation* op, bool is_continuation, const void* self);
// Start a new operation. The reactor operation will be performed when the
// given descriptor is flagged as ready, or an error has occurred.
BOOST_ASIO_DECL void start_op(int op_type, socket_type descriptor,
per_descriptor_data&, reactor_op* op,
- bool is_continuation, bool allow_speculative);
+ bool is_continuation, bool allow_speculative,
+ void (*on_immediate)(operation*, bool, const void*),
+ const void* immediate_arg);
+
+ // Start a new operation. The reactor operation will be performed when the
+ // given descriptor is flagged as ready, or an error has occurred.
+ void start_op(int op_type, socket_type descriptor,
+ per_descriptor_data& descriptor_data, reactor_op* op,
+ bool is_continuation, bool allow_speculative)
+ {
+ start_op(op_type, descriptor, descriptor_data,
+ op, is_continuation, allow_speculative,
+ &epoll_reactor::call_post_immediate_completion, this);
+ }
+
// Cancel all operations associated with the given descriptor. The
// handlers associated with the descriptor will be invoked with the
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/epoll_reactor.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/epoll_reactor.hpp
index e2de3e7f3c..7947641f57 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/epoll_reactor.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/epoll_reactor.hpp
@@ -2,7 +2,7 @@
// detail/epoll_reactor.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -117,13 +117,30 @@ public:
per_descriptor_data& source_descriptor_data);
// Post a reactor operation for immediate completion.
- void post_immediate_completion(operation* op, bool is_continuation);
+ void post_immediate_completion(operation* op, bool is_continuation) const;
+
+ // Post a reactor operation for immediate completion.
+ BOOST_ASIO_DECL static void call_post_immediate_completion(
+ operation* op, bool is_continuation, const void* self);
// Start a new operation. The reactor operation will be performed when the
// given descriptor is flagged as ready, or an error has occurred.
BOOST_ASIO_DECL void start_op(int op_type, socket_type descriptor,
per_descriptor_data& descriptor_data, reactor_op* op,
- bool is_continuation, bool allow_speculative);
+ bool is_continuation, bool allow_speculative,
+ void (*on_immediate)(operation*, bool, const void*),
+ const void* immediate_arg);
+
+ // Start a new operation. The reactor operation will be performed when the
+ // given descriptor is flagged as ready, or an error has occurred.
+ void start_op(int op_type, socket_type descriptor,
+ per_descriptor_data& descriptor_data, reactor_op* op,
+ bool is_continuation, bool allow_speculative)
+ {
+ start_op(op_type, descriptor, descriptor_data,
+ op, is_continuation, allow_speculative,
+ &epoll_reactor::call_post_immediate_completion, this);
+ }
// Cancel all operations associated with the given descriptor. The
// handlers associated with the descriptor will be invoked with the
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/event.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/event.hpp
index f4855f26c6..e19bca9a3a 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/event.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/event.hpp
@@ -2,7 +2,7 @@
// detail/event.hpp
// ~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/eventfd_select_interrupter.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/eventfd_select_interrupter.hpp
index b1c02b8aa6..4a97612097 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/eventfd_select_interrupter.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/eventfd_select_interrupter.hpp
@@ -2,7 +2,7 @@
// detail/eventfd_select_interrupter.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// Copyright (c) 2008 Roelof Naude (roelof.naude at gmail dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/exception.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/exception.hpp
index 02fd550755..840bc2cf68 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/exception.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/exception.hpp
@@ -2,7 +2,7 @@
// detail/exception.hpp
// ~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/executor_function.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/executor_function.hpp
index 8dfa6b4a25..b01f3ca333 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/executor_function.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/executor_function.hpp
@@ -2,7 +2,7 @@
// detail/executor_function.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/executor_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/executor_op.hpp
index 8679b9eb0b..a94ee679f4 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/executor_op.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/executor_op.hpp
@@ -2,7 +2,7 @@
// detail/executor_op.hpp
// ~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -47,6 +47,7 @@ public:
std::size_t /*bytes_transferred*/)
{
// Take ownership of the handler object.
+ BOOST_ASIO_ASSUME(base != 0);
executor_op* o(static_cast<executor_op*>(base));
Alloc allocator(o->allocator_);
ptr p = { detail::addressof(allocator), o, o };
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/fd_set_adapter.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/fd_set_adapter.hpp
index 2b0fac99fa..b4191a82ed 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/fd_set_adapter.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/fd_set_adapter.hpp
@@ -2,7 +2,7 @@
// detail/fd_set_adapter.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/fenced_block.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/fenced_block.hpp
index bc99ef0ec7..2b490c6b11 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/fenced_block.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/fenced_block.hpp
@@ -2,7 +2,7 @@
// detail/fenced_block.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/functional.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/functional.hpp
index 833f659a70..599a94acf1 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/functional.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/functional.hpp
@@ -2,7 +2,7 @@
// detail/functional.hpp
// ~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/future.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/future.hpp
index b8a3750ace..ec611db389 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/future.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/future.hpp
@@ -2,7 +2,7 @@
// detail/future.hpp
// ~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/gcc_arm_fenced_block.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/gcc_arm_fenced_block.hpp
index f179321d1c..8b94607596 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/gcc_arm_fenced_block.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/gcc_arm_fenced_block.hpp
@@ -2,7 +2,7 @@
// detail/gcc_arm_fenced_block.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/gcc_hppa_fenced_block.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/gcc_hppa_fenced_block.hpp
index 8b584ac77d..ae259256d6 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/gcc_hppa_fenced_block.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/gcc_hppa_fenced_block.hpp
@@ -2,7 +2,7 @@
// detail/gcc_hppa_fenced_block.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/gcc_sync_fenced_block.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/gcc_sync_fenced_block.hpp
index 1d7ff42776..659ed6dc70 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/gcc_sync_fenced_block.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/gcc_sync_fenced_block.hpp
@@ -2,7 +2,7 @@
// detail/gcc_sync_fenced_block.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/gcc_x86_fenced_block.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/gcc_x86_fenced_block.hpp
index 243ce33e19..3498954692 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/gcc_x86_fenced_block.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/gcc_x86_fenced_block.hpp
@@ -2,7 +2,7 @@
// detail/gcc_x86_fenced_block.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/global.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/global.hpp
index c515cffc75..c48155829c 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/global.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/global.hpp
@@ -2,7 +2,7 @@
// detail/global.hpp
// ~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/handler_alloc_helpers.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/handler_alloc_helpers.hpp
index d8b116f212..081ce0f723 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/handler_alloc_helpers.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/handler_alloc_helpers.hpp
@@ -2,7 +2,7 @@
// detail/handler_alloc_helpers.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/handler_cont_helpers.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/handler_cont_helpers.hpp
index 9e763980c6..c5976801c0 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/handler_cont_helpers.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/handler_cont_helpers.hpp
@@ -2,7 +2,7 @@
// detail/handler_cont_helpers.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/handler_invoke_helpers.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/handler_invoke_helpers.hpp
index 722bfea73c..f47ba8f131 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/handler_invoke_helpers.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/handler_invoke_helpers.hpp
@@ -2,7 +2,7 @@
// detail/handler_invoke_helpers.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/handler_tracking.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/handler_tracking.hpp
index 22bdf69094..bc5f08b1c9 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/handler_tracking.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/handler_tracking.hpp
@@ -2,7 +2,7 @@
// detail/handler_tracking.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/handler_type_requirements.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/handler_type_requirements.hpp
index 1dfe8d5666..92fafacdf2 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/handler_type_requirements.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/handler_type_requirements.hpp
@@ -2,7 +2,7 @@
// detail/handler_type_requirements.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/handler_work.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/handler_work.hpp
index c0fcd25e75..3e03388c98 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/handler_work.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/handler_work.hpp
@@ -2,7 +2,7 @@
// detail/handler_work.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -16,9 +16,13 @@
#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
#include <boost/asio/detail/config.hpp>
+#include <boost/asio/associated_allocator.hpp>
#include <boost/asio/associated_executor.hpp>
+#include <boost/asio/associated_immediate_executor.hpp>
#include <boost/asio/detail/handler_invoke_helpers.hpp>
+#include <boost/asio/detail/initiate_dispatch.hpp>
#include <boost/asio/detail/type_traits.hpp>
+#include <boost/asio/detail/work_dispatcher.hpp>
#include <boost/asio/execution/allocator.hpp>
#include <boost/asio/execution/blocking.hpp>
#include <boost/asio/execution/execute.hpp>
@@ -526,6 +530,34 @@ public:
}
};
+template <typename Handler, typename IoExecutor>
+class immediate_handler_work
+{
+public:
+ typedef handler_work<Handler, IoExecutor> handler_work_type;
+
+ explicit immediate_handler_work(BOOST_ASIO_MOVE_ARG(handler_work_type) w)
+ : handler_work_(BOOST_ASIO_MOVE_CAST(handler_work_type)(w))
+ {
+ }
+
+ template <typename Function>
+ void complete(Function& function, Handler& handler, const void* io_ex)
+ {
+ typedef typename associated_immediate_executor<Handler, IoExecutor>::type
+ immediate_ex_type;
+
+ immediate_ex_type immediate_ex = (get_associated_immediate_executor)(
+ handler, *static_cast<const IoExecutor*>(io_ex));
+
+ (initiate_dispatch_with_executor<immediate_ex_type>(immediate_ex))(
+ BOOST_ASIO_MOVE_CAST(Function)(function));
+ }
+
+private:
+ handler_work_type handler_work_;
+};
+
} // namespace detail
} // namespace asio
} // namespace boost
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/hash_map.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/hash_map.hpp
index bc17041622..98d17a43f2 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/hash_map.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/hash_map.hpp
@@ -2,7 +2,7 @@
// detail/hash_map.hpp
// ~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/buffer_sequence_adapter.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/buffer_sequence_adapter.ipp
index 0aadb8243a..3e072b3c3d 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/buffer_sequence_adapter.ipp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/buffer_sequence_adapter.ipp
@@ -2,7 +2,7 @@
// detail/impl/buffer_sequence_adapter.ipp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/descriptor_ops.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/descriptor_ops.ipp
index ea7705fd08..c9d0d87527 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/descriptor_ops.ipp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/descriptor_ops.ipp
@@ -2,7 +2,7 @@
// detail/impl/descriptor_ops.ipp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -118,7 +118,7 @@ bool set_user_non_blocking(int d, state_type& state,
# if defined(ENOTTY)
if (ec.value() == ENOTTY)
{
- int result = ::fcntl(d, F_GETFL, 0);
+ result = ::fcntl(d, F_GETFL, 0);
get_last_error(ec, result < 0);
if (result >= 0)
{
@@ -181,7 +181,7 @@ bool set_internal_non_blocking(int d, state_type& state,
# if defined(ENOTTY)
if (ec.value() == ENOTTY)
{
- int result = ::fcntl(d, F_GETFL, 0);
+ result = ::fcntl(d, F_GETFL, 0);
get_last_error(ec, result < 0);
if (result >= 0)
{
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/dev_poll_reactor.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/dev_poll_reactor.hpp
index 72a7ce2212..4eea4f152d 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/dev_poll_reactor.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/dev_poll_reactor.hpp
@@ -2,7 +2,7 @@
// detail/impl/dev_poll_reactor.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -28,7 +28,7 @@ namespace asio {
namespace detail {
inline void dev_poll_reactor::post_immediate_completion(
- reactor_op* op, bool is_continuation)
+ operation* op, bool is_continuation) const
{
scheduler_.post_immediate_completion(op, is_continuation);
}
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/dev_poll_reactor.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/dev_poll_reactor.ipp
index 60b9c111c9..96b4f3707b 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/dev_poll_reactor.ipp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/dev_poll_reactor.ipp
@@ -2,7 +2,7 @@
// detail/impl/dev_poll_reactor.ipp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -149,15 +149,24 @@ void dev_poll_reactor::move_descriptor(socket_type,
{
}
+void dev_poll_reactor::call_post_immediate_completion(
+ operation* op, bool is_continuation, const void* self)
+{
+ static_cast<const dev_poll_reactor*>(self)->post_immediate_completion(
+ op, is_continuation);
+}
+
void dev_poll_reactor::start_op(int op_type, socket_type descriptor,
dev_poll_reactor::per_descriptor_data&, reactor_op* op,
- bool is_continuation, bool allow_speculative)
+ bool is_continuation, bool allow_speculative,
+ void (*on_immediate)(operation*, bool, const void*),
+ const void* immediate_arg)
{
boost::asio::detail::mutex::scoped_lock lock(mutex_);
if (shutdown_)
{
- post_immediate_completion(op, is_continuation);
+ on_immediate(op, is_continuation, immediate_arg);
return;
}
@@ -170,7 +179,7 @@ void dev_poll_reactor::start_op(int op_type, socket_type descriptor,
if (op->perform())
{
lock.unlock();
- scheduler_.post_immediate_completion(op, is_continuation);
+ on_immediate(op, is_continuation, immediate_arg);
return;
}
}
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/epoll_reactor.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/epoll_reactor.hpp
index 8c618e32e1..0611bcb7f3 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/epoll_reactor.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/epoll_reactor.hpp
@@ -2,7 +2,7 @@
// detail/impl/epoll_reactor.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -26,7 +26,7 @@ namespace asio {
namespace detail {
inline void epoll_reactor::post_immediate_completion(
- operation* op, bool is_continuation)
+ operation* op, bool is_continuation) const
{
scheduler_.post_immediate_completion(op, is_continuation);
}
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/epoll_reactor.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/epoll_reactor.ipp
index 214ed192a8..5bbb434278 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/epoll_reactor.ipp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/epoll_reactor.ipp
@@ -2,7 +2,7 @@
// detail/impl/epoll_reactor.ipp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -230,14 +230,23 @@ void epoll_reactor::move_descriptor(socket_type,
source_descriptor_data = 0;
}
+void epoll_reactor::call_post_immediate_completion(
+ operation* op, bool is_continuation, const void* self)
+{
+ static_cast<const epoll_reactor*>(self)->post_immediate_completion(
+ op, is_continuation);
+}
+
void epoll_reactor::start_op(int op_type, socket_type descriptor,
epoll_reactor::per_descriptor_data& descriptor_data, reactor_op* op,
- bool is_continuation, bool allow_speculative)
+ bool is_continuation, bool allow_speculative,
+ void (*on_immediate)(operation*, bool, const void*),
+ const void* immediate_arg)
{
if (!descriptor_data)
{
op->ec_ = boost::asio::error::bad_descriptor;
- post_immediate_completion(op, is_continuation);
+ on_immediate(op, is_continuation, immediate_arg);
return;
}
@@ -245,7 +254,7 @@ void epoll_reactor::start_op(int op_type, socket_type descriptor,
if (descriptor_data->shutdown_)
{
- post_immediate_completion(op, is_continuation);
+ on_immediate(op, is_continuation, immediate_arg);
return;
}
@@ -263,7 +272,7 @@ void epoll_reactor::start_op(int op_type, socket_type descriptor,
if (descriptor_data->registered_events_ != 0)
descriptor_data->try_speculative_[op_type] = false;
descriptor_lock.unlock();
- scheduler_.post_immediate_completion(op, is_continuation);
+ on_immediate(op, is_continuation, immediate_arg);
return;
}
}
@@ -271,7 +280,7 @@ void epoll_reactor::start_op(int op_type, socket_type descriptor,
if (descriptor_data->registered_events_ == 0)
{
op->ec_ = boost::asio::error::operation_not_supported;
- scheduler_.post_immediate_completion(op, is_continuation);
+ on_immediate(op, is_continuation, immediate_arg);
return;
}
@@ -290,7 +299,7 @@ void epoll_reactor::start_op(int op_type, socket_type descriptor,
{
op->ec_ = boost::system::error_code(errno,
boost::asio::error::get_system_category());
- scheduler_.post_immediate_completion(op, is_continuation);
+ on_immediate(op, is_continuation, immediate_arg);
return;
}
}
@@ -299,7 +308,7 @@ void epoll_reactor::start_op(int op_type, socket_type descriptor,
else if (descriptor_data->registered_events_ == 0)
{
op->ec_ = boost::asio::error::operation_not_supported;
- scheduler_.post_immediate_completion(op, is_continuation);
+ on_immediate(op, is_continuation, immediate_arg);
return;
}
else
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/eventfd_select_interrupter.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/eventfd_select_interrupter.ipp
index f72c4fb140..ac86f5c2db 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/eventfd_select_interrupter.ipp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/eventfd_select_interrupter.ipp
@@ -2,7 +2,7 @@
// detail/impl/eventfd_select_interrupter.ipp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// Copyright (c) 2008 Roelof Naude (roelof.naude at gmail dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/handler_tracking.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/handler_tracking.ipp
index 95c1644170..17e66c952f 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/handler_tracking.ipp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/handler_tracking.ipp
@@ -2,7 +2,7 @@
// detail/impl/handler_tracking.ipp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/io_uring_descriptor_service.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/io_uring_descriptor_service.ipp
index 744eec0367..ecb71dbc1c 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/io_uring_descriptor_service.ipp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/io_uring_descriptor_service.ipp
@@ -2,7 +2,7 @@
// detail/impl/io_uring_descriptor_service.ipp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/io_uring_file_service.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/io_uring_file_service.ipp
index 99c6101643..91ef41ca3c 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/io_uring_file_service.ipp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/io_uring_file_service.ipp
@@ -2,7 +2,7 @@
// detail/impl/io_uring_file_service.ipp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/io_uring_service.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/io_uring_service.hpp
index 314e1f7337..c90adb90c3 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/io_uring_service.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/io_uring_service.hpp
@@ -2,7 +2,7 @@
// detail/impl/io_uring_service.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/io_uring_service.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/io_uring_service.ipp
index 3291d04276..98a08a601e 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/io_uring_service.ipp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/io_uring_service.ipp
@@ -2,7 +2,7 @@
// detail/impl/io_uring_service.ipp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -378,13 +378,21 @@ void io_uring_service::deregister_io_object(
if (!io_obj->shutdown_)
{
op_queue<operation> ops;
- do_cancel_ops(io_obj, ops);
+ bool pending_cancelled_ops = do_cancel_ops(io_obj, ops);
io_obj->shutdown_ = true;
io_object_lock.unlock();
scheduler_.post_deferred_completions(ops);
-
- // Leave io_obj set so that it will be freed by the subsequent
- // call to cleanup_io_obj.
+ if (pending_cancelled_ops)
+ {
+ // There are still pending operations. Prevent cleanup_io_object from
+ // freeing the I/O object and let the last operation to complete free it.
+ io_obj = 0;
+ }
+ else
+ {
+ // Leave io_obj set so that it will be freed by the subsequent call to
+ // cleanup_io_object.
+ }
}
else
{
@@ -611,7 +619,7 @@ void io_uring_service::free_io_object(io_uring_service::io_object* io_obj)
registered_io_objects_.free(io_obj);
}
-void io_uring_service::do_cancel_ops(
+bool io_uring_service::do_cancel_ops(
per_io_object_data& io_obj, op_queue<operation>& ops)
{
bool cancel_op = false;
@@ -647,6 +655,8 @@ void io_uring_service::do_cancel_ops(
}
submit_sqes();
}
+
+ return cancel_op;
}
void io_uring_service::do_add_timer_queue(timer_queue_base& queue)
@@ -688,7 +698,10 @@ __kernel_timespec io_uring_service::get_timeout() const
sqe = ::io_uring_get_sqe(&ring_);
}
if (sqe)
+ {
+ ::io_uring_sqe_set_data(sqe, 0);
++pending_sqes_;
+ }
return sqe;
}
@@ -758,12 +771,18 @@ io_uring_service::io_queue::io_queue()
struct io_uring_service::perform_io_cleanup_on_block_exit
{
explicit perform_io_cleanup_on_block_exit(io_uring_service* s)
- : service_(s), first_op_(0)
+ : service_(s), io_object_to_free_(0), first_op_(0)
{
}
~perform_io_cleanup_on_block_exit()
{
+ if (io_object_to_free_)
+ {
+ mutex::scoped_lock lock(service_->mutex_);
+ service_->free_io_object(io_object_to_free_);
+ }
+
if (first_op_)
{
// Post the remaining completed operations for invocation.
@@ -784,6 +803,7 @@ struct io_uring_service::perform_io_cleanup_on_block_exit
}
io_uring_service* service_;
+ io_object* io_object_to_free_;
op_queue<operation> ops_;
operation* first_op_;
};
@@ -845,6 +865,15 @@ operation* io_uring_service::io_queue::perform_io(int result)
}
}
+ // The last operation to complete on a shut down object must free it.
+ if (io_object_->shutdown_)
+ {
+ io_cleanup.io_object_to_free_ = io_object_;
+ for (int i = 0; i < max_ops; ++i)
+ if (!io_object_->queues_[i].op_queue_.empty())
+ io_cleanup.io_object_to_free_ = 0;
+ }
+
// The first operation will be returned for completion now. The others will
// be posted for later by the io_cleanup object's destructor.
io_cleanup.first_op_ = io_cleanup.ops_.front();
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/io_uring_socket_service_base.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/io_uring_socket_service_base.ipp
index 7bad2405a5..cdc2a227cc 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/io_uring_socket_service_base.ipp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/io_uring_socket_service_base.ipp
@@ -2,7 +2,7 @@
// detail/io_uring_socket_service_base.ipp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/kqueue_reactor.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/kqueue_reactor.hpp
index 8d302b6e68..91561a8738 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/kqueue_reactor.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/kqueue_reactor.hpp
@@ -2,7 +2,7 @@
// detail/impl/kqueue_reactor.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// Copyright (c) 2005 Stefan Arentz (stefan at soze dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
@@ -29,7 +29,7 @@ namespace asio {
namespace detail {
inline void kqueue_reactor::post_immediate_completion(
- operation* op, bool is_continuation)
+ operation* op, bool is_continuation) const
{
scheduler_.post_immediate_completion(op, is_continuation);
}
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/kqueue_reactor.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/kqueue_reactor.ipp
index c710a2789d..47a9d4ab68 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/kqueue_reactor.ipp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/kqueue_reactor.ipp
@@ -2,7 +2,7 @@
// detail/impl/kqueue_reactor.ipp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// Copyright (c) 2005 Stefan Arentz (stefan at soze dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
@@ -191,14 +191,23 @@ void kqueue_reactor::move_descriptor(socket_type,
source_descriptor_data = 0;
}
+void kqueue_reactor::call_post_immediate_completion(
+ operation* op, bool is_continuation, const void* self)
+{
+ static_cast<const kqueue_reactor*>(self)->post_immediate_completion(
+ op, is_continuation);
+}
+
void kqueue_reactor::start_op(int op_type, socket_type descriptor,
kqueue_reactor::per_descriptor_data& descriptor_data, reactor_op* op,
- bool is_continuation, bool allow_speculative)
+ bool is_continuation, bool allow_speculative,
+ void (*on_immediate)(operation*, bool, const void*),
+ const void* immediate_arg)
{
if (!descriptor_data)
{
op->ec_ = boost::asio::error::bad_descriptor;
- post_immediate_completion(op, is_continuation);
+ on_immediate(op, is_continuation, immediate_arg);
return;
}
@@ -206,7 +215,7 @@ void kqueue_reactor::start_op(int op_type, socket_type descriptor,
if (descriptor_data->shutdown_)
{
- post_immediate_completion(op, is_continuation);
+ on_immediate(op, is_continuation, immediate_arg);
return;
}
@@ -221,7 +230,7 @@ void kqueue_reactor::start_op(int op_type, socket_type descriptor,
if (op->perform())
{
descriptor_lock.unlock();
- scheduler_.post_immediate_completion(op, is_continuation);
+ on_immediate(op, is_continuation, immediate_arg);
return;
}
@@ -240,7 +249,7 @@ void kqueue_reactor::start_op(int op_type, socket_type descriptor,
{
op->ec_ = boost::system::error_code(errno,
boost::asio::error::get_system_category());
- scheduler_.post_immediate_completion(op, is_continuation);
+ on_immediate(op, is_continuation, immediate_arg);
return;
}
}
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/null_event.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/null_event.ipp
index 723bd85903..05be28eaff 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/null_event.ipp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/null_event.ipp
@@ -2,7 +2,7 @@
// detail/impl/null_event.ipp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/pipe_select_interrupter.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/pipe_select_interrupter.ipp
index dc894eb796..52dd43f686 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/pipe_select_interrupter.ipp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/pipe_select_interrupter.ipp
@@ -2,7 +2,7 @@
// detail/impl/pipe_select_interrupter.ipp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/posix_event.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/posix_event.ipp
index e987f09366..dfe20bcc38 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/posix_event.ipp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/posix_event.ipp
@@ -2,7 +2,7 @@
// detail/impl/posix_event.ipp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/posix_mutex.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/posix_mutex.ipp
index 507c91d1af..743df56d40 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/posix_mutex.ipp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/posix_mutex.ipp
@@ -2,7 +2,7 @@
// detail/impl/posix_mutex.ipp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/posix_serial_port_service.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/posix_serial_port_service.ipp
index 79e3afb7df..d96c4ba797 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/posix_serial_port_service.ipp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/posix_serial_port_service.ipp
@@ -2,7 +2,7 @@
// detail/impl/posix_serial_port_service.ipp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// Copyright (c) 2008 Rep Invariant Systems, Inc. (info@repinvariant.com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/posix_thread.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/posix_thread.ipp
index 3f034c3d52..d14dcff749 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/posix_thread.ipp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/posix_thread.ipp
@@ -2,7 +2,7 @@
// detail/impl/posix_thread.ipp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/posix_tss_ptr.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/posix_tss_ptr.ipp
index 7b26dc3a68..eb2cf7f59f 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/posix_tss_ptr.ipp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/posix_tss_ptr.ipp
@@ -2,7 +2,7 @@
// detail/impl/posix_tss_ptr.ipp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/reactive_descriptor_service.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/reactive_descriptor_service.ipp
index 47e27885b4..d7be640f5d 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/reactive_descriptor_service.ipp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/reactive_descriptor_service.ipp
@@ -2,7 +2,7 @@
// detail/impl/reactive_descriptor_service.ipp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -198,10 +198,10 @@ boost::system::error_code reactive_descriptor_service::cancel(
return ec;
}
-void reactive_descriptor_service::start_op(
- reactive_descriptor_service::implementation_type& impl,
- int op_type, reactor_op* op, bool is_continuation,
- bool is_non_blocking, bool noop)
+void reactive_descriptor_service::do_start_op(implementation_type& impl,
+ int op_type, reactor_op* op, bool is_continuation, bool is_non_blocking,
+ bool noop, void (*on_immediate)(operation* op, bool, const void*),
+ const void* immediate_arg)
{
if (!noop)
{
@@ -209,13 +209,13 @@ void reactive_descriptor_service::start_op(
descriptor_ops::set_internal_non_blocking(
impl.descriptor_, impl.state_, true, op->ec_))
{
- reactor_.start_op(op_type, impl.descriptor_,
- impl.reactor_data_, op, is_continuation, is_non_blocking);
+ reactor_.start_op(op_type, impl.descriptor_, impl.reactor_data_, op,
+ is_continuation, is_non_blocking, on_immediate, immediate_arg);
return;
}
}
- reactor_.post_immediate_completion(op, is_continuation);
+ on_immediate(op, is_continuation, immediate_arg);
}
} // namespace detail
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/reactive_socket_service_base.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/reactive_socket_service_base.ipp
index de2c2f1745..7e40711b00 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/reactive_socket_service_base.ipp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/reactive_socket_service_base.ipp
@@ -2,7 +2,7 @@
// detail/reactive_socket_service_base.ipp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -234,10 +234,11 @@ boost::system::error_code reactive_socket_service_base::do_assign(
return ec;
}
-void reactive_socket_service_base::start_op(
- reactive_socket_service_base::base_implementation_type& impl,
- int op_type, reactor_op* op, bool is_continuation,
- bool is_non_blocking, bool noop)
+void reactive_socket_service_base::do_start_op(
+ reactive_socket_service_base::base_implementation_type& impl, int op_type,
+ reactor_op* op, bool is_continuation, bool is_non_blocking, bool noop,
+ void (*on_immediate)(operation* op, bool, const void*),
+ const void* immediate_arg)
{
if (!noop)
{
@@ -245,31 +246,38 @@ void reactive_socket_service_base::start_op(
|| socket_ops::set_internal_non_blocking(
impl.socket_, impl.state_, true, op->ec_))
{
- reactor_.start_op(op_type, impl.socket_,
- impl.reactor_data_, op, is_continuation, is_non_blocking);
+ reactor_.start_op(op_type, impl.socket_, impl.reactor_data_, op,
+ is_continuation, is_non_blocking, on_immediate, immediate_arg);
return;
}
}
- reactor_.post_immediate_completion(op, is_continuation);
+ on_immediate(op, is_continuation, immediate_arg);
}
-void reactive_socket_service_base::start_accept_op(
+void reactive_socket_service_base::do_start_accept_op(
reactive_socket_service_base::base_implementation_type& impl,
- reactor_op* op, bool is_continuation, bool peer_is_open)
+ reactor_op* op, bool is_continuation, bool peer_is_open,
+ void (*on_immediate)(operation* op, bool, const void*),
+ const void* immediate_arg)
{
if (!peer_is_open)
- start_op(impl, reactor::read_op, op, is_continuation, true, false);
+ {
+ do_start_op(impl, reactor::read_op, op, is_continuation,
+ true, false, on_immediate, immediate_arg);
+ }
else
{
op->ec_ = boost::asio::error::already_open;
- reactor_.post_immediate_completion(op, is_continuation);
+ on_immediate(op, is_continuation, immediate_arg);
}
}
-void reactive_socket_service_base::start_connect_op(
+void reactive_socket_service_base::do_start_connect_op(
reactive_socket_service_base::base_implementation_type& impl,
- reactor_op* op, bool is_continuation, const void* addr, size_t addrlen)
+ reactor_op* op, bool is_continuation, const void* addr, size_t addrlen,
+ void (*on_immediate)(operation* op, bool, const void*),
+ const void* immediate_arg)
{
if ((impl.state_ & socket_ops::non_blocking)
|| socket_ops::set_internal_non_blocking(
@@ -281,14 +289,14 @@ void reactive_socket_service_base::start_connect_op(
|| op->ec_ == boost::asio::error::would_block)
{
op->ec_ = boost::system::error_code();
- reactor_.start_op(reactor::connect_op, impl.socket_,
- impl.reactor_data_, op, is_continuation, false);
+ reactor_.start_op(reactor::connect_op, impl.socket_, impl.reactor_data_,
+ op, is_continuation, false, on_immediate, immediate_arg);
return;
}
}
}
- reactor_.post_immediate_completion(op, is_continuation);
+ on_immediate(op, is_continuation, immediate_arg);
}
} // namespace detail
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/resolver_service_base.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/resolver_service_base.ipp
index df22ee1ddb..5ce8eaa700 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/resolver_service_base.ipp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/resolver_service_base.ipp
@@ -2,7 +2,7 @@
// detail/impl/resolver_service_base.ipp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/scheduler.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/scheduler.ipp
index 0ebc559926..28f34dddc9 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/scheduler.ipp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/scheduler.ipp
@@ -2,7 +2,7 @@
// detail/impl/scheduler.ipp
// ~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -328,6 +328,7 @@ void scheduler::restart()
void scheduler::compensating_work_started()
{
thread_info_base* this_thread = thread_call_stack::contains(this);
+ BOOST_ASIO_ASSUME(this_thread != 0); // Only called from inside scheduler.
++static_cast<thread_info*>(this_thread)->private_outstanding_work;
}
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/select_reactor.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/select_reactor.hpp
index 187cb85252..b7d862a0a7 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/select_reactor.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/select_reactor.hpp
@@ -2,7 +2,7 @@
// detail/impl/select_reactor.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -36,7 +36,7 @@ namespace asio {
namespace detail {
inline void select_reactor::post_immediate_completion(
- reactor_op* op, bool is_continuation)
+ operation* op, bool is_continuation) const
{
scheduler_.post_immediate_completion(op, is_continuation);
}
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/select_reactor.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/select_reactor.ipp
index f8f9f54545..33887e2445 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/select_reactor.ipp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/select_reactor.ipp
@@ -2,7 +2,7 @@
// detail/impl/select_reactor.ipp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -152,15 +152,23 @@ void select_reactor::move_descriptor(socket_type,
{
}
+void select_reactor::call_post_immediate_completion(
+ operation* op, bool is_continuation, const void* self)
+{
+ static_cast<const select_reactor*>(self)->post_immediate_completion(
+ op, is_continuation);
+}
+
void select_reactor::start_op(int op_type, socket_type descriptor,
- select_reactor::per_descriptor_data&, reactor_op* op,
- bool is_continuation, bool)
+ select_reactor::per_descriptor_data&, reactor_op* op, bool is_continuation,
+ bool, void (*on_immediate)(operation*, bool, const void*),
+ const void* immediate_arg)
{
boost::asio::detail::mutex::scoped_lock lock(mutex_);
if (shutdown_)
{
- post_immediate_completion(op, is_continuation);
+ on_immediate(op, is_continuation, immediate_arg);
return;
}
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/service_registry.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/service_registry.hpp
index d2b9b9880e..fd9f707785 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/service_registry.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/service_registry.hpp
@@ -2,7 +2,7 @@
// detail/impl/service_registry.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/service_registry.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/service_registry.ipp
index 914b73e05d..8cb97b3c9a 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/service_registry.ipp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/service_registry.ipp
@@ -2,7 +2,7 @@
// detail/impl/service_registry.ipp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/signal_set_service.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/signal_set_service.ipp
index c9061ee96f..695b688ce6 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/signal_set_service.ipp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/signal_set_service.ipp
@@ -2,7 +2,7 @@
// detail/impl/signal_set_service.ipp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -55,12 +55,16 @@ struct signal_state
// A count of the number of objects that are registered for each signal.
std::size_t registration_count_[max_signal_number];
+
+ // The flags used for each registered signal.
+ signal_set_base::flags_t flags_[max_signal_number];
};
signal_state* get_signal_state()
{
static signal_state state = {
- BOOST_ASIO_STATIC_MUTEX_INIT, -1, -1, false, 0, { 0 } };
+ BOOST_ASIO_STATIC_MUTEX_INIT, -1, -1, false, 0,
+ { 0 }, { signal_set_base::flags_t() } };
return &state;
}
@@ -307,8 +311,8 @@ void signal_set_service::destroy(
}
boost::system::error_code signal_set_service::add(
- signal_set_service::implementation_type& impl,
- int signal_number, boost::system::error_code& ec)
+ signal_set_service::implementation_type& impl, int signal_number,
+ signal_set_base::flags_t f, boost::system::error_code& ec)
{
// Check that the signal number is valid.
if (signal_number < 0 || signal_number >= max_signal_number)
@@ -317,6 +321,15 @@ boost::system::error_code signal_set_service::add(
return ec;
}
+ // Check that the specified flags are supported.
+#if !defined(BOOST_ASIO_HAS_SIGACTION)
+ if (f != signal_set_base::flags::dont_care)
+ {
+ ec = boost::asio::error::operation_not_supported;
+ return ec;
+ }
+#endif // !defined(BOOST_ASIO_HAS_SIGACTION)
+
signal_state* state = get_signal_state();
static_mutex::scoped_lock lock(state->mutex_);
@@ -344,6 +357,8 @@ boost::system::error_code signal_set_service::add(
memset(&sa, 0, sizeof(sa));
sa.sa_handler = boost_asio_signal_handler;
sigfillset(&sa.sa_mask);
+ if (f != signal_set_base::flags::dont_care)
+ sa.sa_flags = static_cast<int>(f);
if (::sigaction(signal_number, &sa, 0) == -1)
# else // defined(BOOST_ASIO_HAS_SIGACTION)
if (::signal(signal_number, boost_asio_signal_handler) == SIG_ERR)
@@ -358,7 +373,37 @@ boost::system::error_code signal_set_service::add(
delete new_registration;
return ec;
}
+# if defined(BOOST_ASIO_HAS_SIGACTION)
+ state->flags_[signal_number] = f;
+# endif // defined(BOOST_ASIO_HAS_SIGACTION)
}
+# if defined(BOOST_ASIO_HAS_SIGACTION)
+ // Otherwise check to see if the flags have changed.
+ else if (f != signal_set_base::flags::dont_care)
+ {
+ if (f != state->flags_[signal_number])
+ {
+ using namespace std; // For memset.
+ if (state->flags_[signal_number] != signal_set_base::flags::dont_care)
+ {
+ ec = boost::asio::error::invalid_argument;
+ return ec;
+ }
+ struct sigaction sa;
+ memset(&sa, 0, sizeof(sa));
+ sa.sa_handler = boost_asio_signal_handler;
+ sigfillset(&sa.sa_mask);
+ sa.sa_flags = static_cast<int>(f);
+ if (::sigaction(signal_number, &sa, 0) == -1)
+ {
+ ec = boost::system::error_code(errno,
+ boost::asio::error::get_system_category());
+ return ec;
+ }
+ state->flags_[signal_number] = f;
+ }
+ }
+# endif // defined(BOOST_ASIO_HAS_SIGACTION)
#endif // defined(BOOST_ASIO_HAS_SIGNAL) || defined(BOOST_ASIO_HAS_SIGACTION)
// Record the new registration in the set.
@@ -427,6 +472,9 @@ boost::system::error_code signal_set_service::remove(
# endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
return ec;
}
+# if defined(BOOST_ASIO_HAS_SIGACTION)
+ state->flags_[signal_number] = signal_set_base::flags_t();
+# endif // defined(BOOST_ASIO_HAS_SIGACTION)
}
#endif // defined(BOOST_ASIO_HAS_SIGNAL) || defined(BOOST_ASIO_HAS_SIGACTION)
@@ -481,6 +529,9 @@ boost::system::error_code signal_set_service::clear(
# endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
return ec;
}
+# if defined(BOOST_ASIO_HAS_SIGACTION)
+ state->flags_[reg->signal_number_] = signal_set_base::flags_t();
+# endif // defined(BOOST_ASIO_HAS_SIGACTION)
}
#endif // defined(BOOST_ASIO_HAS_SIGNAL) || defined(BOOST_ASIO_HAS_SIGACTION)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/socket_ops.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/socket_ops.ipp
index 89be2f06fa..8bf2642119 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/socket_ops.ipp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/socket_ops.ipp
@@ -2,7 +2,7 @@
// detail/impl/socket_ops.ipp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/socket_select_interrupter.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/socket_select_interrupter.ipp
index 0ad5d479aa..ca352008c8 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/socket_select_interrupter.ipp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/socket_select_interrupter.ipp
@@ -2,7 +2,7 @@
// detail/impl/socket_select_interrupter.ipp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/strand_executor_service.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/strand_executor_service.hpp
index d0a7b820d4..8649dab05e 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/strand_executor_service.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/strand_executor_service.hpp
@@ -2,7 +2,7 @@
// detail/impl/strand_executor_service.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/strand_executor_service.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/strand_executor_service.ipp
index 70d72e2b80..de009063e2 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/strand_executor_service.ipp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/strand_executor_service.ipp
@@ -2,7 +2,7 @@
// detail/impl/strand_executor_service.ipp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/strand_service.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/strand_service.hpp
index 0b3a8e4d72..070b1f70a1 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/strand_service.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/strand_service.hpp
@@ -2,7 +2,7 @@
// detail/impl/strand_service.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/strand_service.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/strand_service.ipp
index 51cb45d53c..c7e088b075 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/strand_service.ipp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/strand_service.ipp
@@ -2,7 +2,7 @@
// detail/impl/strand_service.ipp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/thread_context.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/thread_context.ipp
index fcfcc88d7e..4ffbc509cb 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/thread_context.ipp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/thread_context.ipp
@@ -2,7 +2,7 @@
// detail/impl/thread_context.ipp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/throw_error.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/throw_error.ipp
index 2b50d46e43..cee9ee76ed 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/throw_error.ipp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/throw_error.ipp
@@ -2,7 +2,7 @@
// detail/impl/throw_error.ipp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/timer_queue_ptime.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/timer_queue_ptime.ipp
index b256caec74..ad0a10a283 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/timer_queue_ptime.ipp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/timer_queue_ptime.ipp
@@ -2,7 +2,7 @@
// detail/impl/timer_queue_ptime.ipp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/timer_queue_set.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/timer_queue_set.ipp
index 5d61a4cb91..e1db229458 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/timer_queue_set.ipp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/timer_queue_set.ipp
@@ -2,7 +2,7 @@
// detail/impl/timer_queue_set.ipp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_event.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_event.ipp
index 8245da06e0..c86600bd85 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_event.ipp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_event.ipp
@@ -2,7 +2,7 @@
// detail/win_event.ipp
// ~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_iocp_file_service.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_iocp_file_service.ipp
index eeec9559e7..7e47a52139 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_iocp_file_service.ipp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_iocp_file_service.ipp
@@ -2,7 +2,7 @@
// detail/impl/win_iocp_file_service.ipp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -226,7 +226,8 @@ uint64_t win_iocp_file_service::seek(
method = FILE_BEGIN;
break;
case file_base::seek_cur:
- method = FILE_CURRENT;
+ method = FILE_BEGIN;
+ offset = static_cast<int64_t>(impl.offset_) + offset;
break;
case file_base::seek_end:
method = FILE_END;
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_iocp_handle_service.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_iocp_handle_service.ipp
index 33c61def0e..96d07b6119 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_iocp_handle_service.ipp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_iocp_handle_service.ipp
@@ -2,7 +2,7 @@
// detail/impl/win_iocp_handle_service.ipp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// Copyright (c) 2008 Rep Invariant Systems, Inc. (info@repinvariant.com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_iocp_io_context.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_iocp_io_context.hpp
index 932a3b3103..bec39abae1 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_iocp_io_context.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_iocp_io_context.hpp
@@ -2,7 +2,7 @@
// detail/impl/win_iocp_io_context.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_iocp_io_context.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_iocp_io_context.ipp
index 1b4f9187ab..1170b619d5 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_iocp_io_context.ipp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_iocp_io_context.ipp
@@ -2,7 +2,7 @@
// detail/impl/win_iocp_io_context.ipp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -52,7 +52,7 @@ struct win_iocp_io_context::thread_function
struct win_iocp_io_context::work_finished_on_block_exit
{
- ~work_finished_on_block_exit()
+ ~work_finished_on_block_exit() BOOST_ASIO_NOEXCEPT_IF(false)
{
io_context_->work_finished();
}
@@ -169,7 +169,10 @@ void win_iocp_io_context::shutdown()
}
if (timer_thread_.get())
+ {
timer_thread_->join();
+ timer_thread_.reset();
+ }
}
boost::system::error_code win_iocp_io_context::register_handle(
@@ -528,6 +531,7 @@ size_t win_iocp_io_context::do_one(DWORD msec,
DWORD win_iocp_io_context::get_gqcs_timeout()
{
+#if !defined(_WIN32_WINNT) || (_WIN32_WINNT < 0x0600)
OSVERSIONINFOEX osvi;
ZeroMemory(&osvi, sizeof(osvi));
osvi.dwOSVersionInfoSize = sizeof(osvi);
@@ -540,6 +544,9 @@ DWORD win_iocp_io_context::get_gqcs_timeout()
return INFINITE;
return default_gqcs_timeout;
+#else // !defined(_WIN32_WINNT) || (_WIN32_WINNT < 0x0600)
+ return INFINITE;
+#endif // !defined(_WIN32_WINNT) || (_WIN32_WINNT < 0x0600)
}
void win_iocp_io_context::do_add_timer_queue(timer_queue_base& queue)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_iocp_serial_port_service.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_iocp_serial_port_service.ipp
index 713a61ab7e..3102a992d3 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_iocp_serial_port_service.ipp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_iocp_serial_port_service.ipp
@@ -2,7 +2,7 @@
// detail/impl/win_iocp_serial_port_service.ipp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// Copyright (c) 2008 Rep Invariant Systems, Inc. (info@repinvariant.com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_iocp_socket_service_base.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_iocp_socket_service_base.ipp
index 65f05a663e..4b023168a7 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_iocp_socket_service_base.ipp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_iocp_socket_service_base.ipp
@@ -2,7 +2,7 @@
// detail/impl/win_iocp_socket_service_base.ipp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_mutex.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_mutex.ipp
index f08bc8500f..eeb2931589 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_mutex.ipp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_mutex.ipp
@@ -2,7 +2,7 @@
// detail/impl/win_mutex.ipp
// ~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_object_handle_service.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_object_handle_service.ipp
index 92b752f319..5fbd49eb4f 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_object_handle_service.ipp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_object_handle_service.ipp
@@ -2,7 +2,7 @@
// detail/impl/win_object_handle_service.ipp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// Copyright (c) 2011 Boris Schaeling (boris@highscore.de)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_static_mutex.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_static_mutex.ipp
index 6cad7f4ad3..aaef4dd025 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_static_mutex.ipp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_static_mutex.ipp
@@ -2,7 +2,7 @@
// detail/impl/win_static_mutex.ipp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_thread.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_thread.ipp
index ee885ee0df..8a9241a689 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_thread.ipp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_thread.ipp
@@ -2,7 +2,7 @@
// detail/impl/win_thread.ipp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_tss_ptr.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_tss_ptr.ipp
index 545aaf254c..580c7b7e9c 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_tss_ptr.ipp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_tss_ptr.ipp
@@ -2,7 +2,7 @@
// detail/impl/win_tss_ptr.ipp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/winrt_ssocket_service_base.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/winrt_ssocket_service_base.ipp
index 27519d4b46..21198f6671 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/winrt_ssocket_service_base.ipp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/winrt_ssocket_service_base.ipp
@@ -2,7 +2,7 @@
// detail/impl/winrt_ssocket_service_base.ipp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/winrt_timer_scheduler.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/winrt_timer_scheduler.hpp
index c8d42b82bd..4a3b230aba 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/winrt_timer_scheduler.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/winrt_timer_scheduler.hpp
@@ -2,7 +2,7 @@
// detail/impl/winrt_timer_scheduler.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/winrt_timer_scheduler.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/winrt_timer_scheduler.ipp
index acd3e22c4e..d294ac74d7 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/winrt_timer_scheduler.ipp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/winrt_timer_scheduler.ipp
@@ -2,7 +2,7 @@
// detail/impl/winrt_timer_scheduler.ipp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/winsock_init.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/winsock_init.ipp
index 157f1de393..5331bdfdb1 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/winsock_init.ipp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/winsock_init.ipp
@@ -2,7 +2,7 @@
// detail/impl/winsock_init.ipp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/defer.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/initiate_defer.hpp
index 6d4ed402f3..0cc55f74ec 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/impl/defer.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/initiate_defer.hpp
@@ -1,15 +1,15 @@
//
-// impl/defer.hpp
-// ~~~~~~~~~~~~~~
+// detail/initiate_defer.hpp
+// ~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//
-#ifndef BOOST_ASIO_IMPL_DEFER_HPP
-#define BOOST_ASIO_IMPL_DEFER_HPP
+#ifndef BOOST_ASIO_DETAIL_INITIATE_DEFER_HPP
+#define BOOST_ASIO_DETAIL_INITIATE_DEFER_HPP
#if defined(_MSC_VER) && (_MSC_VER >= 1200)
# pragma once
@@ -246,55 +246,9 @@ private:
};
} // namespace detail
-
-template <BOOST_ASIO_COMPLETION_TOKEN_FOR(void()) NullaryToken>
-BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_PREFIX(NullaryToken, void()) defer(
- BOOST_ASIO_MOVE_ARG(NullaryToken) token)
- BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_SUFFIX((
- async_initiate<NullaryToken, void()>(
- declval<detail::initiate_defer>(), token)))
-{
- return async_initiate<NullaryToken, void()>(
- detail::initiate_defer(), token);
-}
-
-template <typename Executor,
- BOOST_ASIO_COMPLETION_TOKEN_FOR(void()) NullaryToken>
-BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_PREFIX(NullaryToken, void()) defer(
- const Executor& ex, BOOST_ASIO_MOVE_ARG(NullaryToken) token,
- typename constraint<
- (execution::is_executor<Executor>::value
- && can_require<Executor, execution::blocking_t::never_t>::value)
- || is_executor<Executor>::value
- >::type)
- BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_SUFFIX((
- async_initiate<NullaryToken, void()>(
- declval<detail::initiate_defer_with_executor<Executor> >(), token)))
-{
- return async_initiate<NullaryToken, void()>(
- detail::initiate_defer_with_executor<Executor>(ex), token);
-}
-
-template <typename ExecutionContext,
- BOOST_ASIO_COMPLETION_TOKEN_FOR(void()) NullaryToken>
-inline BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_PREFIX(NullaryToken, void()) defer(
- ExecutionContext& ctx, BOOST_ASIO_MOVE_ARG(NullaryToken) token,
- typename constraint<is_convertible<
- ExecutionContext&, execution_context&>::value>::type)
- BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_SUFFIX((
- async_initiate<NullaryToken, void()>(
- declval<detail::initiate_defer_with_executor<
- typename ExecutionContext::executor_type> >(), token)))
-{
- return async_initiate<NullaryToken, void()>(
- detail::initiate_defer_with_executor<
- typename ExecutionContext::executor_type>(
- ctx.get_executor()), token);
-}
-
} // namespace asio
} // namespace boost
#include <boost/asio/detail/pop_options.hpp>
-#endif // BOOST_ASIO_IMPL_DEFER_HPP
+#endif // BOOST_ASIO_DETAIL_INITIATE_DEFER_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/dispatch.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/initiate_dispatch.hpp
index 4874f5725c..dfa801b753 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/impl/dispatch.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/initiate_dispatch.hpp
@@ -1,15 +1,15 @@
//
-// impl/dispatch.hpp
-// ~~~~~~~~~~~~~~~~~
+// detail/initiate_dispatch.hpp
+// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//
-#ifndef BOOST_ASIO_IMPL_DISPATCH_HPP
-#define BOOST_ASIO_IMPL_DISPATCH_HPP
+#ifndef BOOST_ASIO_DETAIL_INITIATE_DISPATCH_HPP
+#define BOOST_ASIO_DETAIL_INITIATE_DISPATCH_HPP
#if defined(_MSC_VER) && (_MSC_VER >= 1200)
# pragma once
@@ -223,53 +223,9 @@ private:
};
} // namespace detail
-
-template <BOOST_ASIO_COMPLETION_TOKEN_FOR(void()) NullaryToken>
-BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_PREFIX(NullaryToken, void()) dispatch(
- BOOST_ASIO_MOVE_ARG(NullaryToken) token)
- BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_SUFFIX((
- async_initiate<NullaryToken, void()>(
- declval<detail::initiate_dispatch>(), token)))
-{
- return async_initiate<NullaryToken, void()>(
- detail::initiate_dispatch(), token);
-}
-
-template <typename Executor,
- BOOST_ASIO_COMPLETION_TOKEN_FOR(void()) NullaryToken>
-BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_PREFIX(NullaryToken, void()) dispatch(
- const Executor& ex, BOOST_ASIO_MOVE_ARG(NullaryToken) token,
- typename constraint<
- execution::is_executor<Executor>::value || is_executor<Executor>::value
- >::type)
- BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_SUFFIX((
- async_initiate<NullaryToken, void()>(
- declval<detail::initiate_dispatch_with_executor<Executor> >(), token)))
-{
- return async_initiate<NullaryToken, void()>(
- detail::initiate_dispatch_with_executor<Executor>(ex), token);
-}
-
-template <typename ExecutionContext,
- BOOST_ASIO_COMPLETION_TOKEN_FOR(void()) NullaryToken>
-inline BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_PREFIX(NullaryToken, void()) dispatch(
- ExecutionContext& ctx, BOOST_ASIO_MOVE_ARG(NullaryToken) token,
- typename constraint<is_convertible<
- ExecutionContext&, execution_context&>::value>::type)
- BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_SUFFIX((
- async_initiate<NullaryToken, void()>(
- declval<detail::initiate_dispatch_with_executor<
- typename ExecutionContext::executor_type> >(), token)))
-{
- return async_initiate<NullaryToken, void()>(
- detail::initiate_dispatch_with_executor<
- typename ExecutionContext::executor_type>(
- ctx.get_executor()), token);
-}
-
} // namespace asio
} // namespace boost
#include <boost/asio/detail/pop_options.hpp>
-#endif // BOOST_ASIO_IMPL_DISPATCH_HPP
+#endif // BOOST_ASIO_DETAIL_INITIATE_DISPATCH_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/post.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/initiate_post.hpp
index d2219d3e59..98886424dc 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/impl/post.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/initiate_post.hpp
@@ -1,15 +1,15 @@
//
-// impl/post.hpp
-// ~~~~~~~~~~~~~
+// detail/initiate_post.hpp
+// ~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//
-#ifndef BOOST_ASIO_IMPL_POST_HPP
-#define BOOST_ASIO_IMPL_POST_HPP
+#ifndef BOOST_ASIO_DETAIL_INITIATE_POST_HPP
+#define BOOST_ASIO_DETAIL_INITIATE_POST_HPP
#if defined(_MSC_VER) && (_MSC_VER >= 1200)
# pragma once
@@ -246,55 +246,9 @@ private:
};
} // namespace detail
-
-template <BOOST_ASIO_COMPLETION_TOKEN_FOR(void()) NullaryToken>
-BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_PREFIX(NullaryToken, void()) post(
- BOOST_ASIO_MOVE_ARG(NullaryToken) token)
- BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_SUFFIX((
- async_initiate<NullaryToken, void()>(
- declval<detail::initiate_post>(), token)))
-{
- return async_initiate<NullaryToken, void()>(
- detail::initiate_post(), token);
-}
-
-template <typename Executor,
- BOOST_ASIO_COMPLETION_TOKEN_FOR(void()) NullaryToken>
-BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_PREFIX(NullaryToken, void()) post(
- const Executor& ex, BOOST_ASIO_MOVE_ARG(NullaryToken) token,
- typename constraint<
- (execution::is_executor<Executor>::value
- && can_require<Executor, execution::blocking_t::never_t>::value)
- || is_executor<Executor>::value
- >::type)
- BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_SUFFIX((
- async_initiate<NullaryToken, void()>(
- declval<detail::initiate_post_with_executor<Executor> >(), token)))
-{
- return async_initiate<NullaryToken, void()>(
- detail::initiate_post_with_executor<Executor>(ex), token);
-}
-
-template <typename ExecutionContext,
- BOOST_ASIO_COMPLETION_TOKEN_FOR(void()) NullaryToken>
-inline BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_PREFIX(NullaryToken, void()) post(
- ExecutionContext& ctx, BOOST_ASIO_MOVE_ARG(NullaryToken) token,
- typename constraint<is_convertible<
- ExecutionContext&, execution_context&>::value>::type)
- BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_SUFFIX((
- async_initiate<NullaryToken, void()>(
- declval<detail::initiate_post_with_executor<
- typename ExecutionContext::executor_type> >(), token)))
-{
- return async_initiate<NullaryToken, void()>(
- detail::initiate_post_with_executor<
- typename ExecutionContext::executor_type>(
- ctx.get_executor()), token);
-}
-
} // namespace asio
} // namespace boost
#include <boost/asio/detail/pop_options.hpp>
-#endif // BOOST_ASIO_IMPL_POST_HPP
+#endif // BOOST_ASIO_DETAIL_INITIATE_POST_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/io_control.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/io_control.hpp
index 185b2033fb..efcd161a1e 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/io_control.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/io_control.hpp
@@ -2,7 +2,7 @@
// detail/io_control.hpp
// ~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/io_object_impl.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/io_object_impl.hpp
index 844fbcf3dd..e48769349e 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/io_object_impl.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/io_object_impl.hpp
@@ -2,7 +2,7 @@
// io_object_impl.hpp
// ~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_descriptor_read_at_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_descriptor_read_at_op.hpp
index c8dc865465..04c9e4f197 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_descriptor_read_at_op.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_descriptor_read_at_op.hpp
@@ -2,7 +2,7 @@
// detail/io_uring_descriptor_read_at_op.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -55,6 +55,7 @@ public:
static void do_prepare(io_uring_operation* base, ::io_uring_sqe* sqe)
{
+ BOOST_ASIO_ASSUME(base != 0);
io_uring_descriptor_read_at_op_base* o(
static_cast<io_uring_descriptor_read_at_op_base*>(base));
@@ -77,6 +78,7 @@ public:
static bool do_perform(io_uring_operation* base, bool after_completion)
{
+ BOOST_ASIO_ASSUME(base != 0);
io_uring_descriptor_read_at_op_base* o(
static_cast<io_uring_descriptor_read_at_op_base*>(base));
@@ -144,6 +146,7 @@ public:
std::size_t /*bytes_transferred*/)
{
// Take ownership of the handler object.
+ BOOST_ASIO_ASSUME(base != 0);
io_uring_descriptor_read_at_op* o
(static_cast<io_uring_descriptor_read_at_op*>(base));
ptr p = { boost::asio::detail::addressof(o->handler_), o, o };
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_descriptor_read_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_descriptor_read_op.hpp
index 855e388337..2457541147 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_descriptor_read_op.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_descriptor_read_op.hpp
@@ -2,7 +2,7 @@
// detail/io_uring_descriptor_read_op.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -52,6 +52,7 @@ public:
static void do_prepare(io_uring_operation* base, ::io_uring_sqe* sqe)
{
+ BOOST_ASIO_ASSUME(base != 0);
io_uring_descriptor_read_op_base* o(
static_cast<io_uring_descriptor_read_op_base*>(base));
@@ -74,6 +75,7 @@ public:
static bool do_perform(io_uring_operation* base, bool after_completion)
{
+ BOOST_ASIO_ASSUME(base != 0);
io_uring_descriptor_read_op_base* o(
static_cast<io_uring_descriptor_read_op_base*>(base));
@@ -139,6 +141,7 @@ public:
std::size_t /*bytes_transferred*/)
{
// Take ownership of the handler object.
+ BOOST_ASIO_ASSUME(base != 0);
io_uring_descriptor_read_op* o
(static_cast<io_uring_descriptor_read_op*>(base));
ptr p = { boost::asio::detail::addressof(o->handler_), o, o };
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_descriptor_service.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_descriptor_service.hpp
index 429c2748bc..91be2ac818 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_descriptor_service.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_descriptor_service.hpp
@@ -2,7 +2,7 @@
// detail/io_uring_descriptor_service.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -120,6 +120,14 @@ public:
// Release ownership of the native descriptor representation.
BOOST_ASIO_DECL native_handle_type release(implementation_type& impl);
+ // Release ownership of the native descriptor representation.
+ native_handle_type release(implementation_type& impl,
+ boost::system::error_code& ec)
+ {
+ ec = success_ec_;
+ return release(impl);
+ }
+
// Cancel all operations associated with the descriptor.
BOOST_ASIO_DECL boost::system::error_code cancel(implementation_type& impl,
boost::system::error_code& ec);
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_descriptor_write_at_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_descriptor_write_at_op.hpp
index 2708eda7ba..3cf22040fc 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_descriptor_write_at_op.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_descriptor_write_at_op.hpp
@@ -2,7 +2,7 @@
// detail/io_uring_descriptor_write_at_op.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -54,6 +54,7 @@ public:
static void do_prepare(io_uring_operation* base, ::io_uring_sqe* sqe)
{
+ BOOST_ASIO_ASSUME(base != 0);
io_uring_descriptor_write_at_op_base* o(
static_cast<io_uring_descriptor_write_at_op_base*>(base));
@@ -76,6 +77,7 @@ public:
static bool do_perform(io_uring_operation* base, bool after_completion)
{
+ BOOST_ASIO_ASSUME(base != 0);
io_uring_descriptor_write_at_op_base* o(
static_cast<io_uring_descriptor_write_at_op_base*>(base));
@@ -138,6 +140,7 @@ public:
std::size_t /*bytes_transferred*/)
{
// Take ownership of the handler object.
+ BOOST_ASIO_ASSUME(base != 0);
io_uring_descriptor_write_at_op* o
(static_cast<io_uring_descriptor_write_at_op*>(base));
ptr p = { boost::asio::detail::addressof(o->handler_), o, o };
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_descriptor_write_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_descriptor_write_op.hpp
index 57082b4e1b..1bd7d4a0cb 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_descriptor_write_op.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_descriptor_write_op.hpp
@@ -2,7 +2,7 @@
// detail/io_uring_descriptor_write_op.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -52,6 +52,7 @@ public:
static void do_prepare(io_uring_operation* base, ::io_uring_sqe* sqe)
{
+ BOOST_ASIO_ASSUME(base != 0);
io_uring_descriptor_write_op_base* o(
static_cast<io_uring_descriptor_write_op_base*>(base));
@@ -74,6 +75,7 @@ public:
static bool do_perform(io_uring_operation* base, bool after_completion)
{
+ BOOST_ASIO_ASSUME(base != 0);
io_uring_descriptor_write_op_base* o(
static_cast<io_uring_descriptor_write_op_base*>(base));
@@ -134,6 +136,7 @@ public:
std::size_t /*bytes_transferred*/)
{
// Take ownership of the handler object.
+ BOOST_ASIO_ASSUME(base != 0);
io_uring_descriptor_write_op* o
(static_cast<io_uring_descriptor_write_op*>(base));
ptr p = { boost::asio::detail::addressof(o->handler_), o, o };
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_file_service.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_file_service.hpp
index d1b97fb3c1..142d62e8aa 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_file_service.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_file_service.hpp
@@ -2,7 +2,7 @@
// detail/io_uring_file_service.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -132,8 +132,7 @@ public:
native_handle_type release(implementation_type& impl,
boost::system::error_code& ec)
{
- ec = success_ec_;
- return descriptor_service_.release(impl);
+ return descriptor_service_.release(impl, ec);
}
// Cancel all operations associated with the file.
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_null_buffers_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_null_buffers_op.hpp
index a3c47090eb..1d9ebbfbf3 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_null_buffers_op.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_null_buffers_op.hpp
@@ -2,7 +2,7 @@
// detail/io_uring_null_buffers_op.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -51,6 +51,7 @@ public:
static void do_prepare(io_uring_operation* base, ::io_uring_sqe* sqe)
{
+ BOOST_ASIO_ASSUME(base != 0);
io_uring_null_buffers_op* o(static_cast<io_uring_null_buffers_op*>(base));
::io_uring_prep_poll_add(sqe, o->descriptor_, o->poll_flags_);
@@ -66,6 +67,7 @@ public:
std::size_t /*bytes_transferred*/)
{
// Take ownership of the handler object.
+ BOOST_ASIO_ASSUME(base != 0);
io_uring_null_buffers_op* o(static_cast<io_uring_null_buffers_op*>(base));
ptr p = { boost::asio::detail::addressof(o->handler_), o, o };
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_operation.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_operation.hpp
index 4d49f138fb..56258edb58 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_operation.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_operation.hpp
@@ -2,7 +2,7 @@
// detail/io_uring_operation.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_service.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_service.hpp
index a48796c2fd..51bc0d273b 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_service.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_service.hpp
@@ -2,7 +2,7 @@
// detail/io_uring_service.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -213,8 +213,9 @@ private:
BOOST_ASIO_DECL void free_io_object(io_object* s);
// Helper function to cancel all operations associated with the given I/O
- // object. This function does not acquire the I/O object's mutex.
- BOOST_ASIO_DECL void do_cancel_ops(
+ // object. This function must be called while the I/O object's mutex is held.
+ // Returns true if there are operations for which cancellation is pending.
+ BOOST_ASIO_DECL bool do_cancel_ops(
per_io_object_data& io_obj, op_queue<operation>& ops);
// Helper function to add a new timer queue.
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_socket_accept_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_socket_accept_op.hpp
index ee66fb2b60..cffcf8255b 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_socket_accept_op.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_socket_accept_op.hpp
@@ -2,7 +2,7 @@
// detail/io_uring_socket_accept_op.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -57,6 +57,7 @@ public:
static void do_prepare(io_uring_operation* base, ::io_uring_sqe* sqe)
{
+ BOOST_ASIO_ASSUME(base != 0);
io_uring_socket_accept_op_base* o(
static_cast<io_uring_socket_accept_op_base*>(base));
@@ -74,6 +75,7 @@ public:
static bool do_perform(io_uring_operation* base, bool after_completion)
{
+ BOOST_ASIO_ASSUME(base != 0);
io_uring_socket_accept_op_base* o(
static_cast<io_uring_socket_accept_op_base*>(base));
@@ -148,6 +150,7 @@ public:
std::size_t /*bytes_transferred*/)
{
// Take ownership of the handler object.
+ BOOST_ASIO_ASSUME(base != 0);
io_uring_socket_accept_op* o(static_cast<io_uring_socket_accept_op*>(base));
ptr p = { boost::asio::detail::addressof(o->handler_), o, o };
@@ -222,6 +225,7 @@ public:
std::size_t /*bytes_transferred*/)
{
// Take ownership of the handler object.
+ BOOST_ASIO_ASSUME(base != 0);
io_uring_socket_move_accept_op* o(
static_cast<io_uring_socket_move_accept_op*>(base));
ptr p = { boost::asio::detail::addressof(o->handler_), o, o };
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_socket_connect_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_socket_connect_op.hpp
index 70d818ef3a..37c946ca25 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_socket_connect_op.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_socket_connect_op.hpp
@@ -2,7 +2,7 @@
// detail/io_uring_socket_connect_op.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -51,6 +51,7 @@ public:
static void do_prepare(io_uring_operation* base, ::io_uring_sqe* sqe)
{
+ BOOST_ASIO_ASSUME(base != 0);
io_uring_socket_connect_op_base* o(
static_cast<io_uring_socket_connect_op_base*>(base));
@@ -91,6 +92,7 @@ public:
std::size_t /*bytes_transferred*/)
{
// Take ownership of the handler object.
+ BOOST_ASIO_ASSUME(base != 0);
io_uring_socket_connect_op* o
(static_cast<io_uring_socket_connect_op*>(base));
ptr p = { boost::asio::detail::addressof(o->handler_), o, o };
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_socket_recv_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_socket_recv_op.hpp
index 68f48b5c15..eb437856de 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_socket_recv_op.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_socket_recv_op.hpp
@@ -2,7 +2,7 @@
// detail/io_uring_socket_recv_op.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -57,6 +57,7 @@ public:
static void do_prepare(io_uring_operation* base, ::io_uring_sqe* sqe)
{
+ BOOST_ASIO_ASSUME(base != 0);
io_uring_socket_recv_op_base* o(
static_cast<io_uring_socket_recv_op_base*>(base));
@@ -80,6 +81,7 @@ public:
static bool do_perform(io_uring_operation* base, bool after_completion)
{
+ BOOST_ASIO_ASSUME(base != 0);
io_uring_socket_recv_op_base* o(
static_cast<io_uring_socket_recv_op_base*>(base));
@@ -154,6 +156,7 @@ public:
std::size_t /*bytes_transferred*/)
{
// Take ownership of the handler object.
+ BOOST_ASIO_ASSUME(base != 0);
io_uring_socket_recv_op* o
(static_cast<io_uring_socket_recv_op*>(base));
ptr p = { boost::asio::detail::addressof(o->handler_), o, o };
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_socket_recvfrom_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_socket_recvfrom_op.hpp
index 131134f42f..67aa18bfbc 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_socket_recvfrom_op.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_socket_recvfrom_op.hpp
@@ -2,7 +2,7 @@
// detail/io_uring_socket_recvfrom_op.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -61,6 +61,7 @@ public:
static void do_prepare(io_uring_operation* base, ::io_uring_sqe* sqe)
{
+ BOOST_ASIO_ASSUME(base != 0);
io_uring_socket_recvfrom_op_base* o(
static_cast<io_uring_socket_recvfrom_op_base*>(base));
@@ -77,6 +78,7 @@ public:
static bool do_perform(io_uring_operation* base, bool after_completion)
{
+ BOOST_ASIO_ASSUME(base != 0);
io_uring_socket_recvfrom_op_base* o(
static_cast<io_uring_socket_recvfrom_op_base*>(base));
@@ -155,6 +157,7 @@ public:
std::size_t /*bytes_transferred*/)
{
// Take ownership of the handler object.
+ BOOST_ASIO_ASSUME(base != 0);
io_uring_socket_recvfrom_op* o
(static_cast<io_uring_socket_recvfrom_op*>(base));
ptr p = { boost::asio::detail::addressof(o->handler_), o, o };
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_socket_recvmsg_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_socket_recvmsg_op.hpp
index db911b0884..49c58fdda6 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_socket_recvmsg_op.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_socket_recvmsg_op.hpp
@@ -2,7 +2,7 @@
// detail/io_uring_socket_recvmsg_op.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -58,6 +58,7 @@ public:
static void do_prepare(io_uring_operation* base, ::io_uring_sqe* sqe)
{
+ BOOST_ASIO_ASSUME(base != 0);
io_uring_socket_recvmsg_op_base* o(
static_cast<io_uring_socket_recvmsg_op_base*>(base));
@@ -74,6 +75,7 @@ public:
static bool do_perform(io_uring_operation* base, bool after_completion)
{
+ BOOST_ASIO_ASSUME(base != 0);
io_uring_socket_recvmsg_op_base* o(
static_cast<io_uring_socket_recvmsg_op_base*>(base));
@@ -141,6 +143,7 @@ public:
std::size_t /*bytes_transferred*/)
{
// Take ownership of the handler object.
+ BOOST_ASIO_ASSUME(base != 0);
io_uring_socket_recvmsg_op* o
(static_cast<io_uring_socket_recvmsg_op*>(base));
ptr p = { boost::asio::detail::addressof(o->handler_), o, o };
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_socket_send_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_socket_send_op.hpp
index 6658a4b6bf..e0d2756c3c 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_socket_send_op.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_socket_send_op.hpp
@@ -2,7 +2,7 @@
// detail/io_uring_socket_send_op.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -57,6 +57,7 @@ public:
static void do_prepare(io_uring_operation* base, ::io_uring_sqe* sqe)
{
+ BOOST_ASIO_ASSUME(base != 0);
io_uring_socket_send_op_base* o(
static_cast<io_uring_socket_send_op_base*>(base));
@@ -79,6 +80,7 @@ public:
static bool do_perform(io_uring_operation* base, bool after_completion)
{
+ BOOST_ASIO_ASSUME(base != 0);
io_uring_socket_send_op_base* o(
static_cast<io_uring_socket_send_op_base*>(base));
@@ -140,6 +142,7 @@ public:
std::size_t /*bytes_transferred*/)
{
// Take ownership of the handler object.
+ BOOST_ASIO_ASSUME(base != 0);
io_uring_socket_send_op* o
(static_cast<io_uring_socket_send_op*>(base));
ptr p = { boost::asio::detail::addressof(o->handler_), o, o };
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_socket_sendto_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_socket_sendto_op.hpp
index f7ebd2aeb2..cb1d98e69c 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_socket_sendto_op.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_socket_sendto_op.hpp
@@ -2,7 +2,7 @@
// detail/io_uring_socket_sendto_op.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -61,6 +61,7 @@ public:
static void do_prepare(io_uring_operation* base, ::io_uring_sqe* sqe)
{
+ BOOST_ASIO_ASSUME(base != 0);
io_uring_socket_sendto_op_base* o(
static_cast<io_uring_socket_sendto_op_base*>(base));
@@ -76,6 +77,7 @@ public:
static bool do_perform(io_uring_operation* base, bool after_completion)
{
+ BOOST_ASIO_ASSUME(base != 0);
io_uring_socket_sendto_op_base* o(
static_cast<io_uring_socket_sendto_op_base*>(base));
@@ -143,6 +145,7 @@ public:
std::size_t /*bytes_transferred*/)
{
// Take ownership of the handler object.
+ BOOST_ASIO_ASSUME(base != 0);
io_uring_socket_sendto_op* o
(static_cast<io_uring_socket_sendto_op*>(base));
ptr p = { boost::asio::detail::addressof(o->handler_), o, o };
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_socket_service.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_socket_service.hpp
index 04f65df2ae..5193e19e8b 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_socket_service.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_socket_service.hpp
@@ -2,7 +2,7 @@
// detail/io_uring_socket_service.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_socket_service_base.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_socket_service_base.hpp
index 40c1fa26ef..53d3a68933 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_socket_service_base.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_socket_service_base.hpp
@@ -2,7 +2,7 @@
// detail/io_uring_socket_service_base.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_wait_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_wait_op.hpp
index 53e459bc6b..bf1a9efb3c 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_wait_op.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/io_uring_wait_op.hpp
@@ -2,7 +2,7 @@
// detail/io_uring_wait_op.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -49,6 +49,7 @@ public:
static void do_prepare(io_uring_operation* base, ::io_uring_sqe* sqe)
{
+ BOOST_ASIO_ASSUME(base != 0);
io_uring_wait_op* o(static_cast<io_uring_wait_op*>(base));
::io_uring_prep_poll_add(sqe, o->descriptor_, o->poll_flags_);
@@ -64,6 +65,7 @@ public:
std::size_t /*bytes_transferred*/)
{
// Take ownership of the handler object.
+ BOOST_ASIO_ASSUME(base != 0);
io_uring_wait_op* o(static_cast<io_uring_wait_op*>(base));
ptr p = { boost::asio::detail::addressof(o->handler_), o, o };
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/is_buffer_sequence.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/is_buffer_sequence.hpp
index 16c62596f1..df4f5b70c9 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/is_buffer_sequence.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/is_buffer_sequence.hpp
@@ -2,7 +2,7 @@
// detail/is_buffer_sequence.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/is_executor.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/is_executor.hpp
index 326480e3d8..8d3f3468aa 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/is_executor.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/is_executor.hpp
@@ -2,7 +2,7 @@
// detail/is_executor.hpp
// ~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/keyword_tss_ptr.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/keyword_tss_ptr.hpp
index a72e3c0929..6b8e3b7d18 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/keyword_tss_ptr.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/keyword_tss_ptr.hpp
@@ -2,7 +2,7 @@
// detail/keyword_tss_ptr.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/kqueue_reactor.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/kqueue_reactor.hpp
index 89f99f98f8..665914333b 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/kqueue_reactor.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/kqueue_reactor.hpp
@@ -2,7 +2,7 @@
// detail/kqueue_reactor.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// Copyright (c) 2005 Stefan Arentz (stefan at soze dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
@@ -117,13 +117,30 @@ public:
per_descriptor_data& source_descriptor_data);
// Post a reactor operation for immediate completion.
- void post_immediate_completion(operation* op, bool is_continuation);
+ void post_immediate_completion(operation* op, bool is_continuation) const;
+
+ // Post a reactor operation for immediate completion.
+ BOOST_ASIO_DECL static void call_post_immediate_completion(
+ operation* op, bool is_continuation, const void* self);
// Start a new operation. The reactor operation will be performed when the
// given descriptor is flagged as ready, or an error has occurred.
BOOST_ASIO_DECL void start_op(int op_type, socket_type descriptor,
per_descriptor_data& descriptor_data, reactor_op* op,
- bool is_continuation, bool allow_speculative);
+ bool is_continuation, bool allow_speculative,
+ void (*on_immediate)(operation*, bool, const void*),
+ const void* immediate_arg);
+
+ // Start a new operation. The reactor operation will be performed when the
+ // given descriptor is flagged as ready, or an error has occurred.
+ void start_op(int op_type, socket_type descriptor,
+ per_descriptor_data& descriptor_data, reactor_op* op,
+ bool is_continuation, bool allow_speculative)
+ {
+ start_op(op_type, descriptor, descriptor_data,
+ op, is_continuation, allow_speculative,
+ &kqueue_reactor::call_post_immediate_completion, this);
+ }
// Cancel all operations associated with the given descriptor. The
// handlers associated with the descriptor will be invoked with the
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/local_free_on_block_exit.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/local_free_on_block_exit.hpp
index 073a1c31ca..900b5c2528 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/local_free_on_block_exit.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/local_free_on_block_exit.hpp
@@ -2,7 +2,7 @@
// detail/local_free_on_block_exit.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/macos_fenced_block.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/macos_fenced_block.hpp
index 42636121e7..0fba52894f 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/macos_fenced_block.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/macos_fenced_block.hpp
@@ -2,7 +2,7 @@
// detail/macos_fenced_block.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/memory.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/memory.hpp
index e8828e2c7b..5aec12fc11 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/memory.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/memory.hpp
@@ -2,7 +2,7 @@
// detail/memory.hpp
// ~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/mutex.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/mutex.hpp
index 0c5a4dea7b..3aab47c084 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/mutex.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/mutex.hpp
@@ -2,7 +2,7 @@
// detail/mutex.hpp
// ~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/non_const_lvalue.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/non_const_lvalue.hpp
index 05e2821a13..7b05815c02 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/non_const_lvalue.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/non_const_lvalue.hpp
@@ -2,7 +2,7 @@
// detail/non_const_lvalue.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/noncopyable.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/noncopyable.hpp
index d08d779e0c..4c625a0241 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/noncopyable.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/noncopyable.hpp
@@ -2,7 +2,7 @@
// detail/noncopyable.hpp
// ~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/null_event.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/null_event.hpp
index 4f9d4c7845..1a6dcb7090 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/null_event.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/null_event.hpp
@@ -2,7 +2,7 @@
// detail/null_event.hpp
// ~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/null_fenced_block.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/null_fenced_block.hpp
index 1f8cf227f2..d79edc3173 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/null_fenced_block.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/null_fenced_block.hpp
@@ -2,7 +2,7 @@
// detail/null_fenced_block.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/null_global.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/null_global.hpp
index 686390382c..c65c77d1b2 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/null_global.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/null_global.hpp
@@ -2,7 +2,7 @@
// detail/null_global.hpp
// ~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/null_mutex.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/null_mutex.hpp
index 4517c51050..c43168f066 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/null_mutex.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/null_mutex.hpp
@@ -2,7 +2,7 @@
// detail/null_mutex.hpp
// ~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/null_reactor.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/null_reactor.hpp
index 7af42b2959..fde40d70f0 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/null_reactor.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/null_reactor.hpp
@@ -2,7 +2,7 @@
// detail/null_reactor.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/null_signal_blocker.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/null_signal_blocker.hpp
index cf0fc1c931..14d6807ae9 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/null_signal_blocker.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/null_signal_blocker.hpp
@@ -2,7 +2,7 @@
// detail/null_signal_blocker.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/null_socket_service.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/null_socket_service.hpp
index f43ddf949c..551f3febf9 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/null_socket_service.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/null_socket_service.hpp
@@ -2,7 +2,7 @@
// detail/null_socket_service.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/null_static_mutex.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/null_static_mutex.hpp
index ab7206a728..08f31aa805 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/null_static_mutex.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/null_static_mutex.hpp
@@ -2,7 +2,7 @@
// detail/null_static_mutex.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/null_thread.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/null_thread.hpp
index d9759dd416..973535718d 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/null_thread.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/null_thread.hpp
@@ -2,7 +2,7 @@
// detail/null_thread.hpp
// ~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/null_tss_ptr.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/null_tss_ptr.hpp
index f31d192fa9..4f7738934d 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/null_tss_ptr.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/null_tss_ptr.hpp
@@ -2,7 +2,7 @@
// detail/null_tss_ptr.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/object_pool.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/object_pool.hpp
index 9573f9595f..4243e90a72 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/object_pool.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/object_pool.hpp
@@ -2,7 +2,7 @@
// detail/object_pool.hpp
// ~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/old_win_sdk_compat.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/old_win_sdk_compat.hpp
index 780570020a..d494ac251e 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/old_win_sdk_compat.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/old_win_sdk_compat.hpp
@@ -2,7 +2,7 @@
// detail/old_win_sdk_compat.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/op_queue.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/op_queue.hpp
index c946032658..4f7b14250b 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/op_queue.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/op_queue.hpp
@@ -2,7 +2,7 @@
// detail/op_queue.hpp
// ~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/operation.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/operation.hpp
index d52afc5fcd..088a92a404 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/operation.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/operation.hpp
@@ -2,7 +2,7 @@
// detail/operation.hpp
// ~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/pipe_select_interrupter.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/pipe_select_interrupter.hpp
index 4360dacbd0..141818764e 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/pipe_select_interrupter.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/pipe_select_interrupter.hpp
@@ -2,7 +2,7 @@
// detail/pipe_select_interrupter.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/pop_options.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/pop_options.hpp
index e73dea0d16..b119ae80fb 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/pop_options.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/pop_options.hpp
@@ -2,7 +2,7 @@
// detail/pop_options.hpp
// ~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/posix_event.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/posix_event.hpp
index a832dc5212..caf80e70b5 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/posix_event.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/posix_event.hpp
@@ -2,7 +2,7 @@
// detail/posix_event.hpp
// ~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/posix_fd_set_adapter.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/posix_fd_set_adapter.hpp
index 7d3151594d..3cd3887c0f 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/posix_fd_set_adapter.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/posix_fd_set_adapter.hpp
@@ -2,7 +2,7 @@
// detail/posix_fd_set_adapter.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/posix_global.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/posix_global.hpp
index 9ac9f4895e..3e9e3a380f 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/posix_global.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/posix_global.hpp
@@ -2,7 +2,7 @@
// detail/posix_global.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/posix_mutex.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/posix_mutex.hpp
index ad0354acfe..6c09b8445e 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/posix_mutex.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/posix_mutex.hpp
@@ -2,7 +2,7 @@
// detail/posix_mutex.hpp
// ~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/posix_serial_port_service.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/posix_serial_port_service.hpp
index c4e8490451..61552c95e5 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/posix_serial_port_service.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/posix_serial_port_service.hpp
@@ -2,7 +2,7 @@
// detail/posix_serial_port_service.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// Copyright (c) 2008 Rep Invariant Systems, Inc. (info@repinvariant.com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/posix_signal_blocker.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/posix_signal_blocker.hpp
index 62173c4c37..168fe351d8 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/posix_signal_blocker.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/posix_signal_blocker.hpp
@@ -2,7 +2,7 @@
// detail/posix_signal_blocker.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/posix_static_mutex.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/posix_static_mutex.hpp
index 2faf5f22d3..a722ae82f0 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/posix_static_mutex.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/posix_static_mutex.hpp
@@ -2,7 +2,7 @@
// detail/posix_static_mutex.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/posix_thread.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/posix_thread.hpp
index 23c5b6e7f1..b5f12d14be 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/posix_thread.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/posix_thread.hpp
@@ -2,7 +2,7 @@
// detail/posix_thread.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/posix_tss_ptr.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/posix_tss_ptr.hpp
index 224bef78cb..9d8560d62e 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/posix_tss_ptr.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/posix_tss_ptr.hpp
@@ -2,7 +2,7 @@
// detail/posix_tss_ptr.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/push_options.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/push_options.hpp
index b8edfaa4a5..8c3982a760 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/push_options.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/push_options.hpp
@@ -2,7 +2,7 @@
// detail/push_options.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_descriptor_service.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_descriptor_service.hpp
index 09f5a5d072..3a0e8b6e88 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_descriptor_service.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_descriptor_service.hpp
@@ -2,7 +2,7 @@
// detail/reactive_descriptor_service.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -23,6 +23,7 @@
&& !defined(BOOST_ASIO_HAS_IO_URING_AS_DEFAULT)
#include <boost/asio/associated_cancellation_slot.hpp>
+#include <boost/asio/associated_immediate_executor.hpp>
#include <boost/asio/buffer.hpp>
#include <boost/asio/cancellation_type.hpp>
#include <boost/asio/execution_context.hpp>
@@ -228,19 +229,20 @@ public:
switch (w)
{
case posix::descriptor_base::wait_read:
- op_type = reactor::read_op;
- break;
+ op_type = reactor::read_op;
+ break;
case posix::descriptor_base::wait_write:
- op_type = reactor::write_op;
- break;
+ op_type = reactor::write_op;
+ break;
case posix::descriptor_base::wait_error:
- op_type = reactor::except_op;
- break;
- default:
- p.p->ec_ = boost::asio::error::invalid_argument;
- reactor_.post_immediate_completion(p.p, is_continuation);
- p.v = p.p = 0;
- return;
+ op_type = reactor::except_op;
+ break;
+ default:
+ p.p->ec_ = boost::asio::error::invalid_argument;
+ start_op(impl, reactor::read_op, p.p,
+ is_continuation, false, true, &io_ex, 0);
+ p.v = p.p = 0;
+ return;
}
// Optionally register for per-operation cancellation.
@@ -251,7 +253,7 @@ public:
&reactor_, &impl.reactor_data_, impl.descriptor_, op_type);
}
- start_op(impl, op_type, p.p, is_continuation, false, false);
+ start_op(impl, op_type, p.p, is_continuation, false, false, &io_ex, 0);
p.v = p.p = 0;
}
@@ -325,7 +327,7 @@ public:
start_op(impl, reactor::write_op, p.p, is_continuation, true,
buffer_sequence_adapter<boost::asio::const_buffer,
- ConstBufferSequence>::all_empty(buffers));
+ ConstBufferSequence>::all_empty(buffers), &io_ex, 0);
p.v = p.p = 0;
}
@@ -358,7 +360,8 @@ public:
BOOST_ASIO_HANDLER_CREATION((reactor_.context(), *p.p, "descriptor",
&impl, impl.descriptor_, "async_write_some(null_buffers)"));
- start_op(impl, reactor::write_op, p.p, is_continuation, false, false);
+ start_op(impl, reactor::write_op, p.p,
+ is_continuation, false, false, &io_ex, 0);
p.v = p.p = 0;
}
@@ -433,7 +436,7 @@ public:
start_op(impl, reactor::read_op, p.p, is_continuation, true,
buffer_sequence_adapter<boost::asio::mutable_buffer,
- MutableBufferSequence>::all_empty(buffers));
+ MutableBufferSequence>::all_empty(buffers), &io_ex, 0);
p.v = p.p = 0;
}
@@ -466,14 +469,47 @@ public:
BOOST_ASIO_HANDLER_CREATION((reactor_.context(), *p.p, "descriptor",
&impl, impl.descriptor_, "async_read_some(null_buffers)"));
- start_op(impl, reactor::read_op, p.p, is_continuation, false, false);
+ start_op(impl, reactor::read_op, p.p,
+ is_continuation, false, false, &io_ex, 0);
p.v = p.p = 0;
}
private:
// Start the asynchronous operation.
- BOOST_ASIO_DECL void start_op(implementation_type& impl, int op_type,
- reactor_op* op, bool is_continuation, bool is_non_blocking, bool noop);
+ BOOST_ASIO_DECL void do_start_op(implementation_type& impl, int op_type,
+ reactor_op* op, bool is_continuation, bool is_non_blocking, bool noop,
+ void (*on_immediate)(operation* op, bool, const void*),
+ const void* immediate_arg);
+
+ // Start the asynchronous operation for handlers that are specialised for
+ // immediate completion.
+ template <typename Op>
+ void start_op(implementation_type& impl, int op_type, Op* op,
+ bool is_continuation, bool is_non_blocking, bool noop,
+ const void* io_ex, ...)
+ {
+ return do_start_op(impl, op_type, op, is_continuation,
+ is_non_blocking, noop, &Op::do_immediate, io_ex);
+ }
+
+ // Start the asynchronous operation for handlers that are not specialised for
+ // immediate completion.
+ template <typename Op>
+ void start_op(implementation_type& impl, int op_type, Op* op,
+ bool is_continuation, bool is_non_blocking, bool noop, const void*,
+ typename enable_if<
+ is_same<
+ typename associated_immediate_executor<
+ typename Op::handler_type,
+ typename Op::io_executor_type
+ >::asio_associated_immediate_executor_is_unspecialised,
+ void
+ >::value
+ >::type*)
+ {
+ return do_start_op(impl, op_type, op, is_continuation, is_non_blocking,
+ noop, &reactor::call_post_immediate_completion, &reactor_);
+ }
// Helper class used to implement per-operation cancellation
class reactor_op_cancellation
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_null_buffers_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_null_buffers_op.hpp
index b39eed530e..23824b8697 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_null_buffers_op.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_null_buffers_op.hpp
@@ -2,7 +2,7 @@
// detail/reactive_null_buffers_op.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -34,6 +34,9 @@ template <typename Handler, typename IoExecutor>
class reactive_null_buffers_op : public reactor_op
{
public:
+ typedef Handler handler_type;
+ typedef IoExecutor io_executor_type;
+
BOOST_ASIO_DEFINE_HANDLER_PTR(reactive_null_buffers_op);
reactive_null_buffers_op(const boost::system::error_code& success_ec,
@@ -55,6 +58,7 @@ public:
std::size_t /*bytes_transferred*/)
{
// Take ownership of the handler object.
+ BOOST_ASIO_ASSUME(base != 0);
reactive_null_buffers_op* o(static_cast<reactive_null_buffers_op*>(base));
ptr p = { boost::asio::detail::addressof(o->handler_), o, o };
@@ -86,6 +90,36 @@ public:
}
}
+ static void do_immediate(operation* base, bool, const void* io_ex)
+ {
+ // Take ownership of the handler object.
+ BOOST_ASIO_ASSUME(base != 0);
+ reactive_null_buffers_op* o(static_cast<reactive_null_buffers_op*>(base));
+ ptr p = { boost::asio::detail::addressof(o->handler_), o, o };
+
+ BOOST_ASIO_HANDLER_COMPLETION((*o));
+
+ // Take ownership of the operation's outstanding work.
+ immediate_handler_work<Handler, IoExecutor> w(
+ BOOST_ASIO_MOVE_CAST2(handler_work<Handler, IoExecutor>)(
+ o->work_));
+
+ // Make a copy of the handler so that the memory can be deallocated before
+ // the upcall is made. Even if we're not about to make an upcall, a
+ // sub-object of the handler may be the true owner of the memory associated
+ // with the handler. Consequently, a local copy of the handler is required
+ // to ensure that any owning sub-object remains valid until after we have
+ // deallocated the memory here.
+ detail::binder2<Handler, boost::system::error_code, std::size_t>
+ handler(o->handler_, o->ec_, o->bytes_transferred_);
+ p.h = boost::asio::detail::addressof(handler.handler_);
+ p.reset();
+
+ BOOST_ASIO_HANDLER_INVOCATION_BEGIN((handler.arg1_, handler.arg2_));
+ w.complete(handler, handler.handler_, io_ex);
+ BOOST_ASIO_HANDLER_INVOCATION_END;
+ }
+
private:
Handler handler_;
handler_work<Handler, IoExecutor> work_;
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_accept_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_accept_op.hpp
index c9cdd59ec2..043ea09668 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_accept_op.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_accept_op.hpp
@@ -2,7 +2,7 @@
// detail/reactive_socket_accept_op.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -53,6 +53,7 @@ public:
static status do_perform(reactor_op* base)
{
+ BOOST_ASIO_ASSUME(base != 0);
reactive_socket_accept_op_base* o(
static_cast<reactive_socket_accept_op_base*>(base));
@@ -96,6 +97,9 @@ class reactive_socket_accept_op :
public reactive_socket_accept_op_base<Socket, Protocol>
{
public:
+ typedef Handler handler_type;
+ typedef IoExecutor io_executor_type;
+
BOOST_ASIO_DEFINE_HANDLER_PTR(reactive_socket_accept_op);
reactive_socket_accept_op(const boost::system::error_code& success_ec,
@@ -115,6 +119,7 @@ public:
std::size_t /*bytes_transferred*/)
{
// Take ownership of the handler object.
+ BOOST_ASIO_ASSUME(base != 0);
reactive_socket_accept_op* o(static_cast<reactive_socket_accept_op*>(base));
ptr p = { boost::asio::detail::addressof(o->handler_), o, o };
@@ -152,6 +157,41 @@ public:
}
}
+ static void do_immediate(operation* base, bool, const void* io_ex)
+ {
+ // Take ownership of the handler object.
+ BOOST_ASIO_ASSUME(base != 0);
+ reactive_socket_accept_op* o(static_cast<reactive_socket_accept_op*>(base));
+ ptr p = { boost::asio::detail::addressof(o->handler_), o, o };
+
+ // On success, assign new connection to peer socket object.
+ o->do_assign();
+
+ BOOST_ASIO_HANDLER_COMPLETION((*o));
+
+ // Take ownership of the operation's outstanding work.
+ immediate_handler_work<Handler, IoExecutor> w(
+ BOOST_ASIO_MOVE_CAST2(handler_work<Handler, IoExecutor>)(
+ o->work_));
+
+ BOOST_ASIO_ERROR_LOCATION(o->ec_);
+
+ // Make a copy of the handler so that the memory can be deallocated before
+ // the upcall is made. Even if we're not about to make an upcall, a
+ // sub-object of the handler may be the true owner of the memory associated
+ // with the handler. Consequently, a local copy of the handler is required
+ // to ensure that any owning sub-object remains valid until after we have
+ // deallocated the memory here.
+ detail::binder1<Handler, boost::system::error_code>
+ handler(o->handler_, o->ec_);
+ p.h = boost::asio::detail::addressof(handler.handler_);
+ p.reset();
+
+ BOOST_ASIO_HANDLER_INVOCATION_BEGIN((handler.arg1_));
+ w.complete(handler, handler.handler_, io_ex);
+ BOOST_ASIO_HANDLER_INVOCATION_END;
+ }
+
private:
Handler handler_;
handler_work<Handler, IoExecutor> work_;
@@ -168,6 +208,9 @@ class reactive_socket_move_accept_op :
Protocol>
{
public:
+ typedef Handler handler_type;
+ typedef IoExecutor io_executor_type;
+
BOOST_ASIO_DEFINE_HANDLER_PTR(reactive_socket_move_accept_op);
reactive_socket_move_accept_op(const boost::system::error_code& success_ec,
@@ -189,6 +232,7 @@ public:
std::size_t /*bytes_transferred*/)
{
// Take ownership of the handler object.
+ BOOST_ASIO_ASSUME(base != 0);
reactive_socket_move_accept_op* o(
static_cast<reactive_socket_move_accept_op*>(base));
ptr p = { boost::asio::detail::addressof(o->handler_), o, o };
@@ -229,6 +273,44 @@ public:
}
}
+ static void do_immediate(operation* base, bool, const void* io_ex)
+ {
+ // Take ownership of the handler object.
+ BOOST_ASIO_ASSUME(base != 0);
+ reactive_socket_move_accept_op* o(
+ static_cast<reactive_socket_move_accept_op*>(base));
+ ptr p = { boost::asio::detail::addressof(o->handler_), o, o };
+
+ // On success, assign new connection to peer socket object.
+ o->do_assign();
+
+ BOOST_ASIO_HANDLER_COMPLETION((*o));
+
+ // Take ownership of the operation's outstanding work.
+ immediate_handler_work<Handler, IoExecutor> w(
+ BOOST_ASIO_MOVE_CAST2(handler_work<Handler, IoExecutor>)(
+ o->work_));
+
+ BOOST_ASIO_ERROR_LOCATION(o->ec_);
+
+ // Make a copy of the handler so that the memory can be deallocated before
+ // the upcall is made. Even if we're not about to make an upcall, a
+ // sub-object of the handler may be the true owner of the memory associated
+ // with the handler. Consequently, a local copy of the handler is required
+ // to ensure that any owning sub-object remains valid until after we have
+ // deallocated the memory here.
+ detail::move_binder2<Handler,
+ boost::system::error_code, peer_socket_type>
+ handler(0, BOOST_ASIO_MOVE_CAST(Handler)(o->handler_), o->ec_,
+ BOOST_ASIO_MOVE_CAST(peer_socket_type)(*o));
+ p.h = boost::asio::detail::addressof(handler.handler_);
+ p.reset();
+
+ BOOST_ASIO_HANDLER_INVOCATION_BEGIN((handler.arg1_, "..."));
+ w.complete(handler, handler.handler_, io_ex);
+ BOOST_ASIO_HANDLER_INVOCATION_END;
+ }
+
private:
typedef typename Protocol::socket::template
rebind_executor<PeerIoExecutor>::other peer_socket_type;
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_connect_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_connect_op.hpp
index 70b0ccf3c1..61cbfd54b5 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_connect_op.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_connect_op.hpp
@@ -2,7 +2,7 @@
// detail/reactive_socket_connect_op.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -44,6 +44,7 @@ public:
static status do_perform(reactor_op* base)
{
+ BOOST_ASIO_ASSUME(base != 0);
reactive_socket_connect_op_base* o(
static_cast<reactive_socket_connect_op_base*>(base));
@@ -63,6 +64,9 @@ template <typename Handler, typename IoExecutor>
class reactive_socket_connect_op : public reactive_socket_connect_op_base
{
public:
+ typedef Handler handler_type;
+ typedef IoExecutor io_executor_type;
+
BOOST_ASIO_DEFINE_HANDLER_PTR(reactive_socket_connect_op);
reactive_socket_connect_op(const boost::system::error_code& success_ec,
@@ -79,6 +83,7 @@ public:
std::size_t /*bytes_transferred*/)
{
// Take ownership of the handler object.
+ BOOST_ASIO_ASSUME(base != 0);
reactive_socket_connect_op* o
(static_cast<reactive_socket_connect_op*>(base));
ptr p = { boost::asio::detail::addressof(o->handler_), o, o };
@@ -113,6 +118,39 @@ public:
}
}
+ static void do_immediate(operation* base, bool, const void* io_ex)
+ {
+ // Take ownership of the handler object.
+ BOOST_ASIO_ASSUME(base != 0);
+ reactive_socket_connect_op* o
+ (static_cast<reactive_socket_connect_op*>(base));
+ ptr p = { boost::asio::detail::addressof(o->handler_), o, o };
+
+ BOOST_ASIO_HANDLER_COMPLETION((*o));
+
+ // Take ownership of the operation's outstanding work.
+ immediate_handler_work<Handler, IoExecutor> w(
+ BOOST_ASIO_MOVE_CAST2(handler_work<Handler, IoExecutor>)(
+ o->work_));
+
+ BOOST_ASIO_ERROR_LOCATION(o->ec_);
+
+ // Make a copy of the handler so that the memory can be deallocated before
+ // the upcall is made. Even if we're not about to make an upcall, a
+ // sub-object of the handler may be the true owner of the memory associated
+ // with the handler. Consequently, a local copy of the handler is required
+ // to ensure that any owning sub-object remains valid until after we have
+ // deallocated the memory here.
+ detail::binder1<Handler, boost::system::error_code>
+ handler(o->handler_, o->ec_);
+ p.h = boost::asio::detail::addressof(handler.handler_);
+ p.reset();
+
+ BOOST_ASIO_HANDLER_INVOCATION_BEGIN((handler.arg1_));
+ w.complete(handler, handler.handler_, io_ex);
+ BOOST_ASIO_HANDLER_INVOCATION_END;
+ }
+
private:
Handler handler_;
handler_work<Handler, IoExecutor> work_;
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_recv_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_recv_op.hpp
index edb8a9e88e..23fb55293a 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_recv_op.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_recv_op.hpp
@@ -2,7 +2,7 @@
// detail/reactive_socket_recv_op.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -51,6 +51,7 @@ public:
static status do_perform(reactor_op* base)
{
+ BOOST_ASIO_ASSUME(base != 0);
reactive_socket_recv_op_base* o(
static_cast<reactive_socket_recv_op_base*>(base));
@@ -98,6 +99,9 @@ class reactive_socket_recv_op :
public reactive_socket_recv_op_base<MutableBufferSequence>
{
public:
+ typedef Handler handler_type;
+ typedef IoExecutor io_executor_type;
+
BOOST_ASIO_DEFINE_HANDLER_PTR(reactive_socket_recv_op);
reactive_socket_recv_op(const boost::system::error_code& success_ec,
@@ -116,6 +120,7 @@ public:
std::size_t /*bytes_transferred*/)
{
// Take ownership of the handler object.
+ BOOST_ASIO_ASSUME(base != 0);
reactive_socket_recv_op* o(static_cast<reactive_socket_recv_op*>(base));
ptr p = { boost::asio::detail::addressof(o->handler_), o, o };
@@ -149,6 +154,38 @@ public:
}
}
+ static void do_immediate(operation* base, bool, const void* io_ex)
+ {
+ // Take ownership of the handler object.
+ BOOST_ASIO_ASSUME(base != 0);
+ reactive_socket_recv_op* o(static_cast<reactive_socket_recv_op*>(base));
+ ptr p = { boost::asio::detail::addressof(o->handler_), o, o };
+
+ BOOST_ASIO_HANDLER_COMPLETION((*o));
+
+ // Take ownership of the operation's outstanding work.
+ immediate_handler_work<Handler, IoExecutor> w(
+ BOOST_ASIO_MOVE_CAST2(handler_work<Handler, IoExecutor>)(
+ o->work_));
+
+ BOOST_ASIO_ERROR_LOCATION(o->ec_);
+
+ // Make a copy of the handler so that the memory can be deallocated before
+ // the upcall is made. Even if we're not about to make an upcall, a
+ // sub-object of the handler may be the true owner of the memory associated
+ // with the handler. Consequently, a local copy of the handler is required
+ // to ensure that any owning sub-object remains valid until after we have
+ // deallocated the memory here.
+ detail::binder2<Handler, boost::system::error_code, std::size_t>
+ handler(o->handler_, o->ec_, o->bytes_transferred_);
+ p.h = boost::asio::detail::addressof(handler.handler_);
+ p.reset();
+
+ BOOST_ASIO_HANDLER_INVOCATION_BEGIN((handler.arg1_, handler.arg2_));
+ w.complete(handler, handler.handler_, io_ex);
+ BOOST_ASIO_HANDLER_INVOCATION_END;
+ }
+
private:
Handler handler_;
handler_work<Handler, IoExecutor> work_;
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_recvfrom_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_recvfrom_op.hpp
index 1a4fd32373..a62e640563 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_recvfrom_op.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_recvfrom_op.hpp
@@ -2,7 +2,7 @@
// detail/reactive_socket_recvfrom_op.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -52,6 +52,7 @@ public:
static status do_perform(reactor_op* base)
{
+ BOOST_ASIO_ASSUME(base != 0);
reactive_socket_recvfrom_op_base* o(
static_cast<reactive_socket_recvfrom_op_base*>(base));
@@ -100,6 +101,9 @@ class reactive_socket_recvfrom_op :
public reactive_socket_recvfrom_op_base<MutableBufferSequence, Endpoint>
{
public:
+ typedef Handler handler_type;
+ typedef IoExecutor io_executor_type;
+
BOOST_ASIO_DEFINE_HANDLER_PTR(reactive_socket_recvfrom_op);
reactive_socket_recvfrom_op(const boost::system::error_code& success_ec,
@@ -120,6 +124,7 @@ public:
std::size_t /*bytes_transferred*/)
{
// Take ownership of the handler object.
+ BOOST_ASIO_ASSUME(base != 0);
reactive_socket_recvfrom_op* o(
static_cast<reactive_socket_recvfrom_op*>(base));
ptr p = { boost::asio::detail::addressof(o->handler_), o, o };
@@ -154,6 +159,39 @@ public:
}
}
+ static void do_immediate(operation* base, bool, const void* io_ex)
+ {
+ // Take ownership of the handler object.
+ BOOST_ASIO_ASSUME(base != 0);
+ reactive_socket_recvfrom_op* o(
+ static_cast<reactive_socket_recvfrom_op*>(base));
+ ptr p = { boost::asio::detail::addressof(o->handler_), o, o };
+
+ BOOST_ASIO_HANDLER_COMPLETION((*o));
+
+ // Take ownership of the operation's outstanding work.
+ immediate_handler_work<Handler, IoExecutor> w(
+ BOOST_ASIO_MOVE_CAST2(handler_work<Handler, IoExecutor>)(
+ o->work_));
+
+ BOOST_ASIO_ERROR_LOCATION(o->ec_);
+
+ // Make a copy of the handler so that the memory can be deallocated before
+ // the upcall is made. Even if we're not about to make an upcall, a
+ // sub-object of the handler may be the true owner of the memory associated
+ // with the handler. Consequently, a local copy of the handler is required
+ // to ensure that any owning sub-object remains valid until after we have
+ // deallocated the memory here.
+ detail::binder2<Handler, boost::system::error_code, std::size_t>
+ handler(o->handler_, o->ec_, o->bytes_transferred_);
+ p.h = boost::asio::detail::addressof(handler.handler_);
+ p.reset();
+
+ BOOST_ASIO_HANDLER_INVOCATION_BEGIN((handler.arg1_, handler.arg2_));
+ w.complete(handler, handler.handler_, io_ex);
+ BOOST_ASIO_HANDLER_INVOCATION_END;
+ }
+
private:
Handler handler_;
handler_work<Handler, IoExecutor> work_;
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_recvmsg_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_recvmsg_op.hpp
index 1a72139986..040d900c4b 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_recvmsg_op.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_recvmsg_op.hpp
@@ -2,7 +2,7 @@
// detail/reactive_socket_recvmsg_op.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -52,6 +52,7 @@ public:
static status do_perform(reactor_op* base)
{
+ BOOST_ASIO_ASSUME(base != 0);
reactive_socket_recvmsg_op_base* o(
static_cast<reactive_socket_recvmsg_op_base*>(base));
@@ -81,6 +82,9 @@ class reactive_socket_recvmsg_op :
public reactive_socket_recvmsg_op_base<MutableBufferSequence>
{
public:
+ typedef Handler handler_type;
+ typedef IoExecutor io_executor_type;
+
BOOST_ASIO_DEFINE_HANDLER_PTR(reactive_socket_recvmsg_op);
reactive_socket_recvmsg_op(const boost::system::error_code& success_ec,
@@ -101,6 +105,7 @@ public:
std::size_t /*bytes_transferred*/)
{
// Take ownership of the handler object.
+ BOOST_ASIO_ASSUME(base != 0);
reactive_socket_recvmsg_op* o(
static_cast<reactive_socket_recvmsg_op*>(base));
ptr p = { boost::asio::detail::addressof(o->handler_), o, o };
@@ -135,6 +140,39 @@ public:
}
}
+ static void do_immediate(operation* base, bool, const void* io_ex)
+ {
+ // Take ownership of the handler object.
+ BOOST_ASIO_ASSUME(base != 0);
+ reactive_socket_recvmsg_op* o(
+ static_cast<reactive_socket_recvmsg_op*>(base));
+ ptr p = { boost::asio::detail::addressof(o->handler_), o, o };
+
+ BOOST_ASIO_HANDLER_COMPLETION((*o));
+
+ // Take ownership of the operation's outstanding work.
+ immediate_handler_work<Handler, IoExecutor> w(
+ BOOST_ASIO_MOVE_CAST2(handler_work<Handler, IoExecutor>)(
+ o->work_));
+
+ BOOST_ASIO_ERROR_LOCATION(o->ec_);
+
+ // Make a copy of the handler so that the memory can be deallocated before
+ // the upcall is made. Even if we're not about to make an upcall, a
+ // sub-object of the handler may be the true owner of the memory associated
+ // with the handler. Consequently, a local copy of the handler is required
+ // to ensure that any owning sub-object remains valid until after we have
+ // deallocated the memory here.
+ detail::binder2<Handler, boost::system::error_code, std::size_t>
+ handler(o->handler_, o->ec_, o->bytes_transferred_);
+ p.h = boost::asio::detail::addressof(handler.handler_);
+ p.reset();
+
+ BOOST_ASIO_HANDLER_INVOCATION_BEGIN((handler.arg1_, handler.arg2_));
+ w.complete(handler, handler.handler_, io_ex);
+ BOOST_ASIO_HANDLER_INVOCATION_END;
+ }
+
private:
Handler handler_;
handler_work<Handler, IoExecutor> work_;
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_send_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_send_op.hpp
index d3d9b9f3af..891531b82d 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_send_op.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_send_op.hpp
@@ -2,7 +2,7 @@
// detail/reactive_socket_send_op.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -51,6 +51,7 @@ public:
static status do_perform(reactor_op* base)
{
+ BOOST_ASIO_ASSUME(base != 0);
reactive_socket_send_op_base* o(
static_cast<reactive_socket_send_op_base*>(base));
@@ -101,6 +102,9 @@ class reactive_socket_send_op :
public reactive_socket_send_op_base<ConstBufferSequence>
{
public:
+ typedef Handler handler_type;
+ typedef IoExecutor io_executor_type;
+
BOOST_ASIO_DEFINE_HANDLER_PTR(reactive_socket_send_op);
reactive_socket_send_op(const boost::system::error_code& success_ec,
@@ -119,6 +123,7 @@ public:
std::size_t /*bytes_transferred*/)
{
// Take ownership of the handler object.
+ BOOST_ASIO_ASSUME(base != 0);
reactive_socket_send_op* o(static_cast<reactive_socket_send_op*>(base));
ptr p = { boost::asio::detail::addressof(o->handler_), o, o };
@@ -152,6 +157,39 @@ public:
}
}
+ static void do_immediate(operation* base, bool, const void* io_ex)
+ {
+ // Take ownership of the handler object.
+ BOOST_ASIO_ASSUME(base != 0);
+ reactive_socket_send_op* o(static_cast<reactive_socket_send_op*>(base));
+ ptr p = { boost::asio::detail::addressof(o->handler_), o, o };
+
+ BOOST_ASIO_HANDLER_COMPLETION((*o));
+
+ // Take ownership of the operation's outstanding work.
+ immediate_handler_work<Handler, IoExecutor> w(
+ BOOST_ASIO_MOVE_CAST2(handler_work<Handler, IoExecutor>)(
+ o->work_));
+
+ BOOST_ASIO_ERROR_LOCATION(o->ec_);
+
+ // Make a copy of the handler so that the memory can be deallocated before
+ // the upcall is made. Even if we're not about to make an upcall, a
+ // sub-object of the handler may be the true owner of the memory associated
+ // with the handler. Consequently, a local copy of the handler is required
+ // to ensure that any owning sub-object remains valid until after we have
+ // deallocated the memory here.
+ detail::binder2<Handler, boost::system::error_code, std::size_t>
+ handler(o->handler_, o->ec_, o->bytes_transferred_);
+ p.h = boost::asio::detail::addressof(handler.handler_);
+ p.reset();
+
+ BOOST_ASIO_HANDLER_INVOCATION_BEGIN((handler.arg1_, handler.arg2_));
+ w.complete(handler, handler.handler_, io_ex);
+ BOOST_ASIO_HANDLER_INVOCATION_END;
+ }
+
+
private:
Handler handler_;
handler_work<Handler, IoExecutor> work_;
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_sendto_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_sendto_op.hpp
index 0128e41fef..de7a2aff5d 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_sendto_op.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_sendto_op.hpp
@@ -2,7 +2,7 @@
// detail/reactive_socket_sendto_op.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -51,6 +51,7 @@ public:
static status do_perform(reactor_op* base)
{
+ BOOST_ASIO_ASSUME(base != 0);
reactive_socket_sendto_op_base* o(
static_cast<reactive_socket_sendto_op_base*>(base));
@@ -94,6 +95,9 @@ class reactive_socket_sendto_op :
public reactive_socket_sendto_op_base<ConstBufferSequence, Endpoint>
{
public:
+ typedef Handler handler_type;
+ typedef IoExecutor io_executor_type;
+
BOOST_ASIO_DEFINE_HANDLER_PTR(reactive_socket_sendto_op);
reactive_socket_sendto_op(const boost::system::error_code& success_ec,
@@ -113,6 +117,7 @@ public:
std::size_t /*bytes_transferred*/)
{
// Take ownership of the handler object.
+ BOOST_ASIO_ASSUME(base != 0);
reactive_socket_sendto_op* o(static_cast<reactive_socket_sendto_op*>(base));
ptr p = { boost::asio::detail::addressof(o->handler_), o, o };
@@ -146,6 +151,38 @@ public:
}
}
+ static void do_immediate(operation* base, bool, const void* io_ex)
+ {
+ // Take ownership of the handler object.
+ BOOST_ASIO_ASSUME(base != 0);
+ reactive_socket_sendto_op* o(static_cast<reactive_socket_sendto_op*>(base));
+ ptr p = { boost::asio::detail::addressof(o->handler_), o, o };
+
+ BOOST_ASIO_HANDLER_COMPLETION((*o));
+
+ // Take ownership of the operation's outstanding work.
+ immediate_handler_work<Handler, IoExecutor> w(
+ BOOST_ASIO_MOVE_CAST2(handler_work<Handler, IoExecutor>)(
+ o->work_));
+
+ BOOST_ASIO_ERROR_LOCATION(o->ec_);
+
+ // Make a copy of the handler so that the memory can be deallocated before
+ // the upcall is made. Even if we're not about to make an upcall, a
+ // sub-object of the handler may be the true owner of the memory associated
+ // with the handler. Consequently, a local copy of the handler is required
+ // to ensure that any owning sub-object remains valid until after we have
+ // deallocated the memory here.
+ detail::binder2<Handler, boost::system::error_code, std::size_t>
+ handler(o->handler_, o->ec_, o->bytes_transferred_);
+ p.h = boost::asio::detail::addressof(handler.handler_);
+ p.reset();
+
+ BOOST_ASIO_HANDLER_INVOCATION_BEGIN((handler.arg1_, handler.arg2_));
+ w.complete(handler, handler.handler_, io_ex);
+ BOOST_ASIO_HANDLER_INVOCATION_END;
+ }
+
private:
Handler handler_;
handler_work<Handler, IoExecutor> work_;
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_service.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_service.hpp
index 11d46cd5b4..06da20ed53 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_service.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_service.hpp
@@ -2,7 +2,7 @@
// detail/reactive_socket_service.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -307,7 +307,8 @@ public:
BOOST_ASIO_HANDLER_CREATION((reactor_.context(), *p.p, "socket",
&impl, impl.socket_, "async_send_to"));
- start_op(impl, reactor::write_op, p.p, is_continuation, true, false);
+ start_op(impl, reactor::write_op, p.p,
+ is_continuation, true, false, &io_ex, 0);
p.v = p.p = 0;
}
@@ -340,7 +341,8 @@ public:
BOOST_ASIO_HANDLER_CREATION((reactor_.context(), *p.p, "socket",
&impl, impl.socket_, "async_send_to(null_buffers)"));
- start_op(impl, reactor::write_op, p.p, is_continuation, false, false);
+ start_op(impl, reactor::write_op, p.p,
+ is_continuation, false, false, &io_ex, 0);
p.v = p.p = 0;
}
@@ -431,7 +433,7 @@ public:
start_op(impl,
(flags & socket_base::message_out_of_band)
? reactor::except_op : reactor::read_op,
- p.p, is_continuation, true, false);
+ p.p, is_continuation, true, false, &io_ex, 0);
p.v = p.p = 0;
}
@@ -470,7 +472,7 @@ public:
start_op(impl,
(flags & socket_base::message_out_of_band)
? reactor::except_op : reactor::read_op,
- p.p, is_continuation, false, false);
+ p.p, is_continuation, false, false, &io_ex, 0);
p.v = p.p = 0;
}
@@ -536,7 +538,7 @@ public:
BOOST_ASIO_HANDLER_CREATION((reactor_.context(), *p.p, "socket",
&impl, impl.socket_, "async_accept"));
- start_accept_op(impl, p.p, is_continuation, peer.is_open());
+ start_accept_op(impl, p.p, is_continuation, peer.is_open(), &io_ex, 0);
p.v = p.p = 0;
}
@@ -573,7 +575,7 @@ public:
BOOST_ASIO_HANDLER_CREATION((reactor_.context(), *p.p, "socket",
&impl, impl.socket_, "async_accept"));
- start_accept_op(impl, p.p, is_continuation, false);
+ start_accept_op(impl, p.p, is_continuation, false, &io_ex, 0);
p.v = p.p = 0;
}
#endif // defined(BOOST_ASIO_HAS_MOVE)
@@ -618,7 +620,7 @@ public:
&impl, impl.socket_, "async_connect"));
start_connect_op(impl, p.p, is_continuation,
- peer_endpoint.data(), peer_endpoint.size());
+ peer_endpoint.data(), peer_endpoint.size(), &io_ex, 0);
p.v = p.p = 0;
}
};
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_service_base.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_service_base.hpp
index 04c14c6bfb..6dc7648374 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_service_base.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_service_base.hpp
@@ -2,7 +2,7 @@
// detail/reactive_socket_service_base.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -218,20 +218,21 @@ public:
int op_type;
switch (w)
{
- case socket_base::wait_read:
- op_type = reactor::read_op;
- break;
- case socket_base::wait_write:
- op_type = reactor::write_op;
- break;
- case socket_base::wait_error:
- op_type = reactor::except_op;
- break;
- default:
- p.p->ec_ = boost::asio::error::invalid_argument;
- reactor_.post_immediate_completion(p.p, is_continuation);
- p.v = p.p = 0;
- return;
+ case socket_base::wait_read:
+ op_type = reactor::read_op;
+ break;
+ case socket_base::wait_write:
+ op_type = reactor::write_op;
+ break;
+ case socket_base::wait_error:
+ op_type = reactor::except_op;
+ break;
+ default:
+ p.p->ec_ = boost::asio::error::invalid_argument;
+ start_op(impl, reactor::read_op, p.p,
+ is_continuation, false, true, &io_ex, 0);
+ p.v = p.p = 0;
+ return;
}
// Optionally register for per-operation cancellation.
@@ -242,7 +243,7 @@ public:
&reactor_, &impl.reactor_data_, impl.socket_, op_type);
}
- start_op(impl, op_type, p.p, is_continuation, false, false);
+ start_op(impl, op_type, p.p, is_continuation, false, false, &io_ex, 0);
p.v = p.p = 0;
}
@@ -314,7 +315,7 @@ public:
start_op(impl, reactor::write_op, p.p, is_continuation, true,
((impl.state_ & socket_ops::stream_oriented)
&& buffer_sequence_adapter<boost::asio::const_buffer,
- ConstBufferSequence>::all_empty(buffers)));
+ ConstBufferSequence>::all_empty(buffers)), &io_ex, 0);
p.v = p.p = 0;
}
@@ -346,7 +347,8 @@ public:
BOOST_ASIO_HANDLER_CREATION((reactor_.context(), *p.p, "socket",
&impl, impl.socket_, "async_send(null_buffers)"));
- start_op(impl, reactor::write_op, p.p, is_continuation, false, false);
+ start_op(impl, reactor::write_op, p.p,
+ is_continuation, false, false, &io_ex, 0);
p.v = p.p = 0;
}
@@ -423,7 +425,7 @@ public:
(flags & socket_base::message_out_of_band) == 0,
((impl.state_ & socket_ops::stream_oriented)
&& buffer_sequence_adapter<boost::asio::mutable_buffer,
- MutableBufferSequence>::all_empty(buffers)));
+ MutableBufferSequence>::all_empty(buffers)), &io_ex, 0);
p.v = p.p = 0;
}
@@ -459,7 +461,7 @@ public:
start_op(impl,
(flags & socket_base::message_out_of_band)
? reactor::except_op : reactor::read_op,
- p.p, is_continuation, false, false);
+ p.p, is_continuation, false, false, &io_ex, 0);
p.v = p.p = 0;
}
@@ -531,7 +533,7 @@ public:
(in_flags & socket_base::message_out_of_band)
? reactor::except_op : reactor::read_op,
p.p, is_continuation,
- (in_flags & socket_base::message_out_of_band) == 0, false);
+ (in_flags & socket_base::message_out_of_band) == 0, false, &io_ex, 0);
p.v = p.p = 0;
}
@@ -572,7 +574,7 @@ public:
start_op(impl,
(in_flags & socket_base::message_out_of_band)
? reactor::except_op : reactor::read_op,
- p.p, is_continuation, false, false);
+ p.p, is_continuation, false, false, &io_ex, 0);
p.v = p.p = 0;
}
@@ -588,16 +590,111 @@ protected:
const native_handle_type& native_socket, boost::system::error_code& ec);
// Start the asynchronous read or write operation.
- BOOST_ASIO_DECL void start_op(base_implementation_type& impl, int op_type,
- reactor_op* op, bool is_continuation, bool is_non_blocking, bool noop);
+ BOOST_ASIO_DECL void do_start_op(base_implementation_type& impl, int op_type,
+ reactor_op* op, bool is_continuation, bool is_non_blocking, bool noop,
+ void (*on_immediate)(operation* op, bool, const void*),
+ const void* immediate_arg);
+
+ // Start the asynchronous operation for handlers that are specialised for
+ // immediate completion.
+ template <typename Op>
+ void start_op(base_implementation_type& impl, int op_type, Op* op,
+ bool is_continuation, bool is_non_blocking, bool noop,
+ const void* io_ex, ...)
+ {
+ return do_start_op(impl, op_type, op, is_continuation,
+ is_non_blocking, noop, &Op::do_immediate, io_ex);
+ }
+
+ // Start the asynchronous operation for handlers that are not specialised for
+ // immediate completion.
+ template <typename Op>
+ void start_op(base_implementation_type& impl, int op_type, Op* op,
+ bool is_continuation, bool is_non_blocking, bool noop, const void*,
+ typename enable_if<
+ is_same<
+ typename associated_immediate_executor<
+ typename Op::handler_type,
+ typename Op::io_executor_type
+ >::asio_associated_immediate_executor_is_unspecialised,
+ void
+ >::value
+ >::type*)
+ {
+ return do_start_op(impl, op_type, op, is_continuation, is_non_blocking,
+ noop, &reactor::call_post_immediate_completion, &reactor_);
+ }
// Start the asynchronous accept operation.
- BOOST_ASIO_DECL void start_accept_op(base_implementation_type& impl,
- reactor_op* op, bool is_continuation, bool peer_is_open);
+ BOOST_ASIO_DECL void do_start_accept_op(base_implementation_type& impl,
+ reactor_op* op, bool is_continuation, bool peer_is_open,
+ void (*on_immediate)(operation* op, bool, const void*),
+ const void* immediate_arg);
+
+ // Start the asynchronous accept operation for handlers that are specialised
+ // for immediate completion.
+ template <typename Op>
+ void start_accept_op(base_implementation_type& impl, Op* op,
+ bool is_continuation, bool peer_is_open, const void* io_ex, ...)
+ {
+ return do_start_accept_op(impl, op, is_continuation,
+ peer_is_open, &Op::do_immediate, io_ex);
+ }
+
+ // Start the asynchronous operation for handlers that are not specialised for
+ // immediate completion.
+ template <typename Op>
+ void start_accept_op(base_implementation_type& impl, Op* op,
+ bool is_continuation, bool peer_is_open, const void*,
+ typename enable_if<
+ is_same<
+ typename associated_immediate_executor<
+ typename Op::handler_type,
+ typename Op::io_executor_type
+ >::asio_associated_immediate_executor_is_unspecialised,
+ void
+ >::value
+ >::type*)
+ {
+ return do_start_accept_op(impl, op, is_continuation, peer_is_open,
+ &reactor::call_post_immediate_completion, &reactor_);
+ }
// Start the asynchronous connect operation.
- BOOST_ASIO_DECL void start_connect_op(base_implementation_type& impl,
- reactor_op* op, bool is_continuation, const void* addr, size_t addrlen);
+ BOOST_ASIO_DECL void do_start_connect_op(base_implementation_type& impl,
+ reactor_op* op, bool is_continuation, const void* addr, size_t addrlen,
+ void (*on_immediate)(operation* op, bool, const void*),
+ const void* immediate_arg);
+
+ // Start the asynchronous operation for handlers that are specialised for
+ // immediate completion.
+ template <typename Op>
+ void start_connect_op(base_implementation_type& impl,
+ Op* op, bool is_continuation, const void* addr,
+ size_t addrlen, const void* io_ex, ...)
+ {
+ return do_start_connect_op(impl, op, is_continuation,
+ addr, addrlen, &Op::do_immediate, io_ex);
+ }
+
+ // Start the asynchronous operation for handlers that are not specialised for
+ // immediate completion.
+ template <typename Op>
+ void start_connect_op(base_implementation_type& impl, Op* op,
+ bool is_continuation, const void* addr, size_t addrlen, const void*,
+ typename enable_if<
+ is_same<
+ typename associated_immediate_executor<
+ typename Op::handler_type,
+ typename Op::io_executor_type
+ >::asio_associated_immediate_executor_is_unspecialised,
+ void
+ >::value
+ >::type*)
+ {
+ return do_start_connect_op(impl, op, is_continuation, addr,
+ addrlen, &reactor::call_post_immediate_completion, &reactor_);
+ }
// Helper class used to implement per-operation cancellation
class reactor_op_cancellation
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_wait_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_wait_op.hpp
index c97ab308dd..a1e843e85e 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_wait_op.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_wait_op.hpp
@@ -2,7 +2,7 @@
// detail/reactive_wait_op.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -34,6 +34,9 @@ template <typename Handler, typename IoExecutor>
class reactive_wait_op : public reactor_op
{
public:
+ typedef Handler handler_type;
+ typedef IoExecutor io_executor_type;
+
BOOST_ASIO_DEFINE_HANDLER_PTR(reactive_wait_op);
reactive_wait_op(const boost::system::error_code& success_ec,
@@ -55,6 +58,7 @@ public:
std::size_t /*bytes_transferred*/)
{
// Take ownership of the handler object.
+ BOOST_ASIO_ASSUME(base != 0);
reactive_wait_op* o(static_cast<reactive_wait_op*>(base));
ptr p = { boost::asio::detail::addressof(o->handler_), o, o };
@@ -86,6 +90,36 @@ public:
}
}
+ static void do_immediate(operation* base, bool, const void* io_ex)
+ {
+ // Take ownership of the handler object.
+ BOOST_ASIO_ASSUME(base != 0);
+ reactive_wait_op* o(static_cast<reactive_wait_op*>(base));
+ ptr p = { boost::asio::detail::addressof(o->handler_), o, o };
+
+ BOOST_ASIO_HANDLER_COMPLETION((*o));
+
+ // Take ownership of the operation's outstanding work.
+ immediate_handler_work<Handler, IoExecutor> w(
+ BOOST_ASIO_MOVE_CAST2(handler_work<Handler, IoExecutor>)(
+ o->work_));
+
+ // Make a copy of the handler so that the memory can be deallocated before
+ // the upcall is made. Even if we're not about to make an upcall, a
+ // sub-object of the handler may be the true owner of the memory associated
+ // with the handler. Consequently, a local copy of the handler is required
+ // to ensure that any owning sub-object remains valid until after we have
+ // deallocated the memory here.
+ detail::binder1<Handler, boost::system::error_code>
+ handler(o->handler_, o->ec_);
+ p.h = boost::asio::detail::addressof(handler.handler_);
+ p.reset();
+
+ BOOST_ASIO_HANDLER_INVOCATION_BEGIN((handler.arg1_));
+ w.complete(handler, handler.handler_, io_ex);
+ BOOST_ASIO_HANDLER_INVOCATION_END;
+ }
+
private:
Handler handler_;
handler_work<Handler, IoExecutor> work_;
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/reactor.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/reactor.hpp
index 705ab9cd3f..76ca947ee8 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/reactor.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/reactor.hpp
@@ -2,7 +2,7 @@
// detail/reactor.hpp
// ~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/reactor_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/reactor_op.hpp
index c13e589003..1f37e6eb91 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/reactor_op.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/reactor_op.hpp
@@ -2,7 +2,7 @@
// detail/reactor_op.hpp
// ~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/reactor_op_queue.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/reactor_op_queue.hpp
index ef076ebddd..e527ea0bd3 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/reactor_op_queue.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/reactor_op_queue.hpp
@@ -2,7 +2,7 @@
// detail/reactor_op_queue.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/recycling_allocator.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/recycling_allocator.hpp
index 87a83959ea..b432209aff 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/recycling_allocator.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/recycling_allocator.hpp
@@ -2,7 +2,7 @@
// detail/recycling_allocator.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/regex_fwd.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/regex_fwd.hpp
index be78fad652..0ab06577fe 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/regex_fwd.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/regex_fwd.hpp
@@ -2,7 +2,7 @@
// detail/regex_fwd.hpp
// ~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/resolve_endpoint_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/resolve_endpoint_op.hpp
index 14426d97c9..f2e08b9a39 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/resolve_endpoint_op.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/resolve_endpoint_op.hpp
@@ -2,7 +2,7 @@
// detail/resolve_endpoint_op.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -71,6 +71,7 @@ public:
std::size_t /*bytes_transferred*/)
{
// Take ownership of the operation object.
+ BOOST_ASIO_ASSUME(base != 0);
resolve_endpoint_op* o(static_cast<resolve_endpoint_op*>(base));
ptr p = { boost::asio::detail::addressof(o->handler_), o, o };
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/resolve_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/resolve_op.hpp
index fdb0cb9120..2d8ba749a0 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/resolve_op.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/resolve_op.hpp
@@ -2,7 +2,7 @@
// detail/resolve_op.hpp
// ~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/resolve_query_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/resolve_query_op.hpp
index 79aef04bd6..24807ef87a 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/resolve_query_op.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/resolve_query_op.hpp
@@ -2,7 +2,7 @@
// detail/resolve_query_op.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -79,6 +79,7 @@ public:
std::size_t /*bytes_transferred*/)
{
// Take ownership of the operation object.
+ BOOST_ASIO_ASSUME(base != 0);
resolve_query_op* o(static_cast<resolve_query_op*>(base));
ptr p = { boost::asio::detail::addressof(o->handler_), o, o };
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/resolver_service.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/resolver_service.hpp
index ca0b0b6a28..dbb70ce753 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/resolver_service.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/resolver_service.hpp
@@ -2,7 +2,7 @@
// detail/resolver_service.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/resolver_service_base.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/resolver_service_base.hpp
index 3661cd4e48..0fce6e3472 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/resolver_service_base.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/resolver_service_base.hpp
@@ -2,7 +2,7 @@
// detail/resolver_service_base.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/scheduler.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/scheduler.hpp
index da02346bd5..b68f541d56 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/scheduler.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/scheduler.hpp
@@ -2,7 +2,7 @@
// detail/scheduler.hpp
// ~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/scheduler_operation.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/scheduler_operation.hpp
index 387d13892e..8b66e814fd 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/scheduler_operation.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/scheduler_operation.hpp
@@ -2,7 +2,7 @@
// detail/scheduler_operation.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/scheduler_task.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/scheduler_task.hpp
index eff848bf3b..f8fac9b1fe 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/scheduler_task.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/scheduler_task.hpp
@@ -2,7 +2,7 @@
// detail/scheduler_task.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/scheduler_thread_info.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/scheduler_thread_info.hpp
index 327e1957e6..c692ced355 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/scheduler_thread_info.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/scheduler_thread_info.hpp
@@ -2,7 +2,7 @@
// detail/scheduler_thread_info.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/scoped_lock.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/scoped_lock.hpp
index 35f3c558f9..56a8f2742d 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/scoped_lock.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/scoped_lock.hpp
@@ -2,7 +2,7 @@
// detail/scoped_lock.hpp
// ~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/scoped_ptr.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/scoped_ptr.hpp
index 49bf48becf..a5ef527b82 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/scoped_ptr.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/scoped_ptr.hpp
@@ -2,7 +2,7 @@
// detail/scoped_ptr.hpp
// ~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/select_interrupter.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/select_interrupter.hpp
index f7417b6c1d..953b817569 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/select_interrupter.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/select_interrupter.hpp
@@ -2,7 +2,7 @@
// detail/select_interrupter.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/select_reactor.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/select_reactor.hpp
index 99955895ea..a4b8b81ab8 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/select_reactor.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/select_reactor.hpp
@@ -2,7 +2,7 @@
// detail/select_reactor.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -95,12 +95,29 @@ public:
per_descriptor_data& descriptor_data, reactor_op* op);
// Post a reactor operation for immediate completion.
- void post_immediate_completion(reactor_op* op, bool is_continuation);
+ void post_immediate_completion(operation* op, bool is_continuation) const;
+
+ // Post a reactor operation for immediate completion.
+ BOOST_ASIO_DECL static void call_post_immediate_completion(
+ operation* op, bool is_continuation, const void* self);
// Start a new operation. The reactor operation will be performed when the
// given descriptor is flagged as ready, or an error has occurred.
BOOST_ASIO_DECL void start_op(int op_type, socket_type descriptor,
- per_descriptor_data&, reactor_op* op, bool is_continuation, bool);
+ per_descriptor_data&, reactor_op* op, bool is_continuation, bool,
+ void (*on_immediate)(operation*, bool, const void*),
+ const void* immediate_arg);
+
+ // Start a new operation. The reactor operation will be performed when the
+ // given descriptor is flagged as ready, or an error has occurred.
+ void start_op(int op_type, socket_type descriptor,
+ per_descriptor_data& descriptor_data, reactor_op* op,
+ bool is_continuation, bool allow_speculative)
+ {
+ start_op(op_type, descriptor, descriptor_data,
+ op, is_continuation, allow_speculative,
+ &select_reactor::call_post_immediate_completion, this);
+ }
// Cancel all operations associated with the given descriptor. The
// handlers associated with the descriptor will be invoked with the
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/service_registry.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/service_registry.hpp
index 863d795b08..447fc910af 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/service_registry.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/service_registry.hpp
@@ -2,7 +2,7 @@
// detail/service_registry.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/signal_blocker.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/signal_blocker.hpp
index 690aa5fdd0..88ac5f6325 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/signal_blocker.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/signal_blocker.hpp
@@ -2,7 +2,7 @@
// detail/signal_blocker.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/signal_handler.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/signal_handler.hpp
index a2825d1df9..cf8d8aeb7e 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/signal_handler.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/signal_handler.hpp
@@ -2,7 +2,7 @@
// detail/signal_handler.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/signal_init.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/signal_init.hpp
index e227d4898f..9fbb092cc8 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/signal_init.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/signal_init.hpp
@@ -2,7 +2,7 @@
// detail/signal_init.hpp
// ~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/signal_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/signal_op.hpp
index 0e12dc5bed..82c1e50f1c 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/signal_op.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/signal_op.hpp
@@ -2,7 +2,7 @@
// detail/signal_op.hpp
// ~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/signal_set_service.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/signal_set_service.hpp
index 704861c322..39c062cad3 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/signal_set_service.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/signal_set_service.hpp
@@ -2,7 +2,7 @@
// detail/signal_set_service.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -23,6 +23,7 @@
#include <boost/asio/cancellation_type.hpp>
#include <boost/asio/error.hpp>
#include <boost/asio/execution_context.hpp>
+#include <boost/asio/signal_set_base.hpp>
#include <boost/asio/detail/handler_alloc_helpers.hpp>
#include <boost/asio/detail/memory.hpp>
#include <boost/asio/detail/op_queue.hpp>
@@ -141,8 +142,16 @@ public:
BOOST_ASIO_DECL void destroy(implementation_type& impl);
// Add a signal to a signal_set.
+ boost::system::error_code add(implementation_type& impl,
+ int signal_number, boost::system::error_code& ec)
+ {
+ return add(impl, signal_number, signal_set_base::flags::dont_care, ec);
+ }
+
+ // Add a signal to a signal_set with the specified flags.
BOOST_ASIO_DECL boost::system::error_code add(implementation_type& impl,
- int signal_number, boost::system::error_code& ec);
+ int signal_number, signal_set_base::flags_t f,
+ boost::system::error_code& ec);
// Remove a signal to a signal_set.
BOOST_ASIO_DECL boost::system::error_code remove(implementation_type& impl,
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/socket_holder.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/socket_holder.hpp
index 3c44dca3b6..73c37f1d61 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/socket_holder.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/socket_holder.hpp
@@ -2,7 +2,7 @@
// detail/socket_holder.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/socket_ops.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/socket_ops.hpp
index b135375762..8ce16c1393 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/socket_ops.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/socket_ops.hpp
@@ -2,7 +2,7 @@
// detail/socket_ops.hpp
// ~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/socket_option.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/socket_option.hpp
index e390fb007f..04c6a8769a 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/socket_option.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/socket_option.hpp
@@ -2,7 +2,7 @@
// detail/socket_option.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/socket_select_interrupter.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/socket_select_interrupter.hpp
index dbd94ca163..217542edb3 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/socket_select_interrupter.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/socket_select_interrupter.hpp
@@ -2,7 +2,7 @@
// detail/socket_select_interrupter.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/socket_types.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/socket_types.hpp
index 4b308741b2..7c6f0cd475 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/socket_types.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/socket_types.hpp
@@ -2,7 +2,7 @@
// detail/socket_types.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -89,6 +89,7 @@
# include <sys/filio.h>
# include <sys/sockio.h>
# endif
+# include <signal.h>
#endif
#include <boost/asio/detail/push_options.hpp>
@@ -179,6 +180,9 @@ typedef int signed_size_type;
# define BOOST_ASIO_OS_DEF_AI_V4MAPPED 0x800
# define BOOST_ASIO_OS_DEF_AI_ALL 0x100
# define BOOST_ASIO_OS_DEF_AI_ADDRCONFIG 0x400
+# define BOOST_ASIO_OS_DEF_SA_RESTART 0x1
+# define BOOST_ASIO_OS_DEF_SA_NOCLDSTOP 0x2
+# define BOOST_ASIO_OS_DEF_SA_NOCLDWAIT 0x4
#elif defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
typedef SOCKET socket_type;
const SOCKET invalid_socket = INVALID_SOCKET;
@@ -286,6 +290,9 @@ const int max_iov_len = 64;
# else
const int max_iov_len = 16;
# endif
+# define BOOST_ASIO_OS_DEF_SA_RESTART 0x1
+# define BOOST_ASIO_OS_DEF_SA_NOCLDSTOP 0x2
+# define BOOST_ASIO_OS_DEF_SA_NOCLDWAIT 0x4
#else
typedef int socket_type;
const int invalid_socket = -1;
@@ -405,6 +412,9 @@ const int max_iov_len = IOV_MAX;
// POSIX platforms are not required to define IOV_MAX.
const int max_iov_len = 16;
# endif
+# define BOOST_ASIO_OS_DEF_SA_RESTART SA_RESTART
+# define BOOST_ASIO_OS_DEF_SA_NOCLDSTOP SA_NOCLDSTOP
+# define BOOST_ASIO_OS_DEF_SA_NOCLDWAIT SA_NOCLDWAIT
#endif
const int custom_socket_option_level = 0xA5100000;
const int enable_connection_aborted_option = 1;
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/solaris_fenced_block.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/solaris_fenced_block.hpp
index a690612bf0..8c84b29801 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/solaris_fenced_block.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/solaris_fenced_block.hpp
@@ -2,7 +2,7 @@
// detail/solaris_fenced_block.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/source_location.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/source_location.hpp
index 86ba9d9683..8a56edd327 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/source_location.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/source_location.hpp
@@ -2,7 +2,7 @@
// detail/source_location.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/static_mutex.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/static_mutex.hpp
index 647a48d21f..c0f0547f0a 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/static_mutex.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/static_mutex.hpp
@@ -2,7 +2,7 @@
// detail/static_mutex.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/std_event.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/std_event.hpp
index 13aeb4a627..9590e8779a 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/std_event.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/std_event.hpp
@@ -2,7 +2,7 @@
// detail/std_event.hpp
// ~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/std_fenced_block.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/std_fenced_block.hpp
index 0a5cfedbcc..73dfc81d47 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/std_fenced_block.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/std_fenced_block.hpp
@@ -2,7 +2,7 @@
// detail/std_fenced_block.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/std_global.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/std_global.hpp
index 1a6ab90916..b9e3887600 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/std_global.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/std_global.hpp
@@ -2,7 +2,7 @@
// detail/std_global.hpp
// ~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/std_mutex.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/std_mutex.hpp
index 7ecd903278..85b8e315cb 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/std_mutex.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/std_mutex.hpp
@@ -2,7 +2,7 @@
// detail/std_mutex.hpp
// ~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/std_static_mutex.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/std_static_mutex.hpp
index af590a1ecc..5345c2c005 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/std_static_mutex.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/std_static_mutex.hpp
@@ -2,7 +2,7 @@
// detail/std_static_mutex.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/std_thread.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/std_thread.hpp
index fc186f5d1f..a261e39458 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/std_thread.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/std_thread.hpp
@@ -2,7 +2,7 @@
// detail/std_thread.hpp
// ~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/strand_executor_service.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/strand_executor_service.hpp
index 9b3eb38cbd..6ac7805380 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/strand_executor_service.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/strand_executor_service.hpp
@@ -2,7 +2,7 @@
// detail/strand_executor_service.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/strand_service.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/strand_service.hpp
index 016a6cfcd5..3959056a1e 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/strand_service.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/strand_service.hpp
@@ -2,7 +2,7 @@
// detail/strand_service.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/string_view.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/string_view.hpp
index b3eeb54d96..aa2251cbcd 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/string_view.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/string_view.hpp
@@ -2,7 +2,7 @@
// detail/string_view.hpp
// ~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/thread.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/thread.hpp
index 57e9cbce57..3d425d992d 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/thread.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/thread.hpp
@@ -2,7 +2,7 @@
// detail/thread.hpp
// ~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/thread_context.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/thread_context.hpp
index 6396dd37a3..c5ca10c040 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/thread_context.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/thread_context.hpp
@@ -2,7 +2,7 @@
// detail/thread_context.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/thread_group.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/thread_group.hpp
index ff91f39724..cfcd849c91 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/thread_group.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/thread_group.hpp
@@ -2,7 +2,7 @@
// detail/thread_group.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/thread_info_base.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/thread_info_base.hpp
index fd976f918a..533fa859da 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/thread_info_base.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/thread_info_base.hpp
@@ -2,7 +2,7 @@
// detail/thread_info_base.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/throw_error.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/throw_error.hpp
index 43c5b59bed..57d40560bf 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/throw_error.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/throw_error.hpp
@@ -2,7 +2,7 @@
// detail/throw_error.hpp
// ~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/throw_exception.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/throw_exception.hpp
index afb89a963f..394ceef5ea 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/throw_exception.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/throw_exception.hpp
@@ -2,7 +2,7 @@
// detail/throw_exception.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/timer_queue.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/timer_queue.hpp
index 2a973430d9..7235ef5247 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/timer_queue.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/timer_queue.hpp
@@ -2,7 +2,7 @@
// detail/timer_queue.hpp
// ~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/timer_queue_base.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/timer_queue_base.hpp
index c20ccc9862..240674a20a 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/timer_queue_base.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/timer_queue_base.hpp
@@ -2,7 +2,7 @@
// detail/timer_queue_base.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/timer_queue_ptime.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/timer_queue_ptime.hpp
index 6d0f94009a..16d3c4d03c 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/timer_queue_ptime.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/timer_queue_ptime.hpp
@@ -2,7 +2,7 @@
// detail/timer_queue_ptime.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/timer_queue_set.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/timer_queue_set.hpp
index 783adfb728..c5c1e03b4b 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/timer_queue_set.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/timer_queue_set.hpp
@@ -2,7 +2,7 @@
// detail/timer_queue_set.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/timer_scheduler.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/timer_scheduler.hpp
index 01001aafcc..b8372bf535 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/timer_scheduler.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/timer_scheduler.hpp
@@ -2,7 +2,7 @@
// detail/timer_scheduler.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/timer_scheduler_fwd.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/timer_scheduler_fwd.hpp
index abb4f93019..e99eda74e8 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/timer_scheduler_fwd.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/timer_scheduler_fwd.hpp
@@ -2,7 +2,7 @@
// detail/timer_scheduler_fwd.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/tss_ptr.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/tss_ptr.hpp
index 92deeaaf22..c6a6ba90cf 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/tss_ptr.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/tss_ptr.hpp
@@ -2,7 +2,7 @@
// detail/tss_ptr.hpp
// ~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/type_traits.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/type_traits.hpp
index 8d62eab891..157d5c1d00 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/type_traits.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/type_traits.hpp
@@ -2,7 +2,7 @@
// detail/type_traits.hpp
// ~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/utility.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/utility.hpp
index c1dc73c8e9..6254ad842a 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/utility.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/utility.hpp
@@ -2,7 +2,7 @@
// detail/utility.hpp
// ~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/variadic_templates.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/variadic_templates.hpp
index fea03044ff..b7159ff4ef 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/variadic_templates.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/variadic_templates.hpp
@@ -2,7 +2,7 @@
// detail/variadic_templates.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/wait_handler.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/wait_handler.hpp
index f2c253731d..2b70441879 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/wait_handler.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/wait_handler.hpp
@@ -2,7 +2,7 @@
// detail/wait_handler.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/wait_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/wait_op.hpp
index 15d57cf574..b5a5bdf66e 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/wait_op.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/wait_op.hpp
@@ -2,7 +2,7 @@
// detail/wait_op.hpp
// ~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/win_event.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/win_event.hpp
index 48e90a17f2..25e119e258 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/win_event.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/win_event.hpp
@@ -2,7 +2,7 @@
// detail/win_event.hpp
// ~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/win_fd_set_adapter.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/win_fd_set_adapter.hpp
index 5e91303d7c..daac5307d3 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/win_fd_set_adapter.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/win_fd_set_adapter.hpp
@@ -2,7 +2,7 @@
// detail/win_fd_set_adapter.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/win_fenced_block.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/win_fenced_block.hpp
index 8d32720a96..45e2b67c8d 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/win_fenced_block.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/win_fenced_block.hpp
@@ -2,7 +2,7 @@
// detail/win_fenced_block.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/win_global.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/win_global.hpp
index b54d5c395b..951467ced1 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/win_global.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/win_global.hpp
@@ -2,7 +2,7 @@
// detail/win_global.hpp
// ~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_file_service.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_file_service.hpp
index b66882fd4b..22802a0425 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_file_service.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_file_service.hpp
@@ -2,7 +2,7 @@
// detail/win_iocp_file_service.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_handle_read_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_handle_read_op.hpp
index db7d635b88..f0a8116949 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_handle_read_op.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_handle_read_op.hpp
@@ -2,7 +2,7 @@
// detail/win_iocp_handle_read_op.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// Copyright (c) 2008 Rep Invariant Systems, Inc. (info@repinvariant.com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
@@ -58,6 +58,7 @@ public:
boost::system::error_code ec(result_ec);
// Take ownership of the operation object.
+ BOOST_ASIO_ASSUME(base != 0);
win_iocp_handle_read_op* o(static_cast<win_iocp_handle_read_op*>(base));
ptr p = { boost::asio::detail::addressof(o->handler_), o, o };
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_handle_service.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_handle_service.hpp
index 5615715809..05a3fdfc92 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_handle_service.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_handle_service.hpp
@@ -2,7 +2,7 @@
// detail/win_iocp_handle_service.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// Copyright (c) 2008 Rep Invariant Systems, Inc. (info@repinvariant.com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_handle_write_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_handle_write_op.hpp
index 2ad28a2c51..a9c35b0979 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_handle_write_op.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_handle_write_op.hpp
@@ -2,7 +2,7 @@
// detail/win_iocp_handle_write_op.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// Copyright (c) 2008 Rep Invariant Systems, Inc. (info@repinvariant.com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
@@ -57,6 +57,7 @@ public:
boost::system::error_code ec(result_ec);
// Take ownership of the operation object.
+ BOOST_ASIO_ASSUME(base != 0);
win_iocp_handle_write_op* o(static_cast<win_iocp_handle_write_op*>(base));
ptr p = { boost::asio::detail::addressof(o->handler_), o, o };
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_io_context.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_io_context.hpp
index abb69b2b53..f91a70d03d 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_io_context.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_io_context.hpp
@@ -2,7 +2,7 @@
// detail/win_iocp_io_context.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -273,11 +273,13 @@ private:
enum
{
+#if !defined(_WIN32_WINNT) || (_WIN32_WINNT < 0x0600)
// Timeout to use with GetQueuedCompletionStatus on older versions of
// Windows. Some versions of windows have a "bug" where a call to
// GetQueuedCompletionStatus can appear stuck even though there are events
// waiting on the queue. Using a timeout helps to work around the issue.
default_gqcs_timeout = 500,
+#endif // !defined(_WIN32_WINNT) || (_WIN32_WINNT < 0x0600)
// Maximum waitable timer timeout, in milliseconds.
max_timeout_msec = 5 * 60 * 1000,
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_null_buffers_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_null_buffers_op.hpp
index 51a62ffc73..9d2f80d753 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_null_buffers_op.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_null_buffers_op.hpp
@@ -2,7 +2,7 @@
// detail/win_iocp_null_buffers_op.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -64,6 +64,7 @@ public:
boost::system::error_code ec(result_ec);
// Take ownership of the operation object.
+ BOOST_ASIO_ASSUME(base != 0);
win_iocp_null_buffers_op* o(static_cast<win_iocp_null_buffers_op*>(base));
ptr p = { boost::asio::detail::addressof(o->handler_), o, o };
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_operation.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_operation.hpp
index 2b2dc67442..c724a305c1 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_operation.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_operation.hpp
@@ -2,7 +2,7 @@
// detail/win_iocp_operation.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_overlapped_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_overlapped_op.hpp
index 5251a75036..3bd436fbf7 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_overlapped_op.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_overlapped_op.hpp
@@ -2,7 +2,7 @@
// detail/win_iocp_overlapped_op.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -53,6 +53,7 @@ public:
boost::system::error_code ec(result_ec);
// Take ownership of the operation object.
+ BOOST_ASIO_ASSUME(base != 0);
win_iocp_overlapped_op* o(static_cast<win_iocp_overlapped_op*>(base));
ptr p = { boost::asio::detail::addressof(o->handler_), o, o };
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_overlapped_ptr.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_overlapped_ptr.hpp
index d44ae97cb8..1d7f5f6a2b 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_overlapped_ptr.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_overlapped_ptr.hpp
@@ -2,7 +2,7 @@
// detail/win_iocp_overlapped_ptr.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_serial_port_service.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_serial_port_service.hpp
index 2e184128d7..d41f49b0c7 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_serial_port_service.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_serial_port_service.hpp
@@ -2,7 +2,7 @@
// detail/win_iocp_serial_port_service.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// Copyright (c) 2008 Rep Invariant Systems, Inc. (info@repinvariant.com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_accept_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_accept_op.hpp
index b340928f3f..1c3e351645 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_accept_op.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_accept_op.hpp
@@ -2,7 +2,7 @@
// detail/win_iocp_socket_accept_op.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -89,6 +89,7 @@ public:
boost::system::error_code ec(result_ec);
// Take ownership of the operation object.
+ BOOST_ASIO_ASSUME(base != 0);
win_iocp_socket_accept_op* o(static_cast<win_iocp_socket_accept_op*>(base));
ptr p = { boost::asio::detail::addressof(o->handler_), o, o };
@@ -235,6 +236,7 @@ public:
boost::system::error_code ec(result_ec);
// Take ownership of the operation object.
+ BOOST_ASIO_ASSUME(base != 0);
win_iocp_socket_move_accept_op* o(
static_cast<win_iocp_socket_move_accept_op*>(base));
ptr p = { boost::asio::detail::addressof(o->handler_), o, o };
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_connect_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_connect_op.hpp
index c86a6f7c99..5304a4ceed 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_connect_op.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_connect_op.hpp
@@ -2,7 +2,7 @@
// detail/win_iocp_socket_connect_op.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -48,6 +48,7 @@ public:
static status do_perform(reactor_op* base)
{
+ BOOST_ASIO_ASSUME(base != 0);
win_iocp_socket_connect_op_base* o(
static_cast<win_iocp_socket_connect_op_base*>(base));
@@ -81,6 +82,7 @@ public:
boost::system::error_code ec(result_ec);
// Take ownership of the operation object.
+ BOOST_ASIO_ASSUME(base != 0);
win_iocp_socket_connect_op* o(
static_cast<win_iocp_socket_connect_op*>(base));
ptr p = { boost::asio::detail::addressof(o->handler_), o, o };
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_recv_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_recv_op.hpp
index a1b220e709..9bfb7cdb10 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_recv_op.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_recv_op.hpp
@@ -2,7 +2,7 @@
// detail/win_iocp_socket_recv_op.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -62,6 +62,7 @@ public:
boost::system::error_code ec(result_ec);
// Take ownership of the operation object.
+ BOOST_ASIO_ASSUME(base != 0);
win_iocp_socket_recv_op* o(static_cast<win_iocp_socket_recv_op*>(base));
ptr p = { boost::asio::detail::addressof(o->handler_), o, o };
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_recvfrom_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_recvfrom_op.hpp
index 4f38e34ed0..6d7650b171 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_recvfrom_op.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_recvfrom_op.hpp
@@ -2,7 +2,7 @@
// detail/win_iocp_socket_recvfrom_op.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -69,6 +69,7 @@ public:
boost::system::error_code ec(result_ec);
// Take ownership of the operation object.
+ BOOST_ASIO_ASSUME(base != 0);
win_iocp_socket_recvfrom_op* o(
static_cast<win_iocp_socket_recvfrom_op*>(base));
ptr p = { boost::asio::detail::addressof(o->handler_), o, o };
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_recvmsg_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_recvmsg_op.hpp
index aacdae6a4c..deaa6e66f4 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_recvmsg_op.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_recvmsg_op.hpp
@@ -2,7 +2,7 @@
// detail/win_iocp_socket_recvmsg_op.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -64,6 +64,7 @@ public:
boost::system::error_code ec(result_ec);
// Take ownership of the operation object.
+ BOOST_ASIO_ASSUME(base != 0);
win_iocp_socket_recvmsg_op* o(
static_cast<win_iocp_socket_recvmsg_op*>(base));
ptr p = { boost::asio::detail::addressof(o->handler_), o, o };
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_send_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_send_op.hpp
index cb01f82d01..1e6cdeee7c 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_send_op.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_send_op.hpp
@@ -2,7 +2,7 @@
// detail/win_iocp_socket_send_op.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -60,6 +60,7 @@ public:
boost::system::error_code ec(result_ec);
// Take ownership of the operation object.
+ BOOST_ASIO_ASSUME(base != 0);
win_iocp_socket_send_op* o(static_cast<win_iocp_socket_send_op*>(base));
ptr p = { boost::asio::detail::addressof(o->handler_), o, o };
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_service.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_service.hpp
index 75d54a3678..18705ed594 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_service.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_service.hpp
@@ -2,7 +2,7 @@
// detail/win_iocp_socket_service.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_service_base.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_service_base.hpp
index aa0c1a9ecf..77ef5c7ebc 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_service_base.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_service_base.hpp
@@ -2,7 +2,7 @@
// detail/win_iocp_socket_service_base.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_thread_info.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_thread_info.hpp
index 8b5aca12f7..6283715ed5 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_thread_info.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_thread_info.hpp
@@ -2,7 +2,7 @@
// detail/win_iocp_thread_info.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_wait_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_wait_op.hpp
index e6542abe48..1773cad066 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_wait_op.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_wait_op.hpp
@@ -2,7 +2,7 @@
// detail/win_iocp_wait_op.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -65,6 +65,7 @@ public:
boost::system::error_code ec(result_ec);
// Take ownership of the operation object.
+ BOOST_ASIO_ASSUME(base != 0);
win_iocp_wait_op* o(static_cast<win_iocp_wait_op*>(base));
ptr p = { boost::asio::detail::addressof(o->handler_), o, o };
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/win_mutex.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/win_mutex.hpp
index b79aa8e736..fd47330445 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/win_mutex.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/win_mutex.hpp
@@ -2,7 +2,7 @@
// detail/win_mutex.hpp
// ~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/win_object_handle_service.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/win_object_handle_service.hpp
index ded47990d9..a9327524ca 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/win_object_handle_service.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/win_object_handle_service.hpp
@@ -2,7 +2,7 @@
// detail/win_object_handle_service.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// Copyright (c) 2011 Boris Schaeling (boris@highscore.de)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/win_static_mutex.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/win_static_mutex.hpp
index 2111e2882f..de2ad6c83d 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/win_static_mutex.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/win_static_mutex.hpp
@@ -2,7 +2,7 @@
// detail/win_static_mutex.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/win_thread.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/win_thread.hpp
index f471896d89..996a73cc36 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/win_thread.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/win_thread.hpp
@@ -2,7 +2,7 @@
// detail/win_thread.hpp
// ~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/win_tss_ptr.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/win_tss_ptr.hpp
index 05b62bad24..91d76c73f2 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/win_tss_ptr.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/win_tss_ptr.hpp
@@ -2,7 +2,7 @@
// detail/win_tss_ptr.hpp
// ~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/winapp_thread.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/winapp_thread.hpp
index b79b3f2870..7a755eb0c4 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/winapp_thread.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/winapp_thread.hpp
@@ -2,7 +2,7 @@
// detail/winapp_thread.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/wince_thread.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/wince_thread.hpp
index 66239f7a0b..b0069a692f 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/wince_thread.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/wince_thread.hpp
@@ -2,7 +2,7 @@
// detail/wince_thread.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_async_manager.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_async_manager.hpp
index a72fa28741..01398d54c1 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_async_manager.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_async_manager.hpp
@@ -2,7 +2,7 @@
// detail/winrt_async_manager.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_async_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_async_op.hpp
index 53ab671b6f..c873e67914 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_async_op.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_async_op.hpp
@@ -2,7 +2,7 @@
// detail/winrt_async_op.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_resolve_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_resolve_op.hpp
index 1f742ba506..f8d1a18900 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_resolve_op.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_resolve_op.hpp
@@ -2,7 +2,7 @@
// detail/winrt_resolve_op.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -64,6 +64,7 @@ public:
const boost::system::error_code&, std::size_t)
{
// Take ownership of the operation object.
+ BOOST_ASIO_ASSUME(base != 0);
winrt_resolve_op* o(static_cast<winrt_resolve_op*>(base));
ptr p = { boost::asio::detail::addressof(o->handler_), o, o };
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_resolver_service.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_resolver_service.hpp
index 698e7b20a0..8b762fb0ef 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_resolver_service.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_resolver_service.hpp
@@ -2,7 +2,7 @@
// detail/winrt_resolver_service.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_socket_connect_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_socket_connect_op.hpp
index ac2f63c52c..b198c9e378 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_socket_connect_op.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_socket_connect_op.hpp
@@ -2,7 +2,7 @@
// detail/winrt_socket_connect_op.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -53,6 +53,7 @@ public:
const boost::system::error_code&, std::size_t)
{
// Take ownership of the operation object.
+ BOOST_ASIO_ASSUME(base != 0);
winrt_socket_connect_op* o(static_cast<winrt_socket_connect_op*>(base));
ptr p = { boost::asio::detail::addressof(o->handler_), o, o };
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_socket_recv_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_socket_recv_op.hpp
index 764590e410..99b7459c87 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_socket_recv_op.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_socket_recv_op.hpp
@@ -2,7 +2,7 @@
// detail/winrt_socket_recv_op.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -56,6 +56,7 @@ public:
const boost::system::error_code&, std::size_t)
{
// Take ownership of the operation object.
+ BOOST_ASIO_ASSUME(base != 0);
winrt_socket_recv_op* o(static_cast<winrt_socket_recv_op*>(base));
ptr p = { boost::asio::detail::addressof(o->handler_), o, o };
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_socket_send_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_socket_send_op.hpp
index c73f92de1d..913f77e84b 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_socket_send_op.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_socket_send_op.hpp
@@ -2,7 +2,7 @@
// detail/winrt_socket_send_op.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -55,6 +55,7 @@ public:
const boost::system::error_code&, std::size_t)
{
// Take ownership of the operation object.
+ BOOST_ASIO_ASSUME(base != 0);
winrt_socket_send_op* o(static_cast<winrt_socket_send_op*>(base));
ptr p = { boost::asio::detail::addressof(o->handler_), o, o };
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_ssocket_service.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_ssocket_service.hpp
index 4f61abb989..b47e99609a 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_ssocket_service.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_ssocket_service.hpp
@@ -2,7 +2,7 @@
// detail/winrt_ssocket_service.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_ssocket_service_base.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_ssocket_service_base.hpp
index bcfce97041..e1ca515376 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_ssocket_service_base.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_ssocket_service_base.hpp
@@ -2,7 +2,7 @@
// detail/winrt_ssocket_service_base.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_timer_scheduler.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_timer_scheduler.hpp
index 9fc15aea3d..fdc41211ef 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_timer_scheduler.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_timer_scheduler.hpp
@@ -2,7 +2,7 @@
// detail/winrt_timer_scheduler.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_utils.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_utils.hpp
index 41f97baab3..d225cee062 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_utils.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_utils.hpp
@@ -2,7 +2,7 @@
// detail/winrt_utils.hpp
// ~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/winsock_init.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/winsock_init.hpp
index 7b81fa0d3e..c4b67d7474 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/winsock_init.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/winsock_init.hpp
@@ -2,7 +2,7 @@
// detail/winsock_init.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/work_dispatcher.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/work_dispatcher.hpp
index 6d2413a3e9..c59ce56b5a 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/work_dispatcher.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/work_dispatcher.hpp
@@ -2,7 +2,7 @@
// detail/work_dispatcher.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/wrapped_handler.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/wrapped_handler.hpp
index fe402fc0d5..46706f69d5 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/wrapped_handler.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/detail/wrapped_handler.hpp
@@ -2,7 +2,7 @@
// detail/wrapped_handler.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/dispatch.hpp b/contrib/restricted/boost/asio/include/boost/asio/dispatch.hpp
index dd4de50172..89db1728ad 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/dispatch.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/dispatch.hpp
@@ -2,7 +2,7 @@
// dispatch.hpp
// ~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -17,6 +17,7 @@
#include <boost/asio/detail/config.hpp>
#include <boost/asio/async_result.hpp>
+#include <boost/asio/detail/initiate_dispatch.hpp>
#include <boost/asio/detail/type_traits.hpp>
#include <boost/asio/execution_context.hpp>
#include <boost/asio/execution/executor.hpp>
@@ -26,12 +27,6 @@
namespace boost {
namespace asio {
-namespace detail {
-
-class initiate_dispatch;
-template <typename> class initiate_dispatch_with_executor;
-
-} // namespace detail
/// Submits a completion token or function object for execution.
/**
@@ -79,7 +74,11 @@ BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_PREFIX(NullaryToken, void()) dispatch(
BOOST_ASIO_MOVE_ARG(NullaryToken) token)
BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_SUFFIX((
async_initiate<NullaryToken, void()>(
- declval<detail::initiate_dispatch>(), token)));
+ declval<detail::initiate_dispatch>(), token)))
+{
+ return async_initiate<NullaryToken, void()>(
+ detail::initiate_dispatch(), token);
+}
/// Submits a completion token or function object for execution.
/**
@@ -155,7 +154,11 @@ BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_PREFIX(NullaryToken, void()) dispatch(
>::type = 0)
BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_SUFFIX((
async_initiate<NullaryToken, void()>(
- declval<detail::initiate_dispatch_with_executor<Executor> >(), token)));
+ declval<detail::initiate_dispatch_with_executor<Executor> >(), token)))
+{
+ return async_initiate<NullaryToken, void()>(
+ detail::initiate_dispatch_with_executor<Executor>(ex), token);
+}
/// Submits a completion token or function object for execution.
/**
@@ -185,13 +188,17 @@ BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_PREFIX(NullaryToken, void()) dispatch(
BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_SUFFIX((
async_initiate<NullaryToken, void()>(
declval<detail::initiate_dispatch_with_executor<
- typename ExecutionContext::executor_type> >(), token)));
+ typename ExecutionContext::executor_type> >(), token)))
+{
+ return async_initiate<NullaryToken, void()>(
+ detail::initiate_dispatch_with_executor<
+ typename ExecutionContext::executor_type>(
+ ctx.get_executor()), token);
+}
} // namespace asio
} // namespace boost
#include <boost/asio/detail/pop_options.hpp>
-#include <boost/asio/impl/dispatch.hpp>
-
#endif // BOOST_ASIO_DISPATCH_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/error.hpp b/contrib/restricted/boost/asio/include/boost/asio/error.hpp
index 35ff81e91b..03640067fe 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/error.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/error.hpp
@@ -2,7 +2,7 @@
// error.hpp
// ~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/execution.hpp b/contrib/restricted/boost/asio/include/boost/asio/execution.hpp
index e8ce4e8e92..677039a070 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/execution.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/execution.hpp
@@ -2,7 +2,7 @@
// execution.hpp
// ~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/execution/allocator.hpp b/contrib/restricted/boost/asio/include/boost/asio/execution/allocator.hpp
index af3f197f75..8b0a38a21c 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/execution/allocator.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/execution/allocator.hpp
@@ -2,7 +2,7 @@
// execution/allocator.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/execution/any_executor.hpp b/contrib/restricted/boost/asio/include/boost/asio/execution/any_executor.hpp
index 3a05141604..2514e4c5e6 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/execution/any_executor.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/execution/any_executor.hpp
@@ -2,7 +2,7 @@
// execution/any_executor.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -993,27 +993,34 @@ protected:
static bool equal_ex(const any_executor_base& ex1,
const any_executor_base& ex2)
{
- return *ex1.target<Ex>() == *ex2.target<Ex>();
+ const Ex* p1 = ex1.target<Ex>();
+ const Ex* p2 = ex2.target<Ex>();
+ BOOST_ASIO_ASSUME(p1 != 0 && p2 != 0);
+ return *p1 == *p2;
}
template <typename Ex>
static void execute_ex(const any_executor_base& ex,
BOOST_ASIO_MOVE_ARG(function) f)
{
+ const Ex* p = ex.target<Ex>();
+ BOOST_ASIO_ASSUME(p != 0);
#if defined(BOOST_ASIO_NO_DEPRECATED)
- ex.target<Ex>()->execute(BOOST_ASIO_MOVE_CAST(function)(f));
+ p->execute(BOOST_ASIO_MOVE_CAST(function)(f));
#else // defined(BOOST_ASIO_NO_DEPRECATED)
- execution::execute(*ex.target<Ex>(), BOOST_ASIO_MOVE_CAST(function)(f));
+ execution::execute(*p, BOOST_ASIO_MOVE_CAST(function)(f));
#endif // defined(BOOST_ASIO_NO_DEPRECATED)
}
template <typename Ex>
static void blocking_execute_ex(const any_executor_base& ex, function_view f)
{
+ const Ex* p = ex.target<Ex>();
+ BOOST_ASIO_ASSUME(p != 0);
#if defined(BOOST_ASIO_NO_DEPRECATED)
- ex.target<Ex>()->execute(f);
+ p->execute(f);
#else // defined(BOOST_ASIO_NO_DEPRECATED)
- execution::execute(*ex.target<Ex>(), f);
+ execution::execute(*p, f);
#endif // defined(BOOST_ASIO_NO_DEPRECATED)
}
diff --git a/contrib/restricted/boost/asio/include/boost/asio/execution/bad_executor.hpp b/contrib/restricted/boost/asio/include/boost/asio/execution/bad_executor.hpp
index 25ba0782fc..e613c463f2 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/execution/bad_executor.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/execution/bad_executor.hpp
@@ -2,7 +2,7 @@
// execution/bad_executor.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/execution/blocking.hpp b/contrib/restricted/boost/asio/include/boost/asio/execution/blocking.hpp
index c005bfce5b..c2caaa698c 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/execution/blocking.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/execution/blocking.hpp
@@ -2,7 +2,7 @@
// execution/blocking.hpp
// ~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/execution/blocking_adaptation.hpp b/contrib/restricted/boost/asio/include/boost/asio/execution/blocking_adaptation.hpp
index 08fc2ce6f7..84febd7007 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/execution/blocking_adaptation.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/execution/blocking_adaptation.hpp
@@ -2,7 +2,7 @@
// execution/blocking_adaptation.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/execution/bulk_execute.hpp b/contrib/restricted/boost/asio/include/boost/asio/execution/bulk_execute.hpp
index c3db343a63..340902147f 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/execution/bulk_execute.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/execution/bulk_execute.hpp
@@ -2,7 +2,7 @@
// execution/bulk_execute.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/execution/bulk_guarantee.hpp b/contrib/restricted/boost/asio/include/boost/asio/execution/bulk_guarantee.hpp
index f3dec30aa7..9c4f3b2c2b 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/execution/bulk_guarantee.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/execution/bulk_guarantee.hpp
@@ -2,7 +2,7 @@
// execution/bulk_guarantee.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/execution/connect.hpp b/contrib/restricted/boost/asio/include/boost/asio/execution/connect.hpp
index d2f88b9495..09cbd964d4 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/execution/connect.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/execution/connect.hpp
@@ -2,7 +2,7 @@
// execution/connect.hpp
// ~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/execution/context.hpp b/contrib/restricted/boost/asio/include/boost/asio/execution/context.hpp
index 36ddd5b86a..af93738b09 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/execution/context.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/execution/context.hpp
@@ -2,7 +2,7 @@
// execution/context.hpp
// ~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/execution/context_as.hpp b/contrib/restricted/boost/asio/include/boost/asio/execution/context_as.hpp
index 6bd4697c7b..1d7e257d49 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/execution/context_as.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/execution/context_as.hpp
@@ -2,7 +2,7 @@
// execution/context_as.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/execution/detail/as_invocable.hpp b/contrib/restricted/boost/asio/include/boost/asio/execution/detail/as_invocable.hpp
index b6aa9a57ca..e1835d0ad7 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/execution/detail/as_invocable.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/execution/detail/as_invocable.hpp
@@ -2,7 +2,7 @@
// execution/detail/as_invocable.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/execution/detail/as_operation.hpp b/contrib/restricted/boost/asio/include/boost/asio/execution/detail/as_operation.hpp
index fc34306a80..61eeaad9aa 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/execution/detail/as_operation.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/execution/detail/as_operation.hpp
@@ -2,7 +2,7 @@
// execution/detail/as_operation.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/execution/detail/as_receiver.hpp b/contrib/restricted/boost/asio/include/boost/asio/execution/detail/as_receiver.hpp
index 330a0ba82d..b019e1c09a 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/execution/detail/as_receiver.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/execution/detail/as_receiver.hpp
@@ -2,7 +2,7 @@
// execution/detail/as_receiver.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/execution/detail/bulk_sender.hpp b/contrib/restricted/boost/asio/include/boost/asio/execution/detail/bulk_sender.hpp
index 407c86467e..ff2155e779 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/execution/detail/bulk_sender.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/execution/detail/bulk_sender.hpp
@@ -2,7 +2,7 @@
// execution/detail/bulk_sender.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/execution/detail/submit_receiver.hpp b/contrib/restricted/boost/asio/include/boost/asio/execution/detail/submit_receiver.hpp
index d784f6c8ef..b87aaa43ac 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/execution/detail/submit_receiver.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/execution/detail/submit_receiver.hpp
@@ -2,7 +2,7 @@
// execution/detail/submit_receiver.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/execution/detail/void_receiver.hpp b/contrib/restricted/boost/asio/include/boost/asio/execution/detail/void_receiver.hpp
index c40368dff2..ca9c862980 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/execution/detail/void_receiver.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/execution/detail/void_receiver.hpp
@@ -2,7 +2,7 @@
// execution/detail/void_receiver.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/execution/execute.hpp b/contrib/restricted/boost/asio/include/boost/asio/execution/execute.hpp
index ef2ff3204e..cd4fb969c6 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/execution/execute.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/execution/execute.hpp
@@ -2,7 +2,7 @@
// execution/execute.hpp
// ~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/execution/executor.hpp b/contrib/restricted/boost/asio/include/boost/asio/execution/executor.hpp
index a0a0ff3613..39ff3eebbd 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/execution/executor.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/execution/executor.hpp
@@ -2,7 +2,7 @@
// execution/executor.hpp
// ~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/execution/impl/bad_executor.ipp b/contrib/restricted/boost/asio/include/boost/asio/execution/impl/bad_executor.ipp
index bb13acadd2..c8d1c04cb3 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/execution/impl/bad_executor.ipp
+++ b/contrib/restricted/boost/asio/include/boost/asio/execution/impl/bad_executor.ipp
@@ -2,7 +2,7 @@
// exection/impl/bad_executor.ipp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/execution/impl/receiver_invocation_error.ipp b/contrib/restricted/boost/asio/include/boost/asio/execution/impl/receiver_invocation_error.ipp
index 04387e723a..923c1624a8 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/execution/impl/receiver_invocation_error.ipp
+++ b/contrib/restricted/boost/asio/include/boost/asio/execution/impl/receiver_invocation_error.ipp
@@ -2,7 +2,7 @@
// exection/impl/receiver_invocation_error.ipp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/execution/invocable_archetype.hpp b/contrib/restricted/boost/asio/include/boost/asio/execution/invocable_archetype.hpp
index bf60c39946..36a146170e 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/execution/invocable_archetype.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/execution/invocable_archetype.hpp
@@ -2,7 +2,7 @@
// execution/invocable_archetype.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/execution/mapping.hpp b/contrib/restricted/boost/asio/include/boost/asio/execution/mapping.hpp
index 0765ecae20..ecd3ef2478 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/execution/mapping.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/execution/mapping.hpp
@@ -2,7 +2,7 @@
// execution/mapping.hpp
// ~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/execution/occupancy.hpp b/contrib/restricted/boost/asio/include/boost/asio/execution/occupancy.hpp
index af4e9cd737..0211be1886 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/execution/occupancy.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/execution/occupancy.hpp
@@ -2,7 +2,7 @@
// execution/occupancy.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/execution/operation_state.hpp b/contrib/restricted/boost/asio/include/boost/asio/execution/operation_state.hpp
index 7c356060bf..7baf7c4cac 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/execution/operation_state.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/execution/operation_state.hpp
@@ -2,7 +2,7 @@
// execution/operation_state.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/execution/outstanding_work.hpp b/contrib/restricted/boost/asio/include/boost/asio/execution/outstanding_work.hpp
index 95d9da26a3..0e726caba0 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/execution/outstanding_work.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/execution/outstanding_work.hpp
@@ -2,7 +2,7 @@
// execution/outstanding_work.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/execution/prefer_only.hpp b/contrib/restricted/boost/asio/include/boost/asio/execution/prefer_only.hpp
index 8f22b5b853..1d5d7a5af5 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/execution/prefer_only.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/execution/prefer_only.hpp
@@ -2,7 +2,7 @@
// execution/prefer_only.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/execution/receiver.hpp b/contrib/restricted/boost/asio/include/boost/asio/execution/receiver.hpp
index 3c115a6418..e5b08eb9b0 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/execution/receiver.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/execution/receiver.hpp
@@ -2,7 +2,7 @@
// execution/receiver.hpp
// ~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/execution/receiver_invocation_error.hpp b/contrib/restricted/boost/asio/include/boost/asio/execution/receiver_invocation_error.hpp
index f78138bf3c..f3bac5d6bb 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/execution/receiver_invocation_error.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/execution/receiver_invocation_error.hpp
@@ -2,7 +2,7 @@
// execution/receiver_invocation_error.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/execution/relationship.hpp b/contrib/restricted/boost/asio/include/boost/asio/execution/relationship.hpp
index 488fce97be..dcdba3b00e 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/execution/relationship.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/execution/relationship.hpp
@@ -2,7 +2,7 @@
// execution/relationship.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/execution/schedule.hpp b/contrib/restricted/boost/asio/include/boost/asio/execution/schedule.hpp
index 351d761df0..56b835d176 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/execution/schedule.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/execution/schedule.hpp
@@ -2,7 +2,7 @@
// execution/schedule.hpp
// ~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/execution/scheduler.hpp b/contrib/restricted/boost/asio/include/boost/asio/execution/scheduler.hpp
index 881ad05859..a148945683 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/execution/scheduler.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/execution/scheduler.hpp
@@ -2,7 +2,7 @@
// execution/scheduler.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/execution/sender.hpp b/contrib/restricted/boost/asio/include/boost/asio/execution/sender.hpp
index 396a6b7395..fd38adc9da 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/execution/sender.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/execution/sender.hpp
@@ -2,7 +2,7 @@
// execution/sender.hpp
// ~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/execution/set_done.hpp b/contrib/restricted/boost/asio/include/boost/asio/execution/set_done.hpp
index 5627ec6728..d0fe0c21bc 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/execution/set_done.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/execution/set_done.hpp
@@ -2,7 +2,7 @@
// execution/set_done.hpp
// ~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/execution/set_error.hpp b/contrib/restricted/boost/asio/include/boost/asio/execution/set_error.hpp
index 0ced6fb6c7..5bca7a5e41 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/execution/set_error.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/execution/set_error.hpp
@@ -2,7 +2,7 @@
// execution/set_error.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/execution/set_value.hpp b/contrib/restricted/boost/asio/include/boost/asio/execution/set_value.hpp
index 6919e7d7ac..fff8c71945 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/execution/set_value.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/execution/set_value.hpp
@@ -2,7 +2,7 @@
// execution/set_value.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/execution/start.hpp b/contrib/restricted/boost/asio/include/boost/asio/execution/start.hpp
index 1fcbbf0e87..824be3b8f3 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/execution/start.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/execution/start.hpp
@@ -2,7 +2,7 @@
// execution/start.hpp
// ~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/execution/submit.hpp b/contrib/restricted/boost/asio/include/boost/asio/execution/submit.hpp
index 77dd4b4cef..6626007e80 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/execution/submit.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/execution/submit.hpp
@@ -2,7 +2,7 @@
// execution/submit.hpp
// ~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/execution_context.hpp b/contrib/restricted/boost/asio/include/boost/asio/execution_context.hpp
index e305dba5d8..b96815afa5 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/execution_context.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/execution_context.hpp
@@ -2,7 +2,7 @@
// execution_context.hpp
// ~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/executor.hpp b/contrib/restricted/boost/asio/include/boost/asio/executor.hpp
index 7ef34081e3..037d1d214f 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/executor.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/executor.hpp
@@ -2,7 +2,7 @@
// executor.hpp
// ~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/executor_work_guard.hpp b/contrib/restricted/boost/asio/include/boost/asio/executor_work_guard.hpp
index a83f346977..ce94ee3ba9 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/executor_work_guard.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/executor_work_guard.hpp
@@ -2,7 +2,7 @@
// executor_work_guard.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/append.hpp b/contrib/restricted/boost/asio/include/boost/asio/experimental/append.hpp
index 1736e36537..d138f92df6 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/experimental/append.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/append.hpp
@@ -2,7 +2,7 @@
// experimental/append.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/as_single.hpp b/contrib/restricted/boost/asio/include/boost/asio/experimental/as_single.hpp
index 3fc38eb10b..8ec8dccb71 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/experimental/as_single.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/as_single.hpp
@@ -2,7 +2,7 @@
// experimental/as_single.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/as_tuple.hpp b/contrib/restricted/boost/asio/include/boost/asio/experimental/as_tuple.hpp
index 30d615d405..6a94d28def 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/experimental/as_tuple.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/as_tuple.hpp
@@ -2,7 +2,7 @@
// experimental/as_tuple.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/awaitable_operators.hpp b/contrib/restricted/boost/asio/include/boost/asio/experimental/awaitable_operators.hpp
index 992aef777d..16bde898ab 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/experimental/awaitable_operators.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/awaitable_operators.hpp
@@ -2,7 +2,7 @@
// experimental/awaitable_operators.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/basic_channel.hpp b/contrib/restricted/boost/asio/include/boost/asio/experimental/basic_channel.hpp
index 1a74a7c9eb..0ae7c337b4 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/experimental/basic_channel.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/basic_channel.hpp
@@ -2,7 +2,7 @@
// experimental/basic_channel.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/basic_concurrent_channel.hpp b/contrib/restricted/boost/asio/include/boost/asio/experimental/basic_concurrent_channel.hpp
index d9666d3699..781fdbabf1 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/experimental/basic_concurrent_channel.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/basic_concurrent_channel.hpp
@@ -2,7 +2,7 @@
// experimental/basic_concurrent_channel.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/cancellation_condition.hpp b/contrib/restricted/boost/asio/include/boost/asio/experimental/cancellation_condition.hpp
index f6d33effd1..a64f588b43 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/experimental/cancellation_condition.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/cancellation_condition.hpp
@@ -2,7 +2,7 @@
// experimental/cancellation_condition.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/channel.hpp b/contrib/restricted/boost/asio/include/boost/asio/experimental/channel.hpp
index 941e5ed32a..34ea4e57d6 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/experimental/channel.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/channel.hpp
@@ -2,7 +2,7 @@
// experimental/channel.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/channel_error.hpp b/contrib/restricted/boost/asio/include/boost/asio/experimental/channel_error.hpp
index 3381c23f64..6e05696733 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/experimental/channel_error.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/channel_error.hpp
@@ -2,7 +2,7 @@
// experimental/channel_error.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/channel_traits.hpp b/contrib/restricted/boost/asio/include/boost/asio/experimental/channel_traits.hpp
index 97ed6f2268..671751cb3e 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/experimental/channel_traits.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/channel_traits.hpp
@@ -2,7 +2,7 @@
// experimental/channel_traits.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/co_composed.hpp b/contrib/restricted/boost/asio/include/boost/asio/experimental/co_composed.hpp
index 066d2d2bf7..6c20008eea 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/experimental/co_composed.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/co_composed.hpp
@@ -2,7 +2,7 @@
// experimental/co_composed.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/co_spawn.hpp b/contrib/restricted/boost/asio/include/boost/asio/experimental/co_spawn.hpp
index c973c61cbe..9d56b254e7 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/experimental/co_spawn.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/co_spawn.hpp
@@ -2,7 +2,7 @@
// experimental/co_spawn.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2021-2022 Klemens D. Morgenstern
+// Copyright (c) 2021-2023 Klemens D. Morgenstern
// (klemens dot morgenstern at gmx dot net)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/concurrent_channel.hpp b/contrib/restricted/boost/asio/include/boost/asio/experimental/concurrent_channel.hpp
index c32367a9f4..2bf6edad62 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/experimental/concurrent_channel.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/concurrent_channel.hpp
@@ -2,7 +2,7 @@
// experimental/concurrent_channel.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/coro.hpp b/contrib/restricted/boost/asio/include/boost/asio/experimental/coro.hpp
index 718d64fd14..ad90fbe69a 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/experimental/coro.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/coro.hpp
@@ -2,7 +2,7 @@
// experimental/coro.hpp
// ~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2021-2022 Klemens D. Morgenstern
+// Copyright (c) 2021-2023 Klemens D. Morgenstern
// (klemens dot morgenstern at gmx dot net)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/coro_traits.hpp b/contrib/restricted/boost/asio/include/boost/asio/experimental/coro_traits.hpp
index bcd92aad52..f997526cfb 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/experimental/coro_traits.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/coro_traits.hpp
@@ -2,7 +2,7 @@
// experimental/detail/coro_traits.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2021-2022 Klemens D. Morgenstern
+// Copyright (c) 2021-2023 Klemens D. Morgenstern
// (klemens dot morgenstern at gmx dot net)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/deferred.hpp b/contrib/restricted/boost/asio/include/boost/asio/experimental/deferred.hpp
index aa72b07f1b..8c48917b7d 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/experimental/deferred.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/deferred.hpp
@@ -2,7 +2,7 @@
// experimental/deferred.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/channel_handler.hpp b/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/channel_handler.hpp
index aee027aaf2..e526900a0a 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/channel_handler.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/channel_handler.hpp
@@ -2,7 +2,7 @@
// experimental/detail/channel_handler.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/channel_message.hpp b/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/channel_message.hpp
index f565c7e313..3d81af5c3d 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/channel_message.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/channel_message.hpp
@@ -2,7 +2,7 @@
// experimental/detail/channel_message.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -18,6 +18,7 @@
#include <boost/asio/detail/config.hpp>
#include <tuple>
#include <boost/asio/detail/type_traits.hpp>
+#include <boost/asio/detail/utility.hpp>
#include <boost/asio/detail/push_options.hpp>
@@ -105,11 +106,17 @@ public:
template <typename Handler>
void receive(Handler& h)
{
- std::apply(BOOST_ASIO_MOVE_OR_LVALUE(Handler)(h),
- BOOST_ASIO_MOVE_CAST(args_type)(args_));
+ this->do_receive(h, boost::asio::detail::index_sequence_for<Args...>());
}
private:
+ template <typename Handler, std::size_t... I>
+ void do_receive(Handler& h, boost::asio::detail::index_sequence<I...>)
+ {
+ BOOST_ASIO_MOVE_OR_LVALUE(Handler)(h)(
+ std::get<I>(BOOST_ASIO_MOVE_CAST(args_type)(args_))...);
+ }
+
typedef std::tuple<typename decay<Args>::type...> args_type;
args_type args_;
};
diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/channel_operation.hpp b/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/channel_operation.hpp
index 180476e412..557d4b36c8 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/channel_operation.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/channel_operation.hpp
@@ -2,7 +2,7 @@
// experimental/detail/channel_operation.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -18,7 +18,11 @@
#include <boost/asio/detail/config.hpp>
#include <boost/asio/associated_allocator.hpp>
#include <boost/asio/associated_executor.hpp>
+#include <boost/asio/associated_immediate_executor.hpp>
+#include <boost/asio/detail/initiate_post.hpp>
+#include <boost/asio/detail/initiate_dispatch.hpp>
#include <boost/asio/detail/op_queue.hpp>
+#include <boost/asio/detail/type_traits.hpp>
#include <boost/asio/execution/executor.hpp>
#include <boost/asio/execution/outstanding_work.hpp>
#include <boost/asio/executor_work_guard.hpp>
@@ -51,9 +55,10 @@ protected:
enum action
{
destroy_op = 0,
- complete_op = 1,
- cancel_op = 2,
- close_op = 3
+ immediate_op = 1,
+ complete_op = 2,
+ cancel_op = 3,
+ close_op = 4
};
typedef void (*func_type)(channel_operation*, action, void*);
@@ -83,11 +88,22 @@ template <typename Executor, typename>
class channel_operation::handler_work_base
{
public:
+ typedef typename decay<
+ typename prefer_result<Executor,
+ execution::outstanding_work_t::tracked_t
+ >::type
+ >::type executor_type;
+
handler_work_base(int, const Executor& ex)
: executor_(boost::asio::prefer(ex, execution::outstanding_work.tracked))
{
}
+ const executor_type& get_executor() const BOOST_ASIO_NOEXCEPT
+ {
+ return executor_;
+ }
+
template <typename Function, typename Handler>
void post(Function& function, Handler& handler)
{
@@ -109,11 +125,7 @@ public:
}
private:
- typename decay<
- typename prefer_result<Executor,
- execution::outstanding_work_t::tracked_t
- >::type
- >::type executor_;
+ executor_type executor_;
};
#if !defined(BOOST_ASIO_NO_TS_EXECUTORS)
@@ -125,11 +137,18 @@ class channel_operation::handler_work_base<Executor,
>::type>
{
public:
+ typedef Executor executor_type;
+
handler_work_base(int, const Executor& ex)
: work_(ex)
{
}
+ executor_type get_executor() const BOOST_ASIO_NOEXCEPT
+ {
+ return work_.get_executor();
+ }
+
template <typename Function, typename Handler>
void post(Function& function, Handler& handler)
{
@@ -170,6 +189,37 @@ public:
{
base2_type::post(function, handler);
}
+
+ template <typename Function>
+ void immediate(Function& function, Handler& handler, ...)
+ {
+ typedef typename associated_immediate_executor<Handler,
+ typename base1_type::executor_type>::type immediate_ex_type;
+
+ immediate_ex_type immediate_ex = (get_associated_immediate_executor)(
+ handler, base1_type::get_executor());
+
+ (boost::asio::detail::initiate_dispatch_with_executor<immediate_ex_type>(
+ immediate_ex))(BOOST_ASIO_MOVE_CAST(Function)(function));
+ }
+
+ template <typename Function>
+ void immediate(Function& function, Handler&,
+ typename enable_if<
+ is_same<
+ typename associated_immediate_executor<
+ typename conditional<false, Function, Handler>::type,
+ typename base1_type::executor_type>::
+ asio_associated_immediate_executor_is_unspecialised,
+ void
+ >::value
+ >::type*)
+ {
+ (boost::asio::detail::initiate_post_with_executor<
+ typename base1_type::executor_type>(
+ base1_type::get_executor()))(
+ BOOST_ASIO_MOVE_CAST(Function)(function));
+ }
};
template <typename Handler, typename IoExecutor>
@@ -196,6 +246,34 @@ public:
{
base1_type::post(function, handler);
}
+
+ template <typename Function>
+ void immediate(Function& function, Handler& handler, ...)
+ {
+ typedef typename associated_immediate_executor<Handler,
+ typename base1_type::executor_type>::type immediate_ex_type;
+
+ immediate_ex_type immediate_ex = (get_associated_immediate_executor)(
+ handler, base1_type::get_executor());
+
+ (boost::asio::detail::initiate_dispatch_with_executor<immediate_ex_type>(
+ immediate_ex))(BOOST_ASIO_MOVE_CAST(Function)(function));
+ }
+
+ template <typename Function>
+ void immediate(Function& function, Handler& handler,
+ typename enable_if<
+ is_same<
+ typename associated_immediate_executor<
+ typename conditional<false, Function, Handler>::type,
+ typename base1_type::executor_type>::
+ asio_associated_immediate_executor_is_unspecialised,
+ void
+ >::value
+ >::type*)
+ {
+ base1_type::post(function, handler);
+ }
};
} // namespace detail
diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/channel_payload.hpp b/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/channel_payload.hpp
index 83415322e5..83ccb2eb67 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/channel_payload.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/channel_payload.hpp
@@ -2,7 +2,7 @@
// experimental/detail/channel_payload.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -16,10 +16,14 @@
#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
#include <boost/asio/detail/config.hpp>
-#include <variant>
#include <boost/asio/detail/type_traits.hpp>
+#include <boost/system/error_code.hpp>
#include <boost/asio/experimental/detail/channel_message.hpp>
+#if defined(BOOST_ASIO_HAS_STD_VARIANT)
+# include <variant>
+#endif // defined(BOOST_ASIO_HAS_STD_VARIANT)
+
#include <boost/asio/detail/push_options.hpp>
namespace boost {
@@ -28,6 +32,45 @@ namespace experimental {
namespace detail {
template <typename... Signatures>
+class channel_payload;
+
+template <typename R>
+class channel_payload<R()>
+{
+public:
+ explicit channel_payload(channel_message<R()>)
+ {
+ }
+
+ template <typename Handler>
+ void receive(Handler& handler)
+ {
+ BOOST_ASIO_MOVE_OR_LVALUE(Handler)(handler)();
+ }
+};
+
+template <typename Signature>
+class channel_payload<Signature>
+{
+public:
+ channel_payload(BOOST_ASIO_MOVE_ARG(channel_message<Signature>) m)
+ : message_(BOOST_ASIO_MOVE_CAST(channel_message<Signature>)(m))
+ {
+ }
+
+ template <typename Handler>
+ void receive(Handler& handler)
+ {
+ message_.receive(handler);
+ }
+
+private:
+ channel_message<Signature> message_;
+};
+
+#if defined(BOOST_ASIO_HAS_STD_VARIANT)
+
+template <typename... Signatures>
class channel_payload
{
public:
@@ -51,40 +94,43 @@ private:
std::variant<channel_message<Signatures>...> message_;
};
-template <typename R>
-class channel_payload<R()>
+#else // defined(BOOST_ASIO_HAS_STD_VARIANT)
+
+template <typename R1, typename R2>
+class channel_payload<R1(), R2(boost::system::error_code)>
{
public:
- explicit channel_payload(channel_message<R()>)
- {
- }
+ typedef channel_message<R1()> void_message_type;
+ typedef channel_message<R2(boost::system::error_code)> error_message_type;
- template <typename Handler>
- void receive(Handler& handler)
+ channel_payload(BOOST_ASIO_MOVE_ARG(void_message_type))
+ : message_(0, boost::system::error_code()),
+ empty_(true)
{
- BOOST_ASIO_MOVE_OR_LVALUE(Handler)(handler)();
}
-};
-template <typename Signature>
-class channel_payload<Signature>
-{
-public:
- channel_payload(BOOST_ASIO_MOVE_ARG(channel_message<Signature>) m)
- : message_(BOOST_ASIO_MOVE_CAST(channel_message<Signature>)(m))
+ channel_payload(BOOST_ASIO_MOVE_ARG(error_message_type) m)
+ : message_(BOOST_ASIO_MOVE_CAST(error_message_type)(m)),
+ empty_(false)
{
}
template <typename Handler>
void receive(Handler& handler)
{
- message_.receive(handler);
+ if (empty_)
+ channel_message<R1()>(0).receive(handler);
+ else
+ message_.receive(handler);
}
private:
- channel_message<Signature> message_;
+ error_message_type message_;
+ bool empty_;
};
+#endif // defined(BOOST_ASIO_HAS_STD_VARIANT)
+
} // namespace detail
} // namespace experimental
} // namespace asio
diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/channel_receive_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/channel_receive_op.hpp
index 4c3f04cad1..d92e22b99e 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/channel_receive_op.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/channel_receive_op.hpp
@@ -2,7 +2,7 @@
// experimental/detail/channel_receive_op.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -34,6 +34,11 @@ template <typename Payload>
class channel_receive : public channel_operation
{
public:
+ void immediate(Payload payload)
+ {
+ func_(this, immediate_op, &payload);
+ }
+
void complete(Payload payload)
{
func_(this, complete_op, &payload);
@@ -80,7 +85,7 @@ public:
// with the handler. Consequently, a local copy of the handler is required
// to ensure that any owning sub-object remains valid until after we have
// deallocated the memory here.
- if (a == channel_operation::complete_op)
+ if (a != channel_operation::destroy_op)
{
Payload* payload = static_cast<Payload*>(v);
channel_handler<Payload, Handler> handler(
@@ -88,7 +93,10 @@ public:
p.h = boost::asio::detail::addressof(handler.handler_);
p.reset();
BOOST_ASIO_HANDLER_INVOCATION_BEGIN(());
- w.complete(handler, handler.handler_);
+ if (a == channel_operation::immediate_op)
+ w.immediate(handler, handler.handler_, 0);
+ else
+ w.complete(handler, handler.handler_);
BOOST_ASIO_HANDLER_INVOCATION_END;
}
else
diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/channel_send_functions.hpp b/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/channel_send_functions.hpp
index 7b6c24bc86..f4fb588c9f 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/channel_send_functions.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/channel_send_functions.hpp
@@ -2,7 +2,7 @@
// experimental/detail/channel_send_functions.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -65,6 +65,12 @@ public:
auto async_send(Args... args,
BOOST_ASIO_MOVE_ARG(CompletionToken) token
BOOST_ASIO_DEFAULT_COMPLETION_TOKEN(Executor))
+ -> decltype(
+ async_initiate<CompletionToken, void (boost::system::error_code)>(
+ declval<typename conditional<false, CompletionToken,
+ Derived>::type::initiate_async_send>(), token,
+ declval<typename conditional<false, CompletionToken,
+ Derived>::type::payload_type>()))
{
typedef typename Derived::payload_type payload_type;
typedef typename detail::channel_message<R(Args...)> message_type;
@@ -114,6 +120,12 @@ public:
auto async_send(Args... args,
BOOST_ASIO_MOVE_ARG(CompletionToken) token
BOOST_ASIO_DEFAULT_COMPLETION_TOKEN(Executor))
+ -> decltype(
+ async_initiate<CompletionToken, void (boost::system::error_code)>(
+ declval<typename conditional<false, CompletionToken,
+ Derived>::type::initiate_async_send>(), token,
+ declval<typename conditional<false, CompletionToken,
+ Derived>::type::payload_type>()))
{
typedef typename Derived::payload_type payload_type;
typedef typename detail::channel_message<R(Args...)> message_type;
diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/channel_send_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/channel_send_op.hpp
index 3961236964..860d2d46c5 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/channel_send_op.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/channel_send_op.hpp
@@ -2,7 +2,7 @@
// experimental/detail/channel_send_op.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -39,6 +39,11 @@ public:
return BOOST_ASIO_MOVE_CAST(Payload)(payload_);
}
+ void immediate()
+ {
+ func_(this, immediate_op, 0);
+ }
+
void complete()
{
func_(this, complete_op, 0);
@@ -122,7 +127,10 @@ public:
if (a != channel_operation::destroy_op)
{
BOOST_ASIO_HANDLER_INVOCATION_BEGIN((handler.arg1_));
- w.complete(handler, handler.handler_);
+ if (a == channel_operation::immediate_op)
+ w.immediate(handler, handler.handler_, 0);
+ else
+ w.complete(handler, handler.handler_);
BOOST_ASIO_HANDLER_INVOCATION_END;
}
}
diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/channel_service.hpp b/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/channel_service.hpp
index 628646ff95..f9bb64b2f5 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/channel_service.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/channel_service.hpp
@@ -2,7 +2,7 @@
// experimental/detail/channel_service.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -186,7 +186,6 @@ public:
bool try_receive(implementation_type<Traits, Signatures...>& impl,
BOOST_ASIO_MOVE_ARG(Handler) handler);
- // Asynchronously send a new value into the channel.
// Asynchronously receive a value from the channel.
template <typename Traits, typename... Signatures,
typename Handler, typename IoExecutor>
@@ -537,6 +536,7 @@ struct channel_service<Mutex>::implementation_type<
implementation_type()
: size_(0)
{
+ first_.count_ = 0;
}
// Move from another buffer.
@@ -637,7 +637,7 @@ private:
struct buffered_value
{
boost::system::error_code value_;
- std::size_t count_ = 0;
+ std::size_t count_;
};
struct value_handler
diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/coro_completion_handler.hpp b/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/coro_completion_handler.hpp
index d2bbbf2e72..7e0b0360a3 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/coro_completion_handler.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/coro_completion_handler.hpp
@@ -2,7 +2,7 @@
// experimental/detail/coro_completion_handler.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2021-2022 Klemens D. Morgenstern
+// Copyright (c) 2021-2023 Klemens D. Morgenstern
// (klemens dot morgenstern at gmx dot net)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
@@ -106,7 +106,7 @@ auto coro_interpret_result(std::tuple<std::exception_ptr, Args...>&& args)
[](auto, auto&&... rest)
{
return std::make_tuple(std::move(rest)...);
- });
+ }, std::move(args));
}
template <typename... Args>
@@ -121,7 +121,7 @@ auto coro_interpret_result(
[](auto, auto&&... rest)
{
return std::make_tuple(std::move(rest)...);
- });
+ }, std::move(args));
}
template <typename Arg>
diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/coro_promise_allocator.hpp b/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/coro_promise_allocator.hpp
index a459a06784..322ecbbef2 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/coro_promise_allocator.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/coro_promise_allocator.hpp
@@ -2,7 +2,7 @@
// experimental/detail/coro_promise_allocator.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2021-2022 Klemens D. Morgenstern
+// Copyright (c) 2021-2023 Klemens D. Morgenstern
// (klemens dot morgenstern at gmx dot net)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/has_signature.hpp b/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/has_signature.hpp
index ffd330ca39..e380a498bd 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/has_signature.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/has_signature.hpp
@@ -2,7 +2,7 @@
// experimental/detail/has_signature.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/impl/channel_service.hpp b/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/impl/channel_service.hpp
index 29951325c3..eca622a0f8 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/impl/channel_service.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/impl/channel_service.hpp
@@ -2,7 +2,7 @@
// experimental/detail/impl/channel_service.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -212,7 +212,8 @@ void channel_service<Mutex>::close(
}
impl.send_state_ = closed;
- impl.receive_state_ = closed;
+ if (impl.receive_state_ != buffer)
+ impl.receive_state_ = closed;
}
template <typename Mutex>
@@ -247,7 +248,7 @@ void channel_service<Mutex>::cancel(
if (impl.receive_state_ == waiter)
impl.receive_state_ = block;
if (impl.send_state_ == waiter)
- impl.send_state_ = block;
+ impl.send_state_ = impl.max_buffer_size_ ? buffer : block;
}
template <typename Mutex>
@@ -295,7 +296,7 @@ void channel_service<Mutex>::cancel_by_key(
if (impl.receive_state_ == waiter)
impl.receive_state_ = block;
if (impl.send_state_ == waiter)
- impl.send_state_ = block;
+ impl.send_state_ = impl.max_buffer_size_ ? buffer : block;
}
}
@@ -448,7 +449,7 @@ void channel_service<Mutex>::start_send_op(
impl.receive_state_ = buffer;
if (impl.buffer_size() == impl.max_buffer_size_)
impl.send_state_ = block;
- send_op->complete();
+ send_op->immediate();
break;
}
case waiter:
@@ -459,7 +460,7 @@ void channel_service<Mutex>::start_send_op(
receive_op->complete(send_op->get_payload());
if (impl.waiters_.empty())
impl.send_state_ = impl.max_buffer_size_ ? buffer : block;
- send_op->complete();
+ send_op->immediate();
break;
}
case closed:
@@ -560,7 +561,8 @@ void channel_service<Mutex>::start_receive_op(
}
case buffer:
{
- receive_op->complete(impl.buffer_front());
+ payload_type payload(
+ BOOST_ASIO_MOVE_CAST(payload_type)(impl.buffer_front()));
if (channel_send<payload_type>* send_op =
static_cast<channel_send<payload_type>*>(impl.waiters_.front()))
{
@@ -576,6 +578,7 @@ void channel_service<Mutex>::start_receive_op(
impl.receive_state_ = (impl.send_state_ == closed) ? closed : block;
impl.send_state_ = (impl.send_state_ == closed) ? closed : buffer;
}
+ receive_op->immediate(BOOST_ASIO_MOVE_CAST(payload_type)(payload));
break;
}
case waiter:
@@ -585,9 +588,9 @@ void channel_service<Mutex>::start_receive_op(
payload_type payload = send_op->get_payload();
impl.waiters_.pop();
send_op->complete();
- receive_op->complete(BOOST_ASIO_MOVE_CAST(payload_type)(payload));
if (impl.waiters_.front() == 0)
impl.receive_state_ = (impl.send_state_ == closed) ? closed : block;
+ receive_op->immediate(BOOST_ASIO_MOVE_CAST(payload_type)(payload));
break;
}
case closed:
diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/partial_promise.hpp b/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/partial_promise.hpp
index 56805e183c..48c8496609 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/partial_promise.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/detail/partial_promise.hpp
@@ -2,7 +2,7 @@
// experimental/detail/partial_promise.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2021-2022 Klemens D. Morgenstern
+// Copyright (c) 2021-2023 Klemens D. Morgenstern
// (klemens dot morgenstern at gmx dot net)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/impl/as_single.hpp b/contrib/restricted/boost/asio/include/boost/asio/experimental/impl/as_single.hpp
index 7749ce2371..12c16cd756 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/experimental/impl/as_single.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/impl/as_single.hpp
@@ -2,7 +2,7 @@
// experimental/impl/as_single.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/impl/channel_error.ipp b/contrib/restricted/boost/asio/include/boost/asio/experimental/impl/channel_error.ipp
index e5e762e4c9..c97ec3afaf 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/experimental/impl/channel_error.ipp
+++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/impl/channel_error.ipp
@@ -2,7 +2,7 @@
// experimental/impl/channel_error.ipp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/impl/co_composed.hpp b/contrib/restricted/boost/asio/include/boost/asio/experimental/impl/co_composed.hpp
index 2134b32cb7..42eb9d2d4e 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/experimental/impl/co_composed.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/impl/co_composed.hpp
@@ -2,7 +2,7 @@
// experimental/impl/co_composed.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -35,6 +35,12 @@
# error #include <experimental/coroutine>
#endif // defined(BOOST_ASIO_HAS_STD_COROUTINE)
+#if defined(BOOST_ASIO_ENABLE_HANDLER_TRACKING)
+# if defined(BOOST_ASIO_HAS_SOURCE_LOCATION)
+# include <boost/asio/detail/source_location.hpp>
+# endif // defined(BOOST_ASIO_HAS_SOURCE_LOCATION)
+#endif // defined(BOOST_ASIO_ENABLE_HANDLER_TRACKING)
+
#include <boost/asio/detail/push_options.hpp>
namespace boost {
@@ -839,14 +845,32 @@ public:
}
template <async_operation Op>
- auto await_transform(Op&& op)
+ auto await_transform(Op&& op
+#if defined(BOOST_ASIO_ENABLE_HANDLER_TRACKING)
+# if defined(BOOST_ASIO_HAS_SOURCE_LOCATION)
+ , boost::asio::detail::source_location location
+ = boost::asio::detail::source_location::current()
+# endif // defined(BOOST_ASIO_HAS_SOURCE_LOCATION)
+#endif // defined(BOOST_ASIO_ENABLE_HANDLER_TRACKING)
+ )
{
class [[nodiscard]] awaitable
{
public:
- awaitable(Op&& op, co_composed_promise& promise)
+ awaitable(Op&& op, co_composed_promise& promise
+#if defined(BOOST_ASIO_ENABLE_HANDLER_TRACKING)
+# if defined(BOOST_ASIO_HAS_SOURCE_LOCATION)
+ , const boost::asio::detail::source_location& location
+# endif // defined(BOOST_ASIO_HAS_SOURCE_LOCATION)
+#endif // defined(BOOST_ASIO_ENABLE_HANDLER_TRACKING)
+ )
: op_(std::forward<Op>(op)),
promise_(promise)
+#if defined(BOOST_ASIO_ENABLE_HANDLER_TRACKING)
+# if defined(BOOST_ASIO_HAS_SOURCE_LOCATION)
+ , location_(location)
+# endif // defined(BOOST_ASIO_HAS_SOURCE_LOCATION)
+#endif // defined(BOOST_ASIO_ENABLE_HANDLER_TRACKING)
{
}
@@ -863,6 +887,14 @@ public:
promise_.state_.on_suspend_->fn_ =
[](void* p)
{
+#if defined(BOOST_ASIO_ENABLE_HANDLER_TRACKING)
+# if defined(BOOST_ASIO_HAS_SOURCE_LOCATION)
+ BOOST_ASIO_HANDLER_LOCATION((
+ static_cast<awaitable*>(p)->location_.file_name(),
+ static_cast<awaitable*>(p)->location_.line(),
+ static_cast<awaitable*>(p)->location_.function_name()));
+# endif // defined(BOOST_ASIO_HAS_SOURCE_LOCATION)
+#endif // defined(BOOST_ASIO_ENABLE_HANDLER_TRACKING)
std::forward<Op>(static_cast<awaitable*>(p)->op_)(
co_composed_handler<Executors, Handler,
Return, completion_signature_of_t<Op>>(
@@ -880,10 +912,21 @@ public:
private:
Op&& op_;
co_composed_promise& promise_;
+#if defined(BOOST_ASIO_ENABLE_HANDLER_TRACKING)
+# if defined(BOOST_ASIO_HAS_SOURCE_LOCATION)
+ boost::asio::detail::source_location location_;
+# endif // defined(BOOST_ASIO_HAS_SOURCE_LOCATION)
+#endif // defined(BOOST_ASIO_ENABLE_HANDLER_TRACKING)
};
state_.check_for_cancellation_on_transform();
- return awaitable{std::forward<Op>(op), *this};
+ return awaitable{std::forward<Op>(op), *this
+#if defined(BOOST_ASIO_ENABLE_HANDLER_TRACKING)
+# if defined(BOOST_ASIO_HAS_SOURCE_LOCATION)
+ , location
+# endif // defined(BOOST_ASIO_HAS_SOURCE_LOCATION)
+#endif // defined(BOOST_ASIO_ENABLE_HANDLER_TRACKING)
+ };
}
template <typename... Args>
diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/impl/coro.hpp b/contrib/restricted/boost/asio/include/boost/asio/experimental/impl/coro.hpp
index d769ba72bb..ec7d956e1b 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/experimental/impl/coro.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/impl/coro.hpp
@@ -2,7 +2,7 @@
// experimental/impl/coro.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2021-2022 Klemens D. Morgenstern
+// Copyright (c) 2021-2023 Klemens D. Morgenstern
// (klemens dot morgenstern at gmx dot net)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
@@ -583,7 +583,7 @@ struct coro_promise final :
typename coro_traits<Yield, Return, Executor>::input_type,
typename coro_traits<Yield, Return, Executor>::return_type>
{
- using coro_type = coro<Yield, Return, Executor>;
+ using coro_type = coro<Yield, Return, Executor, Allocator>;
auto handle()
{
@@ -865,14 +865,17 @@ struct coro_promise final :
return result{cancel, throw_if_cancelled.value};
}
- template <typename Yield_, typename Return_, typename Executor_>
- auto await_transform(coro<Yield_, Return_, Executor_>& kr) -> decltype(auto)
+ template <typename Yield_, typename Return_,
+ typename Executor_, typename Allocator_>
+ auto await_transform(coro<Yield_, Return_, Executor_, Allocator_>& kr)
+ -> decltype(auto)
{
return kr;
}
- template <typename Yield_, typename Return_, typename Executor_>
- auto await_transform(coro<Yield_, Return_, Executor_>&& kr)
+ template <typename Yield_, typename Return_,
+ typename Executor_, typename Allocator_>
+ auto await_transform(coro<Yield_, Return_, Executor_, Allocator_>&& kr)
{
return std::move(kr);
}
diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/impl/parallel_group.hpp b/contrib/restricted/boost/asio/include/boost/asio/experimental/impl/parallel_group.hpp
index a22b0ac612..e63cfcf65c 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/experimental/impl/parallel_group.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/impl/parallel_group.hpp
@@ -2,7 +2,7 @@
// experimental/impl/parallel_group.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/impl/promise.hpp b/contrib/restricted/boost/asio/include/boost/asio/experimental/impl/promise.hpp
index 0cab847539..0eb0f6b6fc 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/experimental/impl/promise.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/impl/promise.hpp
@@ -2,7 +2,7 @@
// experimental/impl/promise.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2021-2022 Klemens D. Morgenstern
+// Copyright (c) 2021-2023 Klemens D. Morgenstern
// (klemens dot morgenstern at gmx dot net)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
@@ -144,6 +144,19 @@ struct promise_impl<void(Ts...), Executor, Allocator>
std::exchange(completion, nullptr)->invoke(std::forward<T_>(ts)...);
}
+ template<std::size_t... Idx>
+ void complete_with_result_impl(boost::asio::detail::index_sequence<Idx...>)
+ {
+ auto& result_type = *reinterpret_cast<promise_impl::result_type*>(&result);
+ this->complete(std::get<Idx>(std::move(result_type))...);
+ }
+
+ void complete_with_result()
+ {
+ complete_with_result_impl(
+ boost::asio::detail::make_index_sequence<sizeof...(Ts)>{});
+ }
+
template<typename... T_>
void cancel_impl_(std::exception_ptr*, T_*...)
{
@@ -229,7 +242,7 @@ struct promise_handler<void(Ts...), Executor, Allocator>
impl_->done = true;
if (impl_->completion)
- impl_->complete(std::move(ts)...);
+ impl_->complete_with_result();
}
};
diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/impl/use_coro.hpp b/contrib/restricted/boost/asio/include/boost/asio/experimental/impl/use_coro.hpp
index 0e32722225..4112e5b221 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/experimental/impl/use_coro.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/impl/use_coro.hpp
@@ -2,7 +2,7 @@
// experimental/impl/use_coro.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2021-2022 Klemens D. Morgenstern
+// Copyright (c) 2021-2023 Klemens D. Morgenstern
// (klemens dot morgenstern at gmx dot net)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
@@ -96,7 +96,7 @@ struct async_result<
boost::asio::associated_executor_t<Initiation>, Allocator>
{
co_await deferred_async_operation<
- R(boost::system::error_code), Initiation, InitArgs...>(
+ R(std::exception_ptr), Initiation, InitArgs...>(
deferred_init_tag{}, std::move(initiation), std::move(args)...);
}
@@ -126,7 +126,7 @@ struct async_result<experimental::use_coro_t<Allocator>, R(T)>
-> experimental::coro<void() noexcept, T,
boost::asio::associated_executor_t<Initiation>, Allocator>
{
- co_return co_await deferred_async_operation<R(), Initiation, InitArgs...>(
+ co_return co_await deferred_async_operation<R(T), Initiation, InitArgs...>(
deferred_init_tag{}, std::move(initiation), std::move(args)...);
}
@@ -156,7 +156,7 @@ struct async_result<
boost::asio::associated_executor_t<Initiation>, Allocator>
{
co_return co_await deferred_async_operation<
- R(boost::system::error_code), Initiation, InitArgs...>(
+ R(boost::system::error_code, T), Initiation, InitArgs...>(
deferred_init_tag{}, std::move(initiation), std::move(args)...);
}
@@ -187,7 +187,7 @@ struct async_result<
boost::asio::associated_executor_t<Initiation>, Allocator>
{
co_return co_await deferred_async_operation<
- R(boost::system::error_code), Initiation, InitArgs...>(
+ R(std::exception_ptr, T), Initiation, InitArgs...>(
deferred_init_tag{}, std::move(initiation), std::move(args)...);
}
diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/impl/use_promise.hpp b/contrib/restricted/boost/asio/include/boost/asio/experimental/impl/use_promise.hpp
index 3b6918e52e..a9241e2e9f 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/experimental/impl/use_promise.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/impl/use_promise.hpp
@@ -2,7 +2,7 @@
// experimental/impl/use_promise.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2021-2022 Klemens D. Morgenstern
+// Copyright (c) 2021-2023 Klemens D. Morgenstern
// (klemens dot morgenstern at gmx dot net)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/parallel_group.hpp b/contrib/restricted/boost/asio/include/boost/asio/experimental/parallel_group.hpp
index 110db8450a..7f731dfa5f 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/experimental/parallel_group.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/parallel_group.hpp
@@ -2,7 +2,7 @@
// experimental/parallel_group.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/prepend.hpp b/contrib/restricted/boost/asio/include/boost/asio/experimental/prepend.hpp
index 0b6cd23ea0..038e5c311b 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/experimental/prepend.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/prepend.hpp
@@ -2,7 +2,7 @@
// experimental/prepend.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/promise.hpp b/contrib/restricted/boost/asio/include/boost/asio/experimental/promise.hpp
index e6f9454dac..205d795456 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/experimental/promise.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/promise.hpp
@@ -2,7 +2,7 @@
// experimental/promise.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2021-2022 Klemens D. Morgenstern
+// Copyright (c) 2021-2023 Klemens D. Morgenstern
// (klemens dot morgenstern at gmx dot net)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/use_coro.hpp b/contrib/restricted/boost/asio/include/boost/asio/experimental/use_coro.hpp
index eeb297229b..0f25049aae 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/experimental/use_coro.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/use_coro.hpp
@@ -2,7 +2,7 @@
// experimental/use_coro.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2021-2022 Klemens D. Morgenstern
+// Copyright (c) 2021-2023 Klemens D. Morgenstern
// (klemens dot morgenstern at gmx dot net)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
diff --git a/contrib/restricted/boost/asio/include/boost/asio/experimental/use_promise.hpp b/contrib/restricted/boost/asio/include/boost/asio/experimental/use_promise.hpp
index b7b70cefbb..e81d04155c 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/experimental/use_promise.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/experimental/use_promise.hpp
@@ -2,8 +2,8 @@
// experimental/use_promise.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2022 Klemens D. Morgenstern
-// (klemens dot morgenstern at gmx dot net)
+// Copyright (c) 2021-2023 Klemens D. Morgenstern
+// (klemens dot morgenstern at gmx dot net)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/file_base.hpp b/contrib/restricted/boost/asio/include/boost/asio/file_base.hpp
index 2b97068d3e..fbaabfcd0d 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/file_base.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/file_base.hpp
@@ -2,7 +2,7 @@
// file_base.hpp
// ~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/generic/basic_endpoint.hpp b/contrib/restricted/boost/asio/include/boost/asio/generic/basic_endpoint.hpp
index c3586e6b9f..73df8b265c 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/generic/basic_endpoint.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/generic/basic_endpoint.hpp
@@ -2,7 +2,7 @@
// generic/basic_endpoint.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/generic/datagram_protocol.hpp b/contrib/restricted/boost/asio/include/boost/asio/generic/datagram_protocol.hpp
index 209713c049..cb069f73b0 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/generic/datagram_protocol.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/generic/datagram_protocol.hpp
@@ -2,7 +2,7 @@
// generic/datagram_protocol.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/generic/detail/endpoint.hpp b/contrib/restricted/boost/asio/include/boost/asio/generic/detail/endpoint.hpp
index 8008145cfa..88ae981c0a 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/generic/detail/endpoint.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/generic/detail/endpoint.hpp
@@ -2,7 +2,7 @@
// generic/detail/endpoint.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/generic/detail/impl/endpoint.ipp b/contrib/restricted/boost/asio/include/boost/asio/generic/detail/impl/endpoint.ipp
index ba63dc7f99..1f8bbd7e9b 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/generic/detail/impl/endpoint.ipp
+++ b/contrib/restricted/boost/asio/include/boost/asio/generic/detail/impl/endpoint.ipp
@@ -2,7 +2,7 @@
// generic/detail/impl/endpoint.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/generic/raw_protocol.hpp b/contrib/restricted/boost/asio/include/boost/asio/generic/raw_protocol.hpp
index 8332539b01..09856f5a59 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/generic/raw_protocol.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/generic/raw_protocol.hpp
@@ -2,7 +2,7 @@
// generic/raw_protocol.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/generic/seq_packet_protocol.hpp b/contrib/restricted/boost/asio/include/boost/asio/generic/seq_packet_protocol.hpp
index edab62d848..b3db50356b 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/generic/seq_packet_protocol.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/generic/seq_packet_protocol.hpp
@@ -2,7 +2,7 @@
// generic/seq_packet_protocol.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/generic/stream_protocol.hpp b/contrib/restricted/boost/asio/include/boost/asio/generic/stream_protocol.hpp
index 2ee8bb029e..ae8147946b 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/generic/stream_protocol.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/generic/stream_protocol.hpp
@@ -2,7 +2,7 @@
// generic/stream_protocol.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/handler_alloc_hook.hpp b/contrib/restricted/boost/asio/include/boost/asio/handler_alloc_hook.hpp
index 7b8d89bac7..894d166941 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/handler_alloc_hook.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/handler_alloc_hook.hpp
@@ -2,7 +2,7 @@
// handler_alloc_hook.hpp
// ~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/handler_continuation_hook.hpp b/contrib/restricted/boost/asio/include/boost/asio/handler_continuation_hook.hpp
index ba3c4122ce..97fe525fa8 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/handler_continuation_hook.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/handler_continuation_hook.hpp
@@ -2,7 +2,7 @@
// handler_continuation_hook.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/handler_invoke_hook.hpp b/contrib/restricted/boost/asio/include/boost/asio/handler_invoke_hook.hpp
index a9fbc86293..77f2ab5c04 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/handler_invoke_hook.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/handler_invoke_hook.hpp
@@ -2,7 +2,7 @@
// handler_invoke_hook.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/high_resolution_timer.hpp b/contrib/restricted/boost/asio/include/boost/asio/high_resolution_timer.hpp
index 8c7633ae7d..a73fae0efc 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/high_resolution_timer.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/high_resolution_timer.hpp
@@ -2,7 +2,7 @@
// high_resolution_timer.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/any_completion_executor.ipp b/contrib/restricted/boost/asio/include/boost/asio/impl/any_completion_executor.ipp
index c947361868..a975f22769 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/impl/any_completion_executor.ipp
+++ b/contrib/restricted/boost/asio/include/boost/asio/impl/any_completion_executor.ipp
@@ -2,7 +2,7 @@
// impl/any_completion_executor.ipp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/any_io_executor.ipp b/contrib/restricted/boost/asio/include/boost/asio/impl/any_io_executor.ipp
index 2524fccd63..e7462fb5f9 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/impl/any_io_executor.ipp
+++ b/contrib/restricted/boost/asio/include/boost/asio/impl/any_io_executor.ipp
@@ -2,7 +2,7 @@
// impl/any_io_executor.ipp
// ~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/append.hpp b/contrib/restricted/boost/asio/include/boost/asio/impl/append.hpp
index 54e7030f2e..1cb274b21b 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/impl/append.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/impl/append.hpp
@@ -2,7 +2,7 @@
// impl/append.hpp
// ~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/as_tuple.hpp b/contrib/restricted/boost/asio/include/boost/asio/impl/as_tuple.hpp
index c373f7f858..2cd73706e5 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/impl/as_tuple.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/impl/as_tuple.hpp
@@ -2,7 +2,7 @@
// impl/as_tuple.hpp
// ~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -176,10 +176,6 @@ struct async_result<as_tuple_t<CompletionToken>, Signatures...>
: async_result<CompletionToken,
typename detail::as_tuple_signature<Signatures>::type...>
{
- typedef async_result<CompletionToken,
- typename detail::as_tuple_signature<Signatures>::type...>
- base_async_result;
-
template <typename Initiation>
struct init_wrapper
{
@@ -206,22 +202,79 @@ struct async_result<as_tuple_t<CompletionToken>, Signatures...>
template <typename Initiation, typename RawCompletionToken, typename... Args>
static BOOST_ASIO_INITFN_DEDUCED_RESULT_TYPE(CompletionToken,
typename detail::as_tuple_signature<Signatures>::type...,
- (base_async_result::initiate(
- declval<init_wrapper<typename decay<Initiation>::type> >(),
- declval<CompletionToken>(),
- declval<BOOST_ASIO_MOVE_ARG(Args)>()...)))
+ (async_initiate<CompletionToken,
+ typename detail::as_tuple_signature<Signatures>::type...>(
+ declval<init_wrapper<typename decay<Initiation>::type> >(),
+ declval<CompletionToken&>(),
+ declval<BOOST_ASIO_MOVE_ARG(Args)>()...)))
+ initiate(
+ BOOST_ASIO_MOVE_ARG(Initiation) initiation,
+ BOOST_ASIO_MOVE_ARG(RawCompletionToken) token,
+ BOOST_ASIO_MOVE_ARG(Args)... args)
+ {
+ return async_initiate<CompletionToken,
+ typename detail::as_tuple_signature<Signatures>::type...>(
+ init_wrapper<typename decay<Initiation>::type>(
+ BOOST_ASIO_MOVE_CAST(Initiation)(initiation)),
+ token.token_, BOOST_ASIO_MOVE_CAST(Args)(args)...);
+ }
+};
+
+#if defined(BOOST_ASIO_MSVC)
+
+// Workaround for MSVC internal compiler error.
+
+template <typename CompletionToken, typename Signature>
+struct async_result<as_tuple_t<CompletionToken>, Signature>
+ : async_result<CompletionToken,
+ typename detail::as_tuple_signature<Signature>::type>
+{
+ template <typename Initiation>
+ struct init_wrapper
+ {
+ init_wrapper(Initiation init)
+ : initiation_(BOOST_ASIO_MOVE_CAST(Initiation)(init))
+ {
+ }
+
+ template <typename Handler, typename... Args>
+ void operator()(
+ BOOST_ASIO_MOVE_ARG(Handler) handler,
+ BOOST_ASIO_MOVE_ARG(Args)... args)
+ {
+ BOOST_ASIO_MOVE_CAST(Initiation)(initiation_)(
+ detail::as_tuple_handler<
+ typename decay<Handler>::type>(
+ BOOST_ASIO_MOVE_CAST(Handler)(handler)),
+ BOOST_ASIO_MOVE_CAST(Args)(args)...);
+ }
+
+ Initiation initiation_;
+ };
+
+ template <typename Initiation, typename RawCompletionToken, typename... Args>
+ static BOOST_ASIO_INITFN_DEDUCED_RESULT_TYPE(CompletionToken,
+ typename detail::as_tuple_signature<Signature>::type,
+ (async_initiate<CompletionToken,
+ typename detail::as_tuple_signature<Signature>::type>(
+ declval<init_wrapper<typename decay<Initiation>::type> >(),
+ declval<CompletionToken&>(),
+ declval<BOOST_ASIO_MOVE_ARG(Args)>()...)))
initiate(
BOOST_ASIO_MOVE_ARG(Initiation) initiation,
BOOST_ASIO_MOVE_ARG(RawCompletionToken) token,
BOOST_ASIO_MOVE_ARG(Args)... args)
{
- return base_async_result::initiate(
+ return async_initiate<CompletionToken,
+ typename detail::as_tuple_signature<Signature>::type>(
init_wrapper<typename decay<Initiation>::type>(
BOOST_ASIO_MOVE_CAST(Initiation)(initiation)),
token.token_, BOOST_ASIO_MOVE_CAST(Args)(args)...);
}
};
+#endif // defined(BOOST_ASIO_MSVC)
+
template <template <typename, typename> class Associator,
typename Handler, typename DefaultCandidate>
struct associator<Associator,
diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/awaitable.hpp b/contrib/restricted/boost/asio/include/boost/asio/impl/awaitable.hpp
index 84a2a7ca42..3bd1c2858f 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/impl/awaitable.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/impl/awaitable.hpp
@@ -2,7 +2,7 @@
// impl/awaitable.hpp
// ~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -30,6 +30,12 @@
#include <boost/system/system_error.hpp>
#include <boost/asio/this_coro.hpp>
+#if defined(BOOST_ASIO_ENABLE_HANDLER_TRACKING)
+# if defined(BOOST_ASIO_HAS_SOURCE_LOCATION)
+# include <boost/asio/detail/source_location.hpp>
+# endif // defined(BOOST_ASIO_HAS_SOURCE_LOCATION)
+#endif // defined(BOOST_ASIO_ENABLE_HANDLER_TRACKING)
+
#include <boost/asio/detail/push_options.hpp>
namespace boost {
@@ -170,7 +176,13 @@ public:
template <typename Op>
auto await_transform(Op&& op,
- typename constraint<is_async_operation<Op>::value>::type = 0)
+ typename constraint<is_async_operation<Op>::value>::type = 0
+#if defined(BOOST_ASIO_ENABLE_HANDLER_TRACKING)
+# if defined(BOOST_ASIO_HAS_SOURCE_LOCATION)
+ , detail::source_location location = detail::source_location::current()
+# endif // defined(BOOST_ASIO_HAS_SOURCE_LOCATION)
+#endif // defined(BOOST_ASIO_ENABLE_HANDLER_TRACKING)
+ )
{
if (attached_thread_->entry_point()->throw_if_cancelled_)
if (!!attached_thread_->get_cancellation_state().cancelled())
@@ -178,7 +190,13 @@ public:
return awaitable_async_op<typename completion_signature_of<Op>::type,
typename decay<Op>::type, Executor>{
- std::forward<Op>(op), this};
+ std::forward<Op>(op), this
+#if defined(BOOST_ASIO_ENABLE_HANDLER_TRACKING)
+# if defined(BOOST_ASIO_HAS_SOURCE_LOCATION)
+ , location
+# endif // defined(BOOST_ASIO_HAS_SOURCE_LOCATION)
+#endif // defined(BOOST_ASIO_ENABLE_HANDLER_TRACKING)
+ };
}
// This await transformation obtains the associated executor of the thread of
@@ -953,7 +971,7 @@ public:
static T resume(result_type& result)
{
- if (*result)
+ if (*result.ex_)
{
std::exception_ptr ex = std::exchange(*result.ex_, nullptr);
std::rethrow_exception(ex);
@@ -1068,7 +1086,7 @@ public:
static std::tuple<Ts...> resume(result_type& result)
{
- if (*result)
+ if (*result.ex_)
{
std::exception_ptr ex = std::exchange(*result.ex_, nullptr);
std::rethrow_exception(ex);
@@ -1086,10 +1104,21 @@ class awaitable_async_op
public:
typedef awaitable_async_op_handler<Signature, Executor> handler_type;
- awaitable_async_op(Op&& o, awaitable_frame_base<Executor>* frame)
+ awaitable_async_op(Op&& o, awaitable_frame_base<Executor>* frame
+#if defined(BOOST_ASIO_ENABLE_HANDLER_TRACKING)
+# if defined(BOOST_ASIO_HAS_SOURCE_LOCATION)
+ , const detail::source_location& location
+# endif // defined(BOOST_ASIO_HAS_SOURCE_LOCATION)
+#endif // defined(BOOST_ASIO_ENABLE_HANDLER_TRACKING)
+ )
: op_(std::forward<Op>(o)),
frame_(frame),
result_()
+#if defined(BOOST_ASIO_ENABLE_HANDLER_TRACKING)
+# if defined(BOOST_ASIO_HAS_SOURCE_LOCATION)
+ , location_(location)
+# endif // defined(BOOST_ASIO_HAS_SOURCE_LOCATION)
+#endif // defined(BOOST_ASIO_ENABLE_HANDLER_TRACKING)
{
}
@@ -1104,6 +1133,12 @@ public:
[](void* arg)
{
awaitable_async_op* self = static_cast<awaitable_async_op*>(arg);
+#if defined(BOOST_ASIO_ENABLE_HANDLER_TRACKING)
+# if defined(BOOST_ASIO_HAS_SOURCE_LOCATION)
+ BOOST_ASIO_HANDLER_LOCATION((self->location_.file_name(),
+ self->location_.line(), self->location_.function_name()));
+# endif // defined(BOOST_ASIO_HAS_SOURCE_LOCATION)
+#endif // defined(BOOST_ASIO_ENABLE_HANDLER_TRACKING)
std::forward<Op&&>(self->op_)(
handler_type(self->frame_->detach_thread(), self->result_));
}, this);
@@ -1118,6 +1153,11 @@ private:
Op&& op_;
awaitable_frame_base<Executor>* frame_;
typename handler_type::result_type result_;
+#if defined(BOOST_ASIO_ENABLE_HANDLER_TRACKING)
+# if defined(BOOST_ASIO_HAS_SOURCE_LOCATION)
+ detail::source_location location_;
+# endif // defined(BOOST_ASIO_HAS_SOURCE_LOCATION)
+#endif // defined(BOOST_ASIO_ENABLE_HANDLER_TRACKING)
};
} // namespace detail
diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/buffered_read_stream.hpp b/contrib/restricted/boost/asio/include/boost/asio/impl/buffered_read_stream.hpp
index dffca02f82..330c5625d4 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/impl/buffered_read_stream.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/impl/buffered_read_stream.hpp
@@ -2,7 +2,7 @@
// impl/buffered_read_stream.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/buffered_write_stream.hpp b/contrib/restricted/boost/asio/include/boost/asio/impl/buffered_write_stream.hpp
index 4e94ee1bda..259a30ffe0 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/impl/buffered_write_stream.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/impl/buffered_write_stream.hpp
@@ -2,7 +2,7 @@
// impl/buffered_write_stream.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/cancellation_signal.ipp b/contrib/restricted/boost/asio/include/boost/asio/impl/cancellation_signal.ipp
index dad7c36245..33e80bac39 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/impl/cancellation_signal.ipp
+++ b/contrib/restricted/boost/asio/include/boost/asio/impl/cancellation_signal.ipp
@@ -2,7 +2,7 @@
// impl/cancellation_signal.ipp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/co_spawn.hpp b/contrib/restricted/boost/asio/include/boost/asio/impl/co_spawn.hpp
index c5aab716ee..c6d75ea91a 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/impl/co_spawn.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/impl/co_spawn.hpp
@@ -2,7 +2,7 @@
// impl/co_spawn.hpp
// ~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/connect.hpp b/contrib/restricted/boost/asio/include/boost/asio/impl/connect.hpp
index 3ba192ba4c..b965b16819 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/impl/connect.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/impl/connect.hpp
@@ -2,7 +2,7 @@
// impl/connect.hpp
// ~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/connect_pipe.hpp b/contrib/restricted/boost/asio/include/boost/asio/impl/connect_pipe.hpp
index 419857cc41..6908dfb480 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/impl/connect_pipe.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/impl/connect_pipe.hpp
@@ -2,7 +2,7 @@
// impl/connect_pipe.hpp
// ~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/connect_pipe.ipp b/contrib/restricted/boost/asio/include/boost/asio/impl/connect_pipe.ipp
index 2888246898..0f1952235e 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/impl/connect_pipe.ipp
+++ b/contrib/restricted/boost/asio/include/boost/asio/impl/connect_pipe.ipp
@@ -2,7 +2,7 @@
// impl/connect_pipe.ipp
// ~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// Copyright (c) 2021 Klemens D. Morgenstern
// (klemens dot morgenstern at gmx dot net)
//
diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/consign.hpp b/contrib/restricted/boost/asio/include/boost/asio/impl/consign.hpp
index 96a6811f9b..d4a7d0feb0 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/impl/consign.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/impl/consign.hpp
@@ -2,7 +2,7 @@
// impl/consign.hpp
// ~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/deferred.hpp b/contrib/restricted/boost/asio/include/boost/asio/impl/deferred.hpp
index 7ccc7d074a..973359a1a1 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/impl/deferred.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/impl/deferred.hpp
@@ -2,7 +2,7 @@
// impl/deferred.hpp
// ~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -39,8 +39,59 @@ public:
}
};
-template <typename Function, typename R, typename... Args>
-class async_result<deferred_function<Function>, R(Args...)>
+template <typename... Signatures>
+class async_result<deferred_t, Signatures...>
+{
+public:
+ template <typename Initiation, typename... InitArgs>
+ static deferred_async_operation<
+ deferred_signatures<Signatures...>, Initiation, InitArgs...>
+ initiate(BOOST_ASIO_MOVE_ARG(Initiation) initiation,
+ deferred_t, BOOST_ASIO_MOVE_ARG(InitArgs)... args)
+ {
+ return deferred_async_operation<
+ deferred_signatures<Signatures...>, Initiation, InitArgs...>(
+ deferred_init_tag{},
+ BOOST_ASIO_MOVE_CAST(Initiation)(initiation),
+ BOOST_ASIO_MOVE_CAST(InitArgs)(args)...);
+ }
+};
+
+template <typename Function, typename Signature>
+class async_result<deferred_function<Function>, Signature>
+{
+public:
+ template <typename Initiation, typename... InitArgs>
+ static auto initiate(BOOST_ASIO_MOVE_ARG(Initiation) initiation,
+ deferred_function<Function> token,
+ BOOST_ASIO_MOVE_ARG(InitArgs)... init_args)
+ -> decltype(
+ deferred_sequence<
+ deferred_async_operation<
+ Signature, Initiation, InitArgs...>,
+ Function>(deferred_init_tag{},
+ deferred_async_operation<
+ Signature, Initiation, InitArgs...>(
+ deferred_init_tag{},
+ BOOST_ASIO_MOVE_CAST(Initiation)(initiation),
+ BOOST_ASIO_MOVE_CAST(InitArgs)(init_args)...),
+ BOOST_ASIO_MOVE_CAST(Function)(token.function_)))
+ {
+ return deferred_sequence<
+ deferred_async_operation<
+ Signature, Initiation, InitArgs...>,
+ Function>(deferred_init_tag{},
+ deferred_async_operation<
+ Signature, Initiation, InitArgs...>(
+ deferred_init_tag{},
+ BOOST_ASIO_MOVE_CAST(Initiation)(initiation),
+ BOOST_ASIO_MOVE_CAST(InitArgs)(init_args)...),
+ BOOST_ASIO_MOVE_CAST(Function)(token.function_));
+ }
+};
+
+template <typename Function, typename... Signatures>
+class async_result<deferred_function<Function>, Signatures...>
{
public:
template <typename Initiation, typename... InitArgs>
@@ -50,10 +101,10 @@ public:
-> decltype(
deferred_sequence<
deferred_async_operation<
- R(Args...), Initiation, InitArgs...>,
+ deferred_signatures<Signatures...>, Initiation, InitArgs...>,
Function>(deferred_init_tag{},
deferred_async_operation<
- R(Args...), Initiation, InitArgs...>(
+ deferred_signatures<Signatures...>, Initiation, InitArgs...>(
deferred_init_tag{},
BOOST_ASIO_MOVE_CAST(Initiation)(initiation),
BOOST_ASIO_MOVE_CAST(InitArgs)(init_args)...),
@@ -61,10 +112,10 @@ public:
{
return deferred_sequence<
deferred_async_operation<
- R(Args...), Initiation, InitArgs...>,
+ deferred_signatures<Signatures...>, Initiation, InitArgs...>,
Function>(deferred_init_tag{},
deferred_async_operation<
- R(Args...), Initiation, InitArgs...>(
+ deferred_signatures<Signatures...>, Initiation, InitArgs...>(
deferred_init_tag{},
BOOST_ASIO_MOVE_CAST(Initiation)(initiation),
BOOST_ASIO_MOVE_CAST(InitArgs)(init_args)...),
diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/detached.hpp b/contrib/restricted/boost/asio/include/boost/asio/impl/detached.hpp
index f8c5562ac8..4ff59b1e08 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/impl/detached.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/impl/detached.hpp
@@ -2,7 +2,7 @@
// impl/detached.hpp
// ~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/error.ipp b/contrib/restricted/boost/asio/include/boost/asio/impl/error.ipp
index 082ccb05b5..ff67b74afc 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/impl/error.ipp
+++ b/contrib/restricted/boost/asio/include/boost/asio/impl/error.ipp
@@ -2,7 +2,7 @@
// impl/error.ipp
// ~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/execution_context.hpp b/contrib/restricted/boost/asio/include/boost/asio/impl/execution_context.hpp
index bed35985f9..1d9933928e 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/impl/execution_context.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/impl/execution_context.hpp
@@ -2,7 +2,7 @@
// impl/execution_context.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/execution_context.ipp b/contrib/restricted/boost/asio/include/boost/asio/impl/execution_context.ipp
index 1cfefc91ba..52f4e5cb01 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/impl/execution_context.ipp
+++ b/contrib/restricted/boost/asio/include/boost/asio/impl/execution_context.ipp
@@ -2,7 +2,7 @@
// impl/execution_context.ipp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/executor.hpp b/contrib/restricted/boost/asio/include/boost/asio/impl/executor.hpp
index a514a1ff75..02d40e30f0 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/impl/executor.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/impl/executor.hpp
@@ -2,7 +2,7 @@
// impl/executor.hpp
// ~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/executor.ipp b/contrib/restricted/boost/asio/include/boost/asio/impl/executor.ipp
index f463a9f07c..f58c8b73bc 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/impl/executor.ipp
+++ b/contrib/restricted/boost/asio/include/boost/asio/impl/executor.ipp
@@ -2,7 +2,7 @@
// impl/executor.ipp
// ~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/handler_alloc_hook.ipp b/contrib/restricted/boost/asio/include/boost/asio/impl/handler_alloc_hook.ipp
index 7dbe10b39f..5368b5bcd8 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/impl/handler_alloc_hook.ipp
+++ b/contrib/restricted/boost/asio/include/boost/asio/impl/handler_alloc_hook.ipp
@@ -2,7 +2,7 @@
// impl/handler_alloc_hook.ipp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/io_context.hpp b/contrib/restricted/boost/asio/include/boost/asio/impl/io_context.hpp
index 7fbbb1906a..f98358f194 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/impl/io_context.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/impl/io_context.hpp
@@ -2,7 +2,7 @@
// impl/io_context.hpp
// ~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/io_context.ipp b/contrib/restricted/boost/asio/include/boost/asio/impl/io_context.ipp
index 1331798b21..712f744bf7 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/impl/io_context.ipp
+++ b/contrib/restricted/boost/asio/include/boost/asio/impl/io_context.ipp
@@ -2,7 +2,7 @@
// impl/io_context.ipp
// ~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -55,6 +55,7 @@ io_context::impl_type& io_context::add_impl(io_context::impl_type* impl)
io_context::~io_context()
{
+ shutdown();
}
io_context::count_type io_context::run()
diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/multiple_exceptions.ipp b/contrib/restricted/boost/asio/include/boost/asio/impl/multiple_exceptions.ipp
index ab59b17f1a..6ff57e834a 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/impl/multiple_exceptions.ipp
+++ b/contrib/restricted/boost/asio/include/boost/asio/impl/multiple_exceptions.ipp
@@ -2,7 +2,7 @@
// impl/multiple_exceptions.ipp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/prepend.hpp b/contrib/restricted/boost/asio/include/boost/asio/impl/prepend.hpp
index 0357280a51..a692cbeaa3 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/impl/prepend.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/impl/prepend.hpp
@@ -2,7 +2,7 @@
// impl/prepend.hpp
// ~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/read.hpp b/contrib/restricted/boost/asio/include/boost/asio/impl/read.hpp
index ae99b019ed..559e3cc1a7 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/impl/read.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/impl/read.hpp
@@ -2,7 +2,7 @@
// impl/read.hpp
// ~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/read_at.hpp b/contrib/restricted/boost/asio/include/boost/asio/impl/read_at.hpp
index 643ad7a69b..90a00a3e62 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/impl/read_at.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/impl/read_at.hpp
@@ -2,7 +2,7 @@
// impl/read_at.hpp
// ~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/read_until.hpp b/contrib/restricted/boost/asio/include/boost/asio/impl/read_until.hpp
index 5b35890a28..4e1edfaeff 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/impl/read_until.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/impl/read_until.hpp
@@ -2,7 +2,7 @@
// impl/read_until.hpp
// ~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/redirect_error.hpp b/contrib/restricted/boost/asio/include/boost/asio/impl/redirect_error.hpp
index 55a366bb21..bd4926687d 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/impl/redirect_error.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/impl/redirect_error.hpp
@@ -2,7 +2,7 @@
// impl/redirect_error.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -474,29 +474,26 @@ struct redirect_error_signature<
template <typename CompletionToken, typename Signature>
struct async_result<redirect_error_t<CompletionToken>, Signature>
+ : async_result<CompletionToken,
+ typename detail::redirect_error_signature<Signature>::type>
{
- typedef typename async_result<CompletionToken,
- typename detail::redirect_error_signature<Signature>::type>
- ::return_type return_type;
- template <typename Initiation>
struct init_wrapper
{
- template <typename Init>
- init_wrapper(boost::system::error_code& ec, BOOST_ASIO_MOVE_ARG(Init) init)
- : ec_(ec),
- initiation_(BOOST_ASIO_MOVE_CAST(Init)(init))
+ explicit init_wrapper(boost::system::error_code& ec)
+ : ec_(ec)
{
}
#if defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
- template <typename Handler, typename... Args>
+ template <typename Handler, typename Initiation, typename... Args>
void operator()(
BOOST_ASIO_MOVE_ARG(Handler) handler,
- BOOST_ASIO_MOVE_ARG(Args)... args)
+ BOOST_ASIO_MOVE_ARG(Initiation) initiation,
+ BOOST_ASIO_MOVE_ARG(Args)... args) const
{
- BOOST_ASIO_MOVE_CAST(Initiation)(initiation_)(
+ BOOST_ASIO_MOVE_CAST(Initiation)(initiation)(
detail::redirect_error_handler<
typename decay<Handler>::type>(
ec_, BOOST_ASIO_MOVE_CAST(Handler)(handler)),
@@ -505,23 +502,26 @@ struct async_result<redirect_error_t<CompletionToken>, Signature>
#else // defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
- template <typename Handler>
+ template <typename Handler, typename Initiation>
void operator()(
- BOOST_ASIO_MOVE_ARG(Handler) handler)
+ BOOST_ASIO_MOVE_ARG(Handler) handler,
+ BOOST_ASIO_MOVE_ARG(Initiation) initiation) const
{
- BOOST_ASIO_MOVE_CAST(Initiation)(initiation_)(
+ BOOST_ASIO_MOVE_CAST(Initiation)(initiation)(
detail::redirect_error_handler<
typename decay<Handler>::type>(
ec_, BOOST_ASIO_MOVE_CAST(Handler)(handler)));
}
#define BOOST_ASIO_PRIVATE_INIT_WRAPPER_DEF(n) \
- template <typename Handler, BOOST_ASIO_VARIADIC_TPARAMS(n)> \
+ template <typename Handler, typename Initiation, \
+ BOOST_ASIO_VARIADIC_TPARAMS(n)> \
void operator()( \
BOOST_ASIO_MOVE_ARG(Handler) handler, \
- BOOST_ASIO_VARIADIC_MOVE_PARAMS(n)) \
+ BOOST_ASIO_MOVE_ARG(Initiation) initiation, \
+ BOOST_ASIO_VARIADIC_MOVE_PARAMS(n)) const \
{ \
- BOOST_ASIO_MOVE_CAST(Initiation)(initiation_)( \
+ BOOST_ASIO_MOVE_CAST(Initiation)(initiation)( \
detail::redirect_error_handler< \
typename decay<Handler>::type>( \
ec_, BOOST_ASIO_MOVE_CAST(Handler)(handler)), \
@@ -534,51 +534,67 @@ struct async_result<redirect_error_t<CompletionToken>, Signature>
#endif // defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
boost::system::error_code& ec_;
- Initiation initiation_;
};
#if defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
template <typename Initiation, typename RawCompletionToken, typename... Args>
- static return_type initiate(
+ static BOOST_ASIO_INITFN_DEDUCED_RESULT_TYPE(CompletionToken,
+ typename detail::redirect_error_signature<Signature>::type,
+ (async_initiate<CompletionToken,
+ typename detail::redirect_error_signature<Signature>::type>(
+ declval<init_wrapper>(), declval<CompletionToken&>(),
+ declval<Initiation>(), declval<BOOST_ASIO_MOVE_ARG(Args)>()...)))
+ initiate(
BOOST_ASIO_MOVE_ARG(Initiation) initiation,
BOOST_ASIO_MOVE_ARG(RawCompletionToken) token,
BOOST_ASIO_MOVE_ARG(Args)... args)
{
return async_initiate<CompletionToken,
typename detail::redirect_error_signature<Signature>::type>(
- init_wrapper<typename decay<Initiation>::type>(
- token.ec_, BOOST_ASIO_MOVE_CAST(Initiation)(initiation)),
- token.token_, BOOST_ASIO_MOVE_CAST(Args)(args)...);
+ init_wrapper(token.ec_), token.token_,
+ BOOST_ASIO_MOVE_CAST(Initiation)(initiation),
+ BOOST_ASIO_MOVE_CAST(Args)(args)...);
}
#else // defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
template <typename Initiation, typename RawCompletionToken>
- static return_type initiate(
+ static BOOST_ASIO_INITFN_DEDUCED_RESULT_TYPE(CompletionToken,
+ typename detail::redirect_error_signature<Signature>::type,
+ (async_initiate<CompletionToken,
+ typename detail::redirect_error_signature<Signature>::type>(
+ declval<init_wrapper>(), declval<CompletionToken&>(),
+ declval<Initiation>())))
+ initiate(
BOOST_ASIO_MOVE_ARG(Initiation) initiation,
BOOST_ASIO_MOVE_ARG(RawCompletionToken) token)
{
return async_initiate<CompletionToken,
typename detail::redirect_error_signature<Signature>::type>(
- init_wrapper<typename decay<Initiation>::type>(
- token.ec_, BOOST_ASIO_MOVE_CAST(Initiation)(initiation)),
- token.token_);
+ init_wrapper(token.ec_), token.token_,
+ BOOST_ASIO_MOVE_CAST(Initiation)(initiation));
}
#define BOOST_ASIO_PRIVATE_INITIATE_DEF(n) \
template <typename Initiation, typename RawCompletionToken, \
BOOST_ASIO_VARIADIC_TPARAMS(n)> \
- static return_type initiate( \
+ static BOOST_ASIO_INITFN_DEDUCED_RESULT_TYPE(CompletionToken, \
+ typename detail::redirect_error_signature<Signature>::type, \
+ (async_initiate<CompletionToken, \
+ typename detail::redirect_error_signature<Signature>::type>( \
+ declval<init_wrapper>(), declval<CompletionToken&>(), \
+ declval<Initiation>(), BOOST_ASIO_VARIADIC_DECLVAL(n)))) \
+ initiate( \
BOOST_ASIO_MOVE_ARG(Initiation) initiation, \
BOOST_ASIO_MOVE_ARG(RawCompletionToken) token, \
BOOST_ASIO_VARIADIC_MOVE_PARAMS(n)) \
{ \
return async_initiate<CompletionToken, \
typename detail::redirect_error_signature<Signature>::type>( \
- init_wrapper<typename decay<Initiation>::type>( \
- token.ec_, BOOST_ASIO_MOVE_CAST(Initiation)(initiation)), \
- token.token_, BOOST_ASIO_VARIADIC_MOVE_ARGS(n)); \
+ init_wrapper(token.ec_), token.token_, \
+ BOOST_ASIO_MOVE_CAST(Initiation)(initiation), \
+ BOOST_ASIO_VARIADIC_MOVE_ARGS(n)); \
} \
/**/
BOOST_ASIO_VARIADIC_GENERATE(BOOST_ASIO_PRIVATE_INITIATE_DEF)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/serial_port_base.hpp b/contrib/restricted/boost/asio/include/boost/asio/impl/serial_port_base.hpp
index bffec99c37..a55bed37e9 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/impl/serial_port_base.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/impl/serial_port_base.hpp
@@ -2,7 +2,7 @@
// impl/serial_port_base.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// Copyright (c) 2008 Rep Invariant Systems, Inc. (info@repinvariant.com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/serial_port_base.ipp b/contrib/restricted/boost/asio/include/boost/asio/impl/serial_port_base.ipp
index d80b327fb8..4e786d46ea 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/impl/serial_port_base.ipp
+++ b/contrib/restricted/boost/asio/include/boost/asio/impl/serial_port_base.ipp
@@ -2,7 +2,7 @@
// impl/serial_port_base.ipp
// ~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// Copyright (c) 2008 Rep Invariant Systems, Inc. (info@repinvariant.com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/spawn.hpp b/contrib/restricted/boost/asio/include/boost/asio/impl/spawn.hpp
index f03c0c6a97..1d9d79115a 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/impl/spawn.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/impl/spawn.hpp
@@ -2,7 +2,7 @@
// impl/spawn.hpp
// ~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/src.hpp b/contrib/restricted/boost/asio/include/boost/asio/impl/src.hpp
index f448e33207..6e4904ee8b 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/impl/src.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/impl/src.hpp
@@ -2,7 +2,7 @@
// impl/src.hpp
// ~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/system_context.hpp b/contrib/restricted/boost/asio/include/boost/asio/impl/system_context.hpp
index 084251a7e4..32eba34234 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/impl/system_context.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/impl/system_context.hpp
@@ -2,7 +2,7 @@
// impl/system_context.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/system_context.ipp b/contrib/restricted/boost/asio/include/boost/asio/impl/system_context.ipp
index 46b72a8346..91e643f7ff 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/impl/system_context.ipp
+++ b/contrib/restricted/boost/asio/include/boost/asio/impl/system_context.ipp
@@ -2,7 +2,7 @@
// impl/system_context.ipp
// ~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/system_executor.hpp b/contrib/restricted/boost/asio/include/boost/asio/impl/system_executor.hpp
index 1a40ef922e..747656b324 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/impl/system_executor.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/impl/system_executor.hpp
@@ -2,7 +2,7 @@
// impl/system_executor.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/thread_pool.hpp b/contrib/restricted/boost/asio/include/boost/asio/impl/thread_pool.hpp
index ddda458aa1..04d375488a 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/impl/thread_pool.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/impl/thread_pool.hpp
@@ -2,7 +2,7 @@
// impl/thread_pool.hpp
// ~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/thread_pool.ipp b/contrib/restricted/boost/asio/include/boost/asio/impl/thread_pool.ipp
index 6449036895..bb7861a17e 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/impl/thread_pool.ipp
+++ b/contrib/restricted/boost/asio/include/boost/asio/impl/thread_pool.ipp
@@ -2,7 +2,7 @@
// impl/thread_pool.ipp
// ~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -99,6 +99,7 @@ thread_pool::~thread_pool()
{
stop();
join();
+ shutdown();
}
void thread_pool::stop()
@@ -115,11 +116,11 @@ void thread_pool::attach()
void thread_pool::join()
{
- if (!threads_.empty())
- {
+ if (num_threads_)
scheduler_.work_finished();
+
+ if (!threads_.empty())
threads_.join();
- }
}
detail::scheduler& thread_pool::add_scheduler(detail::scheduler* s)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/use_awaitable.hpp b/contrib/restricted/boost/asio/include/boost/asio/impl/use_awaitable.hpp
index b0525283a5..d07ea174a6 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/impl/use_awaitable.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/impl/use_awaitable.hpp
@@ -2,7 +2,7 @@
// impl/use_awaitable.hpp
// ~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/use_future.hpp b/contrib/restricted/boost/asio/include/boost/asio/impl/use_future.hpp
index 6e15e27028..4afa40d69d 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/impl/use_future.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/impl/use_future.hpp
@@ -2,7 +2,7 @@
// impl/use_future.hpp
// ~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -974,7 +974,7 @@ struct execute_member<
#endif // !defined(BOOST_ASIO_HAS_DEDUCED_EXECUTE_MEMBER_TRAIT)
-#if !defined(BOOST_ASIO_HAS_DEDUCED_QUERY_STATIC_CONSTEXPR_TRAIT)
+#if !defined(BOOST_ASIO_HAS_DEDUCED_QUERY_STATIC_CONSTEXPR_MEMBER_TRAIT)
template <typename T, typename Blocking, typename Property>
struct query_static_constexpr_member<
@@ -998,7 +998,7 @@ struct query_static_constexpr_member<
}
};
-#endif // !defined(BOOST_ASIO_HAS_DEDUCED_QUERY_STATIC_CONSTEXPR_TRAIT)
+#endif // !defined(BOOST_ASIO_HAS_DEDUCED_QUERY_STATIC_CONSTEXPR_MEMBER_TRAIT)
#if !defined(BOOST_ASIO_HAS_DEDUCED_QUERY_MEMBER_TRAIT)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/write.hpp b/contrib/restricted/boost/asio/include/boost/asio/impl/write.hpp
index 07236b0899..6a5d71de68 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/impl/write.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/impl/write.hpp
@@ -2,7 +2,7 @@
// impl/write.hpp
// ~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/write_at.hpp b/contrib/restricted/boost/asio/include/boost/asio/impl/write_at.hpp
index 4c3afdba3e..0251393a76 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/impl/write_at.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/impl/write_at.hpp
@@ -2,7 +2,7 @@
// impl/write_at.hpp
// ~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/io_context.hpp b/contrib/restricted/boost/asio/include/boost/asio/io_context.hpp
index 23bec2cdf7..cb5392426d 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/io_context.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/io_context.hpp
@@ -2,7 +2,7 @@
// io_context.hpp
// ~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/io_context_strand.hpp b/contrib/restricted/boost/asio/include/boost/asio/io_context_strand.hpp
index ccbb5de89f..3b4ac725a6 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/io_context_strand.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/io_context_strand.hpp
@@ -2,7 +2,7 @@
// io_context_strand.hpp
// ~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/io_service.hpp b/contrib/restricted/boost/asio/include/boost/asio/io_service.hpp
index 51dda2fb08..3262936836 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/io_service.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/io_service.hpp
@@ -2,7 +2,7 @@
// io_service.hpp
// ~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/io_service_strand.hpp b/contrib/restricted/boost/asio/include/boost/asio/io_service_strand.hpp
index 2822ccae09..f4a6d6e043 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/io_service_strand.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/io_service_strand.hpp
@@ -2,7 +2,7 @@
// io_service_strand.hpp
// ~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/address.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/address.hpp
index 2fe071cbaa..8dc9fbf48a 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/ip/address.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/ip/address.hpp
@@ -2,7 +2,7 @@
// ip/address.hpp
// ~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/address_v4.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/address_v4.hpp
index e639806b57..04b5fb5552 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/ip/address_v4.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/ip/address_v4.hpp
@@ -2,7 +2,7 @@
// ip/address_v4.hpp
// ~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -125,11 +125,12 @@ public:
/// Get the address in bytes, in network byte order.
BOOST_ASIO_DECL bytes_type to_bytes() const BOOST_ASIO_NOEXCEPT;
- /// Get the address as an unsigned integer in host byte order
+ /// Get the address as an unsigned integer in host byte order.
BOOST_ASIO_DECL uint_type to_uint() const BOOST_ASIO_NOEXCEPT;
#if !defined(BOOST_ASIO_NO_DEPRECATED)
- /// Get the address as an unsigned long in host byte order
+ /// (Deprecated: Use to_uint().) Get the address as an unsigned long in host
+ /// byte order.
BOOST_ASIO_DECL unsigned long to_ulong() const;
#endif // !defined(BOOST_ASIO_NO_DEPRECATED)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/address_v4_iterator.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/address_v4_iterator.hpp
index 46ff23ede4..360af19fe4 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/ip/address_v4_iterator.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/ip/address_v4_iterator.hpp
@@ -2,7 +2,7 @@
// ip/address_v4_iterator.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/address_v4_range.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/address_v4_range.hpp
index 1d8ccf50e3..ac0f0fa916 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/ip/address_v4_range.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/ip/address_v4_range.hpp
@@ -2,7 +2,7 @@
// ip/address_v4_range.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/address_v6.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/address_v6.hpp
index 0a7ddd04fe..ed0b3cd883 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/ip/address_v6.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/ip/address_v6.hpp
@@ -2,7 +2,7 @@
// ip/address_v6.hpp
// ~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/address_v6_iterator.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/address_v6_iterator.hpp
index 71f40f4e6d..1f4b73f8b8 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/ip/address_v6_iterator.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/ip/address_v6_iterator.hpp
@@ -2,7 +2,7 @@
// ip/address_v6_iterator.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// Oliver Kowalke (oliver dot kowalke at gmail dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/address_v6_range.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/address_v6_range.hpp
index 05a4ed52e8..64d6dfea4f 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/ip/address_v6_range.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/ip/address_v6_range.hpp
@@ -2,7 +2,7 @@
// ip/address_v6_range.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// Oliver Kowalke (oliver dot kowalke at gmail dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/bad_address_cast.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/bad_address_cast.hpp
index 7a3097a49b..28a1786bdf 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/ip/bad_address_cast.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/ip/bad_address_cast.hpp
@@ -2,7 +2,7 @@
// ip/bad_address_cast.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/basic_endpoint.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/basic_endpoint.hpp
index e1e17841e6..0fde31314d 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/ip/basic_endpoint.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/ip/basic_endpoint.hpp
@@ -2,7 +2,7 @@
// ip/basic_endpoint.hpp
// ~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/basic_resolver.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/basic_resolver.hpp
index 30fc66a264..fb20c38f22 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/ip/basic_resolver.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/ip/basic_resolver.hpp
@@ -2,7 +2,7 @@
// ip/basic_resolver.hpp
// ~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/basic_resolver_entry.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/basic_resolver_entry.hpp
index b1fe5ab16d..9f19f3c61e 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/ip/basic_resolver_entry.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/ip/basic_resolver_entry.hpp
@@ -2,7 +2,7 @@
// ip/basic_resolver_entry.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/basic_resolver_iterator.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/basic_resolver_iterator.hpp
index 08e2b7ece0..2c1ae41271 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/ip/basic_resolver_iterator.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/ip/basic_resolver_iterator.hpp
@@ -2,7 +2,7 @@
// ip/basic_resolver_iterator.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/basic_resolver_query.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/basic_resolver_query.hpp
index e6a0b466a9..43f4010784 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/ip/basic_resolver_query.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/ip/basic_resolver_query.hpp
@@ -2,7 +2,7 @@
// ip/basic_resolver_query.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/basic_resolver_results.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/basic_resolver_results.hpp
index bdf448e833..0127473e2b 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/ip/basic_resolver_results.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/ip/basic_resolver_results.hpp
@@ -2,7 +2,7 @@
// ip/basic_resolver_results.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/detail/endpoint.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/detail/endpoint.hpp
index 660b273a58..393d066626 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/ip/detail/endpoint.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/ip/detail/endpoint.hpp
@@ -2,7 +2,7 @@
// ip/detail/endpoint.hpp
// ~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/detail/impl/endpoint.ipp b/contrib/restricted/boost/asio/include/boost/asio/ip/detail/impl/endpoint.ipp
index c1dfd247a7..6190d76e1d 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/ip/detail/impl/endpoint.ipp
+++ b/contrib/restricted/boost/asio/include/boost/asio/ip/detail/impl/endpoint.ipp
@@ -2,7 +2,7 @@
// ip/detail/impl/endpoint.ipp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/detail/socket_option.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/detail/socket_option.hpp
index 7e64c72ca5..30df18e730 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/ip/detail/socket_option.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/ip/detail/socket_option.hpp
@@ -2,7 +2,7 @@
// detail/socket_option.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/host_name.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/host_name.hpp
index 8c4acac0c1..8647af96d1 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/ip/host_name.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/ip/host_name.hpp
@@ -2,7 +2,7 @@
// ip/host_name.hpp
// ~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/icmp.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/icmp.hpp
index b676d61f35..f5b24d48af 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/ip/icmp.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/ip/icmp.hpp
@@ -2,7 +2,7 @@
// ip/icmp.hpp
// ~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/impl/address.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/impl/address.hpp
index d14f5334dc..7b384e5bb3 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/ip/impl/address.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/ip/impl/address.hpp
@@ -2,7 +2,7 @@
// ip/impl/address.hpp
// ~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/impl/address.ipp b/contrib/restricted/boost/asio/include/boost/asio/ip/impl/address.ipp
index 348e477f9b..942b686773 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/ip/impl/address.ipp
+++ b/contrib/restricted/boost/asio/include/boost/asio/ip/impl/address.ipp
@@ -2,7 +2,7 @@
// ip/impl/address.ipp
// ~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/impl/address_v4.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/impl/address_v4.hpp
index 1c18933cbf..98d0c45d3d 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/ip/impl/address_v4.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/ip/impl/address_v4.hpp
@@ -2,7 +2,7 @@
// ip/impl/address_v4.hpp
// ~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/impl/address_v4.ipp b/contrib/restricted/boost/asio/include/boost/asio/ip/impl/address_v4.ipp
index 5e1ae45d74..221655e123 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/ip/impl/address_v4.ipp
+++ b/contrib/restricted/boost/asio/include/boost/asio/ip/impl/address_v4.ipp
@@ -2,7 +2,7 @@
// ip/impl/address_v4.ipp
// ~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/impl/address_v6.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/impl/address_v6.hpp
index e9c50188a1..a6ee15f3dd 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/ip/impl/address_v6.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/ip/impl/address_v6.hpp
@@ -2,7 +2,7 @@
// ip/impl/address_v6.hpp
// ~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/impl/address_v6.ipp b/contrib/restricted/boost/asio/include/boost/asio/ip/impl/address_v6.ipp
index 4cd615a7d0..a54527b84c 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/ip/impl/address_v6.ipp
+++ b/contrib/restricted/boost/asio/include/boost/asio/ip/impl/address_v6.ipp
@@ -2,7 +2,7 @@
// ip/impl/address_v6.ipp
// ~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/impl/basic_endpoint.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/impl/basic_endpoint.hpp
index 227e191bbb..8f3ec18cea 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/ip/impl/basic_endpoint.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/ip/impl/basic_endpoint.hpp
@@ -2,7 +2,7 @@
// ip/impl/basic_endpoint.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/impl/host_name.ipp b/contrib/restricted/boost/asio/include/boost/asio/ip/impl/host_name.ipp
index 5c0e723c6b..b2d6b6a809 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/ip/impl/host_name.ipp
+++ b/contrib/restricted/boost/asio/include/boost/asio/ip/impl/host_name.ipp
@@ -2,7 +2,7 @@
// ip/impl/host_name.ipp
// ~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/impl/network_v4.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/impl/network_v4.hpp
index 21dd8fce6e..b1d53cc77d 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/ip/impl/network_v4.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/ip/impl/network_v4.hpp
@@ -2,7 +2,7 @@
// ip/impl/network_v4.hpp
// ~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// Copyright (c) 2014 Oliver Kowalke (oliver dot kowalke at gmail dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/impl/network_v4.ipp b/contrib/restricted/boost/asio/include/boost/asio/ip/impl/network_v4.ipp
index 7ac1425383..32fcfa3da5 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/ip/impl/network_v4.ipp
+++ b/contrib/restricted/boost/asio/include/boost/asio/ip/impl/network_v4.ipp
@@ -2,7 +2,7 @@
// ip/impl/network_v4.ipp
// ~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// Copyright (c) 2014 Oliver Kowalke (oliver dot kowalke at gmail dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/impl/network_v6.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/impl/network_v6.hpp
index a43c958e15..b3b2135d6d 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/ip/impl/network_v6.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/ip/impl/network_v6.hpp
@@ -2,7 +2,7 @@
// ip/impl/network_v6.hpp
// ~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/impl/network_v6.ipp b/contrib/restricted/boost/asio/include/boost/asio/ip/impl/network_v6.ipp
index 5f96dd53b3..34aaeb1dea 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/ip/impl/network_v6.ipp
+++ b/contrib/restricted/boost/asio/include/boost/asio/ip/impl/network_v6.ipp
@@ -2,7 +2,7 @@
// ip/impl/network_v6.ipp
// ~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// Copyright (c) 2014 Oliver Kowalke (oliver dot kowalke at gmail dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/multicast.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/multicast.hpp
index f28cd4da9a..83ff9eb6f0 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/ip/multicast.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/ip/multicast.hpp
@@ -2,7 +2,7 @@
// ip/multicast.hpp
// ~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/network_v4.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/network_v4.hpp
index 729cc5c168..2b5b82de92 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/ip/network_v4.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/ip/network_v4.hpp
@@ -2,7 +2,7 @@
// ip/network_v4.hpp
// ~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// Copyright (c) 2014 Oliver Kowalke (oliver dot kowalke at gmail dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/network_v6.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/network_v6.hpp
index d157dcd8e2..9615ba3bdf 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/ip/network_v6.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/ip/network_v6.hpp
@@ -2,7 +2,7 @@
// ip/network_v6.hpp
// ~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// Copyright (c) 2014 Oliver Kowalke (oliver dot kowalke at gmail dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/resolver_base.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/resolver_base.hpp
index e32fc272fb..2678d5b807 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/ip/resolver_base.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/ip/resolver_base.hpp
@@ -2,7 +2,7 @@
// ip/resolver_base.hpp
// ~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/resolver_query_base.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/resolver_query_base.hpp
index 95b9364c2c..ec6b848e54 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/ip/resolver_query_base.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/ip/resolver_query_base.hpp
@@ -2,7 +2,7 @@
// ip/resolver_query_base.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/tcp.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/tcp.hpp
index 3c26c16bac..ffe2247384 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/ip/tcp.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/ip/tcp.hpp
@@ -2,7 +2,7 @@
// ip/tcp.hpp
// ~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/udp.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/udp.hpp
index 548a034ba6..b19eb554bb 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/ip/udp.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/ip/udp.hpp
@@ -2,7 +2,7 @@
// ip/udp.hpp
// ~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/unicast.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/unicast.hpp
index b575f78a0a..ad6af37834 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/ip/unicast.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/ip/unicast.hpp
@@ -2,7 +2,7 @@
// ip/unicast.hpp
// ~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/v6_only.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/v6_only.hpp
index d21edfcd50..721a21ba46 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/ip/v6_only.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/ip/v6_only.hpp
@@ -2,7 +2,7 @@
// ip/v6_only.hpp
// ~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/is_applicable_property.hpp b/contrib/restricted/boost/asio/include/boost/asio/is_applicable_property.hpp
index 0dfa00b638..8c073ccc17 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/is_applicable_property.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/is_applicable_property.hpp
@@ -2,7 +2,7 @@
// is_applicable_property.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/is_contiguous_iterator.hpp b/contrib/restricted/boost/asio/include/boost/asio/is_contiguous_iterator.hpp
index c496dea757..72b15ca3cc 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/is_contiguous_iterator.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/is_contiguous_iterator.hpp
@@ -2,7 +2,7 @@
// is_contiguous_iterator.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/is_executor.hpp b/contrib/restricted/boost/asio/include/boost/asio/is_executor.hpp
index ba38fabe91..c4a488ca04 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/is_executor.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/is_executor.hpp
@@ -2,7 +2,7 @@
// is_executor.hpp
// ~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/is_read_buffered.hpp b/contrib/restricted/boost/asio/include/boost/asio/is_read_buffered.hpp
index adf3136c9f..425f794742 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/is_read_buffered.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/is_read_buffered.hpp
@@ -2,7 +2,7 @@
// is_read_buffered.hpp
// ~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/is_write_buffered.hpp b/contrib/restricted/boost/asio/include/boost/asio/is_write_buffered.hpp
index 4c74d205c2..819e4520f5 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/is_write_buffered.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/is_write_buffered.hpp
@@ -2,7 +2,7 @@
// is_write_buffered.hpp
// ~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/local/basic_endpoint.hpp b/contrib/restricted/boost/asio/include/boost/asio/local/basic_endpoint.hpp
index 305a76cc3a..79aba5de76 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/local/basic_endpoint.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/local/basic_endpoint.hpp
@@ -2,7 +2,7 @@
// local/basic_endpoint.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// Derived from a public domain implementation written by Daniel Casimiro.
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
diff --git a/contrib/restricted/boost/asio/include/boost/asio/local/connect_pair.hpp b/contrib/restricted/boost/asio/include/boost/asio/local/connect_pair.hpp
index 0fead446a3..50c91bdaa9 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/local/connect_pair.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/local/connect_pair.hpp
@@ -2,7 +2,7 @@
// local/connect_pair.hpp
// ~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/local/datagram_protocol.hpp b/contrib/restricted/boost/asio/include/boost/asio/local/datagram_protocol.hpp
index 2fc9c46467..8ce050aeea 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/local/datagram_protocol.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/local/datagram_protocol.hpp
@@ -2,7 +2,7 @@
// local/datagram_protocol.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/local/detail/endpoint.hpp b/contrib/restricted/boost/asio/include/boost/asio/local/detail/endpoint.hpp
index b35622e20c..072ae58cb7 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/local/detail/endpoint.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/local/detail/endpoint.hpp
@@ -2,7 +2,7 @@
// local/detail/endpoint.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// Derived from a public domain implementation written by Daniel Casimiro.
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
diff --git a/contrib/restricted/boost/asio/include/boost/asio/local/detail/impl/endpoint.ipp b/contrib/restricted/boost/asio/include/boost/asio/local/detail/impl/endpoint.ipp
index 49f8ac7bdb..b3e20c47bb 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/local/detail/impl/endpoint.ipp
+++ b/contrib/restricted/boost/asio/include/boost/asio/local/detail/impl/endpoint.ipp
@@ -2,7 +2,7 @@
// local/detail/impl/endpoint.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// Derived from a public domain implementation written by Daniel Casimiro.
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
diff --git a/contrib/restricted/boost/asio/include/boost/asio/local/seq_packet_protocol.hpp b/contrib/restricted/boost/asio/include/boost/asio/local/seq_packet_protocol.hpp
new file mode 100644
index 0000000000..6e50a08e2a
--- /dev/null
+++ b/contrib/restricted/boost/asio/include/boost/asio/local/seq_packet_protocol.hpp
@@ -0,0 +1,86 @@
+//
+// local/seq_packet_protocol.hpp
+// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+//
+// Distributed under the Boost Software License, Version 1.0. (See accompanying
+// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+//
+
+#ifndef BOOST_ASIO_LOCAL_SEQ_PACKET_PROTOCOL_HPP
+#define BOOST_ASIO_LOCAL_SEQ_PACKET_PROTOCOL_HPP
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+# pragma once
+#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
+
+#include <boost/asio/detail/config.hpp>
+
+#if defined(BOOST_ASIO_HAS_LOCAL_SOCKETS) \
+ || defined(GENERATING_DOCUMENTATION)
+
+#include <boost/asio/basic_socket_acceptor.hpp>
+#include <boost/asio/basic_seq_packet_socket.hpp>
+#include <boost/asio/detail/socket_types.hpp>
+#include <boost/asio/local/basic_endpoint.hpp>
+
+#include <boost/asio/detail/push_options.hpp>
+
+namespace boost {
+namespace asio {
+namespace local {
+
+/// Encapsulates the flags needed for seq_packet UNIX sockets.
+/**
+ * The boost::asio::local::seq_packet_protocol class contains flags necessary
+ * for sequenced packet UNIX domain sockets.
+ *
+ * @par Thread Safety
+ * @e Distinct @e objects: Safe.@n
+ * @e Shared @e objects: Safe.
+ *
+ * @par Concepts:
+ * Protocol.
+ */
+class seq_packet_protocol
+{
+public:
+ /// Obtain an identifier for the type of the protocol.
+ int type() const BOOST_ASIO_NOEXCEPT
+ {
+ return SOCK_SEQPACKET;
+ }
+
+ /// Obtain an identifier for the protocol.
+ int protocol() const BOOST_ASIO_NOEXCEPT
+ {
+ return 0;
+ }
+
+ /// Obtain an identifier for the protocol family.
+ int family() const BOOST_ASIO_NOEXCEPT
+ {
+ return AF_UNIX;
+ }
+
+ /// The type of a UNIX domain endpoint.
+ typedef basic_endpoint<seq_packet_protocol> endpoint;
+
+ /// The UNIX domain socket type.
+ typedef basic_seq_packet_socket<seq_packet_protocol> socket;
+
+ /// The UNIX domain acceptor type.
+ typedef basic_socket_acceptor<seq_packet_protocol> acceptor;
+};
+
+} // namespace local
+} // namespace asio
+} // namespace boost
+
+#include <boost/asio/detail/pop_options.hpp>
+
+#endif // defined(BOOST_ASIO_HAS_LOCAL_SOCKETS)
+ // || defined(GENERATING_DOCUMENTATION)
+
+#endif // BOOST_ASIO_LOCAL_SEQ_PACKET_PROTOCOL_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/local/stream_protocol.hpp b/contrib/restricted/boost/asio/include/boost/asio/local/stream_protocol.hpp
index 0e2f91ec15..fc153965b0 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/local/stream_protocol.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/local/stream_protocol.hpp
@@ -2,7 +2,7 @@
// local/stream_protocol.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/multiple_exceptions.hpp b/contrib/restricted/boost/asio/include/boost/asio/multiple_exceptions.hpp
index 313b121697..d22af614ac 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/multiple_exceptions.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/multiple_exceptions.hpp
@@ -2,7 +2,7 @@
// multiple_exceptions.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/packaged_task.hpp b/contrib/restricted/boost/asio/include/boost/asio/packaged_task.hpp
index fc531146ca..3f0933c9b6 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/packaged_task.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/packaged_task.hpp
@@ -2,7 +2,7 @@
// packaged_task.hpp
// ~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/placeholders.hpp b/contrib/restricted/boost/asio/include/boost/asio/placeholders.hpp
index b59901ed4a..c64bfbcdab 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/placeholders.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/placeholders.hpp
@@ -2,7 +2,7 @@
// placeholders.hpp
// ~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/posix/basic_descriptor.hpp b/contrib/restricted/boost/asio/include/boost/asio/posix/basic_descriptor.hpp
index d17814deea..1e77a265f6 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/posix/basic_descriptor.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/posix/basic_descriptor.hpp
@@ -2,7 +2,7 @@
// posix/basic_descriptor.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/posix/basic_stream_descriptor.hpp b/contrib/restricted/boost/asio/include/boost/asio/posix/basic_stream_descriptor.hpp
index 9508d6e674..f00e0193c8 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/posix/basic_stream_descriptor.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/posix/basic_stream_descriptor.hpp
@@ -2,7 +2,7 @@
// posix/basic_stream_descriptor.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/posix/descriptor.hpp b/contrib/restricted/boost/asio/include/boost/asio/posix/descriptor.hpp
index 8a5404daaa..2e602932c7 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/posix/descriptor.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/posix/descriptor.hpp
@@ -2,7 +2,7 @@
// posix/descriptor.hpp
// ~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/posix/descriptor_base.hpp b/contrib/restricted/boost/asio/include/boost/asio/posix/descriptor_base.hpp
index e26155133c..7a75742a68 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/posix/descriptor_base.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/posix/descriptor_base.hpp
@@ -2,7 +2,7 @@
// posix/descriptor_base.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/posix/stream_descriptor.hpp b/contrib/restricted/boost/asio/include/boost/asio/posix/stream_descriptor.hpp
index 3249322e24..12f100c553 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/posix/stream_descriptor.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/posix/stream_descriptor.hpp
@@ -2,7 +2,7 @@
// posix/stream_descriptor.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/post.hpp b/contrib/restricted/boost/asio/include/boost/asio/post.hpp
index 7dc4343f98..5dea00d224 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/post.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/post.hpp
@@ -2,7 +2,7 @@
// post.hpp
// ~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -17,6 +17,7 @@
#include <boost/asio/detail/config.hpp>
#include <boost/asio/async_result.hpp>
+#include <boost/asio/detail/initiate_post.hpp>
#include <boost/asio/detail/type_traits.hpp>
#include <boost/asio/execution_context.hpp>
#include <boost/asio/execution/blocking.hpp>
@@ -28,12 +29,6 @@
namespace boost {
namespace asio {
-namespace detail {
-
-class initiate_post;
-template <typename> class initiate_post_with_executor;
-
-} // namespace detail
/// Submits a completion token or function object for execution.
/**
@@ -87,7 +82,11 @@ BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_PREFIX(NullaryToken, void()) post(
BOOST_ASIO_MOVE_ARG(NullaryToken) token)
BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_SUFFIX((
async_initiate<NullaryToken, void()>(
- declval<detail::initiate_post>(), token)));
+ declval<detail::initiate_post>(), token)))
+{
+ return async_initiate<NullaryToken, void()>(
+ detail::initiate_post(), token);
+}
/// Submits a completion token or function object for execution.
/**
@@ -172,7 +171,11 @@ BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_PREFIX(NullaryToken, void()) post(
>::type = 0)
BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_SUFFIX((
async_initiate<NullaryToken, void()>(
- declval<detail::initiate_post_with_executor<Executor> >(), token)));
+ declval<detail::initiate_post_with_executor<Executor> >(), token)))
+{
+ return async_initiate<NullaryToken, void()>(
+ detail::initiate_post_with_executor<Executor>(ex), token);
+}
/// Submits a completion token or function object for execution.
/**
@@ -201,13 +204,17 @@ BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_PREFIX(NullaryToken, void()) post(
BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_SUFFIX((
async_initiate<NullaryToken, void()>(
declval<detail::initiate_post_with_executor<
- typename ExecutionContext::executor_type> >(), token)));
+ typename ExecutionContext::executor_type> >(), token)))
+{
+ return async_initiate<NullaryToken, void()>(
+ detail::initiate_post_with_executor<
+ typename ExecutionContext::executor_type>(
+ ctx.get_executor()), token);
+}
} // namespace asio
} // namespace boost
#include <boost/asio/detail/pop_options.hpp>
-#include <boost/asio/impl/post.hpp>
-
#endif // BOOST_ASIO_POST_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/prefer.hpp b/contrib/restricted/boost/asio/include/boost/asio/prefer.hpp
index d6d4338fab..eb8059b0b2 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/prefer.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/prefer.hpp
@@ -2,7 +2,7 @@
// prefer.hpp
// ~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/prepend.hpp b/contrib/restricted/boost/asio/include/boost/asio/prepend.hpp
index 04f7d6c0cf..8e70213e45 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/prepend.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/prepend.hpp
@@ -2,7 +2,7 @@
// prepend.hpp
// ~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/query.hpp b/contrib/restricted/boost/asio/include/boost/asio/query.hpp
index 1f71fba061..402413ed97 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/query.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/query.hpp
@@ -2,7 +2,7 @@
// query.hpp
// ~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/random_access_file.hpp b/contrib/restricted/boost/asio/include/boost/asio/random_access_file.hpp
index 20fdc9a5cc..270978ac14 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/random_access_file.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/random_access_file.hpp
@@ -2,7 +2,7 @@
// random_access_file.hpp
// ~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/read.hpp b/contrib/restricted/boost/asio/include/boost/asio/read.hpp
index c789b9137e..28f01696c9 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/read.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/read.hpp
@@ -2,7 +2,7 @@
// read.hpp
// ~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/read_at.hpp b/contrib/restricted/boost/asio/include/boost/asio/read_at.hpp
index 5e2d8113d8..a97bb3b339 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/read_at.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/read_at.hpp
@@ -2,7 +2,7 @@
// read_at.hpp
// ~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/read_until.hpp b/contrib/restricted/boost/asio/include/boost/asio/read_until.hpp
index fdc2ac697c..858aa1e50f 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/read_until.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/read_until.hpp
@@ -2,7 +2,7 @@
// read_until.hpp
// ~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/readable_pipe.hpp b/contrib/restricted/boost/asio/include/boost/asio/readable_pipe.hpp
index 417de3190c..89fd749bd5 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/readable_pipe.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/readable_pipe.hpp
@@ -2,7 +2,7 @@
// readable_pipe.hpp
// ~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/recycling_allocator.hpp b/contrib/restricted/boost/asio/include/boost/asio/recycling_allocator.hpp
index bc12612ac8..e52c147851 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/recycling_allocator.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/recycling_allocator.hpp
@@ -2,7 +2,7 @@
// recycling_allocator.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/redirect_error.hpp b/contrib/restricted/boost/asio/include/boost/asio/redirect_error.hpp
index 7d60bf55a4..991f5f7988 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/redirect_error.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/redirect_error.hpp
@@ -2,7 +2,7 @@
// redirect_error.hpp
// ~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/registered_buffer.hpp b/contrib/restricted/boost/asio/include/boost/asio/registered_buffer.hpp
index 028eb2d79f..2004b7e357 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/registered_buffer.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/registered_buffer.hpp
@@ -2,7 +2,7 @@
// registered_buffer.hpp
// ~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/require.hpp b/contrib/restricted/boost/asio/include/boost/asio/require.hpp
index ca9423e3c8..ee2eb22314 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/require.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/require.hpp
@@ -2,7 +2,7 @@
// require.hpp
// ~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/require_concept.hpp b/contrib/restricted/boost/asio/include/boost/asio/require_concept.hpp
index 4bdf91badc..6a72a39ca4 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/require_concept.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/require_concept.hpp
@@ -2,7 +2,7 @@
// require_concept.hpp
// ~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/serial_port.hpp b/contrib/restricted/boost/asio/include/boost/asio/serial_port.hpp
index cd405ed70c..72cb92dac4 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/serial_port.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/serial_port.hpp
@@ -2,7 +2,7 @@
// serial_port.hpp
// ~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// Copyright (c) 2008 Rep Invariant Systems, Inc. (info@repinvariant.com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
diff --git a/contrib/restricted/boost/asio/include/boost/asio/serial_port_base.hpp b/contrib/restricted/boost/asio/include/boost/asio/serial_port_base.hpp
index 84e903d36c..ba8d879d84 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/serial_port_base.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/serial_port_base.hpp
@@ -2,7 +2,7 @@
// serial_port_base.hpp
// ~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// Copyright (c) 2008 Rep Invariant Systems, Inc. (info@repinvariant.com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
diff --git a/contrib/restricted/boost/asio/include/boost/asio/signal_set.hpp b/contrib/restricted/boost/asio/include/boost/asio/signal_set.hpp
index eca29e2bcc..7155b6b3c0 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/signal_set.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/signal_set.hpp
@@ -2,7 +2,7 @@
// signal_set.hpp
// ~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/signal_set_base.hpp b/contrib/restricted/boost/asio/include/boost/asio/signal_set_base.hpp
new file mode 100644
index 0000000000..29161ade94
--- /dev/null
+++ b/contrib/restricted/boost/asio/include/boost/asio/signal_set_base.hpp
@@ -0,0 +1,184 @@
+//
+// signal_set_base.hpp
+// ~~~~~~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+//
+// Distributed under the Boost Software License, Version 1.0. (See accompanying
+// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+//
+
+#ifndef BOOST_ASIO_SIGNAL_SET_BASE_HPP
+#define BOOST_ASIO_SIGNAL_SET_BASE_HPP
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+# pragma once
+#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
+
+#include <boost/asio/detail/config.hpp>
+#include <boost/asio/detail/socket_types.hpp>
+
+#include <boost/asio/detail/push_options.hpp>
+
+namespace boost {
+namespace asio {
+
+/// The signal_set_base class is used as a base for the basic_signal_set class
+/// templates so that we have a common place to define the flags enum.
+class signal_set_base
+{
+public:
+# if defined(GENERATING_DOCUMENTATION)
+ /// Enumeration representing the different types of flags that may specified
+ /// when adding a signal to a set.
+ enum flags
+ {
+ /// Bitmask representing no flags.
+ none = 0,
+
+ /// Affects the behaviour of interruptible functions such that, if the
+ /// function would have failed with error::interrupted when interrupted by
+ /// the specified signal, the function shall instead be restarted and not
+ /// fail with error::interrupted.
+ restart = implementation_defined,
+
+ /// Do not generate SIGCHLD when child processes stop or stopped child
+ /// processes continue.
+ no_child_stop = implementation_defined,
+
+ /// Do not transform child processes into zombies when they terminate.
+ no_child_wait = implementation_defined,
+
+ /// Special value to indicate that the signal registration does not care
+ /// which flags are set, and so will not conflict with any prior
+ /// registrations of the same signal.
+ dont_care = -1
+ };
+
+ /// Portability typedef.
+ typedef flags flags_t;
+#elif defined(BOOST_ASIO_HAS_ENUM_CLASS)
+ enum class flags : int
+ {
+ none = 0,
+ restart = BOOST_ASIO_OS_DEF(SA_RESTART),
+ no_child_stop = BOOST_ASIO_OS_DEF(SA_NOCLDSTOP),
+ no_child_wait = BOOST_ASIO_OS_DEF(SA_NOCLDWAIT),
+ dont_care = -1
+ };
+
+ typedef flags flags_t;
+#else // defined(BOOST_ASIO_HAS_ENUM_CLASS)
+ struct flags
+ {
+ enum flags_t
+ {
+ none = 0,
+ restart = BOOST_ASIO_OS_DEF(SA_RESTART),
+ no_child_stop = BOOST_ASIO_OS_DEF(SA_NOCLDSTOP),
+ no_child_wait = BOOST_ASIO_OS_DEF(SA_NOCLDWAIT),
+ dont_care = -1
+ };
+ };
+
+ typedef flags::flags_t flags_t;
+#endif // defined(BOOST_ASIO_HAS_ENUM_CLASS)
+
+protected:
+ /// Protected destructor to prevent deletion through this type.
+ ~signal_set_base()
+ {
+ }
+};
+
+/// Negation operator.
+/**
+ * @relates signal_set_base::flags
+ */
+inline BOOST_ASIO_CONSTEXPR bool operator!(signal_set_base::flags_t x)
+{
+ return static_cast<int>(x) == 0;
+}
+
+/// Bitwise and operator.
+/**
+ * @relates signal_set_base::flags
+ */
+inline BOOST_ASIO_CONSTEXPR signal_set_base::flags_t operator&(
+ signal_set_base::flags_t x, signal_set_base::flags_t y)
+{
+ return static_cast<signal_set_base::flags_t>(
+ static_cast<int>(x) & static_cast<int>(y));
+}
+
+/// Bitwise or operator.
+/**
+ * @relates signal_set_base::flags
+ */
+inline BOOST_ASIO_CONSTEXPR signal_set_base::flags_t operator|(
+ signal_set_base::flags_t x, signal_set_base::flags_t y)
+{
+ return static_cast<signal_set_base::flags_t>(
+ static_cast<int>(x) | static_cast<int>(y));
+}
+
+/// Bitwise xor operator.
+/**
+ * @relates signal_set_base::flags
+ */
+inline BOOST_ASIO_CONSTEXPR signal_set_base::flags_t operator^(
+ signal_set_base::flags_t x, signal_set_base::flags_t y)
+{
+ return static_cast<signal_set_base::flags_t>(
+ static_cast<int>(x) ^ static_cast<int>(y));
+}
+
+/// Bitwise negation operator.
+/**
+ * @relates signal_set_base::flags
+ */
+inline BOOST_ASIO_CONSTEXPR signal_set_base::flags_t operator~(
+ signal_set_base::flags_t x)
+{
+ return static_cast<signal_set_base::flags_t>(~static_cast<int>(x));
+}
+
+/// Bitwise and-assignment operator.
+/**
+ * @relates signal_set_base::flags
+ */
+inline signal_set_base::flags_t& operator&=(
+ signal_set_base::flags_t& x, signal_set_base::flags_t y)
+{
+ x = x & y;
+ return x;
+}
+
+/// Bitwise or-assignment operator.
+/**
+ * @relates signal_set_base::flags
+ */
+inline signal_set_base::flags_t& operator|=(
+ signal_set_base::flags_t& x, signal_set_base::flags_t y)
+{
+ x = x | y;
+ return x;
+}
+
+/// Bitwise xor-assignment operator.
+/**
+ * @relates signal_set_base::flags
+ */
+inline signal_set_base::flags_t& operator^=(
+ signal_set_base::flags_t& x, signal_set_base::flags_t y)
+{
+ x = x ^ y;
+ return x;
+}
+
+} // namespace asio
+} // namespace boost
+
+#include <boost/asio/detail/pop_options.hpp>
+
+#endif // BOOST_ASIO_SIGNAL_SET_BASE_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/socket_base.hpp b/contrib/restricted/boost/asio/include/boost/asio/socket_base.hpp
index c2a5670bc4..012c014a63 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/socket_base.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/socket_base.hpp
@@ -2,7 +2,7 @@
// socket_base.hpp
// ~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/spawn.hpp b/contrib/restricted/boost/asio/include/boost/asio/spawn.hpp
index 3c25eb58f2..311f2c08a2 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/spawn.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/spawn.hpp
@@ -2,7 +2,7 @@
// spawn.hpp
// ~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ssl.hpp b/contrib/restricted/boost/asio/include/boost/asio/ssl.hpp
index 2c09154c96..ed7d4e730a 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/ssl.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/ssl.hpp
@@ -2,7 +2,7 @@
// ssl.hpp
// ~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ssl/context.hpp b/contrib/restricted/boost/asio/include/boost/asio/ssl/context.hpp
index 78cadcb727..f1d8627dd6 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/ssl/context.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/ssl/context.hpp
@@ -2,7 +2,7 @@
// ssl/context.hpp
// ~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ssl/context_base.hpp b/contrib/restricted/boost/asio/include/boost/asio/ssl/context_base.hpp
index 9d94b5da4c..6a418c7b63 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/ssl/context_base.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/ssl/context_base.hpp
@@ -2,7 +2,7 @@
// ssl/context_base.hpp
// ~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -106,60 +106,60 @@ public:
};
/// Bitmask type for SSL options.
- typedef long options;
+ typedef uint64_t options;
#if defined(GENERATING_DOCUMENTATION)
/// Implement various bug workarounds.
- static const long default_workarounds = implementation_defined;
+ static const uint64_t default_workarounds = implementation_defined;
/// Always create a new key when using tmp_dh parameters.
- static const long single_dh_use = implementation_defined;
+ static const uint64_t single_dh_use = implementation_defined;
/// Disable SSL v2.
- static const long no_sslv2 = implementation_defined;
+ static const uint64_t no_sslv2 = implementation_defined;
/// Disable SSL v3.
- static const long no_sslv3 = implementation_defined;
+ static const uint64_t no_sslv3 = implementation_defined;
/// Disable TLS v1.
- static const long no_tlsv1 = implementation_defined;
+ static const uint64_t no_tlsv1 = implementation_defined;
/// Disable TLS v1.1.
- static const long no_tlsv1_1 = implementation_defined;
+ static const uint64_t no_tlsv1_1 = implementation_defined;
/// Disable TLS v1.2.
- static const long no_tlsv1_2 = implementation_defined;
+ static const uint64_t no_tlsv1_2 = implementation_defined;
/// Disable TLS v1.3.
- static const long no_tlsv1_3 = implementation_defined;
+ static const uint64_t no_tlsv1_3 = implementation_defined;
/// Disable compression. Compression is disabled by default.
- static const long no_compression = implementation_defined;
+ static const uint64_t no_compression = implementation_defined;
#else
- BOOST_ASIO_STATIC_CONSTANT(long, default_workarounds = SSL_OP_ALL);
- BOOST_ASIO_STATIC_CONSTANT(long, single_dh_use = SSL_OP_SINGLE_DH_USE);
- BOOST_ASIO_STATIC_CONSTANT(long, no_sslv2 = SSL_OP_NO_SSLv2);
- BOOST_ASIO_STATIC_CONSTANT(long, no_sslv3 = SSL_OP_NO_SSLv3);
- BOOST_ASIO_STATIC_CONSTANT(long, no_tlsv1 = SSL_OP_NO_TLSv1);
+ BOOST_ASIO_STATIC_CONSTANT(uint64_t, default_workarounds = SSL_OP_ALL);
+ BOOST_ASIO_STATIC_CONSTANT(uint64_t, single_dh_use = SSL_OP_SINGLE_DH_USE);
+ BOOST_ASIO_STATIC_CONSTANT(uint64_t, no_sslv2 = SSL_OP_NO_SSLv2);
+ BOOST_ASIO_STATIC_CONSTANT(uint64_t, no_sslv3 = SSL_OP_NO_SSLv3);
+ BOOST_ASIO_STATIC_CONSTANT(uint64_t, no_tlsv1 = SSL_OP_NO_TLSv1);
# if defined(SSL_OP_NO_TLSv1_1)
- BOOST_ASIO_STATIC_CONSTANT(long, no_tlsv1_1 = SSL_OP_NO_TLSv1_1);
+ BOOST_ASIO_STATIC_CONSTANT(uint64_t, no_tlsv1_1 = SSL_OP_NO_TLSv1_1);
# else // defined(SSL_OP_NO_TLSv1_1)
- BOOST_ASIO_STATIC_CONSTANT(long, no_tlsv1_1 = 0x10000000L);
+ BOOST_ASIO_STATIC_CONSTANT(uint64_t, no_tlsv1_1 = 0x10000000L);
# endif // defined(SSL_OP_NO_TLSv1_1)
# if defined(SSL_OP_NO_TLSv1_2)
- BOOST_ASIO_STATIC_CONSTANT(long, no_tlsv1_2 = SSL_OP_NO_TLSv1_2);
+ BOOST_ASIO_STATIC_CONSTANT(uint64_t, no_tlsv1_2 = SSL_OP_NO_TLSv1_2);
# else // defined(SSL_OP_NO_TLSv1_2)
- BOOST_ASIO_STATIC_CONSTANT(long, no_tlsv1_2 = 0x08000000L);
+ BOOST_ASIO_STATIC_CONSTANT(uint64_t, no_tlsv1_2 = 0x08000000L);
# endif // defined(SSL_OP_NO_TLSv1_2)
# if defined(SSL_OP_NO_TLSv1_3)
- BOOST_ASIO_STATIC_CONSTANT(long, no_tlsv1_3 = SSL_OP_NO_TLSv1_3);
+ BOOST_ASIO_STATIC_CONSTANT(uint64_t, no_tlsv1_3 = SSL_OP_NO_TLSv1_3);
# else // defined(SSL_OP_NO_TLSv1_3)
- BOOST_ASIO_STATIC_CONSTANT(long, no_tlsv1_3 = 0x20000000L);
+ BOOST_ASIO_STATIC_CONSTANT(uint64_t, no_tlsv1_3 = 0x20000000L);
# endif // defined(SSL_OP_NO_TLSv1_3)
# if defined(SSL_OP_NO_COMPRESSION)
- BOOST_ASIO_STATIC_CONSTANT(long, no_compression = SSL_OP_NO_COMPRESSION);
+ BOOST_ASIO_STATIC_CONSTANT(uint64_t, no_compression = SSL_OP_NO_COMPRESSION);
# else // defined(SSL_OP_NO_COMPRESSION)
- BOOST_ASIO_STATIC_CONSTANT(long, no_compression = 0x20000L);
+ BOOST_ASIO_STATIC_CONSTANT(uint64_t, no_compression = 0x20000L);
# endif // defined(SSL_OP_NO_COMPRESSION)
#endif
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/buffered_handshake_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/buffered_handshake_op.hpp
index 00e999b6b6..5884ee70e0 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/buffered_handshake_op.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/buffered_handshake_op.hpp
@@ -2,7 +2,7 @@
// ssl/detail/buffered_handshake_op.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/engine.hpp b/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/engine.hpp
index 957d218365..9d4875b72e 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/engine.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/engine.hpp
@@ -2,7 +2,7 @@
// ssl/detail/engine.hpp
// ~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/handshake_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/handshake_op.hpp
index 095137b590..143abca8cb 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/handshake_op.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/handshake_op.hpp
@@ -2,7 +2,7 @@
// ssl/detail/handshake_op.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/impl/engine.ipp b/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/impl/engine.ipp
index ea373ad86a..37cb650dd3 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/impl/engine.ipp
+++ b/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/impl/engine.ipp
@@ -2,7 +2,7 @@
// ssl/detail/impl/engine.ipp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/impl/openssl_init.ipp b/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/impl/openssl_init.ipp
index 8357146f90..456f2a4511 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/impl/openssl_init.ipp
+++ b/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/impl/openssl_init.ipp
@@ -3,7 +3,7 @@
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
// Copyright (c) 2005 Voipster / Indrek dot Juhani at voipster dot com
-// Copyright (c) 2005-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2005-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/io.hpp b/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/io.hpp
index 43603c61b3..3a0697be08 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/io.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/io.hpp
@@ -2,7 +2,7 @@
// ssl/detail/io.hpp
// ~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/openssl_init.hpp b/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/openssl_init.hpp
index be96173bc3..e1aa4d5184 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/openssl_init.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/openssl_init.hpp
@@ -2,7 +2,7 @@
// ssl/detail/openssl_init.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/openssl_types.hpp b/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/openssl_types.hpp
index aa3778b041..f758ae739c 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/openssl_types.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/openssl_types.hpp
@@ -2,7 +2,7 @@
// ssl/detail/openssl_types.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/password_callback.hpp b/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/password_callback.hpp
index 6751024e96..971ba4c320 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/password_callback.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/password_callback.hpp
@@ -2,7 +2,7 @@
// ssl/detail/password_callback.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/read_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/read_op.hpp
index a8d500489a..00038ba93f 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/read_op.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/read_op.hpp
@@ -2,7 +2,7 @@
// ssl/detail/read_op.hpp
// ~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/shutdown_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/shutdown_op.hpp
index fe6a1ba0cc..70bd7286cb 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/shutdown_op.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/shutdown_op.hpp
@@ -2,7 +2,7 @@
// ssl/detail/shutdown_op.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/stream_core.hpp b/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/stream_core.hpp
index d3ba395e68..08024ef6f0 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/stream_core.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/stream_core.hpp
@@ -2,7 +2,7 @@
// ssl/detail/stream_core.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/verify_callback.hpp b/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/verify_callback.hpp
index b61551b1e9..6faeef882c 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/verify_callback.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/verify_callback.hpp
@@ -2,7 +2,7 @@
// ssl/detail/verify_callback.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/write_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/write_op.hpp
index e8fa3c8ec7..e651ccc57d 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/write_op.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/ssl/detail/write_op.hpp
@@ -2,7 +2,7 @@
// ssl/detail/write_op.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ssl/error.hpp b/contrib/restricted/boost/asio/include/boost/asio/ssl/error.hpp
index 7e8f897799..b3c674e789 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/ssl/error.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/ssl/error.hpp
@@ -2,7 +2,7 @@
// ssl/error.hpp
// ~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ssl/host_name_verification.hpp b/contrib/restricted/boost/asio/include/boost/asio/ssl/host_name_verification.hpp
index 669b19a82c..35d7c01b2d 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/ssl/host_name_verification.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/ssl/host_name_verification.hpp
@@ -2,7 +2,7 @@
// ssl/host_name_verification.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ssl/impl/context.hpp b/contrib/restricted/boost/asio/include/boost/asio/ssl/impl/context.hpp
index 6f70b15099..345a389cf6 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/ssl/impl/context.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/ssl/impl/context.hpp
@@ -3,7 +3,7 @@
// ~~~~~~~~~~~~~~~~~~~~
//
// Copyright (c) 2005 Voipster / Indrek dot Juhani at voipster dot com
-// Copyright (c) 2005-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2005-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ssl/impl/context.ipp b/contrib/restricted/boost/asio/include/boost/asio/ssl/impl/context.ipp
index e3985c1439..be3ecbc014 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/ssl/impl/context.ipp
+++ b/contrib/restricted/boost/asio/include/boost/asio/ssl/impl/context.ipp
@@ -3,7 +3,7 @@
// ~~~~~~~~~~~~~~~~~~~~
//
// Copyright (c) 2005 Voipster / Indrek dot Juhani at voipster dot com
-// Copyright (c) 2005-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2005-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ssl/impl/error.ipp b/contrib/restricted/boost/asio/include/boost/asio/ssl/impl/error.ipp
index b33be63673..83fadeb2d2 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/ssl/impl/error.ipp
+++ b/contrib/restricted/boost/asio/include/boost/asio/ssl/impl/error.ipp
@@ -2,7 +2,7 @@
// ssl/impl/error.ipp
// ~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ssl/impl/host_name_verification.ipp b/contrib/restricted/boost/asio/include/boost/asio/ssl/impl/host_name_verification.ipp
index 5b50c670df..ff49f53807 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/ssl/impl/host_name_verification.ipp
+++ b/contrib/restricted/boost/asio/include/boost/asio/ssl/impl/host_name_verification.ipp
@@ -2,7 +2,7 @@
// ssl/impl/host_name_verification.ipp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ssl/impl/rfc2818_verification.ipp b/contrib/restricted/boost/asio/include/boost/asio/ssl/impl/rfc2818_verification.ipp
index a07c729a50..0996831d66 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/ssl/impl/rfc2818_verification.ipp
+++ b/contrib/restricted/boost/asio/include/boost/asio/ssl/impl/rfc2818_verification.ipp
@@ -2,7 +2,7 @@
// ssl/impl/rfc2818_verification.ipp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ssl/impl/src.hpp b/contrib/restricted/boost/asio/include/boost/asio/ssl/impl/src.hpp
index 91520d62d3..0f9d7b80d8 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/ssl/impl/src.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/ssl/impl/src.hpp
@@ -2,7 +2,7 @@
// impl/ssl/src.hpp
// ~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ssl/rfc2818_verification.hpp b/contrib/restricted/boost/asio/include/boost/asio/ssl/rfc2818_verification.hpp
index 38518b86da..f5a36a9b76 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/ssl/rfc2818_verification.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/ssl/rfc2818_verification.hpp
@@ -2,7 +2,7 @@
// ssl/rfc2818_verification.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ssl/stream.hpp b/contrib/restricted/boost/asio/include/boost/asio/ssl/stream.hpp
index 1e1faf78b6..417455a9a0 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/ssl/stream.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/ssl/stream.hpp
@@ -2,7 +2,7 @@
// ssl/stream.hpp
// ~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ssl/stream_base.hpp b/contrib/restricted/boost/asio/include/boost/asio/ssl/stream_base.hpp
index cbf9b7573b..769bc2cfe7 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/ssl/stream_base.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/ssl/stream_base.hpp
@@ -2,7 +2,7 @@
// ssl/stream_base.hpp
// ~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ssl/verify_context.hpp b/contrib/restricted/boost/asio/include/boost/asio/ssl/verify_context.hpp
index 3d1f5ae600..107b128454 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/ssl/verify_context.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/ssl/verify_context.hpp
@@ -2,7 +2,7 @@
// ssl/verify_context.hpp
// ~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ssl/verify_mode.hpp b/contrib/restricted/boost/asio/include/boost/asio/ssl/verify_mode.hpp
index 18ceb733d2..cd22a6b47b 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/ssl/verify_mode.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/ssl/verify_mode.hpp
@@ -2,7 +2,7 @@
// ssl/verify_mode.hpp
// ~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/static_thread_pool.hpp b/contrib/restricted/boost/asio/include/boost/asio/static_thread_pool.hpp
index 0e022419d4..50b4da351c 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/static_thread_pool.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/static_thread_pool.hpp
@@ -2,7 +2,7 @@
// static_thread_pool.hpp
// ~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/steady_timer.hpp b/contrib/restricted/boost/asio/include/boost/asio/steady_timer.hpp
index 6a6ce57501..33ec79b875 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/steady_timer.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/steady_timer.hpp
@@ -2,7 +2,7 @@
// steady_timer.hpp
// ~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/strand.hpp b/contrib/restricted/boost/asio/include/boost/asio/strand.hpp
index e6e5a1aa89..32dffd5c47 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/strand.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/strand.hpp
@@ -2,7 +2,7 @@
// strand.hpp
// ~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/stream_file.hpp b/contrib/restricted/boost/asio/include/boost/asio/stream_file.hpp
index 0b83cd3616..7579cbbb46 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/stream_file.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/stream_file.hpp
@@ -2,7 +2,7 @@
// stream_file.hpp
// ~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/streambuf.hpp b/contrib/restricted/boost/asio/include/boost/asio/streambuf.hpp
index 4e0f656ea6..af0b781022 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/streambuf.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/streambuf.hpp
@@ -2,7 +2,7 @@
// streambuf.hpp
// ~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/system_context.hpp b/contrib/restricted/boost/asio/include/boost/asio/system_context.hpp
index 1f47ec464c..7fff02dfee 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/system_context.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/system_context.hpp
@@ -2,7 +2,7 @@
// system_context.hpp
// ~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/system_executor.hpp b/contrib/restricted/boost/asio/include/boost/asio/system_executor.hpp
index 6ebf8799b1..c6f69b609e 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/system_executor.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/system_executor.hpp
@@ -2,7 +2,7 @@
// system_executor.hpp
// ~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/system_timer.hpp b/contrib/restricted/boost/asio/include/boost/asio/system_timer.hpp
index b5b1e6e4e9..cc77ea016f 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/system_timer.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/system_timer.hpp
@@ -2,7 +2,7 @@
// system_timer.hpp
// ~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/this_coro.hpp b/contrib/restricted/boost/asio/include/boost/asio/this_coro.hpp
index 2e0c994f5e..69abf1c198 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/this_coro.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/this_coro.hpp
@@ -2,7 +2,7 @@
// this_coro.hpp
// ~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -194,7 +194,7 @@ template <typename Filter>
struct reset_cancellation_state_1_t
{
template <typename F>
- BOOST_ASIO_CONSTEXPR reset_cancellation_state_1_t(
+ explicit BOOST_ASIO_CONSTEXPR reset_cancellation_state_1_t(
BOOST_ASIO_MOVE_ARG(F) filt)
: filter(BOOST_ASIO_MOVE_CAST(F)(filt))
{
@@ -257,7 +257,7 @@ throw_if_cancelled()
struct throw_if_cancelled_1_t
{
- BOOST_ASIO_CONSTEXPR throw_if_cancelled_1_t(bool val)
+ explicit BOOST_ASIO_CONSTEXPR throw_if_cancelled_1_t(bool val)
: value(val)
{
}
diff --git a/contrib/restricted/boost/asio/include/boost/asio/thread_pool.hpp b/contrib/restricted/boost/asio/include/boost/asio/thread_pool.hpp
index a33f50ed8e..a2dc69de37 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/thread_pool.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/thread_pool.hpp
@@ -2,7 +2,7 @@
// thread_pool.hpp
// ~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/time_traits.hpp b/contrib/restricted/boost/asio/include/boost/asio/time_traits.hpp
index c5dd10869b..80d40b7715 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/time_traits.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/time_traits.hpp
@@ -2,7 +2,7 @@
// time_traits.hpp
// ~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/traits/bulk_execute_free.hpp b/contrib/restricted/boost/asio/include/boost/asio/traits/bulk_execute_free.hpp
index b055be523b..f80a353cf5 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/traits/bulk_execute_free.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/traits/bulk_execute_free.hpp
@@ -2,7 +2,7 @@
// traits/bulk_execute_free.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/traits/bulk_execute_member.hpp b/contrib/restricted/boost/asio/include/boost/asio/traits/bulk_execute_member.hpp
index e02dbe61a1..9e2954ed3a 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/traits/bulk_execute_member.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/traits/bulk_execute_member.hpp
@@ -2,7 +2,7 @@
// traits/bulk_execute_member.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/traits/connect_free.hpp b/contrib/restricted/boost/asio/include/boost/asio/traits/connect_free.hpp
index bad6f99326..a80b7a7ee8 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/traits/connect_free.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/traits/connect_free.hpp
@@ -2,7 +2,7 @@
// traits/connect_free.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/traits/connect_member.hpp b/contrib/restricted/boost/asio/include/boost/asio/traits/connect_member.hpp
index 63bb3fa820..1f52a366c1 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/traits/connect_member.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/traits/connect_member.hpp
@@ -2,7 +2,7 @@
// traits/connect_member.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/traits/equality_comparable.hpp b/contrib/restricted/boost/asio/include/boost/asio/traits/equality_comparable.hpp
index 9ec39bbdfc..46b46fcdc1 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/traits/equality_comparable.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/traits/equality_comparable.hpp
@@ -2,7 +2,7 @@
// traits/equality_comparable.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/traits/execute_free.hpp b/contrib/restricted/boost/asio/include/boost/asio/traits/execute_free.hpp
index 642ffb974f..bfd6e39d6f 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/traits/execute_free.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/traits/execute_free.hpp
@@ -2,7 +2,7 @@
// traits/execute_free.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/traits/execute_member.hpp b/contrib/restricted/boost/asio/include/boost/asio/traits/execute_member.hpp
index 2038f41866..cadcdd9abf 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/traits/execute_member.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/traits/execute_member.hpp
@@ -2,7 +2,7 @@
// traits/execute_member.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/traits/prefer_free.hpp b/contrib/restricted/boost/asio/include/boost/asio/traits/prefer_free.hpp
index 8d79c2147b..6895718ed6 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/traits/prefer_free.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/traits/prefer_free.hpp
@@ -2,7 +2,7 @@
// traits/prefer_free.hpp
// ~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/traits/prefer_member.hpp b/contrib/restricted/boost/asio/include/boost/asio/traits/prefer_member.hpp
index 848693ed80..2ba78460f1 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/traits/prefer_member.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/traits/prefer_member.hpp
@@ -2,7 +2,7 @@
// traits/prefer_member.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/traits/query_free.hpp b/contrib/restricted/boost/asio/include/boost/asio/traits/query_free.hpp
index 5d0ded7ca7..fd5c323735 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/traits/query_free.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/traits/query_free.hpp
@@ -2,7 +2,7 @@
// traits/query_free.hpp
// ~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/traits/query_member.hpp b/contrib/restricted/boost/asio/include/boost/asio/traits/query_member.hpp
index deca0d811f..d4895becf3 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/traits/query_member.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/traits/query_member.hpp
@@ -2,7 +2,7 @@
// traits/query_member.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/traits/query_static_constexpr_member.hpp b/contrib/restricted/boost/asio/include/boost/asio/traits/query_static_constexpr_member.hpp
index 5ea5252184..dc5f7836cb 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/traits/query_static_constexpr_member.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/traits/query_static_constexpr_member.hpp
@@ -2,7 +2,7 @@
// traits/query_static_constexpr_member.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/traits/require_concept_free.hpp b/contrib/restricted/boost/asio/include/boost/asio/traits/require_concept_free.hpp
index 31523050f9..9641b4f3f2 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/traits/require_concept_free.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/traits/require_concept_free.hpp
@@ -2,7 +2,7 @@
// traits/require_concept_free.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/traits/require_concept_member.hpp b/contrib/restricted/boost/asio/include/boost/asio/traits/require_concept_member.hpp
index 3c91c57f3f..309e8d1014 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/traits/require_concept_member.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/traits/require_concept_member.hpp
@@ -2,7 +2,7 @@
// traits/require_concept_member.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/traits/require_free.hpp b/contrib/restricted/boost/asio/include/boost/asio/traits/require_free.hpp
index 39b71b91fb..90fdadb163 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/traits/require_free.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/traits/require_free.hpp
@@ -2,7 +2,7 @@
// traits/require_free.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/traits/require_member.hpp b/contrib/restricted/boost/asio/include/boost/asio/traits/require_member.hpp
index df959faeb4..06a164452c 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/traits/require_member.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/traits/require_member.hpp
@@ -2,7 +2,7 @@
// traits/require_member.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/traits/schedule_free.hpp b/contrib/restricted/boost/asio/include/boost/asio/traits/schedule_free.hpp
index 9d163f8029..3a3ae8d93e 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/traits/schedule_free.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/traits/schedule_free.hpp
@@ -2,7 +2,7 @@
// traits/schedule_free.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/traits/schedule_member.hpp b/contrib/restricted/boost/asio/include/boost/asio/traits/schedule_member.hpp
index 2f334a66cb..9102fc0afa 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/traits/schedule_member.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/traits/schedule_member.hpp
@@ -2,7 +2,7 @@
// traits/schedule_member.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/traits/set_done_free.hpp b/contrib/restricted/boost/asio/include/boost/asio/traits/set_done_free.hpp
index eb2b2f7289..6bcd84da6c 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/traits/set_done_free.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/traits/set_done_free.hpp
@@ -2,7 +2,7 @@
// traits/set_done_free.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/traits/set_done_member.hpp b/contrib/restricted/boost/asio/include/boost/asio/traits/set_done_member.hpp
index a32d3cbc58..5f1c30485f 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/traits/set_done_member.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/traits/set_done_member.hpp
@@ -2,7 +2,7 @@
// traits/set_done_member.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/traits/set_error_free.hpp b/contrib/restricted/boost/asio/include/boost/asio/traits/set_error_free.hpp
index 55924e7dc8..9390bfe907 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/traits/set_error_free.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/traits/set_error_free.hpp
@@ -2,7 +2,7 @@
// traits/set_error_free.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/traits/set_error_member.hpp b/contrib/restricted/boost/asio/include/boost/asio/traits/set_error_member.hpp
index 5160c6ef97..873a197ef1 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/traits/set_error_member.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/traits/set_error_member.hpp
@@ -2,7 +2,7 @@
// traits/set_error_member.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/traits/set_value_free.hpp b/contrib/restricted/boost/asio/include/boost/asio/traits/set_value_free.hpp
index bb1bab9b22..2647708e44 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/traits/set_value_free.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/traits/set_value_free.hpp
@@ -2,7 +2,7 @@
// traits/set_value_free.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/traits/set_value_member.hpp b/contrib/restricted/boost/asio/include/boost/asio/traits/set_value_member.hpp
index 0d7583334a..03aa631a62 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/traits/set_value_member.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/traits/set_value_member.hpp
@@ -2,7 +2,7 @@
// traits/set_value_member.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/traits/start_free.hpp b/contrib/restricted/boost/asio/include/boost/asio/traits/start_free.hpp
index 34c8479394..0e27dc7c20 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/traits/start_free.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/traits/start_free.hpp
@@ -2,7 +2,7 @@
// traits/start_free.hpp
// ~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/traits/start_member.hpp b/contrib/restricted/boost/asio/include/boost/asio/traits/start_member.hpp
index 8d3882fcae..24a7afb94d 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/traits/start_member.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/traits/start_member.hpp
@@ -2,7 +2,7 @@
// traits/start_member.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/traits/static_query.hpp b/contrib/restricted/boost/asio/include/boost/asio/traits/static_query.hpp
index aa7979b703..bba58cf7e1 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/traits/static_query.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/traits/static_query.hpp
@@ -2,7 +2,7 @@
// traits/static_query.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/traits/static_require.hpp b/contrib/restricted/boost/asio/include/boost/asio/traits/static_require.hpp
index 964494274a..a53c0e3ab8 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/traits/static_require.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/traits/static_require.hpp
@@ -2,7 +2,7 @@
// traits/static_require.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/traits/static_require_concept.hpp b/contrib/restricted/boost/asio/include/boost/asio/traits/static_require_concept.hpp
index b27327e731..81b3dca314 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/traits/static_require_concept.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/traits/static_require_concept.hpp
@@ -2,7 +2,7 @@
// traits/static_require_concept.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/traits/submit_free.hpp b/contrib/restricted/boost/asio/include/boost/asio/traits/submit_free.hpp
index 565ce156d2..2f5691eba4 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/traits/submit_free.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/traits/submit_free.hpp
@@ -2,7 +2,7 @@
// traits/submit_free.hpp
// ~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/traits/submit_member.hpp b/contrib/restricted/boost/asio/include/boost/asio/traits/submit_member.hpp
index d409c38b0c..8874f4d491 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/traits/submit_member.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/traits/submit_member.hpp
@@ -2,7 +2,7 @@
// traits/submit_member.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ts/buffer.hpp b/contrib/restricted/boost/asio/include/boost/asio/ts/buffer.hpp
index 840b17e2d2..9dc1e992de 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/ts/buffer.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/ts/buffer.hpp
@@ -2,7 +2,7 @@
// ts/buffer.hpp
// ~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ts/executor.hpp b/contrib/restricted/boost/asio/include/boost/asio/ts/executor.hpp
index f3c674b08b..df1aae9ff8 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/ts/executor.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/ts/executor.hpp
@@ -2,7 +2,7 @@
// ts/executor.hpp
// ~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ts/internet.hpp b/contrib/restricted/boost/asio/include/boost/asio/ts/internet.hpp
index 4b07bb0790..78c458fd56 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/ts/internet.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/ts/internet.hpp
@@ -2,7 +2,7 @@
// ts/internet.hpp
// ~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ts/io_context.hpp b/contrib/restricted/boost/asio/include/boost/asio/ts/io_context.hpp
index ed27e0536e..4a5a294b1f 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/ts/io_context.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/ts/io_context.hpp
@@ -2,7 +2,7 @@
// ts/io_context.hpp
// ~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ts/net.hpp b/contrib/restricted/boost/asio/include/boost/asio/ts/net.hpp
index 394f6ff4a5..13cb8ba027 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/ts/net.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/ts/net.hpp
@@ -2,7 +2,7 @@
// ts/net.hpp
// ~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ts/netfwd.hpp b/contrib/restricted/boost/asio/include/boost/asio/ts/netfwd.hpp
index 4aac37479e..c326e48ac4 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/ts/netfwd.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/ts/netfwd.hpp
@@ -2,7 +2,7 @@
// ts/netfwd.hpp
// ~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ts/socket.hpp b/contrib/restricted/boost/asio/include/boost/asio/ts/socket.hpp
index ea69c53065..98951f114f 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/ts/socket.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/ts/socket.hpp
@@ -2,7 +2,7 @@
// ts/socket.hpp
// ~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ts/timer.hpp b/contrib/restricted/boost/asio/include/boost/asio/ts/timer.hpp
index 17cc681564..2e7173c535 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/ts/timer.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/ts/timer.hpp
@@ -2,7 +2,7 @@
// ts/timer.hpp
// ~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/unyield.hpp b/contrib/restricted/boost/asio/include/boost/asio/unyield.hpp
index f09a2fd71f..ed70d5f50d 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/unyield.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/unyield.hpp
@@ -2,7 +2,7 @@
// unyield.hpp
// ~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/use_awaitable.hpp b/contrib/restricted/boost/asio/include/boost/asio/use_awaitable.hpp
index f3bc66b129..372d8750cd 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/use_awaitable.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/use_awaitable.hpp
@@ -2,7 +2,7 @@
// use_awaitable.hpp
// ~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/use_future.hpp b/contrib/restricted/boost/asio/include/boost/asio/use_future.hpp
index 8c75678009..647353cee3 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/use_future.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/use_future.hpp
@@ -2,7 +2,7 @@
// use_future.hpp
// ~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/uses_executor.hpp b/contrib/restricted/boost/asio/include/boost/asio/uses_executor.hpp
index 111aef06a7..2c5d538321 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/uses_executor.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/uses_executor.hpp
@@ -2,7 +2,7 @@
// uses_executor.hpp
// ~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/version.hpp b/contrib/restricted/boost/asio/include/boost/asio/version.hpp
index f5be3dc485..53e4fd4003 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/version.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/version.hpp
@@ -2,7 +2,7 @@
// version.hpp
// ~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -18,6 +18,6 @@
// BOOST_ASIO_VERSION % 100 is the sub-minor version
// BOOST_ASIO_VERSION / 100 % 1000 is the minor version
// BOOST_ASIO_VERSION / 100000 is the major version
-#define BOOST_ASIO_VERSION 102600 // 1.26.0
+#define BOOST_ASIO_VERSION 102800 // 1.28.0
#endif // BOOST_ASIO_VERSION_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/wait_traits.hpp b/contrib/restricted/boost/asio/include/boost/asio/wait_traits.hpp
index 42a9047f92..9075b6d1ac 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/wait_traits.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/wait_traits.hpp
@@ -2,7 +2,7 @@
// wait_traits.hpp
// ~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/windows/basic_object_handle.hpp b/contrib/restricted/boost/asio/include/boost/asio/windows/basic_object_handle.hpp
index c101abf3ad..07b9827cde 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/windows/basic_object_handle.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/windows/basic_object_handle.hpp
@@ -2,7 +2,7 @@
// windows/basic_object_handle.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// Copyright (c) 2011 Boris Schaeling (boris@highscore.de)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
diff --git a/contrib/restricted/boost/asio/include/boost/asio/windows/basic_overlapped_handle.hpp b/contrib/restricted/boost/asio/include/boost/asio/windows/basic_overlapped_handle.hpp
index ea61548a37..1b75060d07 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/windows/basic_overlapped_handle.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/windows/basic_overlapped_handle.hpp
@@ -2,7 +2,7 @@
// windows/basic_overlapped_handle.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/windows/basic_random_access_handle.hpp b/contrib/restricted/boost/asio/include/boost/asio/windows/basic_random_access_handle.hpp
index 93033f493e..04e2c73489 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/windows/basic_random_access_handle.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/windows/basic_random_access_handle.hpp
@@ -2,7 +2,7 @@
// windows/basic_random_access_handle.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/windows/basic_stream_handle.hpp b/contrib/restricted/boost/asio/include/boost/asio/windows/basic_stream_handle.hpp
index 2471e172b9..e76a8f20b2 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/windows/basic_stream_handle.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/windows/basic_stream_handle.hpp
@@ -2,7 +2,7 @@
// windows/basic_stream_handle.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/windows/object_handle.hpp b/contrib/restricted/boost/asio/include/boost/asio/windows/object_handle.hpp
index 41afcff9b3..3740337b37 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/windows/object_handle.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/windows/object_handle.hpp
@@ -2,7 +2,7 @@
// windows/object_handle.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// Copyright (c) 2011 Boris Schaeling (boris@highscore.de)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
diff --git a/contrib/restricted/boost/asio/include/boost/asio/windows/overlapped_handle.hpp b/contrib/restricted/boost/asio/include/boost/asio/windows/overlapped_handle.hpp
index b2dd5b9750..f3e6e04fa5 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/windows/overlapped_handle.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/windows/overlapped_handle.hpp
@@ -2,7 +2,7 @@
// windows/overlapped_handle.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/windows/overlapped_ptr.hpp b/contrib/restricted/boost/asio/include/boost/asio/windows/overlapped_ptr.hpp
index ac709ed1c4..801394590f 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/windows/overlapped_ptr.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/windows/overlapped_ptr.hpp
@@ -2,7 +2,7 @@
// windows/overlapped_ptr.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/windows/random_access_handle.hpp b/contrib/restricted/boost/asio/include/boost/asio/windows/random_access_handle.hpp
index 3a61db8e2e..b62dfca10a 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/windows/random_access_handle.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/windows/random_access_handle.hpp
@@ -2,7 +2,7 @@
// windows/random_access_handle.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/windows/stream_handle.hpp b/contrib/restricted/boost/asio/include/boost/asio/windows/stream_handle.hpp
index a7253382c6..1530bf4f13 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/windows/stream_handle.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/windows/stream_handle.hpp
@@ -2,7 +2,7 @@
// windows/stream_handle.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/writable_pipe.hpp b/contrib/restricted/boost/asio/include/boost/asio/writable_pipe.hpp
index 9b52a099f2..881df79247 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/writable_pipe.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/writable_pipe.hpp
@@ -2,7 +2,7 @@
// writable_pipe.hpp
// ~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/write.hpp b/contrib/restricted/boost/asio/include/boost/asio/write.hpp
index acdbbcef21..7bd4ee9181 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/write.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/write.hpp
@@ -2,7 +2,7 @@
// write.hpp
// ~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/write_at.hpp b/contrib/restricted/boost/asio/include/boost/asio/write_at.hpp
index 6789f410fc..c60756aa6b 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/write_at.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/write_at.hpp
@@ -2,7 +2,7 @@
// write_at.hpp
// ~~~~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/include/boost/asio/yield.hpp b/contrib/restricted/boost/asio/include/boost/asio/yield.hpp
index 4c1c68681d..ad2172fe4a 100644
--- a/contrib/restricted/boost/asio/include/boost/asio/yield.hpp
+++ b/contrib/restricted/boost/asio/include/boost/asio/yield.hpp
@@ -2,7 +2,7 @@
// yield.hpp
// ~~~~~~~~~
//
-// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/contrib/restricted/boost/asio/ya.make b/contrib/restricted/boost/asio/ya.make
index 53948d3850..0a481235b0 100644
--- a/contrib/restricted/boost/asio/ya.make
+++ b/contrib/restricted/boost/asio/ya.make
@@ -9,9 +9,9 @@ LICENSE(
LICENSE_TEXTS(.yandex_meta/licenses.list.txt)
-VERSION(1.81.0)
+VERSION(1.82.0)
-ORIGINAL_SOURCE(https://github.com/boostorg/asio/archive/boost-1.81.0.tar.gz)
+ORIGINAL_SOURCE(https://github.com/boostorg/asio/archive/boost-1.82.0.tar.gz)
PEERDIR(
contrib/libs/openssl