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.

Files changed (305) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG +26 -1
  3. data/Rakefile +7 -3
  4. data/bin/passenger-install-apache2-module +5 -0
  5. data/bin/passenger-install-nginx-module +17 -2
  6. data/build/apache2.rb +1 -1
  7. data/build/basics.rb +10 -4
  8. data/build/cxx_tests.rb +18 -7
  9. data/build/support/cxx_dependency_map.rb +40 -6
  10. data/build/test_basics.rb +4 -12
  11. data/package.json +1 -1
  12. data/passenger.gemspec +1 -1
  13. data/src/agent/Core/ApplicationPool/Group/InitializationAndShutdown.cpp +8 -0
  14. data/src/agent/Core/ApplicationPool/Group/InternalUtils.cpp +10 -2
  15. data/src/agent/Core/ApplicationPool/Group/LifetimeAndBasics.cpp +8 -0
  16. data/src/agent/Core/ApplicationPool/Group/Miscellaneous.cpp +9 -0
  17. data/src/agent/Core/ApplicationPool/Group/OutOfBandWork.cpp +9 -0
  18. data/src/agent/Core/ApplicationPool/Group/ProcessListManagement.cpp +63 -50
  19. data/src/agent/Core/ApplicationPool/Group/SessionManagement.cpp +19 -9
  20. data/src/agent/Core/ApplicationPool/Group/SpawningAndRestarting.cpp +8 -0
  21. data/src/agent/Core/ApplicationPool/Group/StateInspection.cpp +8 -0
  22. data/src/agent/Core/ApplicationPool/Group/Verification.cpp +8 -0
  23. data/src/agent/Core/ApplicationPool/Group.h +15 -5
  24. data/src/agent/Core/ApplicationPool/Pool/AnalyticsCollection.cpp +5 -0
  25. data/src/agent/Core/ApplicationPool/Pool/GarbageCollection.cpp +5 -0
  26. data/src/agent/Core/ApplicationPool/Pool/GeneralUtils.cpp +5 -0
  27. data/src/agent/Core/ApplicationPool/Pool/GroupUtils.cpp +5 -0
  28. data/src/agent/Core/ApplicationPool/Pool/InitializationAndShutdown.cpp +5 -0
  29. data/src/agent/Core/ApplicationPool/Pool/Miscellaneous.cpp +5 -0
  30. data/src/agent/Core/ApplicationPool/Pool/ProcessUtils.cpp +5 -0
  31. data/src/agent/Core/ApplicationPool/Pool/StateInspection.cpp +11 -1
  32. data/src/agent/Core/ApplicationPool/Pool.h +0 -2
  33. data/src/agent/Core/ApplicationPool/Process.h +22 -6
  34. data/src/agent/Core/ApplicationPool/Session.h +6 -1
  35. data/src/agent/Core/Config.h +7 -3
  36. data/src/agent/Core/Controller/Config.h +1 -1
  37. data/src/agent/Core/CoreMain.cpp +10 -17
  38. data/src/agent/Core/SpawningKit/Handshake/Prepare.h +1 -53
  39. data/src/agent/Core/SpawningKit/Handshake/Session.h +3 -0
  40. data/src/agent/Core/SpawningKit/Handshake/WorkDir.h +5 -2
  41. data/src/agent/Core/SpawningKit/SmartSpawner.h +6 -2
  42. data/src/agent/Core/SpawningKit/Spawner.h +4 -0
  43. data/src/agent/Shared/Fundamentals/AbortHandler.cpp +88 -9
  44. data/src/agent/Shared/Fundamentals/AbortHandler.h +2 -0
  45. data/src/agent/Shared/Fundamentals/Initialization.cpp +9 -3
  46. data/src/agent/Shared/Fundamentals/Initialization.h +3 -3
  47. data/src/agent/SpawnEnvSetupper/SpawnEnvSetupperMain.cpp +6 -7
  48. data/src/agent/Watchdog/Config.h +1 -1
  49. data/src/agent/Watchdog/WatchdogMain.cpp +4 -7
  50. data/src/apache2_module/ConfigGeneral/ManifestGeneration.h +5 -3
  51. data/src/apache2_module/DirConfig/AutoGeneratedStruct.h +3 -0
  52. data/src/apache2_module/DirConfig/AutoGeneratedStruct.h.cxxcodebuilder +3 -0
  53. data/src/apache2_module/ServerConfig/AutoGeneratedStruct.h +2 -1
  54. data/src/apache2_module/ServerConfig/AutoGeneratedStruct.h.cxxcodebuilder +2 -1
  55. data/src/cxx_supportlib/Constants.h +1 -1
  56. data/src/cxx_supportlib/DataStructures/StringMap.h +0 -1
  57. data/src/cxx_supportlib/FileTools/PathManip.cpp +1 -1
  58. data/src/cxx_supportlib/SafeLibev.h +1 -3
  59. data/src/cxx_supportlib/ServerKit/Hooks.h +2 -2
  60. data/src/cxx_supportlib/ServerKit/HttpHeaderParser.h +0 -1
  61. data/src/cxx_supportlib/ServerKit/HttpServer.h +15 -10
  62. data/src/cxx_supportlib/ServerKit/Server.h +0 -6
  63. data/src/cxx_supportlib/Utils/AsyncSignalSafeUtils.h +2 -0
  64. data/src/cxx_supportlib/Utils/SpeedMeter.h +0 -3
  65. data/src/cxx_supportlib/oxt/implementation.cpp +11 -0
  66. data/src/cxx_supportlib/oxt/system_calls.cpp +10 -3
  67. data/src/cxx_supportlib/oxt/thread.hpp +1 -1
  68. data/src/cxx_supportlib/vendor-modified/boost/asio/as_tuple.hpp +35 -9
  69. data/src/cxx_supportlib/vendor-modified/boost/asio/associated_immediate_executor.hpp +3 -2
  70. data/src/cxx_supportlib/vendor-modified/boost/asio/associator.hpp +1 -1
  71. data/src/cxx_supportlib/vendor-modified/boost/asio/async_result.hpp +74 -68
  72. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_datagram_socket.hpp +11 -11
  73. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_deadline_timer.hpp +2 -2
  74. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_random_access_file.hpp +2 -2
  75. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_raw_socket.hpp +10 -10
  76. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_readable_pipe.hpp +1 -1
  77. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_seq_packet_socket.hpp +3 -3
  78. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_serial_port.hpp +2 -2
  79. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_signal_set.hpp +1 -1
  80. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket.hpp +2 -2
  81. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_acceptor.hpp +9 -9
  82. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_stream_file.hpp +2 -2
  83. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_stream_socket.hpp +6 -6
  84. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_waitable_timer.hpp +2 -2
  85. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_writable_pipe.hpp +1 -1
  86. data/src/cxx_supportlib/vendor-modified/boost/asio/bind_allocator.hpp +88 -22
  87. data/src/cxx_supportlib/vendor-modified/boost/asio/bind_cancellation_slot.hpp +91 -22
  88. data/src/cxx_supportlib/vendor-modified/boost/asio/bind_executor.hpp +105 -23
  89. data/src/cxx_supportlib/vendor-modified/boost/asio/bind_immediate_executor.hpp +90 -23
  90. data/src/cxx_supportlib/vendor-modified/boost/asio/buffer.hpp +2 -2
  91. data/src/cxx_supportlib/vendor-modified/boost/asio/buffer_registration.hpp +1 -1
  92. data/src/cxx_supportlib/vendor-modified/boost/asio/cancel_after.hpp +303 -0
  93. data/src/cxx_supportlib/vendor-modified/boost/asio/cancel_at.hpp +296 -0
  94. data/src/cxx_supportlib/vendor-modified/boost/asio/{experimental/impl/co_composed.hpp → co_composed.hpp} +208 -61
  95. data/src/cxx_supportlib/vendor-modified/boost/asio/completion_condition.hpp +49 -0
  96. data/src/cxx_supportlib/vendor-modified/boost/asio/compose.hpp +10 -201
  97. data/src/cxx_supportlib/vendor-modified/boost/asio/composed.hpp +415 -0
  98. data/src/cxx_supportlib/vendor-modified/boost/asio/connect.hpp +214 -48
  99. data/src/cxx_supportlib/vendor-modified/boost/asio/coroutine.hpp +3 -4
  100. data/src/cxx_supportlib/vendor-modified/boost/asio/default_completion_token.hpp +91 -0
  101. data/src/cxx_supportlib/vendor-modified/boost/asio/deferred.hpp +9 -5
  102. data/src/cxx_supportlib/vendor-modified/boost/asio/detached.hpp +2 -2
  103. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/buffered_stream_storage.hpp +1 -1
  104. data/src/cxx_supportlib/vendor-modified/boost/asio/{experimental/detail/channel_message.hpp → detail/completion_message.hpp} +14 -16
  105. data/src/cxx_supportlib/vendor-modified/boost/asio/{experimental/detail/channel_payload.hpp → detail/completion_payload.hpp} +30 -32
  106. data/src/cxx_supportlib/vendor-modified/boost/asio/{experimental/detail/channel_handler.hpp → detail/completion_payload_handler.hpp} +15 -13
  107. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/config.hpp +26 -32
  108. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/deadline_timer_service.hpp +5 -1
  109. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_alloc_helpers.hpp +14 -118
  110. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/descriptor_ops.ipp +36 -33
  111. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/dev_poll_reactor.ipp +1 -1
  112. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/reactive_descriptor_service.ipp +7 -5
  113. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/reactive_socket_service_base.ipp +6 -4
  114. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/socket_ops.ipp +44 -35
  115. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/socket_select_interrupter.ipp +1 -1
  116. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/initiation_base.hpp +64 -0
  117. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/memory.hpp +0 -11
  118. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_descriptor_service.hpp +20 -16
  119. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_send_op.hpp +0 -1
  120. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_service.hpp +4 -4
  121. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_service_base.hpp +23 -18
  122. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/recycling_allocator.hpp +9 -0
  123. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolve_endpoint_op.hpp +1 -1
  124. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolve_query_op.hpp +1 -1
  125. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread_info_base.hpp +11 -1
  126. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timed_cancel_op.hpp +363 -0
  127. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/wrapped_handler.hpp +29 -51
  128. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/allocator.hpp +1 -1
  129. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/blocking.hpp +1 -1
  130. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/blocking_adaptation.hpp +1 -1
  131. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/context.hpp +1 -1
  132. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/mapping.hpp +1 -1
  133. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/occupancy.hpp +1 -1
  134. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/outstanding_work.hpp +1 -1
  135. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/relationship.hpp +1 -1
  136. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/basic_channel.hpp +2 -1
  137. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/basic_concurrent_channel.hpp +2 -1
  138. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/co_composed.hpp +2 -114
  139. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_receive_op.hpp +2 -3
  140. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_send_functions.hpp +27 -19
  141. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_send_op.hpp +0 -1
  142. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_service.hpp +17 -15
  143. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/coro_promise_allocator.hpp +2 -3
  144. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/impl/channel_service.hpp +4 -2
  145. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/partial_promise.hpp +3 -5
  146. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/as_single.hpp +12 -7
  147. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/coro.hpp +1 -1
  148. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/parallel_group.hpp +38 -40
  149. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/promise.hpp +3 -3
  150. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/use_coro.hpp +5 -5
  151. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/use_promise.hpp +1 -1
  152. data/src/cxx_supportlib/vendor-modified/boost/asio/immediate.hpp +144 -0
  153. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/append.hpp +14 -7
  154. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/as_tuple.hpp +45 -14
  155. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/awaitable.hpp +3 -3
  156. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/cancel_after.hpp +270 -0
  157. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/cancel_at.hpp +270 -0
  158. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/co_spawn.hpp +8 -0
  159. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/connect.hpp +60 -166
  160. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/consign.hpp +14 -7
  161. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/detached.hpp +2 -2
  162. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/prepend.hpp +14 -7
  163. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read.hpp +26 -177
  164. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_at.hpp +16 -82
  165. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_until.hpp +13 -286
  166. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/redirect_error.hpp +55 -18
  167. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/spawn.hpp +1 -1
  168. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/write.hpp +26 -185
  169. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/write_at.hpp +16 -87
  170. data/src/cxx_supportlib/vendor-modified/boost/asio/io_context_strand.hpp +5 -5
  171. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver.hpp +6 -6
  172. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/detail/socket_option.hpp +1 -1
  173. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v6.ipp +1 -1
  174. data/src/cxx_supportlib/vendor-modified/boost/asio/placeholders.hpp +12 -6
  175. data/src/cxx_supportlib/vendor-modified/boost/asio/posix/basic_descriptor.hpp +1 -1
  176. data/src/cxx_supportlib/vendor-modified/boost/asio/posix/basic_stream_descriptor.hpp +2 -2
  177. data/src/cxx_supportlib/vendor-modified/boost/asio/read.hpp +127 -28
  178. data/src/cxx_supportlib/vendor-modified/boost/asio/read_at.hpp +70 -20
  179. data/src/cxx_supportlib/vendor-modified/boost/asio/read_until.hpp +114 -36
  180. data/src/cxx_supportlib/vendor-modified/boost/asio/redirect_error.hpp +43 -3
  181. data/src/cxx_supportlib/vendor-modified/boost/asio/registered_buffer.hpp +2 -2
  182. data/src/cxx_supportlib/vendor-modified/boost/asio/spawn.hpp +0 -1
  183. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/impl/openssl_init.ipp +2 -2
  184. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/context.ipp +10 -7
  185. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/stream.hpp +5 -5
  186. data/src/cxx_supportlib/vendor-modified/boost/asio/this_coro.hpp +2 -2
  187. data/src/cxx_supportlib/vendor-modified/boost/asio/use_awaitable.hpp +2 -2
  188. data/src/cxx_supportlib/vendor-modified/boost/asio/use_future.hpp +1 -1
  189. data/src/cxx_supportlib/vendor-modified/boost/asio/uses_executor.hpp +1 -1
  190. data/src/cxx_supportlib/vendor-modified/boost/asio/version.hpp +1 -1
  191. data/src/cxx_supportlib/vendor-modified/boost/asio/write.hpp +147 -35
  192. data/src/cxx_supportlib/vendor-modified/boost/asio/write_at.hpp +74 -22
  193. data/src/cxx_supportlib/vendor-modified/boost/asio.hpp +6 -0
  194. data/src/cxx_supportlib/vendor-modified/boost/assert/source_location.hpp +4 -1
  195. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/futex.hpp +42 -11
  196. data/src/cxx_supportlib/vendor-modified/boost/bind/bind.hpp +15 -37
  197. data/src/cxx_supportlib/vendor-modified/boost/container/adaptive_pool.hpp +8 -8
  198. data/src/cxx_supportlib/vendor-modified/boost/container/allocator.hpp +1 -1
  199. data/src/cxx_supportlib/vendor-modified/boost/container/allocator_traits.hpp +151 -10
  200. data/src/cxx_supportlib/vendor-modified/boost/container/container_fwd.hpp +11 -9
  201. data/src/cxx_supportlib/vendor-modified/boost/container/deque.hpp +611 -102
  202. data/src/cxx_supportlib/vendor-modified/boost/container/detail/adaptive_node_pool.hpp +1 -1
  203. data/src/cxx_supportlib/vendor-modified/boost/container/detail/adaptive_node_pool_impl.hpp +47 -47
  204. data/src/cxx_supportlib/vendor-modified/boost/container/detail/advanced_insert_int.hpp +25 -24
  205. data/src/cxx_supportlib/vendor-modified/boost/container/detail/allocation_type.hpp +7 -7
  206. data/src/cxx_supportlib/vendor-modified/boost/container/detail/block_list.hpp +2 -2
  207. data/src/cxx_supportlib/vendor-modified/boost/container/detail/block_slist.hpp +2 -2
  208. data/src/cxx_supportlib/vendor-modified/boost/container/detail/construct_in_place.hpp +35 -1
  209. data/src/cxx_supportlib/vendor-modified/boost/container/detail/copy_move_algo.hpp +14 -14
  210. data/src/cxx_supportlib/vendor-modified/boost/container/detail/dispatch_uses_allocator.hpp +1 -1
  211. data/src/cxx_supportlib/vendor-modified/boost/container/detail/flat_tree.hpp +55 -23
  212. data/src/cxx_supportlib/vendor-modified/boost/container/detail/function_detector.hpp +1 -1
  213. data/src/cxx_supportlib/vendor-modified/boost/container/detail/is_container.hpp +2 -2
  214. data/src/cxx_supportlib/vendor-modified/boost/container/detail/is_contiguous_container.hpp +1 -1
  215. data/src/cxx_supportlib/vendor-modified/boost/container/detail/is_pair.hpp +4 -4
  216. data/src/cxx_supportlib/vendor-modified/boost/container/detail/iterators.hpp +8 -8
  217. data/src/cxx_supportlib/vendor-modified/boost/container/detail/math_functions.hpp +9 -9
  218. data/src/cxx_supportlib/vendor-modified/boost/container/detail/mpl.hpp +4 -4
  219. data/src/cxx_supportlib/vendor-modified/boost/container/detail/multiallocation_chain.hpp +96 -10
  220. data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_alloc_holder.hpp +19 -4
  221. data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_pool.hpp +1 -1
  222. data/src/cxx_supportlib/vendor-modified/boost/container/detail/pair.hpp +17 -17
  223. data/src/cxx_supportlib/vendor-modified/boost/container/detail/pool_common.hpp +1 -1
  224. data/src/cxx_supportlib/vendor-modified/boost/container/detail/pool_common_alloc.hpp +2 -2
  225. data/src/cxx_supportlib/vendor-modified/boost/container/detail/pool_resource.hpp +4 -4
  226. data/src/cxx_supportlib/vendor-modified/boost/container/detail/tree.hpp +86 -52
  227. data/src/cxx_supportlib/vendor-modified/boost/container/detail/version_type.hpp +4 -4
  228. data/src/cxx_supportlib/vendor-modified/boost/container/detail/workaround.hpp +12 -0
  229. data/src/cxx_supportlib/vendor-modified/boost/container/devector.hpp +145 -65
  230. data/src/cxx_supportlib/vendor-modified/boost/container/flat_map.hpp +105 -22
  231. data/src/cxx_supportlib/vendor-modified/boost/container/flat_set.hpp +2 -2
  232. data/src/cxx_supportlib/vendor-modified/boost/container/list.hpp +30 -22
  233. data/src/cxx_supportlib/vendor-modified/boost/container/map.hpp +19 -2
  234. data/src/cxx_supportlib/vendor-modified/boost/container/new_allocator.hpp +1 -1
  235. data/src/cxx_supportlib/vendor-modified/boost/container/node_allocator.hpp +15 -8
  236. data/src/cxx_supportlib/vendor-modified/boost/container/node_handle.hpp +6 -5
  237. data/src/cxx_supportlib/vendor-modified/boost/container/options.hpp +15 -15
  238. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/memory_resource.hpp +1 -1
  239. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/monotonic_buffer_resource.hpp +1 -1
  240. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/resource_adaptor.hpp +3 -3
  241. data/src/cxx_supportlib/vendor-modified/boost/container/scoped_allocator.hpp +1 -1
  242. data/src/cxx_supportlib/vendor-modified/boost/container/set.hpp +2 -2
  243. data/src/cxx_supportlib/vendor-modified/boost/container/slist.hpp +31 -24
  244. data/src/cxx_supportlib/vendor-modified/boost/container/small_vector.hpp +45 -43
  245. data/src/cxx_supportlib/vendor-modified/boost/container/stable_vector.hpp +45 -33
  246. data/src/cxx_supportlib/vendor-modified/boost/container/static_vector.hpp +5 -7
  247. data/src/cxx_supportlib/vendor-modified/boost/container/string.hpp +55 -47
  248. data/src/cxx_supportlib/vendor-modified/boost/container/uses_allocator.hpp +3 -3
  249. data/src/cxx_supportlib/vendor-modified/boost/container/vector.hpp +222 -73
  250. data/src/cxx_supportlib/vendor-modified/boost/core/detail/minstd_rand.hpp +58 -0
  251. data/src/cxx_supportlib/vendor-modified/boost/core/detail/string_view.hpp +13 -13
  252. data/src/cxx_supportlib/vendor-modified/boost/core/empty_value.hpp +53 -5
  253. data/src/cxx_supportlib/vendor-modified/boost/core/lightweight_test.hpp +1 -0
  254. data/src/cxx_supportlib/vendor-modified/boost/core/pointer_in_range.hpp +49 -0
  255. data/src/cxx_supportlib/vendor-modified/boost/core/span.hpp +2 -0
  256. data/src/cxx_supportlib/vendor-modified/boost/core/type_name.hpp +7 -2
  257. data/src/cxx_supportlib/vendor-modified/boost/function/function_base.hpp +22 -34
  258. data/src/cxx_supportlib/vendor-modified/boost/function/function_template.hpp +141 -38
  259. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/algorithm.hpp +8 -8
  260. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hash.hpp +1 -1
  261. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hook_traits.hpp +8 -6
  262. data/src/cxx_supportlib/vendor-modified/boost/intrusive/pointer_traits.hpp +18 -18
  263. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical_streams.hpp +22 -17
  264. data/src/cxx_supportlib/vendor-modified/boost/libs/random/src/random_device.cpp +3 -1
  265. data/src/cxx_supportlib/vendor-modified/boost/move/detail/config_begin.hpp +0 -1
  266. data/src/cxx_supportlib/vendor-modified/boost/move/detail/launder.hpp +53 -0
  267. data/src/cxx_supportlib/vendor-modified/boost/move/detail/type_traits.hpp +9 -1
  268. data/src/cxx_supportlib/vendor-modified/boost/move/detail/workaround.hpp +6 -1
  269. data/src/cxx_supportlib/vendor-modified/boost/mp11/version.hpp +1 -1
  270. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/integral_wrapper.hpp +2 -1
  271. data/src/cxx_supportlib/vendor-modified/boost/predef/version.h +1 -1
  272. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/requires_cxx11.hpp +1 -1
  273. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_has_gcc_intrinsics.hpp +4 -1
  274. data/src/cxx_supportlib/vendor-modified/boost/system/detail/generic_category_message.hpp +13 -1
  275. data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_flat_map.hpp +13 -1
  276. data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_flat_map_fwd.hpp +15 -0
  277. data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_flat_set.hpp +13 -1
  278. data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_flat_set_fwd.hpp +15 -0
  279. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/fca.hpp +22 -6
  280. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/concurrent_table.hpp +38 -10
  281. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/core.hpp +111 -2
  282. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/cumulative_stats.hpp +177 -0
  283. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/table.hpp +11 -1
  284. data/src/cxx_supportlib/vendor-modified/boost/unordered/hash_traits.hpp +33 -7
  285. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_map.hpp +12 -0
  286. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_map_fwd.hpp +15 -0
  287. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_set.hpp +12 -0
  288. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_set_fwd.hpp +14 -0
  289. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_map_fwd.hpp +19 -0
  290. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_map.hpp +12 -0
  291. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_map_fwd.hpp +15 -0
  292. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_set.hpp +12 -0
  293. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_set_fwd.hpp +14 -0
  294. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_set_fwd.hpp +17 -0
  295. data/src/cxx_supportlib/vendor-modified/boost/utility/detail/minstd_rand.hpp +1 -43
  296. data/src/cxx_supportlib/vendor-modified/boost/version.hpp +2 -2
  297. data/src/ruby_supportlib/phusion_passenger/config/compile_nginx_engine_command.rb +6 -2
  298. data/src/ruby_supportlib/phusion_passenger/config/install_standalone_runtime_command.rb +10 -0
  299. data/src/ruby_supportlib/phusion_passenger/config/nginx_engine_compiler.rb +12 -4
  300. data/src/ruby_supportlib/phusion_passenger/platform_info/compiler.rb +32 -5
  301. data/src/ruby_supportlib/phusion_passenger/standalone/start_command.rb +0 -4
  302. data/src/ruby_supportlib/phusion_passenger/utils/json.rb +5 -1
  303. data/src/ruby_supportlib/phusion_passenger/utils.rb +5 -15
  304. data/src/ruby_supportlib/phusion_passenger.rb +5 -5
  305. 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