passenger 6.0.11 → 6.0.12
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG +24 -1
- data/CONTRIBUTORS +3 -0
- data/src/agent/Core/Config.h +1 -1
- data/src/agent/Core/Controller/CheckoutSession.cpp +24 -13
- data/src/agent/Core/Controller/Config.h +1 -1
- data/src/agent/Core/Controller/InternalUtils.cpp +32 -6
- data/src/agent/Core/Controller.h +4 -1
- data/src/agent/Watchdog/Config.h +1 -1
- data/src/cxx_supportlib/Constants.h +1 -1
- data/src/cxx_supportlib/IOTools/IOUtils.cpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/align/aligned_alloc.hpp +47 -0
- data/src/cxx_supportlib/vendor-modified/boost/align/detail/aligned_alloc_posix.hpp +41 -0
- data/src/cxx_supportlib/vendor-modified/boost/align/detail/is_alignment.hpp +28 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/associated_allocator.hpp +53 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/associated_cancellation_slot.hpp +179 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/associated_executor.hpp +57 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/associator.hpp +37 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/async_result.hpp +789 -106
- data/src/cxx_supportlib/vendor-modified/boost/asio/awaitable.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_datagram_socket.hpp +80 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_deadline_timer.hpp +10 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_raw_socket.hpp +80 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_seq_packet_socket.hpp +30 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket.hpp +20 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_acceptor.hpp +90 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_stream_socket.hpp +60 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_waitable_timer.hpp +10 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/bind_cancellation_slot.hpp +723 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/bind_executor.hpp +191 -12
- data/src/cxx_supportlib/vendor-modified/boost/asio/cancellation_signal.hpp +361 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/cancellation_state.hpp +237 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/cancellation_type.hpp +176 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/co_spawn.hpp +30 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/connect.hpp +60 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/base_from_cancellation_state.hpp +165 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/bind_handler.hpp +209 -76
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/config.hpp +149 -60
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/deadline_timer_service.hpp +40 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/dev_poll_reactor.hpp +8 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/epoll_reactor.hpp +14 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/functional.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_alloc_helpers.hpp +14 -10
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_type_requirements.hpp +21 -18
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_work.hpp +30 -19
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/dev_poll_reactor.hpp +8 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/dev_poll_reactor.ipp +14 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/epoll_reactor.hpp +20 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/epoll_reactor.ipp +30 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/kqueue_reactor.hpp +20 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/kqueue_reactor.ipp +29 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/select_reactor.hpp +24 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/select_reactor.ipp +19 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_executor_service.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/timer_queue_ptime.ipp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/kqueue_reactor.hpp +15 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/memory.hpp +60 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/pop_options.hpp +8 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/push_options.hpp +27 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_descriptor_service.hpp +93 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_service.hpp +77 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_service_base.hpp +111 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor_op.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor_op_queue.hpp +44 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/recycling_allocator.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolve_endpoint_op.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/select_reactor.hpp +14 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread_info_base.hpp +90 -24
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue.hpp +30 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue_ptime.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/wait_op.hpp +5 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/work_dispatcher.hpp +5 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/any_executor.hpp +12 -12
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/bulk_execute.hpp +10 -8
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/connect.hpp +8 -8
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/execute.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/schedule.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/set_done.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/set_error.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/set_value.hpp +13 -13
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/start.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/submit.hpp +8 -8
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/append.hpp +73 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/as_tuple.hpp +133 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/awaitable_operators.hpp +538 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/cancellation_condition.hpp +157 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/coro.hpp +1057 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/deferred.hpp +607 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/completion_handler_erasure.hpp +160 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/coro_promise_allocator.hpp +120 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/coro_traits.hpp +185 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/partial_promise.hpp +181 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/append.hpp +219 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/as_single.hpp +14 -28
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/as_tuple.hpp +248 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/deferred.hpp +106 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/parallel_group.hpp +434 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/prepend.hpp +219 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/promise.hpp +100 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/parallel_group.hpp +217 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/prepend.hpp +73 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/promise.hpp +608 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/use_coro.hpp +284 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/awaitable.hpp +344 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/buffered_read_stream.hpp +23 -54
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/buffered_write_stream.hpp +23 -54
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/co_spawn.hpp +66 -18
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/compose.hpp +55 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/connect.hpp +68 -80
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/defer.hpp +8 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/dispatch.hpp +8 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/handler_alloc_hook.ipp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/post.hpp +8 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read.hpp +98 -113
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_at.hpp +71 -82
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_until.hpp +210 -266
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/redirect_error.hpp +248 -30
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/spawn.hpp +11 -21
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/use_awaitable.hpp +15 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/write.hpp +71 -87
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/write_at.hpp +46 -68
- data/src/cxx_supportlib/vendor-modified/boost/asio/io_context.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/local/detail/impl/endpoint.ipp +2 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/posix/basic_descriptor.hpp +10 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/posix/basic_stream_descriptor.hpp +23 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/prefer.hpp +21 -21
- data/src/cxx_supportlib/vendor-modified/boost/asio/query.hpp +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/asio/read.hpp +88 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/read_at.hpp +44 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/read_until.hpp +132 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/require.hpp +21 -21
- data/src/cxx_supportlib/vendor-modified/boost/asio/require_concept.hpp +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/buffered_handshake_op.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/engine.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/handshake_op.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/impl/engine.ipp +14 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/io.hpp +36 -27
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/read_op.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/shutdown_op.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/stream_core.hpp +37 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/write_op.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/context.ipp +14 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/stream.hpp +73 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/system_executor.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/this_coro.hpp +235 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/thread_pool.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/use_awaitable.hpp +7 -10
- data/src/cxx_supportlib/vendor-modified/boost/asio/version.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_random_access_handle.hpp +20 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_stream_handle.hpp +20 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/write.hpp +88 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/write_at.hpp +44 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/atomic_ref.hpp +14 -1
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/config.hpp +17 -13
- data/src/cxx_supportlib/vendor-modified/boost/atomic/ipc_atomic_ref.hpp +14 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx03.hpp +2 -5
- data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx11.hpp +2 -5
- data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx14.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx17.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx20.hpp +56 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/auto_link.hpp +1 -5
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/common_edg.hpp +31 -11
- data/src/cxx_supportlib/vendor-modified/boost/config/detail/cxx_composite.hpp +20 -4
- data/src/cxx_supportlib/vendor-modified/boost/config/detail/select_platform_config.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/detail/suffix.hpp +81 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/platform/bsd.hpp +5 -8
- data/src/cxx_supportlib/vendor-modified/boost/config/platform/wasm.hpp +17 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/dinkumware.hpp +26 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libcpp.hpp +49 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libstdcpp3.hpp +46 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/adaptive_pool.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/allocator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/adaptive_node_pool.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_pool.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/std_fwd.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/devector.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/new_allocator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/node_allocator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/polymorphic_allocator.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/container/static_vector.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/throw_exception.hpp +45 -38
- data/src/cxx_supportlib/vendor-modified/boost/container/vector.hpp +24 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/ignore_unused.hpp +32 -2
- data/src/cxx_supportlib/vendor-modified/boost/core/uncaught_exceptions.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/date_time/compiler_config.hpp +0 -24
- data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/time_parsers.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/any_hook.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/avl_set.hpp +83 -83
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/avltree.hpp +43 -43
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/avltree_algorithms.hpp +31 -31
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/bs_set.hpp +85 -85
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/bstree.hpp +68 -68
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/bstree_algorithms.hpp +72 -62
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/circular_list_algorithms.hpp +19 -20
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/circular_slist_algorithms.hpp +19 -19
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/derivation_value_traits.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/any_node_and_algorithms.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/bstree_algorithms_base.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/common_slist_algorithms.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/config_begin.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/generic_hook.hpp +8 -8
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hash_combine.hpp +2 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hashtable_node.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/math.hpp +2 -50
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/node_cloner_disposer.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/hashtable.hpp +71 -70
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/linear_slist_algorithms.hpp +15 -14
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/list.hpp +84 -82
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/list_hook.hpp +10 -10
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/member_value_traits.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/parent_from_member.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/pointer_plus_bits.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/pointer_traits.hpp +18 -18
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/rbtree.hpp +43 -43
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/rbtree_algorithms.hpp +26 -26
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/set.hpp +85 -85
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/set_hook.hpp +12 -12
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/sg_set.hpp +93 -93
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/sgtree.hpp +51 -51
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/sgtree_algorithms.hpp +24 -24
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/slist.hpp +104 -104
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/slist_hook.hpp +8 -6
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/splay_set.hpp +91 -91
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/splaytree.hpp +46 -46
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/splaytree_algorithms.hpp +31 -31
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap.hpp +51 -51
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap_algorithms.hpp +18 -18
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap_set.hpp +97 -97
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/trivial_value_traits.hpp +6 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/unordered_set.hpp +63 -63
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/unordered_set_hook.hpp +15 -15
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_numeric.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/config_begin.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/iterator_traits.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/nsec_clock.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/operators.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/concepts.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_parser.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/unicode_iterator.hpp +112 -31
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/basic_regex_parser.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/mem_block_cache.hpp +4 -8
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/unicode_iterator.hpp +0 -2
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/w32_regex_traits.hpp +6 -2
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/shared_count.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_impl.hpp +22 -2
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/shared_ptr.hpp +59 -1
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/config.hpp +9 -11
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_category.hpp +27 -21
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_category_impl.hpp +34 -3
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_code.hpp +378 -36
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_condition.hpp +97 -21
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/interop_category.hpp +107 -0
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/is_same.hpp +33 -0
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/snprintf.hpp +70 -0
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/{to_std_category.hpp → std_category.hpp} +5 -55
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/system_category_impl.hpp +2 -12
- data/src/cxx_supportlib/vendor-modified/boost/system/error_code.hpp +0 -33
- data/src/cxx_supportlib/vendor-modified/boost/utility/detail/result_of_variadic.hpp +190 -0
- data/src/cxx_supportlib/vendor-modified/boost/utility/result_of.hpp +20 -9
- data/src/cxx_supportlib/vendor-modified/boost/utility/string_view.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/version.hpp +2 -2
- data/src/nginx_module/ConfigGeneral/AutoGeneratedDefinitions.c +8 -0
- data/src/nginx_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.c +6 -0
- data/src/nginx_module/ConfigGeneral/AutoGeneratedSetterFuncs.c +12 -0
- data/src/nginx_module/LocationConfig/AutoGeneratedCreateFunction.c +5 -0
- data/src/nginx_module/LocationConfig/AutoGeneratedHeaderSerialization.c +21 -0
- data/src/nginx_module/LocationConfig/AutoGeneratedManifestGeneration.c +13 -0
- data/src/nginx_module/LocationConfig/AutoGeneratedMergeFunction.c +3 -0
- data/src/nginx_module/LocationConfig/AutoGeneratedStruct.h +4 -0
- data/src/ruby_supportlib/phusion_passenger/admin_tools/instance_registry.rb +3 -2
- data/src/ruby_supportlib/phusion_passenger/loader_shared_helpers.rb +8 -1
- data/src/ruby_supportlib/phusion_passenger/nginx/config_options.rb +6 -0
- data/src/ruby_supportlib/phusion_passenger/packaging.rb +1 -0
- data/src/ruby_supportlib/phusion_passenger/platform_info/openssl.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/platform_info/operating_system.rb +8 -0
- data/src/ruby_supportlib/phusion_passenger/request_handler.rb +4 -1
- data/src/ruby_supportlib/phusion_passenger.rb +1 -1
- metadata +39 -4
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/is_generic_value.hpp +0 -125
@@ -19,10 +19,10 @@
|
|
19
19
|
#include <string>
|
20
20
|
#include <vector>
|
21
21
|
#include <utility>
|
22
|
-
#include <boost/asio/
|
23
|
-
#include <boost/asio/associated_executor.hpp>
|
22
|
+
#include <boost/asio/associator.hpp>
|
24
23
|
#include <boost/asio/buffer.hpp>
|
25
24
|
#include <boost/asio/buffers_iterator.hpp>
|
25
|
+
#include <boost/asio/detail/base_from_cancellation_state.hpp>
|
26
26
|
#include <boost/asio/detail/bind_handler.hpp>
|
27
27
|
#include <boost/asio/detail/handler_alloc_helpers.hpp>
|
28
28
|
#include <boost/asio/detail/handler_cont_helpers.hpp>
|
@@ -806,13 +806,16 @@ namespace detail
|
|
806
806
|
template <typename AsyncReadStream,
|
807
807
|
typename DynamicBuffer_v1, typename ReadHandler>
|
808
808
|
class read_until_delim_op_v1
|
809
|
+
: public base_from_cancellation_state<ReadHandler>
|
809
810
|
{
|
810
811
|
public:
|
811
812
|
template <typename BufferSequence>
|
812
813
|
read_until_delim_op_v1(AsyncReadStream& stream,
|
813
814
|
BOOST_ASIO_MOVE_ARG(BufferSequence) buffers,
|
814
815
|
char delim, ReadHandler& handler)
|
815
|
-
:
|
816
|
+
: base_from_cancellation_state<ReadHandler>(
|
817
|
+
handler, enable_partial_cancellation()),
|
818
|
+
stream_(stream),
|
816
819
|
buffers_(BOOST_ASIO_MOVE_CAST(BufferSequence)(buffers)),
|
817
820
|
delim_(delim),
|
818
821
|
start_(0),
|
@@ -823,7 +826,8 @@ namespace detail
|
|
823
826
|
|
824
827
|
#if defined(BOOST_ASIO_HAS_MOVE)
|
825
828
|
read_until_delim_op_v1(const read_until_delim_op_v1& other)
|
826
|
-
:
|
829
|
+
: base_from_cancellation_state<ReadHandler>(other),
|
830
|
+
stream_(other.stream_),
|
827
831
|
buffers_(other.buffers_),
|
828
832
|
delim_(other.delim_),
|
829
833
|
start_(other.start_),
|
@@ -833,7 +837,10 @@ namespace detail
|
|
833
837
|
}
|
834
838
|
|
835
839
|
read_until_delim_op_v1(read_until_delim_op_v1&& other)
|
836
|
-
:
|
840
|
+
: base_from_cancellation_state<ReadHandler>(
|
841
|
+
BOOST_ASIO_MOVE_CAST(base_from_cancellation_state<
|
842
|
+
ReadHandler>)(other)),
|
843
|
+
stream_(other.stream_),
|
837
844
|
buffers_(BOOST_ASIO_MOVE_CAST(DynamicBuffer_v1)(other.buffers_)),
|
838
845
|
delim_(other.delim_),
|
839
846
|
start_(other.start_),
|
@@ -843,7 +850,7 @@ namespace detail
|
|
843
850
|
}
|
844
851
|
#endif // defined(BOOST_ASIO_HAS_MOVE)
|
845
852
|
|
846
|
-
void operator()(
|
853
|
+
void operator()(boost::system::error_code ec,
|
847
854
|
std::size_t bytes_transferred, int start = 0)
|
848
855
|
{
|
849
856
|
const std::size_t not_found = (std::numeric_limits<std::size_t>::max)();
|
@@ -907,6 +914,11 @@ namespace detail
|
|
907
914
|
buffers_.commit(bytes_transferred);
|
908
915
|
if (ec || bytes_transferred == 0)
|
909
916
|
break;
|
917
|
+
if (this->cancelled() != cancellation_type::none)
|
918
|
+
{
|
919
|
+
ec = error::operation_aborted;
|
920
|
+
break;
|
921
|
+
}
|
910
922
|
}
|
911
923
|
|
912
924
|
const boost::system::error_code result_ec =
|
@@ -917,7 +929,7 @@ namespace detail
|
|
917
929
|
(ec || search_position_ == not_found)
|
918
930
|
? 0 : search_position_;
|
919
931
|
|
920
|
-
handler_(result_ec, result_n);
|
932
|
+
BOOST_ASIO_MOVE_OR_LVALUE(ReadHandler)(handler_)(result_ec, result_n);
|
921
933
|
}
|
922
934
|
}
|
923
935
|
|
@@ -1039,40 +1051,21 @@ namespace detail
|
|
1039
1051
|
|
1040
1052
|
#if !defined(GENERATING_DOCUMENTATION)
|
1041
1053
|
|
1042
|
-
template <typename
|
1043
|
-
typename
|
1044
|
-
|
1045
|
-
|
1046
|
-
DynamicBuffer_v1, ReadHandler>,
|
1047
|
-
Allocator>
|
1048
|
-
{
|
1049
|
-
typedef typename associated_allocator<ReadHandler, Allocator>::type type;
|
1050
|
-
|
1051
|
-
static type get(
|
1052
|
-
const detail::read_until_delim_op_v1<AsyncReadStream,
|
1053
|
-
DynamicBuffer_v1, ReadHandler>& h,
|
1054
|
-
const Allocator& a = Allocator()) BOOST_ASIO_NOEXCEPT
|
1055
|
-
{
|
1056
|
-
return associated_allocator<ReadHandler, Allocator>::get(h.handler_, a);
|
1057
|
-
}
|
1058
|
-
};
|
1059
|
-
|
1060
|
-
template <typename AsyncReadStream, typename DynamicBuffer_v1,
|
1061
|
-
typename ReadHandler, typename Executor>
|
1062
|
-
struct associated_executor<
|
1054
|
+
template <template <typename, typename> class Associator,
|
1055
|
+
typename AsyncReadStream, typename DynamicBuffer_v1,
|
1056
|
+
typename ReadHandler, typename DefaultCandidate>
|
1057
|
+
struct associator<Associator,
|
1063
1058
|
detail::read_until_delim_op_v1<AsyncReadStream,
|
1064
1059
|
DynamicBuffer_v1, ReadHandler>,
|
1065
|
-
|
1066
|
-
:
|
1060
|
+
DefaultCandidate>
|
1061
|
+
: Associator<ReadHandler, DefaultCandidate>
|
1067
1062
|
{
|
1068
|
-
|
1069
|
-
|
1070
|
-
static type get(
|
1063
|
+
static typename Associator<ReadHandler, DefaultCandidate>::type get(
|
1071
1064
|
const detail::read_until_delim_op_v1<AsyncReadStream,
|
1072
1065
|
DynamicBuffer_v1, ReadHandler>& h,
|
1073
|
-
const
|
1066
|
+
const DefaultCandidate& c = DefaultCandidate()) BOOST_ASIO_NOEXCEPT
|
1074
1067
|
{
|
1075
|
-
return
|
1068
|
+
return Associator<ReadHandler, DefaultCandidate>::get(h.handler_, c);
|
1076
1069
|
}
|
1077
1070
|
};
|
1078
1071
|
|
@@ -1104,13 +1097,16 @@ namespace detail
|
|
1104
1097
|
template <typename AsyncReadStream,
|
1105
1098
|
typename DynamicBuffer_v1, typename ReadHandler>
|
1106
1099
|
class read_until_delim_string_op_v1
|
1100
|
+
: public base_from_cancellation_state<ReadHandler>
|
1107
1101
|
{
|
1108
1102
|
public:
|
1109
1103
|
template <typename BufferSequence>
|
1110
1104
|
read_until_delim_string_op_v1(AsyncReadStream& stream,
|
1111
1105
|
BOOST_ASIO_MOVE_ARG(BufferSequence) buffers,
|
1112
1106
|
const std::string& delim, ReadHandler& handler)
|
1113
|
-
:
|
1107
|
+
: base_from_cancellation_state<ReadHandler>(
|
1108
|
+
handler, enable_partial_cancellation()),
|
1109
|
+
stream_(stream),
|
1114
1110
|
buffers_(BOOST_ASIO_MOVE_CAST(BufferSequence)(buffers)),
|
1115
1111
|
delim_(delim),
|
1116
1112
|
start_(0),
|
@@ -1121,7 +1117,8 @@ namespace detail
|
|
1121
1117
|
|
1122
1118
|
#if defined(BOOST_ASIO_HAS_MOVE)
|
1123
1119
|
read_until_delim_string_op_v1(const read_until_delim_string_op_v1& other)
|
1124
|
-
:
|
1120
|
+
: base_from_cancellation_state<ReadHandler>(other),
|
1121
|
+
stream_(other.stream_),
|
1125
1122
|
buffers_(other.buffers_),
|
1126
1123
|
delim_(other.delim_),
|
1127
1124
|
start_(other.start_),
|
@@ -1131,7 +1128,10 @@ namespace detail
|
|
1131
1128
|
}
|
1132
1129
|
|
1133
1130
|
read_until_delim_string_op_v1(read_until_delim_string_op_v1&& other)
|
1134
|
-
:
|
1131
|
+
: base_from_cancellation_state<ReadHandler>(
|
1132
|
+
BOOST_ASIO_MOVE_CAST(base_from_cancellation_state<
|
1133
|
+
ReadHandler>)(other)),
|
1134
|
+
stream_(other.stream_),
|
1135
1135
|
buffers_(BOOST_ASIO_MOVE_CAST(DynamicBuffer_v1)(other.buffers_)),
|
1136
1136
|
delim_(BOOST_ASIO_MOVE_CAST(std::string)(other.delim_)),
|
1137
1137
|
start_(other.start_),
|
@@ -1141,7 +1141,7 @@ namespace detail
|
|
1141
1141
|
}
|
1142
1142
|
#endif // defined(BOOST_ASIO_HAS_MOVE)
|
1143
1143
|
|
1144
|
-
void operator()(
|
1144
|
+
void operator()(boost::system::error_code ec,
|
1145
1145
|
std::size_t bytes_transferred, int start = 0)
|
1146
1146
|
{
|
1147
1147
|
const std::size_t not_found = (std::numeric_limits<std::size_t>::max)();
|
@@ -1216,6 +1216,11 @@ namespace detail
|
|
1216
1216
|
buffers_.commit(bytes_transferred);
|
1217
1217
|
if (ec || bytes_transferred == 0)
|
1218
1218
|
break;
|
1219
|
+
if (this->cancelled() != cancellation_type::none)
|
1220
|
+
{
|
1221
|
+
ec = error::operation_aborted;
|
1222
|
+
break;
|
1223
|
+
}
|
1219
1224
|
}
|
1220
1225
|
|
1221
1226
|
const boost::system::error_code result_ec =
|
@@ -1226,7 +1231,7 @@ namespace detail
|
|
1226
1231
|
(ec || search_position_ == not_found)
|
1227
1232
|
? 0 : search_position_;
|
1228
1233
|
|
1229
|
-
handler_(result_ec, result_n);
|
1234
|
+
BOOST_ASIO_MOVE_OR_LVALUE(ReadHandler)(handler_)(result_ec, result_n);
|
1230
1235
|
}
|
1231
1236
|
}
|
1232
1237
|
|
@@ -1348,40 +1353,21 @@ namespace detail
|
|
1348
1353
|
|
1349
1354
|
#if !defined(GENERATING_DOCUMENTATION)
|
1350
1355
|
|
1351
|
-
template <typename
|
1352
|
-
typename
|
1353
|
-
|
1354
|
-
|
1355
|
-
DynamicBuffer_v1, ReadHandler>,
|
1356
|
-
Allocator>
|
1357
|
-
{
|
1358
|
-
typedef typename associated_allocator<ReadHandler, Allocator>::type type;
|
1359
|
-
|
1360
|
-
static type get(
|
1361
|
-
const detail::read_until_delim_string_op_v1<AsyncReadStream,
|
1362
|
-
DynamicBuffer_v1, ReadHandler>& h,
|
1363
|
-
const Allocator& a = Allocator()) BOOST_ASIO_NOEXCEPT
|
1364
|
-
{
|
1365
|
-
return associated_allocator<ReadHandler, Allocator>::get(h.handler_, a);
|
1366
|
-
}
|
1367
|
-
};
|
1368
|
-
|
1369
|
-
template <typename AsyncReadStream, typename DynamicBuffer_v1,
|
1370
|
-
typename ReadHandler, typename Executor>
|
1371
|
-
struct associated_executor<
|
1356
|
+
template <template <typename, typename> class Associator,
|
1357
|
+
typename AsyncReadStream, typename DynamicBuffer_v1,
|
1358
|
+
typename ReadHandler, typename DefaultCandidate>
|
1359
|
+
struct associator<Associator,
|
1372
1360
|
detail::read_until_delim_string_op_v1<AsyncReadStream,
|
1373
1361
|
DynamicBuffer_v1, ReadHandler>,
|
1374
|
-
|
1375
|
-
:
|
1362
|
+
DefaultCandidate>
|
1363
|
+
: Associator<ReadHandler, DefaultCandidate>
|
1376
1364
|
{
|
1377
|
-
|
1378
|
-
|
1379
|
-
static type get(
|
1365
|
+
static typename Associator<ReadHandler, DefaultCandidate>::type get(
|
1380
1366
|
const detail::read_until_delim_string_op_v1<AsyncReadStream,
|
1381
1367
|
DynamicBuffer_v1, ReadHandler>& h,
|
1382
|
-
const
|
1368
|
+
const DefaultCandidate& c = DefaultCandidate()) BOOST_ASIO_NOEXCEPT
|
1383
1369
|
{
|
1384
|
-
return
|
1370
|
+
return Associator<ReadHandler, DefaultCandidate>::get(h.handler_, c);
|
1385
1371
|
}
|
1386
1372
|
};
|
1387
1373
|
|
@@ -1418,13 +1404,16 @@ namespace detail
|
|
1418
1404
|
template <typename AsyncReadStream, typename DynamicBuffer_v1,
|
1419
1405
|
typename RegEx, typename ReadHandler>
|
1420
1406
|
class read_until_expr_op_v1
|
1407
|
+
: public base_from_cancellation_state<ReadHandler>
|
1421
1408
|
{
|
1422
1409
|
public:
|
1423
1410
|
template <typename BufferSequence>
|
1424
1411
|
read_until_expr_op_v1(AsyncReadStream& stream,
|
1425
1412
|
BOOST_ASIO_MOVE_ARG(BufferSequence) buffers,
|
1426
1413
|
const boost::regex& expr, ReadHandler& handler)
|
1427
|
-
:
|
1414
|
+
: base_from_cancellation_state<ReadHandler>(
|
1415
|
+
handler, enable_partial_cancellation()),
|
1416
|
+
stream_(stream),
|
1428
1417
|
buffers_(BOOST_ASIO_MOVE_CAST(BufferSequence)(buffers)),
|
1429
1418
|
expr_(expr),
|
1430
1419
|
start_(0),
|
@@ -1435,7 +1424,8 @@ namespace detail
|
|
1435
1424
|
|
1436
1425
|
#if defined(BOOST_ASIO_HAS_MOVE)
|
1437
1426
|
read_until_expr_op_v1(const read_until_expr_op_v1& other)
|
1438
|
-
:
|
1427
|
+
: base_from_cancellation_state<ReadHandler>(other),
|
1428
|
+
stream_(other.stream_),
|
1439
1429
|
buffers_(other.buffers_),
|
1440
1430
|
expr_(other.expr_),
|
1441
1431
|
start_(other.start_),
|
@@ -1445,7 +1435,10 @@ namespace detail
|
|
1445
1435
|
}
|
1446
1436
|
|
1447
1437
|
read_until_expr_op_v1(read_until_expr_op_v1&& other)
|
1448
|
-
:
|
1438
|
+
: base_from_cancellation_state<ReadHandler>(
|
1439
|
+
BOOST_ASIO_MOVE_CAST(base_from_cancellation_state<
|
1440
|
+
ReadHandler>)(other)),
|
1441
|
+
stream_(other.stream_),
|
1449
1442
|
buffers_(BOOST_ASIO_MOVE_CAST(DynamicBuffer_v1)(other.buffers_)),
|
1450
1443
|
expr_(other.expr_),
|
1451
1444
|
start_(other.start_),
|
@@ -1455,7 +1448,7 @@ namespace detail
|
|
1455
1448
|
}
|
1456
1449
|
#endif // defined(BOOST_ASIO_HAS_MOVE)
|
1457
1450
|
|
1458
|
-
void operator()(
|
1451
|
+
void operator()(boost::system::error_code ec,
|
1459
1452
|
std::size_t bytes_transferred, int start = 0)
|
1460
1453
|
{
|
1461
1454
|
const std::size_t not_found = (std::numeric_limits<std::size_t>::max)();
|
@@ -1533,6 +1526,11 @@ namespace detail
|
|
1533
1526
|
buffers_.commit(bytes_transferred);
|
1534
1527
|
if (ec || bytes_transferred == 0)
|
1535
1528
|
break;
|
1529
|
+
if (this->cancelled() != cancellation_type::none)
|
1530
|
+
{
|
1531
|
+
ec = error::operation_aborted;
|
1532
|
+
break;
|
1533
|
+
}
|
1536
1534
|
}
|
1537
1535
|
|
1538
1536
|
const boost::system::error_code result_ec =
|
@@ -1543,7 +1541,7 @@ namespace detail
|
|
1543
1541
|
(ec || search_position_ == not_found)
|
1544
1542
|
? 0 : search_position_;
|
1545
1543
|
|
1546
|
-
handler_(result_ec, result_n);
|
1544
|
+
BOOST_ASIO_MOVE_OR_LVALUE(ReadHandler)(handler_)(result_ec, result_n);
|
1547
1545
|
}
|
1548
1546
|
}
|
1549
1547
|
|
@@ -1664,40 +1662,21 @@ namespace detail
|
|
1664
1662
|
|
1665
1663
|
#if !defined(GENERATING_DOCUMENTATION)
|
1666
1664
|
|
1667
|
-
template <typename
|
1668
|
-
typename
|
1669
|
-
|
1670
|
-
|
1671
|
-
DynamicBuffer_v1, RegEx, ReadHandler>,
|
1672
|
-
Allocator>
|
1673
|
-
{
|
1674
|
-
typedef typename associated_allocator<ReadHandler, Allocator>::type type;
|
1675
|
-
|
1676
|
-
static type get(
|
1677
|
-
const detail::read_until_expr_op_v1<AsyncReadStream,
|
1678
|
-
DynamicBuffer_v1, RegEx, ReadHandler>& h,
|
1679
|
-
const Allocator& a = Allocator()) BOOST_ASIO_NOEXCEPT
|
1680
|
-
{
|
1681
|
-
return associated_allocator<ReadHandler, Allocator>::get(h.handler_, a);
|
1682
|
-
}
|
1683
|
-
};
|
1684
|
-
|
1685
|
-
template <typename AsyncReadStream, typename DynamicBuffer_v1,
|
1686
|
-
typename RegEx, typename ReadHandler, typename Executor>
|
1687
|
-
struct associated_executor<
|
1665
|
+
template <template <typename, typename> class Associator,
|
1666
|
+
typename AsyncReadStream, typename DynamicBuffer_v1,
|
1667
|
+
typename RegEx, typename ReadHandler, typename DefaultCandidate>
|
1668
|
+
struct associator<Associator,
|
1688
1669
|
detail::read_until_expr_op_v1<AsyncReadStream,
|
1689
1670
|
DynamicBuffer_v1, RegEx, ReadHandler>,
|
1690
|
-
|
1691
|
-
:
|
1671
|
+
DefaultCandidate>
|
1672
|
+
: Associator<ReadHandler, DefaultCandidate>
|
1692
1673
|
{
|
1693
|
-
|
1694
|
-
|
1695
|
-
static type get(
|
1674
|
+
static typename Associator<ReadHandler, DefaultCandidate>::type get(
|
1696
1675
|
const detail::read_until_expr_op_v1<AsyncReadStream,
|
1697
1676
|
DynamicBuffer_v1, RegEx, ReadHandler>& h,
|
1698
|
-
const
|
1677
|
+
const DefaultCandidate& c = DefaultCandidate()) BOOST_ASIO_NOEXCEPT
|
1699
1678
|
{
|
1700
|
-
return
|
1679
|
+
return Associator<ReadHandler, DefaultCandidate>::get(h.handler_, c);
|
1701
1680
|
}
|
1702
1681
|
};
|
1703
1682
|
|
@@ -1732,13 +1711,16 @@ namespace detail
|
|
1732
1711
|
template <typename AsyncReadStream, typename DynamicBuffer_v1,
|
1733
1712
|
typename MatchCondition, typename ReadHandler>
|
1734
1713
|
class read_until_match_op_v1
|
1714
|
+
: public base_from_cancellation_state<ReadHandler>
|
1735
1715
|
{
|
1736
1716
|
public:
|
1737
1717
|
template <typename BufferSequence>
|
1738
1718
|
read_until_match_op_v1(AsyncReadStream& stream,
|
1739
1719
|
BOOST_ASIO_MOVE_ARG(BufferSequence) buffers,
|
1740
1720
|
MatchCondition match_condition, ReadHandler& handler)
|
1741
|
-
:
|
1721
|
+
: base_from_cancellation_state<ReadHandler>(
|
1722
|
+
handler, enable_partial_cancellation()),
|
1723
|
+
stream_(stream),
|
1742
1724
|
buffers_(BOOST_ASIO_MOVE_CAST(BufferSequence)(buffers)),
|
1743
1725
|
match_condition_(match_condition),
|
1744
1726
|
start_(0),
|
@@ -1749,7 +1731,8 @@ namespace detail
|
|
1749
1731
|
|
1750
1732
|
#if defined(BOOST_ASIO_HAS_MOVE)
|
1751
1733
|
read_until_match_op_v1(const read_until_match_op_v1& other)
|
1752
|
-
:
|
1734
|
+
: base_from_cancellation_state<ReadHandler>(other),
|
1735
|
+
stream_(other.stream_),
|
1753
1736
|
buffers_(other.buffers_),
|
1754
1737
|
match_condition_(other.match_condition_),
|
1755
1738
|
start_(other.start_),
|
@@ -1759,7 +1742,10 @@ namespace detail
|
|
1759
1742
|
}
|
1760
1743
|
|
1761
1744
|
read_until_match_op_v1(read_until_match_op_v1&& other)
|
1762
|
-
:
|
1745
|
+
: base_from_cancellation_state<ReadHandler>(
|
1746
|
+
BOOST_ASIO_MOVE_CAST(base_from_cancellation_state<
|
1747
|
+
ReadHandler>)(other)),
|
1748
|
+
stream_(other.stream_),
|
1763
1749
|
buffers_(BOOST_ASIO_MOVE_CAST(DynamicBuffer_v1)(other.buffers_)),
|
1764
1750
|
match_condition_(other.match_condition_),
|
1765
1751
|
start_(other.start_),
|
@@ -1769,7 +1755,7 @@ namespace detail
|
|
1769
1755
|
}
|
1770
1756
|
#endif // defined(BOOST_ASIO_HAS_MOVE)
|
1771
1757
|
|
1772
|
-
void operator()(
|
1758
|
+
void operator()(boost::system::error_code ec,
|
1773
1759
|
std::size_t bytes_transferred, int start = 0)
|
1774
1760
|
{
|
1775
1761
|
const std::size_t not_found = (std::numeric_limits<std::size_t>::max)();
|
@@ -1843,6 +1829,11 @@ namespace detail
|
|
1843
1829
|
buffers_.commit(bytes_transferred);
|
1844
1830
|
if (ec || bytes_transferred == 0)
|
1845
1831
|
break;
|
1832
|
+
if (this->cancelled() != cancellation_type::none)
|
1833
|
+
{
|
1834
|
+
ec = error::operation_aborted;
|
1835
|
+
break;
|
1836
|
+
}
|
1846
1837
|
}
|
1847
1838
|
|
1848
1839
|
const boost::system::error_code result_ec =
|
@@ -1853,7 +1844,7 @@ namespace detail
|
|
1853
1844
|
(ec || search_position_ == not_found)
|
1854
1845
|
? 0 : search_position_;
|
1855
1846
|
|
1856
|
-
handler_(result_ec, result_n);
|
1847
|
+
BOOST_ASIO_MOVE_OR_LVALUE(ReadHandler)(handler_)(result_ec, result_n);
|
1857
1848
|
}
|
1858
1849
|
}
|
1859
1850
|
|
@@ -1978,40 +1969,21 @@ namespace detail
|
|
1978
1969
|
|
1979
1970
|
#if !defined(GENERATING_DOCUMENTATION)
|
1980
1971
|
|
1981
|
-
template <typename
|
1982
|
-
typename
|
1983
|
-
|
1984
|
-
|
1985
|
-
DynamicBuffer_v1, MatchCondition, ReadHandler>,
|
1986
|
-
Allocator>
|
1987
|
-
{
|
1988
|
-
typedef typename associated_allocator<ReadHandler, Allocator>::type type;
|
1989
|
-
|
1990
|
-
static type get(
|
1991
|
-
const detail::read_until_match_op_v1<AsyncReadStream,
|
1992
|
-
DynamicBuffer_v1, MatchCondition, ReadHandler>& h,
|
1993
|
-
const Allocator& a = Allocator()) BOOST_ASIO_NOEXCEPT
|
1994
|
-
{
|
1995
|
-
return associated_allocator<ReadHandler, Allocator>::get(h.handler_, a);
|
1996
|
-
}
|
1997
|
-
};
|
1998
|
-
|
1999
|
-
template <typename AsyncReadStream, typename DynamicBuffer_v1,
|
2000
|
-
typename MatchCondition, typename ReadHandler, typename Executor>
|
2001
|
-
struct associated_executor<
|
1972
|
+
template <template <typename, typename> class Associator,
|
1973
|
+
typename AsyncReadStream, typename DynamicBuffer_v1,
|
1974
|
+
typename MatchCondition, typename ReadHandler, typename DefaultCandidate>
|
1975
|
+
struct associator<Associator,
|
2002
1976
|
detail::read_until_match_op_v1<AsyncReadStream,
|
2003
1977
|
DynamicBuffer_v1, MatchCondition, ReadHandler>,
|
2004
|
-
|
2005
|
-
:
|
1978
|
+
DefaultCandidate>
|
1979
|
+
: Associator<ReadHandler, DefaultCandidate>
|
2006
1980
|
{
|
2007
|
-
|
2008
|
-
|
2009
|
-
static type get(
|
1981
|
+
static typename Associator<ReadHandler, DefaultCandidate>::type get(
|
2010
1982
|
const detail::read_until_match_op_v1<AsyncReadStream,
|
2011
1983
|
DynamicBuffer_v1, MatchCondition, ReadHandler>& h,
|
2012
|
-
const
|
1984
|
+
const DefaultCandidate& c = DefaultCandidate()) BOOST_ASIO_NOEXCEPT
|
2013
1985
|
{
|
2014
|
-
return
|
1986
|
+
return Associator<ReadHandler, DefaultCandidate>::get(h.handler_, c);
|
2015
1987
|
}
|
2016
1988
|
};
|
2017
1989
|
|
@@ -2111,13 +2083,16 @@ namespace detail
|
|
2111
2083
|
template <typename AsyncReadStream,
|
2112
2084
|
typename DynamicBuffer_v2, typename ReadHandler>
|
2113
2085
|
class read_until_delim_op_v2
|
2086
|
+
: public base_from_cancellation_state<ReadHandler>
|
2114
2087
|
{
|
2115
2088
|
public:
|
2116
2089
|
template <typename BufferSequence>
|
2117
2090
|
read_until_delim_op_v2(AsyncReadStream& stream,
|
2118
2091
|
BOOST_ASIO_MOVE_ARG(BufferSequence) buffers,
|
2119
2092
|
char delim, ReadHandler& handler)
|
2120
|
-
:
|
2093
|
+
: base_from_cancellation_state<ReadHandler>(
|
2094
|
+
handler, enable_partial_cancellation()),
|
2095
|
+
stream_(stream),
|
2121
2096
|
buffers_(BOOST_ASIO_MOVE_CAST(BufferSequence)(buffers)),
|
2122
2097
|
delim_(delim),
|
2123
2098
|
start_(0),
|
@@ -2129,7 +2104,8 @@ namespace detail
|
|
2129
2104
|
|
2130
2105
|
#if defined(BOOST_ASIO_HAS_MOVE)
|
2131
2106
|
read_until_delim_op_v2(const read_until_delim_op_v2& other)
|
2132
|
-
:
|
2107
|
+
: base_from_cancellation_state<ReadHandler>(other),
|
2108
|
+
stream_(other.stream_),
|
2133
2109
|
buffers_(other.buffers_),
|
2134
2110
|
delim_(other.delim_),
|
2135
2111
|
start_(other.start_),
|
@@ -2140,7 +2116,10 @@ namespace detail
|
|
2140
2116
|
}
|
2141
2117
|
|
2142
2118
|
read_until_delim_op_v2(read_until_delim_op_v2&& other)
|
2143
|
-
:
|
2119
|
+
: base_from_cancellation_state<ReadHandler>(
|
2120
|
+
BOOST_ASIO_MOVE_CAST(base_from_cancellation_state<
|
2121
|
+
ReadHandler>)(other)),
|
2122
|
+
stream_(other.stream_),
|
2144
2123
|
buffers_(BOOST_ASIO_MOVE_CAST(DynamicBuffer_v2)(other.buffers_)),
|
2145
2124
|
delim_(other.delim_),
|
2146
2125
|
start_(other.start_),
|
@@ -2151,7 +2130,7 @@ namespace detail
|
|
2151
2130
|
}
|
2152
2131
|
#endif // defined(BOOST_ASIO_HAS_MOVE)
|
2153
2132
|
|
2154
|
-
void operator()(
|
2133
|
+
void operator()(boost::system::error_code ec,
|
2155
2134
|
std::size_t bytes_transferred, int start = 0)
|
2156
2135
|
{
|
2157
2136
|
const std::size_t not_found = (std::numeric_limits<std::size_t>::max)();
|
@@ -2219,6 +2198,11 @@ namespace detail
|
|
2219
2198
|
buffers_.shrink(bytes_to_read_ - bytes_transferred);
|
2220
2199
|
if (ec || bytes_transferred == 0)
|
2221
2200
|
break;
|
2201
|
+
if (this->cancelled() != cancellation_type::none)
|
2202
|
+
{
|
2203
|
+
ec = error::operation_aborted;
|
2204
|
+
break;
|
2205
|
+
}
|
2222
2206
|
}
|
2223
2207
|
|
2224
2208
|
const boost::system::error_code result_ec =
|
@@ -2229,7 +2213,7 @@ namespace detail
|
|
2229
2213
|
(ec || search_position_ == not_found)
|
2230
2214
|
? 0 : search_position_;
|
2231
2215
|
|
2232
|
-
handler_(result_ec, result_n);
|
2216
|
+
BOOST_ASIO_MOVE_OR_LVALUE(ReadHandler)(handler_)(result_ec, result_n);
|
2233
2217
|
}
|
2234
2218
|
}
|
2235
2219
|
|
@@ -2351,40 +2335,21 @@ namespace detail
|
|
2351
2335
|
|
2352
2336
|
#if !defined(GENERATING_DOCUMENTATION)
|
2353
2337
|
|
2354
|
-
template <typename
|
2355
|
-
typename
|
2356
|
-
|
2357
|
-
|
2358
|
-
DynamicBuffer_v2, ReadHandler>,
|
2359
|
-
Allocator>
|
2360
|
-
{
|
2361
|
-
typedef typename associated_allocator<ReadHandler, Allocator>::type type;
|
2362
|
-
|
2363
|
-
static type get(
|
2364
|
-
const detail::read_until_delim_op_v2<AsyncReadStream,
|
2365
|
-
DynamicBuffer_v2, ReadHandler>& h,
|
2366
|
-
const Allocator& a = Allocator()) BOOST_ASIO_NOEXCEPT
|
2367
|
-
{
|
2368
|
-
return associated_allocator<ReadHandler, Allocator>::get(h.handler_, a);
|
2369
|
-
}
|
2370
|
-
};
|
2371
|
-
|
2372
|
-
template <typename AsyncReadStream, typename DynamicBuffer_v2,
|
2373
|
-
typename ReadHandler, typename Executor>
|
2374
|
-
struct associated_executor<
|
2338
|
+
template <template <typename, typename> class Associator,
|
2339
|
+
typename AsyncReadStream, typename DynamicBuffer_v2,
|
2340
|
+
typename ReadHandler, typename DefaultCandidate>
|
2341
|
+
struct associator<Associator,
|
2375
2342
|
detail::read_until_delim_op_v2<AsyncReadStream,
|
2376
2343
|
DynamicBuffer_v2, ReadHandler>,
|
2377
|
-
|
2378
|
-
:
|
2344
|
+
DefaultCandidate>
|
2345
|
+
: Associator<ReadHandler, DefaultCandidate>
|
2379
2346
|
{
|
2380
|
-
|
2381
|
-
|
2382
|
-
static type get(
|
2347
|
+
static typename Associator<ReadHandler, DefaultCandidate>::type get(
|
2383
2348
|
const detail::read_until_delim_op_v2<AsyncReadStream,
|
2384
2349
|
DynamicBuffer_v2, ReadHandler>& h,
|
2385
|
-
const
|
2350
|
+
const DefaultCandidate& c = DefaultCandidate()) BOOST_ASIO_NOEXCEPT
|
2386
2351
|
{
|
2387
|
-
return
|
2352
|
+
return Associator<ReadHandler, DefaultCandidate>::get(h.handler_, c);
|
2388
2353
|
}
|
2389
2354
|
};
|
2390
2355
|
|
@@ -2412,13 +2377,16 @@ namespace detail
|
|
2412
2377
|
template <typename AsyncReadStream,
|
2413
2378
|
typename DynamicBuffer_v2, typename ReadHandler>
|
2414
2379
|
class read_until_delim_string_op_v2
|
2380
|
+
: public base_from_cancellation_state<ReadHandler>
|
2415
2381
|
{
|
2416
2382
|
public:
|
2417
2383
|
template <typename BufferSequence>
|
2418
2384
|
read_until_delim_string_op_v2(AsyncReadStream& stream,
|
2419
2385
|
BOOST_ASIO_MOVE_ARG(BufferSequence) buffers,
|
2420
2386
|
const std::string& delim, ReadHandler& handler)
|
2421
|
-
:
|
2387
|
+
: base_from_cancellation_state<ReadHandler>(
|
2388
|
+
handler, enable_partial_cancellation()),
|
2389
|
+
stream_(stream),
|
2422
2390
|
buffers_(BOOST_ASIO_MOVE_CAST(BufferSequence)(buffers)),
|
2423
2391
|
delim_(delim),
|
2424
2392
|
start_(0),
|
@@ -2430,7 +2398,8 @@ namespace detail
|
|
2430
2398
|
|
2431
2399
|
#if defined(BOOST_ASIO_HAS_MOVE)
|
2432
2400
|
read_until_delim_string_op_v2(const read_until_delim_string_op_v2& other)
|
2433
|
-
:
|
2401
|
+
: base_from_cancellation_state<ReadHandler>(other),
|
2402
|
+
stream_(other.stream_),
|
2434
2403
|
buffers_(other.buffers_),
|
2435
2404
|
delim_(other.delim_),
|
2436
2405
|
start_(other.start_),
|
@@ -2441,7 +2410,10 @@ namespace detail
|
|
2441
2410
|
}
|
2442
2411
|
|
2443
2412
|
read_until_delim_string_op_v2(read_until_delim_string_op_v2&& other)
|
2444
|
-
:
|
2413
|
+
: base_from_cancellation_state<ReadHandler>(
|
2414
|
+
BOOST_ASIO_MOVE_CAST(base_from_cancellation_state<
|
2415
|
+
ReadHandler>)(other)),
|
2416
|
+
stream_(other.stream_),
|
2445
2417
|
buffers_(BOOST_ASIO_MOVE_CAST(DynamicBuffer_v2)(other.buffers_)),
|
2446
2418
|
delim_(BOOST_ASIO_MOVE_CAST(std::string)(other.delim_)),
|
2447
2419
|
start_(other.start_),
|
@@ -2452,7 +2424,7 @@ namespace detail
|
|
2452
2424
|
}
|
2453
2425
|
#endif // defined(BOOST_ASIO_HAS_MOVE)
|
2454
2426
|
|
2455
|
-
void operator()(
|
2427
|
+
void operator()(boost::system::error_code ec,
|
2456
2428
|
std::size_t bytes_transferred, int start = 0)
|
2457
2429
|
{
|
2458
2430
|
const std::size_t not_found = (std::numeric_limits<std::size_t>::max)();
|
@@ -2531,6 +2503,11 @@ namespace detail
|
|
2531
2503
|
buffers_.shrink(bytes_to_read_ - bytes_transferred);
|
2532
2504
|
if (ec || bytes_transferred == 0)
|
2533
2505
|
break;
|
2506
|
+
if (this->cancelled() != cancellation_type::none)
|
2507
|
+
{
|
2508
|
+
ec = error::operation_aborted;
|
2509
|
+
break;
|
2510
|
+
}
|
2534
2511
|
}
|
2535
2512
|
|
2536
2513
|
const boost::system::error_code result_ec =
|
@@ -2541,7 +2518,7 @@ namespace detail
|
|
2541
2518
|
(ec || search_position_ == not_found)
|
2542
2519
|
? 0 : search_position_;
|
2543
2520
|
|
2544
|
-
handler_(result_ec, result_n);
|
2521
|
+
BOOST_ASIO_MOVE_OR_LVALUE(ReadHandler)(handler_)(result_ec, result_n);
|
2545
2522
|
}
|
2546
2523
|
}
|
2547
2524
|
|
@@ -2664,40 +2641,21 @@ namespace detail
|
|
2664
2641
|
|
2665
2642
|
#if !defined(GENERATING_DOCUMENTATION)
|
2666
2643
|
|
2667
|
-
template <typename
|
2668
|
-
typename
|
2669
|
-
|
2670
|
-
|
2671
|
-
DynamicBuffer_v2, ReadHandler>,
|
2672
|
-
Allocator>
|
2673
|
-
{
|
2674
|
-
typedef typename associated_allocator<ReadHandler, Allocator>::type type;
|
2675
|
-
|
2676
|
-
static type get(
|
2677
|
-
const detail::read_until_delim_string_op_v2<AsyncReadStream,
|
2678
|
-
DynamicBuffer_v2, ReadHandler>& h,
|
2679
|
-
const Allocator& a = Allocator()) BOOST_ASIO_NOEXCEPT
|
2680
|
-
{
|
2681
|
-
return associated_allocator<ReadHandler, Allocator>::get(h.handler_, a);
|
2682
|
-
}
|
2683
|
-
};
|
2684
|
-
|
2685
|
-
template <typename AsyncReadStream, typename DynamicBuffer_v2,
|
2686
|
-
typename ReadHandler, typename Executor>
|
2687
|
-
struct associated_executor<
|
2644
|
+
template <template <typename, typename> class Associator,
|
2645
|
+
typename AsyncReadStream, typename DynamicBuffer_v2,
|
2646
|
+
typename ReadHandler, typename DefaultCandidate>
|
2647
|
+
struct associator<Associator,
|
2688
2648
|
detail::read_until_delim_string_op_v2<AsyncReadStream,
|
2689
2649
|
DynamicBuffer_v2, ReadHandler>,
|
2690
|
-
|
2691
|
-
:
|
2650
|
+
DefaultCandidate>
|
2651
|
+
: Associator<ReadHandler, DefaultCandidate>
|
2692
2652
|
{
|
2693
|
-
|
2694
|
-
|
2695
|
-
static type get(
|
2653
|
+
static typename Associator<ReadHandler, DefaultCandidate>::type get(
|
2696
2654
|
const detail::read_until_delim_string_op_v2<AsyncReadStream,
|
2697
2655
|
DynamicBuffer_v2, ReadHandler>& h,
|
2698
|
-
const
|
2656
|
+
const DefaultCandidate& c = DefaultCandidate()) BOOST_ASIO_NOEXCEPT
|
2699
2657
|
{
|
2700
|
-
return
|
2658
|
+
return Associator<ReadHandler, DefaultCandidate>::get(h.handler_, c);
|
2701
2659
|
}
|
2702
2660
|
};
|
2703
2661
|
|
@@ -2731,13 +2689,16 @@ namespace detail
|
|
2731
2689
|
template <typename AsyncReadStream, typename DynamicBuffer_v2,
|
2732
2690
|
typename RegEx, typename ReadHandler>
|
2733
2691
|
class read_until_expr_op_v2
|
2692
|
+
: public base_from_cancellation_state<ReadHandler>
|
2734
2693
|
{
|
2735
2694
|
public:
|
2736
2695
|
template <typename BufferSequence>
|
2737
2696
|
read_until_expr_op_v2(AsyncReadStream& stream,
|
2738
2697
|
BOOST_ASIO_MOVE_ARG(BufferSequence) buffers,
|
2739
2698
|
const boost::regex& expr, ReadHandler& handler)
|
2740
|
-
:
|
2699
|
+
: base_from_cancellation_state<ReadHandler>(
|
2700
|
+
handler, enable_partial_cancellation()),
|
2701
|
+
stream_(stream),
|
2741
2702
|
buffers_(BOOST_ASIO_MOVE_CAST(BufferSequence)(buffers)),
|
2742
2703
|
expr_(expr),
|
2743
2704
|
start_(0),
|
@@ -2749,7 +2710,8 @@ namespace detail
|
|
2749
2710
|
|
2750
2711
|
#if defined(BOOST_ASIO_HAS_MOVE)
|
2751
2712
|
read_until_expr_op_v2(const read_until_expr_op_v2& other)
|
2752
|
-
:
|
2713
|
+
: base_from_cancellation_state<ReadHandler>(other),
|
2714
|
+
stream_(other.stream_),
|
2753
2715
|
buffers_(other.buffers_),
|
2754
2716
|
expr_(other.expr_),
|
2755
2717
|
start_(other.start_),
|
@@ -2760,7 +2722,10 @@ namespace detail
|
|
2760
2722
|
}
|
2761
2723
|
|
2762
2724
|
read_until_expr_op_v2(read_until_expr_op_v2&& other)
|
2763
|
-
:
|
2725
|
+
: base_from_cancellation_state<ReadHandler>(
|
2726
|
+
BOOST_ASIO_MOVE_CAST(base_from_cancellation_state<
|
2727
|
+
ReadHandler>)(other)),
|
2728
|
+
stream_(other.stream_),
|
2764
2729
|
buffers_(BOOST_ASIO_MOVE_CAST(DynamicBuffer_v2)(other.buffers_)),
|
2765
2730
|
expr_(other.expr_),
|
2766
2731
|
start_(other.start_),
|
@@ -2771,7 +2736,7 @@ namespace detail
|
|
2771
2736
|
}
|
2772
2737
|
#endif // defined(BOOST_ASIO_HAS_MOVE)
|
2773
2738
|
|
2774
|
-
void operator()(
|
2739
|
+
void operator()(boost::system::error_code ec,
|
2775
2740
|
std::size_t bytes_transferred, int start = 0)
|
2776
2741
|
{
|
2777
2742
|
const std::size_t not_found = (std::numeric_limits<std::size_t>::max)();
|
@@ -2853,6 +2818,11 @@ namespace detail
|
|
2853
2818
|
buffers_.shrink(bytes_to_read_ - bytes_transferred);
|
2854
2819
|
if (ec || bytes_transferred == 0)
|
2855
2820
|
break;
|
2821
|
+
if (this->cancelled() != cancellation_type::none)
|
2822
|
+
{
|
2823
|
+
ec = error::operation_aborted;
|
2824
|
+
break;
|
2825
|
+
}
|
2856
2826
|
}
|
2857
2827
|
|
2858
2828
|
const boost::system::error_code result_ec =
|
@@ -2863,7 +2833,7 @@ namespace detail
|
|
2863
2833
|
(ec || search_position_ == not_found)
|
2864
2834
|
? 0 : search_position_;
|
2865
2835
|
|
2866
|
-
handler_(result_ec, result_n);
|
2836
|
+
BOOST_ASIO_MOVE_OR_LVALUE(ReadHandler)(handler_)(result_ec, result_n);
|
2867
2837
|
}
|
2868
2838
|
}
|
2869
2839
|
|
@@ -2986,40 +2956,21 @@ namespace detail
|
|
2986
2956
|
|
2987
2957
|
#if !defined(GENERATING_DOCUMENTATION)
|
2988
2958
|
|
2989
|
-
template <typename
|
2990
|
-
typename
|
2991
|
-
|
2992
|
-
|
2993
|
-
DynamicBuffer_v2, RegEx, ReadHandler>,
|
2994
|
-
Allocator>
|
2995
|
-
{
|
2996
|
-
typedef typename associated_allocator<ReadHandler, Allocator>::type type;
|
2997
|
-
|
2998
|
-
static type get(
|
2999
|
-
const detail::read_until_expr_op_v2<AsyncReadStream,
|
3000
|
-
DynamicBuffer_v2, RegEx, ReadHandler>& h,
|
3001
|
-
const Allocator& a = Allocator()) BOOST_ASIO_NOEXCEPT
|
3002
|
-
{
|
3003
|
-
return associated_allocator<ReadHandler, Allocator>::get(h.handler_, a);
|
3004
|
-
}
|
3005
|
-
};
|
3006
|
-
|
3007
|
-
template <typename AsyncReadStream, typename DynamicBuffer_v2,
|
3008
|
-
typename RegEx, typename ReadHandler, typename Executor>
|
3009
|
-
struct associated_executor<
|
2959
|
+
template <template <typename, typename> class Associator,
|
2960
|
+
typename AsyncReadStream, typename DynamicBuffer_v2,
|
2961
|
+
typename RegEx, typename ReadHandler, typename DefaultCandidate>
|
2962
|
+
struct associator<Associator,
|
3010
2963
|
detail::read_until_expr_op_v2<AsyncReadStream,
|
3011
2964
|
DynamicBuffer_v2, RegEx, ReadHandler>,
|
3012
|
-
|
3013
|
-
:
|
2965
|
+
DefaultCandidate>
|
2966
|
+
: Associator<ReadHandler, DefaultCandidate>
|
3014
2967
|
{
|
3015
|
-
|
3016
|
-
|
3017
|
-
static type get(
|
2968
|
+
static typename Associator<ReadHandler, DefaultCandidate>::type get(
|
3018
2969
|
const detail::read_until_expr_op_v2<AsyncReadStream,
|
3019
2970
|
DynamicBuffer_v2, RegEx, ReadHandler>& h,
|
3020
|
-
const
|
2971
|
+
const DefaultCandidate& c = DefaultCandidate()) BOOST_ASIO_NOEXCEPT
|
3021
2972
|
{
|
3022
|
-
return
|
2973
|
+
return Associator<ReadHandler, DefaultCandidate>::get(h.handler_, c);
|
3023
2974
|
}
|
3024
2975
|
};
|
3025
2976
|
|
@@ -3049,13 +3000,16 @@ namespace detail
|
|
3049
3000
|
template <typename AsyncReadStream, typename DynamicBuffer_v2,
|
3050
3001
|
typename MatchCondition, typename ReadHandler>
|
3051
3002
|
class read_until_match_op_v2
|
3003
|
+
: public base_from_cancellation_state<ReadHandler>
|
3052
3004
|
{
|
3053
3005
|
public:
|
3054
3006
|
template <typename BufferSequence>
|
3055
3007
|
read_until_match_op_v2(AsyncReadStream& stream,
|
3056
3008
|
BOOST_ASIO_MOVE_ARG(BufferSequence) buffers,
|
3057
3009
|
MatchCondition match_condition, ReadHandler& handler)
|
3058
|
-
:
|
3010
|
+
: base_from_cancellation_state<ReadHandler>(
|
3011
|
+
handler, enable_partial_cancellation()),
|
3012
|
+
stream_(stream),
|
3059
3013
|
buffers_(BOOST_ASIO_MOVE_CAST(BufferSequence)(buffers)),
|
3060
3014
|
match_condition_(match_condition),
|
3061
3015
|
start_(0),
|
@@ -3067,7 +3021,8 @@ namespace detail
|
|
3067
3021
|
|
3068
3022
|
#if defined(BOOST_ASIO_HAS_MOVE)
|
3069
3023
|
read_until_match_op_v2(const read_until_match_op_v2& other)
|
3070
|
-
:
|
3024
|
+
: base_from_cancellation_state<ReadHandler>(other),
|
3025
|
+
stream_(other.stream_),
|
3071
3026
|
buffers_(other.buffers_),
|
3072
3027
|
match_condition_(other.match_condition_),
|
3073
3028
|
start_(other.start_),
|
@@ -3078,7 +3033,10 @@ namespace detail
|
|
3078
3033
|
}
|
3079
3034
|
|
3080
3035
|
read_until_match_op_v2(read_until_match_op_v2&& other)
|
3081
|
-
:
|
3036
|
+
: base_from_cancellation_state<ReadHandler>(
|
3037
|
+
BOOST_ASIO_MOVE_CAST(base_from_cancellation_state<
|
3038
|
+
ReadHandler>)(other)),
|
3039
|
+
stream_(other.stream_),
|
3082
3040
|
buffers_(BOOST_ASIO_MOVE_CAST(DynamicBuffer_v2)(other.buffers_)),
|
3083
3041
|
match_condition_(other.match_condition_),
|
3084
3042
|
start_(other.start_),
|
@@ -3089,7 +3047,7 @@ namespace detail
|
|
3089
3047
|
}
|
3090
3048
|
#endif // defined(BOOST_ASIO_HAS_MOVE)
|
3091
3049
|
|
3092
|
-
void operator()(
|
3050
|
+
void operator()(boost::system::error_code ec,
|
3093
3051
|
std::size_t bytes_transferred, int start = 0)
|
3094
3052
|
{
|
3095
3053
|
const std::size_t not_found = (std::numeric_limits<std::size_t>::max)();
|
@@ -3167,6 +3125,11 @@ namespace detail
|
|
3167
3125
|
buffers_.shrink(bytes_to_read_ - bytes_transferred);
|
3168
3126
|
if (ec || bytes_transferred == 0)
|
3169
3127
|
break;
|
3128
|
+
if (this->cancelled() != cancellation_type::none)
|
3129
|
+
{
|
3130
|
+
ec = error::operation_aborted;
|
3131
|
+
break;
|
3132
|
+
}
|
3170
3133
|
}
|
3171
3134
|
|
3172
3135
|
const boost::system::error_code result_ec =
|
@@ -3177,7 +3140,7 @@ namespace detail
|
|
3177
3140
|
(ec || search_position_ == not_found)
|
3178
3141
|
? 0 : search_position_;
|
3179
3142
|
|
3180
|
-
handler_(result_ec, result_n);
|
3143
|
+
BOOST_ASIO_MOVE_OR_LVALUE(ReadHandler)(handler_)(result_ec, result_n);
|
3181
3144
|
}
|
3182
3145
|
}
|
3183
3146
|
|
@@ -3303,40 +3266,21 @@ namespace detail
|
|
3303
3266
|
|
3304
3267
|
#if !defined(GENERATING_DOCUMENTATION)
|
3305
3268
|
|
3306
|
-
template <typename
|
3307
|
-
typename
|
3308
|
-
|
3309
|
-
|
3310
|
-
DynamicBuffer_v2, MatchCondition, ReadHandler>,
|
3311
|
-
Allocator>
|
3312
|
-
{
|
3313
|
-
typedef typename associated_allocator<ReadHandler, Allocator>::type type;
|
3314
|
-
|
3315
|
-
static type get(
|
3316
|
-
const detail::read_until_match_op_v2<AsyncReadStream,
|
3317
|
-
DynamicBuffer_v2, MatchCondition, ReadHandler>& h,
|
3318
|
-
const Allocator& a = Allocator()) BOOST_ASIO_NOEXCEPT
|
3319
|
-
{
|
3320
|
-
return associated_allocator<ReadHandler, Allocator>::get(h.handler_, a);
|
3321
|
-
}
|
3322
|
-
};
|
3323
|
-
|
3324
|
-
template <typename AsyncReadStream, typename DynamicBuffer_v2,
|
3325
|
-
typename MatchCondition, typename ReadHandler, typename Executor>
|
3326
|
-
struct associated_executor<
|
3269
|
+
template <template <typename, typename> class Associator,
|
3270
|
+
typename AsyncReadStream, typename DynamicBuffer_v2,
|
3271
|
+
typename MatchCondition, typename ReadHandler, typename DefaultCandidate>
|
3272
|
+
struct associator<Associator,
|
3327
3273
|
detail::read_until_match_op_v2<AsyncReadStream,
|
3328
3274
|
DynamicBuffer_v2, MatchCondition, ReadHandler>,
|
3329
|
-
|
3330
|
-
:
|
3275
|
+
DefaultCandidate>
|
3276
|
+
: Associator<ReadHandler, DefaultCandidate>
|
3331
3277
|
{
|
3332
|
-
|
3333
|
-
|
3334
|
-
static type get(
|
3278
|
+
static typename Associator<ReadHandler, DefaultCandidate>::type get(
|
3335
3279
|
const detail::read_until_match_op_v2<AsyncReadStream,
|
3336
3280
|
DynamicBuffer_v2, MatchCondition, ReadHandler>& h,
|
3337
|
-
const
|
3281
|
+
const DefaultCandidate& c = DefaultCandidate()) BOOST_ASIO_NOEXCEPT
|
3338
3282
|
{
|
3339
|
-
return
|
3283
|
+
return Associator<ReadHandler, DefaultCandidate>::get(h.handler_, c);
|
3340
3284
|
}
|
3341
3285
|
};
|
3342
3286
|
|