passenger 6.0.23 → 6.0.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of passenger might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/CHANGELOG +26 -1
- data/Rakefile +7 -3
- data/bin/passenger-install-apache2-module +5 -0
- data/bin/passenger-install-nginx-module +17 -2
- data/build/apache2.rb +1 -1
- data/build/basics.rb +10 -4
- data/build/cxx_tests.rb +18 -7
- data/build/support/cxx_dependency_map.rb +40 -6
- data/build/test_basics.rb +4 -12
- data/package.json +1 -1
- data/passenger.gemspec +1 -1
- data/src/agent/Core/ApplicationPool/Group/InitializationAndShutdown.cpp +8 -0
- data/src/agent/Core/ApplicationPool/Group/InternalUtils.cpp +10 -2
- data/src/agent/Core/ApplicationPool/Group/LifetimeAndBasics.cpp +8 -0
- data/src/agent/Core/ApplicationPool/Group/Miscellaneous.cpp +9 -0
- data/src/agent/Core/ApplicationPool/Group/OutOfBandWork.cpp +9 -0
- data/src/agent/Core/ApplicationPool/Group/ProcessListManagement.cpp +63 -50
- data/src/agent/Core/ApplicationPool/Group/SessionManagement.cpp +19 -9
- data/src/agent/Core/ApplicationPool/Group/SpawningAndRestarting.cpp +8 -0
- data/src/agent/Core/ApplicationPool/Group/StateInspection.cpp +8 -0
- data/src/agent/Core/ApplicationPool/Group/Verification.cpp +8 -0
- data/src/agent/Core/ApplicationPool/Group.h +15 -5
- data/src/agent/Core/ApplicationPool/Pool/AnalyticsCollection.cpp +5 -0
- data/src/agent/Core/ApplicationPool/Pool/GarbageCollection.cpp +5 -0
- data/src/agent/Core/ApplicationPool/Pool/GeneralUtils.cpp +5 -0
- data/src/agent/Core/ApplicationPool/Pool/GroupUtils.cpp +5 -0
- data/src/agent/Core/ApplicationPool/Pool/InitializationAndShutdown.cpp +5 -0
- data/src/agent/Core/ApplicationPool/Pool/Miscellaneous.cpp +5 -0
- data/src/agent/Core/ApplicationPool/Pool/ProcessUtils.cpp +5 -0
- data/src/agent/Core/ApplicationPool/Pool/StateInspection.cpp +11 -1
- data/src/agent/Core/ApplicationPool/Pool.h +0 -2
- data/src/agent/Core/ApplicationPool/Process.h +22 -6
- data/src/agent/Core/ApplicationPool/Session.h +6 -1
- data/src/agent/Core/Config.h +7 -3
- data/src/agent/Core/Controller/Config.h +1 -1
- data/src/agent/Core/CoreMain.cpp +10 -17
- data/src/agent/Core/SpawningKit/Handshake/Prepare.h +1 -53
- data/src/agent/Core/SpawningKit/Handshake/Session.h +3 -0
- data/src/agent/Core/SpawningKit/Handshake/WorkDir.h +5 -2
- data/src/agent/Core/SpawningKit/SmartSpawner.h +6 -2
- data/src/agent/Core/SpawningKit/Spawner.h +4 -0
- data/src/agent/Shared/Fundamentals/AbortHandler.cpp +88 -9
- data/src/agent/Shared/Fundamentals/AbortHandler.h +2 -0
- data/src/agent/Shared/Fundamentals/Initialization.cpp +9 -3
- data/src/agent/Shared/Fundamentals/Initialization.h +3 -3
- data/src/agent/SpawnEnvSetupper/SpawnEnvSetupperMain.cpp +6 -7
- data/src/agent/Watchdog/Config.h +1 -1
- data/src/agent/Watchdog/WatchdogMain.cpp +4 -7
- data/src/apache2_module/ConfigGeneral/ManifestGeneration.h +5 -3
- data/src/apache2_module/DirConfig/AutoGeneratedStruct.h +3 -0
- data/src/apache2_module/DirConfig/AutoGeneratedStruct.h.cxxcodebuilder +3 -0
- data/src/apache2_module/ServerConfig/AutoGeneratedStruct.h +2 -1
- data/src/apache2_module/ServerConfig/AutoGeneratedStruct.h.cxxcodebuilder +2 -1
- data/src/cxx_supportlib/Constants.h +1 -1
- data/src/cxx_supportlib/DataStructures/StringMap.h +0 -1
- data/src/cxx_supportlib/FileTools/PathManip.cpp +1 -1
- data/src/cxx_supportlib/SafeLibev.h +1 -3
- data/src/cxx_supportlib/ServerKit/Hooks.h +2 -2
- data/src/cxx_supportlib/ServerKit/HttpHeaderParser.h +0 -1
- data/src/cxx_supportlib/ServerKit/HttpServer.h +15 -10
- data/src/cxx_supportlib/ServerKit/Server.h +0 -6
- data/src/cxx_supportlib/Utils/AsyncSignalSafeUtils.h +2 -0
- data/src/cxx_supportlib/Utils/SpeedMeter.h +0 -3
- data/src/cxx_supportlib/oxt/implementation.cpp +11 -0
- data/src/cxx_supportlib/oxt/system_calls.cpp +10 -3
- data/src/cxx_supportlib/oxt/thread.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/as_tuple.hpp +35 -9
- data/src/cxx_supportlib/vendor-modified/boost/asio/associated_immediate_executor.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/associator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/async_result.hpp +74 -68
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_datagram_socket.hpp +11 -11
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_deadline_timer.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_random_access_file.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_raw_socket.hpp +10 -10
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_readable_pipe.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_seq_packet_socket.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_serial_port.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_signal_set.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_acceptor.hpp +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_stream_file.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_stream_socket.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_waitable_timer.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_writable_pipe.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/bind_allocator.hpp +88 -22
- data/src/cxx_supportlib/vendor-modified/boost/asio/bind_cancellation_slot.hpp +91 -22
- data/src/cxx_supportlib/vendor-modified/boost/asio/bind_executor.hpp +105 -23
- data/src/cxx_supportlib/vendor-modified/boost/asio/bind_immediate_executor.hpp +90 -23
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffer.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffer_registration.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/cancel_after.hpp +303 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/cancel_at.hpp +296 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/{experimental/impl/co_composed.hpp → co_composed.hpp} +208 -61
- data/src/cxx_supportlib/vendor-modified/boost/asio/completion_condition.hpp +49 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/compose.hpp +10 -201
- data/src/cxx_supportlib/vendor-modified/boost/asio/composed.hpp +415 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/connect.hpp +214 -48
- data/src/cxx_supportlib/vendor-modified/boost/asio/coroutine.hpp +3 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/default_completion_token.hpp +91 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/deferred.hpp +9 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/detached.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/buffered_stream_storage.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/{experimental/detail/channel_message.hpp → detail/completion_message.hpp} +14 -16
- data/src/cxx_supportlib/vendor-modified/boost/asio/{experimental/detail/channel_payload.hpp → detail/completion_payload.hpp} +30 -32
- data/src/cxx_supportlib/vendor-modified/boost/asio/{experimental/detail/channel_handler.hpp → detail/completion_payload_handler.hpp} +15 -13
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/config.hpp +26 -32
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/deadline_timer_service.hpp +5 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_alloc_helpers.hpp +14 -118
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/descriptor_ops.ipp +36 -33
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/dev_poll_reactor.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/reactive_descriptor_service.ipp +7 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/reactive_socket_service_base.ipp +6 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/socket_ops.ipp +44 -35
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/socket_select_interrupter.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/initiation_base.hpp +64 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/memory.hpp +0 -11
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_descriptor_service.hpp +20 -16
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_send_op.hpp +0 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_service.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_service_base.hpp +23 -18
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/recycling_allocator.hpp +9 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolve_endpoint_op.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolve_query_op.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread_info_base.hpp +11 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timed_cancel_op.hpp +363 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/wrapped_handler.hpp +29 -51
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/allocator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/blocking.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/blocking_adaptation.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/context.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/mapping.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/occupancy.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/outstanding_work.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/relationship.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/basic_channel.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/basic_concurrent_channel.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/co_composed.hpp +2 -114
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_receive_op.hpp +2 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_send_functions.hpp +27 -19
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_send_op.hpp +0 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_service.hpp +17 -15
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/coro_promise_allocator.hpp +2 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/impl/channel_service.hpp +4 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/partial_promise.hpp +3 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/as_single.hpp +12 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/coro.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/parallel_group.hpp +38 -40
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/promise.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/use_coro.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/use_promise.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/immediate.hpp +144 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/append.hpp +14 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/as_tuple.hpp +45 -14
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/awaitable.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/cancel_after.hpp +270 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/cancel_at.hpp +270 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/co_spawn.hpp +8 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/connect.hpp +60 -166
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/consign.hpp +14 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/detached.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/prepend.hpp +14 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read.hpp +26 -177
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_at.hpp +16 -82
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_until.hpp +13 -286
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/redirect_error.hpp +55 -18
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/spawn.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/write.hpp +26 -185
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/write_at.hpp +16 -87
- data/src/cxx_supportlib/vendor-modified/boost/asio/io_context_strand.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/detail/socket_option.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v6.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/placeholders.hpp +12 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/posix/basic_descriptor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/posix/basic_stream_descriptor.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/read.hpp +127 -28
- data/src/cxx_supportlib/vendor-modified/boost/asio/read_at.hpp +70 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/read_until.hpp +114 -36
- data/src/cxx_supportlib/vendor-modified/boost/asio/redirect_error.hpp +43 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/registered_buffer.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/spawn.hpp +0 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/impl/openssl_init.ipp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/context.ipp +10 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/stream.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/this_coro.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/use_awaitable.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/use_future.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/uses_executor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/version.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/write.hpp +147 -35
- data/src/cxx_supportlib/vendor-modified/boost/asio/write_at.hpp +74 -22
- data/src/cxx_supportlib/vendor-modified/boost/asio.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/assert/source_location.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/futex.hpp +42 -11
- data/src/cxx_supportlib/vendor-modified/boost/bind/bind.hpp +15 -37
- data/src/cxx_supportlib/vendor-modified/boost/container/adaptive_pool.hpp +8 -8
- data/src/cxx_supportlib/vendor-modified/boost/container/allocator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/allocator_traits.hpp +151 -10
- data/src/cxx_supportlib/vendor-modified/boost/container/container_fwd.hpp +11 -9
- data/src/cxx_supportlib/vendor-modified/boost/container/deque.hpp +611 -102
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/adaptive_node_pool.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/adaptive_node_pool_impl.hpp +47 -47
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/advanced_insert_int.hpp +25 -24
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/allocation_type.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/block_list.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/block_slist.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/construct_in_place.hpp +35 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/copy_move_algo.hpp +14 -14
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/dispatch_uses_allocator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/flat_tree.hpp +55 -23
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/function_detector.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/is_container.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/is_contiguous_container.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/is_pair.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/iterators.hpp +8 -8
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/math_functions.hpp +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/mpl.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/multiallocation_chain.hpp +96 -10
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_alloc_holder.hpp +19 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_pool.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/pair.hpp +17 -17
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/pool_common.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/pool_common_alloc.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/pool_resource.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/tree.hpp +86 -52
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/version_type.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/workaround.hpp +12 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/devector.hpp +145 -65
- data/src/cxx_supportlib/vendor-modified/boost/container/flat_map.hpp +105 -22
- data/src/cxx_supportlib/vendor-modified/boost/container/flat_set.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/list.hpp +30 -22
- data/src/cxx_supportlib/vendor-modified/boost/container/map.hpp +19 -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 +15 -8
- data/src/cxx_supportlib/vendor-modified/boost/container/node_handle.hpp +6 -5
- data/src/cxx_supportlib/vendor-modified/boost/container/options.hpp +15 -15
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/memory_resource.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/monotonic_buffer_resource.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/resource_adaptor.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/container/scoped_allocator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/set.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/slist.hpp +31 -24
- data/src/cxx_supportlib/vendor-modified/boost/container/small_vector.hpp +45 -43
- data/src/cxx_supportlib/vendor-modified/boost/container/stable_vector.hpp +45 -33
- data/src/cxx_supportlib/vendor-modified/boost/container/static_vector.hpp +5 -7
- data/src/cxx_supportlib/vendor-modified/boost/container/string.hpp +55 -47
- data/src/cxx_supportlib/vendor-modified/boost/container/uses_allocator.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/container/vector.hpp +222 -73
- data/src/cxx_supportlib/vendor-modified/boost/core/detail/minstd_rand.hpp +58 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/detail/string_view.hpp +13 -13
- data/src/cxx_supportlib/vendor-modified/boost/core/empty_value.hpp +53 -5
- data/src/cxx_supportlib/vendor-modified/boost/core/lightweight_test.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/pointer_in_range.hpp +49 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/span.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/type_name.hpp +7 -2
- data/src/cxx_supportlib/vendor-modified/boost/function/function_base.hpp +22 -34
- data/src/cxx_supportlib/vendor-modified/boost/function/function_template.hpp +141 -38
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/algorithm.hpp +8 -8
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hash.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hook_traits.hpp +8 -6
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/pointer_traits.hpp +18 -18
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical_streams.hpp +22 -17
- data/src/cxx_supportlib/vendor-modified/boost/libs/random/src/random_device.cpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/config_begin.hpp +0 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/launder.hpp +53 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/type_traits.hpp +9 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/workaround.hpp +6 -1
- data/src/cxx_supportlib/vendor-modified/boost/mp11/version.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/integral_wrapper.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/predef/version.h +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/requires_cxx11.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_has_gcc_intrinsics.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/generic_category_message.hpp +13 -1
- data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_flat_map.hpp +13 -1
- data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_flat_map_fwd.hpp +15 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_flat_set.hpp +13 -1
- data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_flat_set_fwd.hpp +15 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/fca.hpp +22 -6
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/concurrent_table.hpp +38 -10
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/core.hpp +111 -2
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/cumulative_stats.hpp +177 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/table.hpp +11 -1
- data/src/cxx_supportlib/vendor-modified/boost/unordered/hash_traits.hpp +33 -7
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_map.hpp +12 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_map_fwd.hpp +15 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_set.hpp +12 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_set_fwd.hpp +14 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_map_fwd.hpp +19 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_map.hpp +12 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_map_fwd.hpp +15 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_set.hpp +12 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_set_fwd.hpp +14 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_set_fwd.hpp +17 -0
- data/src/cxx_supportlib/vendor-modified/boost/utility/detail/minstd_rand.hpp +1 -43
- data/src/cxx_supportlib/vendor-modified/boost/version.hpp +2 -2
- data/src/ruby_supportlib/phusion_passenger/config/compile_nginx_engine_command.rb +6 -2
- data/src/ruby_supportlib/phusion_passenger/config/install_standalone_runtime_command.rb +10 -0
- data/src/ruby_supportlib/phusion_passenger/config/nginx_engine_compiler.rb +12 -4
- data/src/ruby_supportlib/phusion_passenger/platform_info/compiler.rb +32 -5
- data/src/ruby_supportlib/phusion_passenger/standalone/start_command.rb +0 -4
- data/src/ruby_supportlib/phusion_passenger/utils/json.rb +5 -1
- data/src/ruby_supportlib/phusion_passenger/utils.rb +5 -15
- data/src/ruby_supportlib/phusion_passenger.rb +5 -5
- metadata +21 -8
@@ -65,6 +65,9 @@ std::size_t read(SyncReadStream& s, const MutableBufferSequence& buffers,
|
|
65
65
|
CompletionCondition completion_condition, boost::system::error_code& ec,
|
66
66
|
constraint_t<
|
67
67
|
is_mutable_buffer_sequence<MutableBufferSequence>::value
|
68
|
+
>,
|
69
|
+
constraint_t<
|
70
|
+
is_completion_condition<CompletionCondition>::value
|
68
71
|
>)
|
69
72
|
{
|
70
73
|
return detail::read_buffer_seq(s, buffers,
|
@@ -100,6 +103,9 @@ inline std::size_t read(SyncReadStream& s, const MutableBufferSequence& buffers,
|
|
100
103
|
CompletionCondition completion_condition,
|
101
104
|
constraint_t<
|
102
105
|
is_mutable_buffer_sequence<MutableBufferSequence>::value
|
106
|
+
>,
|
107
|
+
constraint_t<
|
108
|
+
is_completion_condition<CompletionCondition>::value
|
103
109
|
>)
|
104
110
|
{
|
105
111
|
boost::system::error_code ec;
|
@@ -121,6 +127,9 @@ std::size_t read(SyncReadStream& s,
|
|
121
127
|
>,
|
122
128
|
constraint_t<
|
123
129
|
!is_dynamic_buffer_v2<decay_t<DynamicBuffer_v1>>::value
|
130
|
+
>,
|
131
|
+
constraint_t<
|
132
|
+
is_completion_condition<CompletionCondition>::value
|
124
133
|
>)
|
125
134
|
{
|
126
135
|
decay_t<DynamicBuffer_v1> b(
|
@@ -189,6 +198,9 @@ inline std::size_t read(SyncReadStream& s,
|
|
189
198
|
>,
|
190
199
|
constraint_t<
|
191
200
|
!is_dynamic_buffer_v2<decay_t<DynamicBuffer_v1>>::value
|
201
|
+
>,
|
202
|
+
constraint_t<
|
203
|
+
is_completion_condition<CompletionCondition>::value
|
192
204
|
>)
|
193
205
|
{
|
194
206
|
boost::system::error_code ec;
|
@@ -206,7 +218,10 @@ template <typename SyncReadStream, typename Allocator,
|
|
206
218
|
typename CompletionCondition>
|
207
219
|
inline std::size_t read(SyncReadStream& s,
|
208
220
|
boost::asio::basic_streambuf<Allocator>& b,
|
209
|
-
CompletionCondition completion_condition, boost::system::error_code& ec
|
221
|
+
CompletionCondition completion_condition, boost::system::error_code& ec,
|
222
|
+
constraint_t<
|
223
|
+
is_completion_condition<CompletionCondition>::value
|
224
|
+
>)
|
210
225
|
{
|
211
226
|
return read(s, basic_streambuf_ref<Allocator>(b),
|
212
227
|
static_cast<CompletionCondition&&>(completion_condition), ec);
|
@@ -231,7 +246,10 @@ template <typename SyncReadStream, typename Allocator,
|
|
231
246
|
typename CompletionCondition>
|
232
247
|
inline std::size_t read(SyncReadStream& s,
|
233
248
|
boost::asio::basic_streambuf<Allocator>& b,
|
234
|
-
CompletionCondition completion_condition
|
249
|
+
CompletionCondition completion_condition,
|
250
|
+
constraint_t<
|
251
|
+
is_completion_condition<CompletionCondition>::value
|
252
|
+
>)
|
235
253
|
{
|
236
254
|
return read(s, basic_streambuf_ref<Allocator>(b),
|
237
255
|
static_cast<CompletionCondition&&>(completion_condition));
|
@@ -247,6 +265,9 @@ std::size_t read(SyncReadStream& s, DynamicBuffer_v2 buffers,
|
|
247
265
|
CompletionCondition completion_condition, boost::system::error_code& ec,
|
248
266
|
constraint_t<
|
249
267
|
is_dynamic_buffer_v2<DynamicBuffer_v2>::value
|
268
|
+
>,
|
269
|
+
constraint_t<
|
270
|
+
is_completion_condition<CompletionCondition>::value
|
250
271
|
>)
|
251
272
|
{
|
252
273
|
DynamicBuffer_v2& b = buffers;
|
@@ -305,6 +326,9 @@ inline std::size_t read(SyncReadStream& s, DynamicBuffer_v2 buffers,
|
|
305
326
|
CompletionCondition completion_condition,
|
306
327
|
constraint_t<
|
307
328
|
is_dynamic_buffer_v2<DynamicBuffer_v2>::value
|
329
|
+
>,
|
330
|
+
constraint_t<
|
331
|
+
is_completion_condition<CompletionCondition>::value
|
308
332
|
>)
|
309
333
|
{
|
310
334
|
boost::system::error_code ec;
|
@@ -498,47 +522,6 @@ struct associator<Associator,
|
|
498
522
|
|
499
523
|
#endif // !defined(GENERATING_DOCUMENTATION)
|
500
524
|
|
501
|
-
template <typename AsyncReadStream,
|
502
|
-
typename MutableBufferSequence, typename CompletionCondition,
|
503
|
-
BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code,
|
504
|
-
std::size_t)) ReadToken>
|
505
|
-
inline auto async_read(AsyncReadStream& s, const MutableBufferSequence& buffers,
|
506
|
-
CompletionCondition completion_condition, ReadToken&& token,
|
507
|
-
constraint_t<
|
508
|
-
is_mutable_buffer_sequence<MutableBufferSequence>::value
|
509
|
-
>)
|
510
|
-
-> decltype(
|
511
|
-
async_initiate<ReadToken,
|
512
|
-
void (boost::system::error_code, std::size_t)>(
|
513
|
-
declval<detail::initiate_async_read<AsyncReadStream>>(), token, buffers,
|
514
|
-
static_cast<CompletionCondition&&>(completion_condition)))
|
515
|
-
{
|
516
|
-
return async_initiate<ReadToken,
|
517
|
-
void (boost::system::error_code, std::size_t)>(
|
518
|
-
detail::initiate_async_read<AsyncReadStream>(s), token, buffers,
|
519
|
-
static_cast<CompletionCondition&&>(completion_condition));
|
520
|
-
}
|
521
|
-
|
522
|
-
template <typename AsyncReadStream, typename MutableBufferSequence,
|
523
|
-
BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code,
|
524
|
-
std::size_t)) ReadToken>
|
525
|
-
inline auto async_read(AsyncReadStream& s,
|
526
|
-
const MutableBufferSequence& buffers, ReadToken&& token,
|
527
|
-
constraint_t<
|
528
|
-
is_mutable_buffer_sequence<MutableBufferSequence>::value
|
529
|
-
>)
|
530
|
-
-> decltype(
|
531
|
-
async_initiate<ReadToken,
|
532
|
-
void (boost::system::error_code, std::size_t)>(
|
533
|
-
declval<detail::initiate_async_read<AsyncReadStream>>(),
|
534
|
-
token, buffers, transfer_all()))
|
535
|
-
{
|
536
|
-
return async_initiate<ReadToken,
|
537
|
-
void (boost::system::error_code, std::size_t)>(
|
538
|
-
detail::initiate_async_read<AsyncReadStream>(s),
|
539
|
-
token, buffers, transfer_all());
|
540
|
-
}
|
541
|
-
|
542
525
|
#if !defined(BOOST_ASIO_NO_DYNAMIC_BUFFER_V1)
|
543
526
|
|
544
527
|
namespace detail
|
@@ -723,97 +706,6 @@ struct associator<Associator,
|
|
723
706
|
|
724
707
|
#endif // !defined(GENERATING_DOCUMENTATION)
|
725
708
|
|
726
|
-
template <typename AsyncReadStream, typename DynamicBuffer_v1,
|
727
|
-
BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code,
|
728
|
-
std::size_t)) ReadToken>
|
729
|
-
inline auto async_read(AsyncReadStream& s,
|
730
|
-
DynamicBuffer_v1&& buffers, ReadToken&& token,
|
731
|
-
constraint_t<
|
732
|
-
is_dynamic_buffer_v1<decay_t<DynamicBuffer_v1>>::value
|
733
|
-
>,
|
734
|
-
constraint_t<
|
735
|
-
!is_dynamic_buffer_v2<decay_t<DynamicBuffer_v1>>::value
|
736
|
-
>)
|
737
|
-
-> decltype(
|
738
|
-
async_initiate<ReadToken,
|
739
|
-
void (boost::system::error_code, std::size_t)>(
|
740
|
-
declval<detail::initiate_async_read_dynbuf_v1<AsyncReadStream>>(),
|
741
|
-
token, static_cast<DynamicBuffer_v1&&>(buffers), transfer_all()))
|
742
|
-
{
|
743
|
-
return async_initiate<ReadToken,
|
744
|
-
void (boost::system::error_code, std::size_t)>(
|
745
|
-
detail::initiate_async_read_dynbuf_v1<AsyncReadStream>(s),
|
746
|
-
token, static_cast<DynamicBuffer_v1&&>(buffers), transfer_all());
|
747
|
-
}
|
748
|
-
|
749
|
-
template <typename AsyncReadStream,
|
750
|
-
typename DynamicBuffer_v1, typename CompletionCondition,
|
751
|
-
BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code,
|
752
|
-
std::size_t)) ReadToken>
|
753
|
-
inline auto async_read(AsyncReadStream& s, DynamicBuffer_v1&& buffers,
|
754
|
-
CompletionCondition completion_condition, ReadToken&& token,
|
755
|
-
constraint_t<
|
756
|
-
is_dynamic_buffer_v1<decay_t<DynamicBuffer_v1>>::value
|
757
|
-
>,
|
758
|
-
constraint_t<
|
759
|
-
!is_dynamic_buffer_v2<decay_t<DynamicBuffer_v1>>::value
|
760
|
-
>)
|
761
|
-
-> decltype(
|
762
|
-
async_initiate<ReadToken,
|
763
|
-
void (boost::system::error_code, std::size_t)>(
|
764
|
-
declval<detail::initiate_async_read_dynbuf_v1<AsyncReadStream>>(),
|
765
|
-
token, static_cast<DynamicBuffer_v1&&>(buffers),
|
766
|
-
static_cast<CompletionCondition&&>(completion_condition)))
|
767
|
-
{
|
768
|
-
return async_initiate<ReadToken,
|
769
|
-
void (boost::system::error_code, std::size_t)>(
|
770
|
-
detail::initiate_async_read_dynbuf_v1<AsyncReadStream>(s),
|
771
|
-
token, static_cast<DynamicBuffer_v1&&>(buffers),
|
772
|
-
static_cast<CompletionCondition&&>(completion_condition));
|
773
|
-
}
|
774
|
-
|
775
|
-
#if !defined(BOOST_ASIO_NO_EXTENSIONS)
|
776
|
-
#if !defined(BOOST_ASIO_NO_IOSTREAM)
|
777
|
-
|
778
|
-
template <typename AsyncReadStream, typename Allocator,
|
779
|
-
BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code,
|
780
|
-
std::size_t)) ReadToken>
|
781
|
-
inline auto async_read(AsyncReadStream& s,
|
782
|
-
basic_streambuf<Allocator>& b, ReadToken&& token)
|
783
|
-
-> decltype(
|
784
|
-
async_initiate<ReadToken,
|
785
|
-
void (boost::system::error_code, std::size_t)>(
|
786
|
-
declval<detail::initiate_async_read_dynbuf_v1<AsyncReadStream>>(),
|
787
|
-
token, basic_streambuf_ref<Allocator>(b), transfer_all()))
|
788
|
-
{
|
789
|
-
return async_initiate<ReadToken,
|
790
|
-
void (boost::system::error_code, std::size_t)>(
|
791
|
-
detail::initiate_async_read_dynbuf_v1<AsyncReadStream>(s),
|
792
|
-
token, basic_streambuf_ref<Allocator>(b), transfer_all());
|
793
|
-
}
|
794
|
-
|
795
|
-
template <typename AsyncReadStream,
|
796
|
-
typename Allocator, typename CompletionCondition,
|
797
|
-
BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code,
|
798
|
-
std::size_t)) ReadToken>
|
799
|
-
inline auto async_read(AsyncReadStream& s, basic_streambuf<Allocator>& b,
|
800
|
-
CompletionCondition completion_condition, ReadToken&& token)
|
801
|
-
-> decltype(
|
802
|
-
async_initiate<ReadToken,
|
803
|
-
void (boost::system::error_code, std::size_t)>(
|
804
|
-
declval<detail::initiate_async_read_dynbuf_v1<AsyncReadStream>>(),
|
805
|
-
token, basic_streambuf_ref<Allocator>(b),
|
806
|
-
static_cast<CompletionCondition&&>(completion_condition)))
|
807
|
-
{
|
808
|
-
return async_initiate<ReadToken,
|
809
|
-
void (boost::system::error_code, std::size_t)>(
|
810
|
-
detail::initiate_async_read_dynbuf_v1<AsyncReadStream>(s),
|
811
|
-
token, basic_streambuf_ref<Allocator>(b),
|
812
|
-
static_cast<CompletionCondition&&>(completion_condition));
|
813
|
-
}
|
814
|
-
|
815
|
-
#endif // !defined(BOOST_ASIO_NO_IOSTREAM)
|
816
|
-
#endif // !defined(BOOST_ASIO_NO_EXTENSIONS)
|
817
709
|
#endif // !defined(BOOST_ASIO_NO_DYNAMIC_BUFFER_V1)
|
818
710
|
|
819
711
|
namespace detail
|
@@ -1004,49 +896,6 @@ struct associator<Associator,
|
|
1004
896
|
|
1005
897
|
#endif // !defined(GENERATING_DOCUMENTATION)
|
1006
898
|
|
1007
|
-
template <typename AsyncReadStream, typename DynamicBuffer_v2,
|
1008
|
-
BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code,
|
1009
|
-
std::size_t)) ReadToken>
|
1010
|
-
inline auto async_read(AsyncReadStream& s,
|
1011
|
-
DynamicBuffer_v2 buffers, ReadToken&& token,
|
1012
|
-
constraint_t<
|
1013
|
-
is_dynamic_buffer_v2<DynamicBuffer_v2>::value
|
1014
|
-
>)
|
1015
|
-
-> decltype(
|
1016
|
-
async_initiate<ReadToken,
|
1017
|
-
void (boost::system::error_code, std::size_t)>(
|
1018
|
-
declval<detail::initiate_async_read_dynbuf_v2<AsyncReadStream>>(),
|
1019
|
-
token, static_cast<DynamicBuffer_v2&&>(buffers), transfer_all()))
|
1020
|
-
{
|
1021
|
-
return async_initiate<ReadToken,
|
1022
|
-
void (boost::system::error_code, std::size_t)>(
|
1023
|
-
detail::initiate_async_read_dynbuf_v2<AsyncReadStream>(s),
|
1024
|
-
token, static_cast<DynamicBuffer_v2&&>(buffers), transfer_all());
|
1025
|
-
}
|
1026
|
-
|
1027
|
-
template <typename AsyncReadStream,
|
1028
|
-
typename DynamicBuffer_v2, typename CompletionCondition,
|
1029
|
-
BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code,
|
1030
|
-
std::size_t)) ReadToken>
|
1031
|
-
inline auto async_read(AsyncReadStream& s, DynamicBuffer_v2 buffers,
|
1032
|
-
CompletionCondition completion_condition, ReadToken&& token,
|
1033
|
-
constraint_t<
|
1034
|
-
is_dynamic_buffer_v2<DynamicBuffer_v2>::value
|
1035
|
-
>)
|
1036
|
-
-> decltype(
|
1037
|
-
async_initiate<ReadToken,
|
1038
|
-
void (boost::system::error_code, std::size_t)>(
|
1039
|
-
declval<detail::initiate_async_read_dynbuf_v2<AsyncReadStream>>(),
|
1040
|
-
token, static_cast<DynamicBuffer_v2&&>(buffers),
|
1041
|
-
static_cast<CompletionCondition&&>(completion_condition)))
|
1042
|
-
{
|
1043
|
-
return async_initiate<ReadToken,
|
1044
|
-
void (boost::system::error_code, std::size_t)>(
|
1045
|
-
detail::initiate_async_read_dynbuf_v2<AsyncReadStream>(s),
|
1046
|
-
token, static_cast<DynamicBuffer_v2&&>(buffers),
|
1047
|
-
static_cast<CompletionCondition&&>(completion_condition));
|
1048
|
-
}
|
1049
|
-
|
1050
899
|
} // namespace asio
|
1051
900
|
} // namespace boost
|
1052
901
|
|
@@ -67,7 +67,10 @@ template <typename SyncRandomAccessReadDevice, typename MutableBufferSequence,
|
|
67
67
|
typename CompletionCondition>
|
68
68
|
std::size_t read_at(SyncRandomAccessReadDevice& d,
|
69
69
|
uint64_t offset, const MutableBufferSequence& buffers,
|
70
|
-
CompletionCondition completion_condition, boost::system::error_code& ec
|
70
|
+
CompletionCondition completion_condition, boost::system::error_code& ec,
|
71
|
+
constraint_t<
|
72
|
+
is_completion_condition<CompletionCondition>::value
|
73
|
+
>)
|
71
74
|
{
|
72
75
|
return detail::read_at_buffer_sequence(d, offset, buffers,
|
73
76
|
boost::asio::buffer_sequence_begin(buffers),
|
@@ -97,7 +100,10 @@ template <typename SyncRandomAccessReadDevice, typename MutableBufferSequence,
|
|
97
100
|
typename CompletionCondition>
|
98
101
|
inline std::size_t read_at(SyncRandomAccessReadDevice& d,
|
99
102
|
uint64_t offset, const MutableBufferSequence& buffers,
|
100
|
-
CompletionCondition completion_condition
|
103
|
+
CompletionCondition completion_condition,
|
104
|
+
constraint_t<
|
105
|
+
is_completion_condition<CompletionCondition>::value
|
106
|
+
>)
|
101
107
|
{
|
102
108
|
boost::system::error_code ec;
|
103
109
|
std::size_t bytes_transferred = read_at(d, offset, buffers,
|
@@ -113,7 +119,10 @@ template <typename SyncRandomAccessReadDevice, typename Allocator,
|
|
113
119
|
typename CompletionCondition>
|
114
120
|
std::size_t read_at(SyncRandomAccessReadDevice& d,
|
115
121
|
uint64_t offset, boost::asio::basic_streambuf<Allocator>& b,
|
116
|
-
CompletionCondition completion_condition, boost::system::error_code& ec
|
122
|
+
CompletionCondition completion_condition, boost::system::error_code& ec,
|
123
|
+
constraint_t<
|
124
|
+
is_completion_condition<CompletionCondition>::value
|
125
|
+
>)
|
117
126
|
{
|
118
127
|
ec = boost::system::error_code();
|
119
128
|
std::size_t total_transferred = 0;
|
@@ -156,7 +165,10 @@ template <typename SyncRandomAccessReadDevice, typename Allocator,
|
|
156
165
|
typename CompletionCondition>
|
157
166
|
inline std::size_t read_at(SyncRandomAccessReadDevice& d,
|
158
167
|
uint64_t offset, boost::asio::basic_streambuf<Allocator>& b,
|
159
|
-
CompletionCondition completion_condition
|
168
|
+
CompletionCondition completion_condition,
|
169
|
+
constraint_t<
|
170
|
+
is_completion_condition<CompletionCondition>::value
|
171
|
+
>)
|
160
172
|
{
|
161
173
|
boost::system::error_code ec;
|
162
174
|
std::size_t bytes_transferred = read_at(d, offset, b,
|
@@ -360,44 +372,6 @@ struct associator<Associator,
|
|
360
372
|
|
361
373
|
#endif // !defined(GENERATING_DOCUMENTATION)
|
362
374
|
|
363
|
-
template <typename AsyncRandomAccessReadDevice,
|
364
|
-
typename MutableBufferSequence, typename CompletionCondition,
|
365
|
-
BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code,
|
366
|
-
std::size_t)) ReadToken>
|
367
|
-
inline auto async_read_at(AsyncRandomAccessReadDevice& d,
|
368
|
-
uint64_t offset, const MutableBufferSequence& buffers,
|
369
|
-
CompletionCondition completion_condition, ReadToken&& token)
|
370
|
-
-> decltype(
|
371
|
-
async_initiate<ReadToken,
|
372
|
-
void (boost::system::error_code, std::size_t)>(
|
373
|
-
declval<detail::initiate_async_read_at<AsyncRandomAccessReadDevice>>(),
|
374
|
-
token, offset, buffers,
|
375
|
-
static_cast<CompletionCondition&&>(completion_condition)))
|
376
|
-
{
|
377
|
-
return async_initiate<ReadToken,
|
378
|
-
void (boost::system::error_code, std::size_t)>(
|
379
|
-
detail::initiate_async_read_at<AsyncRandomAccessReadDevice>(d),
|
380
|
-
token, offset, buffers,
|
381
|
-
static_cast<CompletionCondition&&>(completion_condition));
|
382
|
-
}
|
383
|
-
|
384
|
-
template <typename AsyncRandomAccessReadDevice, typename MutableBufferSequence,
|
385
|
-
BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code,
|
386
|
-
std::size_t)) ReadToken>
|
387
|
-
inline auto async_read_at(AsyncRandomAccessReadDevice& d,
|
388
|
-
uint64_t offset, const MutableBufferSequence& buffers, ReadToken&& token)
|
389
|
-
-> decltype(
|
390
|
-
async_initiate<ReadToken,
|
391
|
-
void (boost::system::error_code, std::size_t)>(
|
392
|
-
declval<detail::initiate_async_read_at<AsyncRandomAccessReadDevice>>(),
|
393
|
-
token, offset, buffers, transfer_all()))
|
394
|
-
{
|
395
|
-
return async_initiate<ReadToken,
|
396
|
-
void (boost::system::error_code, std::size_t)>(
|
397
|
-
detail::initiate_async_read_at<AsyncRandomAccessReadDevice>(d),
|
398
|
-
token, offset, buffers, transfer_all());
|
399
|
-
}
|
400
|
-
|
401
375
|
#if !defined(BOOST_ASIO_NO_EXTENSIONS)
|
402
376
|
#if !defined(BOOST_ASIO_NO_IOSTREAM)
|
403
377
|
|
@@ -579,46 +553,6 @@ struct associator<Associator,
|
|
579
553
|
|
580
554
|
#endif // !defined(GENERATING_DOCUMENTATION)
|
581
555
|
|
582
|
-
template <typename AsyncRandomAccessReadDevice,
|
583
|
-
typename Allocator, typename CompletionCondition,
|
584
|
-
BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code,
|
585
|
-
std::size_t)) ReadToken>
|
586
|
-
inline auto async_read_at(AsyncRandomAccessReadDevice& d,
|
587
|
-
uint64_t offset, boost::asio::basic_streambuf<Allocator>& b,
|
588
|
-
CompletionCondition completion_condition, ReadToken&& token)
|
589
|
-
-> decltype(
|
590
|
-
async_initiate<ReadToken,
|
591
|
-
void (boost::system::error_code, std::size_t)>(
|
592
|
-
declval<detail::initiate_async_read_at_streambuf<
|
593
|
-
AsyncRandomAccessReadDevice>>(),
|
594
|
-
token, offset, &b,
|
595
|
-
static_cast<CompletionCondition&&>(completion_condition)))
|
596
|
-
{
|
597
|
-
return async_initiate<ReadToken,
|
598
|
-
void (boost::system::error_code, std::size_t)>(
|
599
|
-
detail::initiate_async_read_at_streambuf<AsyncRandomAccessReadDevice>(d),
|
600
|
-
token, offset, &b,
|
601
|
-
static_cast<CompletionCondition&&>(completion_condition));
|
602
|
-
}
|
603
|
-
|
604
|
-
template <typename AsyncRandomAccessReadDevice, typename Allocator,
|
605
|
-
BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code,
|
606
|
-
std::size_t)) ReadToken>
|
607
|
-
inline auto async_read_at(AsyncRandomAccessReadDevice& d, uint64_t offset,
|
608
|
-
boost::asio::basic_streambuf<Allocator>& b, ReadToken&& token)
|
609
|
-
-> decltype(
|
610
|
-
async_initiate<ReadToken,
|
611
|
-
void (boost::system::error_code, std::size_t)>(
|
612
|
-
declval<detail::initiate_async_read_at_streambuf<
|
613
|
-
AsyncRandomAccessReadDevice>>(),
|
614
|
-
token, offset, &b, transfer_all()))
|
615
|
-
{
|
616
|
-
return async_initiate<ReadToken,
|
617
|
-
void (boost::system::error_code, std::size_t)>(
|
618
|
-
detail::initiate_async_read_at_streambuf<AsyncRandomAccessReadDevice>(d),
|
619
|
-
token, offset, &b, transfer_all());
|
620
|
-
}
|
621
|
-
|
622
556
|
#endif // !defined(BOOST_ASIO_NO_IOSTREAM)
|
623
557
|
#endif // !defined(BOOST_ASIO_NO_EXTENSIONS)
|
624
558
|
|