passenger 6.0.11 → 6.0.12

Sign up to get free protection for your applications and to get access to all the features.
Files changed (280) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG +24 -1
  3. data/CONTRIBUTORS +3 -0
  4. data/src/agent/Core/Config.h +1 -1
  5. data/src/agent/Core/Controller/CheckoutSession.cpp +24 -13
  6. data/src/agent/Core/Controller/Config.h +1 -1
  7. data/src/agent/Core/Controller/InternalUtils.cpp +32 -6
  8. data/src/agent/Core/Controller.h +4 -1
  9. data/src/agent/Watchdog/Config.h +1 -1
  10. data/src/cxx_supportlib/Constants.h +1 -1
  11. data/src/cxx_supportlib/IOTools/IOUtils.cpp +4 -4
  12. data/src/cxx_supportlib/vendor-modified/boost/align/aligned_alloc.hpp +47 -0
  13. data/src/cxx_supportlib/vendor-modified/boost/align/detail/aligned_alloc_posix.hpp +41 -0
  14. data/src/cxx_supportlib/vendor-modified/boost/align/detail/is_alignment.hpp +28 -0
  15. data/src/cxx_supportlib/vendor-modified/boost/asio/associated_allocator.hpp +53 -1
  16. data/src/cxx_supportlib/vendor-modified/boost/asio/associated_cancellation_slot.hpp +179 -0
  17. data/src/cxx_supportlib/vendor-modified/boost/asio/associated_executor.hpp +57 -1
  18. data/src/cxx_supportlib/vendor-modified/boost/asio/associator.hpp +37 -0
  19. data/src/cxx_supportlib/vendor-modified/boost/asio/async_result.hpp +789 -106
  20. data/src/cxx_supportlib/vendor-modified/boost/asio/awaitable.hpp +1 -1
  21. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_datagram_socket.hpp +80 -0
  22. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_deadline_timer.hpp +10 -0
  23. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_raw_socket.hpp +80 -0
  24. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_seq_packet_socket.hpp +30 -0
  25. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket.hpp +20 -0
  26. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_acceptor.hpp +90 -0
  27. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_stream_socket.hpp +60 -0
  28. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_waitable_timer.hpp +10 -0
  29. data/src/cxx_supportlib/vendor-modified/boost/asio/bind_cancellation_slot.hpp +723 -0
  30. data/src/cxx_supportlib/vendor-modified/boost/asio/bind_executor.hpp +191 -12
  31. data/src/cxx_supportlib/vendor-modified/boost/asio/cancellation_signal.hpp +361 -0
  32. data/src/cxx_supportlib/vendor-modified/boost/asio/cancellation_state.hpp +237 -0
  33. data/src/cxx_supportlib/vendor-modified/boost/asio/cancellation_type.hpp +176 -0
  34. data/src/cxx_supportlib/vendor-modified/boost/asio/co_spawn.hpp +30 -2
  35. data/src/cxx_supportlib/vendor-modified/boost/asio/connect.hpp +60 -0
  36. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/base_from_cancellation_state.hpp +165 -0
  37. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/bind_handler.hpp +209 -76
  38. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/config.hpp +149 -60
  39. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/deadline_timer_service.hpp +40 -0
  40. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/dev_poll_reactor.hpp +8 -4
  41. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/epoll_reactor.hpp +14 -4
  42. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/functional.hpp +6 -0
  43. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_alloc_helpers.hpp +14 -10
  44. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_type_requirements.hpp +21 -18
  45. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_work.hpp +30 -19
  46. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/dev_poll_reactor.hpp +8 -0
  47. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/dev_poll_reactor.ipp +14 -0
  48. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/epoll_reactor.hpp +20 -0
  49. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/epoll_reactor.ipp +30 -0
  50. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/kqueue_reactor.hpp +20 -0
  51. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/kqueue_reactor.ipp +29 -0
  52. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/select_reactor.hpp +24 -0
  53. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/select_reactor.ipp +19 -0
  54. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_executor_service.hpp +3 -1
  55. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/timer_queue_ptime.ipp +6 -0
  56. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/kqueue_reactor.hpp +15 -5
  57. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/memory.hpp +60 -0
  58. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/pop_options.hpp +8 -0
  59. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/push_options.hpp +27 -0
  60. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_descriptor_service.hpp +93 -0
  61. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_service.hpp +77 -0
  62. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_service_base.hpp +111 -0
  63. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor_op.hpp +4 -0
  64. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor_op_queue.hpp +44 -0
  65. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/recycling_allocator.hpp +2 -1
  66. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolve_endpoint_op.hpp +2 -2
  67. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/select_reactor.hpp +14 -4
  68. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread_info_base.hpp +90 -24
  69. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue.hpp +30 -1
  70. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue_ptime.hpp +4 -0
  71. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/wait_op.hpp +5 -1
  72. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/work_dispatcher.hpp +5 -2
  73. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/any_executor.hpp +12 -12
  74. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/bulk_execute.hpp +10 -8
  75. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/connect.hpp +8 -8
  76. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/execute.hpp +7 -7
  77. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/schedule.hpp +7 -7
  78. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/set_done.hpp +7 -7
  79. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/set_error.hpp +7 -7
  80. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/set_value.hpp +13 -13
  81. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/start.hpp +7 -7
  82. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/submit.hpp +8 -8
  83. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/append.hpp +73 -0
  84. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/as_tuple.hpp +133 -0
  85. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/awaitable_operators.hpp +538 -0
  86. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/cancellation_condition.hpp +157 -0
  87. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/coro.hpp +1057 -0
  88. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/deferred.hpp +607 -0
  89. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/completion_handler_erasure.hpp +160 -0
  90. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/coro_promise_allocator.hpp +120 -0
  91. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/coro_traits.hpp +185 -0
  92. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/partial_promise.hpp +181 -0
  93. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/append.hpp +219 -0
  94. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/as_single.hpp +14 -28
  95. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/as_tuple.hpp +248 -0
  96. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/deferred.hpp +106 -0
  97. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/parallel_group.hpp +434 -0
  98. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/prepend.hpp +219 -0
  99. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/promise.hpp +100 -0
  100. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/parallel_group.hpp +217 -0
  101. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/prepend.hpp +73 -0
  102. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/promise.hpp +608 -0
  103. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/use_coro.hpp +284 -0
  104. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/awaitable.hpp +344 -20
  105. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/buffered_read_stream.hpp +23 -54
  106. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/buffered_write_stream.hpp +23 -54
  107. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/co_spawn.hpp +66 -18
  108. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/compose.hpp +55 -5
  109. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/connect.hpp +68 -80
  110. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/defer.hpp +8 -4
  111. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/dispatch.hpp +8 -4
  112. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/handler_alloc_hook.ipp +3 -2
  113. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/post.hpp +8 -4
  114. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read.hpp +98 -113
  115. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_at.hpp +71 -82
  116. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_until.hpp +210 -266
  117. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/redirect_error.hpp +248 -30
  118. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/spawn.hpp +11 -21
  119. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/use_awaitable.hpp +15 -3
  120. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/write.hpp +71 -87
  121. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/write_at.hpp +46 -68
  122. data/src/cxx_supportlib/vendor-modified/boost/asio/io_context.hpp +4 -4
  123. data/src/cxx_supportlib/vendor-modified/boost/asio/local/detail/impl/endpoint.ipp +2 -7
  124. data/src/cxx_supportlib/vendor-modified/boost/asio/posix/basic_descriptor.hpp +10 -0
  125. data/src/cxx_supportlib/vendor-modified/boost/asio/posix/basic_stream_descriptor.hpp +23 -3
  126. data/src/cxx_supportlib/vendor-modified/boost/asio/prefer.hpp +21 -21
  127. data/src/cxx_supportlib/vendor-modified/boost/asio/query.hpp +9 -9
  128. data/src/cxx_supportlib/vendor-modified/boost/asio/read.hpp +88 -0
  129. data/src/cxx_supportlib/vendor-modified/boost/asio/read_at.hpp +44 -0
  130. data/src/cxx_supportlib/vendor-modified/boost/asio/read_until.hpp +132 -0
  131. data/src/cxx_supportlib/vendor-modified/boost/asio/require.hpp +21 -21
  132. data/src/cxx_supportlib/vendor-modified/boost/asio/require_concept.hpp +9 -9
  133. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/buffered_handshake_op.hpp +1 -1
  134. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/engine.hpp +5 -0
  135. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/handshake_op.hpp +1 -1
  136. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/impl/engine.ipp +14 -0
  137. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/io.hpp +36 -27
  138. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/read_op.hpp +1 -1
  139. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/shutdown_op.hpp +2 -2
  140. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/stream_core.hpp +37 -0
  141. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/write_op.hpp +1 -1
  142. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/context.ipp +14 -7
  143. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/stream.hpp +73 -1
  144. data/src/cxx_supportlib/vendor-modified/boost/asio/system_executor.hpp +4 -4
  145. data/src/cxx_supportlib/vendor-modified/boost/asio/this_coro.hpp +235 -0
  146. data/src/cxx_supportlib/vendor-modified/boost/asio/thread_pool.hpp +4 -4
  147. data/src/cxx_supportlib/vendor-modified/boost/asio/use_awaitable.hpp +7 -10
  148. data/src/cxx_supportlib/vendor-modified/boost/asio/version.hpp +1 -1
  149. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_random_access_handle.hpp +20 -0
  150. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_stream_handle.hpp +20 -0
  151. data/src/cxx_supportlib/vendor-modified/boost/asio/write.hpp +88 -0
  152. data/src/cxx_supportlib/vendor-modified/boost/asio/write_at.hpp +44 -0
  153. data/src/cxx_supportlib/vendor-modified/boost/asio.hpp +6 -0
  154. data/src/cxx_supportlib/vendor-modified/boost/atomic/atomic_ref.hpp +14 -1
  155. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/config.hpp +17 -13
  156. data/src/cxx_supportlib/vendor-modified/boost/atomic/ipc_atomic_ref.hpp +14 -1
  157. data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx03.hpp +2 -5
  158. data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx11.hpp +2 -5
  159. data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx14.hpp +2 -2
  160. data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx17.hpp +2 -2
  161. data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx20.hpp +56 -0
  162. data/src/cxx_supportlib/vendor-modified/boost/config/auto_link.hpp +1 -5
  163. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/common_edg.hpp +31 -11
  164. data/src/cxx_supportlib/vendor-modified/boost/config/detail/cxx_composite.hpp +20 -4
  165. data/src/cxx_supportlib/vendor-modified/boost/config/detail/select_platform_config.hpp +5 -0
  166. data/src/cxx_supportlib/vendor-modified/boost/config/detail/suffix.hpp +81 -0
  167. data/src/cxx_supportlib/vendor-modified/boost/config/platform/bsd.hpp +5 -8
  168. data/src/cxx_supportlib/vendor-modified/boost/config/platform/wasm.hpp +17 -0
  169. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/dinkumware.hpp +26 -0
  170. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libcpp.hpp +49 -0
  171. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libstdcpp3.hpp +46 -4
  172. data/src/cxx_supportlib/vendor-modified/boost/container/adaptive_pool.hpp +2 -2
  173. data/src/cxx_supportlib/vendor-modified/boost/container/allocator.hpp +1 -1
  174. data/src/cxx_supportlib/vendor-modified/boost/container/detail/adaptive_node_pool.hpp +2 -2
  175. data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_pool.hpp +2 -2
  176. data/src/cxx_supportlib/vendor-modified/boost/container/detail/std_fwd.hpp +3 -0
  177. data/src/cxx_supportlib/vendor-modified/boost/container/devector.hpp +2 -2
  178. data/src/cxx_supportlib/vendor-modified/boost/container/new_allocator.hpp +1 -1
  179. data/src/cxx_supportlib/vendor-modified/boost/container/node_allocator.hpp +1 -1
  180. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/polymorphic_allocator.hpp +6 -6
  181. data/src/cxx_supportlib/vendor-modified/boost/container/static_vector.hpp +4 -4
  182. data/src/cxx_supportlib/vendor-modified/boost/container/throw_exception.hpp +45 -38
  183. data/src/cxx_supportlib/vendor-modified/boost/container/vector.hpp +24 -0
  184. data/src/cxx_supportlib/vendor-modified/boost/core/ignore_unused.hpp +32 -2
  185. data/src/cxx_supportlib/vendor-modified/boost/core/uncaught_exceptions.hpp +7 -7
  186. data/src/cxx_supportlib/vendor-modified/boost/date_time/compiler_config.hpp +0 -24
  187. data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/time_parsers.hpp +4 -0
  188. data/src/cxx_supportlib/vendor-modified/boost/intrusive/any_hook.hpp +4 -4
  189. data/src/cxx_supportlib/vendor-modified/boost/intrusive/avl_set.hpp +83 -83
  190. data/src/cxx_supportlib/vendor-modified/boost/intrusive/avltree.hpp +43 -43
  191. data/src/cxx_supportlib/vendor-modified/boost/intrusive/avltree_algorithms.hpp +31 -31
  192. data/src/cxx_supportlib/vendor-modified/boost/intrusive/bs_set.hpp +85 -85
  193. data/src/cxx_supportlib/vendor-modified/boost/intrusive/bstree.hpp +68 -68
  194. data/src/cxx_supportlib/vendor-modified/boost/intrusive/bstree_algorithms.hpp +72 -62
  195. data/src/cxx_supportlib/vendor-modified/boost/intrusive/circular_list_algorithms.hpp +19 -20
  196. data/src/cxx_supportlib/vendor-modified/boost/intrusive/circular_slist_algorithms.hpp +19 -19
  197. data/src/cxx_supportlib/vendor-modified/boost/intrusive/derivation_value_traits.hpp +4 -4
  198. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/any_node_and_algorithms.hpp +2 -2
  199. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/bstree_algorithms_base.hpp +3 -3
  200. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/common_slist_algorithms.hpp +5 -5
  201. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/config_begin.hpp +1 -0
  202. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/generic_hook.hpp +8 -8
  203. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hash_combine.hpp +2 -4
  204. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hashtable_node.hpp +1 -1
  205. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/math.hpp +2 -50
  206. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/node_cloner_disposer.hpp +1 -1
  207. data/src/cxx_supportlib/vendor-modified/boost/intrusive/hashtable.hpp +71 -70
  208. data/src/cxx_supportlib/vendor-modified/boost/intrusive/linear_slist_algorithms.hpp +15 -14
  209. data/src/cxx_supportlib/vendor-modified/boost/intrusive/list.hpp +84 -82
  210. data/src/cxx_supportlib/vendor-modified/boost/intrusive/list_hook.hpp +10 -10
  211. data/src/cxx_supportlib/vendor-modified/boost/intrusive/member_value_traits.hpp +4 -4
  212. data/src/cxx_supportlib/vendor-modified/boost/intrusive/parent_from_member.hpp +2 -2
  213. data/src/cxx_supportlib/vendor-modified/boost/intrusive/pointer_plus_bits.hpp +4 -4
  214. data/src/cxx_supportlib/vendor-modified/boost/intrusive/pointer_traits.hpp +18 -18
  215. data/src/cxx_supportlib/vendor-modified/boost/intrusive/rbtree.hpp +43 -43
  216. data/src/cxx_supportlib/vendor-modified/boost/intrusive/rbtree_algorithms.hpp +26 -26
  217. data/src/cxx_supportlib/vendor-modified/boost/intrusive/set.hpp +85 -85
  218. data/src/cxx_supportlib/vendor-modified/boost/intrusive/set_hook.hpp +12 -12
  219. data/src/cxx_supportlib/vendor-modified/boost/intrusive/sg_set.hpp +93 -93
  220. data/src/cxx_supportlib/vendor-modified/boost/intrusive/sgtree.hpp +51 -51
  221. data/src/cxx_supportlib/vendor-modified/boost/intrusive/sgtree_algorithms.hpp +24 -24
  222. data/src/cxx_supportlib/vendor-modified/boost/intrusive/slist.hpp +104 -104
  223. data/src/cxx_supportlib/vendor-modified/boost/intrusive/slist_hook.hpp +8 -6
  224. data/src/cxx_supportlib/vendor-modified/boost/intrusive/splay_set.hpp +91 -91
  225. data/src/cxx_supportlib/vendor-modified/boost/intrusive/splaytree.hpp +46 -46
  226. data/src/cxx_supportlib/vendor-modified/boost/intrusive/splaytree_algorithms.hpp +31 -31
  227. data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap.hpp +51 -51
  228. data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap_algorithms.hpp +18 -18
  229. data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap_set.hpp +97 -97
  230. data/src/cxx_supportlib/vendor-modified/boost/intrusive/trivial_value_traits.hpp +6 -4
  231. data/src/cxx_supportlib/vendor-modified/boost/intrusive/unordered_set.hpp +63 -63
  232. data/src/cxx_supportlib/vendor-modified/boost/intrusive/unordered_set_hook.hpp +15 -15
  233. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_numeric.hpp +4 -1
  234. data/src/cxx_supportlib/vendor-modified/boost/move/detail/config_begin.hpp +1 -0
  235. data/src/cxx_supportlib/vendor-modified/boost/move/detail/iterator_traits.hpp +1 -0
  236. data/src/cxx_supportlib/vendor-modified/boost/move/detail/nsec_clock.hpp +1 -1
  237. data/src/cxx_supportlib/vendor-modified/boost/operators.hpp +2 -0
  238. data/src/cxx_supportlib/vendor-modified/boost/regex/concepts.hpp +1 -1
  239. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_parser.hpp +3 -0
  240. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/unicode_iterator.hpp +112 -31
  241. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/basic_regex_parser.hpp +3 -0
  242. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/mem_block_cache.hpp +4 -8
  243. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/unicode_iterator.hpp +0 -2
  244. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/w32_regex_traits.hpp +6 -2
  245. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/shared_count.hpp +1 -1
  246. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_impl.hpp +22 -2
  247. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/shared_ptr.hpp +59 -1
  248. data/src/cxx_supportlib/vendor-modified/boost/system/detail/config.hpp +9 -11
  249. data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_category.hpp +27 -21
  250. data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_category_impl.hpp +34 -3
  251. data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_code.hpp +378 -36
  252. data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_condition.hpp +97 -21
  253. data/src/cxx_supportlib/vendor-modified/boost/system/detail/interop_category.hpp +107 -0
  254. data/src/cxx_supportlib/vendor-modified/boost/system/detail/is_same.hpp +33 -0
  255. data/src/cxx_supportlib/vendor-modified/boost/system/detail/snprintf.hpp +70 -0
  256. data/src/cxx_supportlib/vendor-modified/boost/system/detail/{to_std_category.hpp → std_category.hpp} +5 -55
  257. data/src/cxx_supportlib/vendor-modified/boost/system/detail/system_category_impl.hpp +2 -12
  258. data/src/cxx_supportlib/vendor-modified/boost/system/error_code.hpp +0 -33
  259. data/src/cxx_supportlib/vendor-modified/boost/utility/detail/result_of_variadic.hpp +190 -0
  260. data/src/cxx_supportlib/vendor-modified/boost/utility/result_of.hpp +20 -9
  261. data/src/cxx_supportlib/vendor-modified/boost/utility/string_view.hpp +3 -1
  262. data/src/cxx_supportlib/vendor-modified/boost/version.hpp +2 -2
  263. data/src/nginx_module/ConfigGeneral/AutoGeneratedDefinitions.c +8 -0
  264. data/src/nginx_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.c +6 -0
  265. data/src/nginx_module/ConfigGeneral/AutoGeneratedSetterFuncs.c +12 -0
  266. data/src/nginx_module/LocationConfig/AutoGeneratedCreateFunction.c +5 -0
  267. data/src/nginx_module/LocationConfig/AutoGeneratedHeaderSerialization.c +21 -0
  268. data/src/nginx_module/LocationConfig/AutoGeneratedManifestGeneration.c +13 -0
  269. data/src/nginx_module/LocationConfig/AutoGeneratedMergeFunction.c +3 -0
  270. data/src/nginx_module/LocationConfig/AutoGeneratedStruct.h +4 -0
  271. data/src/ruby_supportlib/phusion_passenger/admin_tools/instance_registry.rb +3 -2
  272. data/src/ruby_supportlib/phusion_passenger/loader_shared_helpers.rb +8 -1
  273. data/src/ruby_supportlib/phusion_passenger/nginx/config_options.rb +6 -0
  274. data/src/ruby_supportlib/phusion_passenger/packaging.rb +1 -0
  275. data/src/ruby_supportlib/phusion_passenger/platform_info/openssl.rb +1 -1
  276. data/src/ruby_supportlib/phusion_passenger/platform_info/operating_system.rb +8 -0
  277. data/src/ruby_supportlib/phusion_passenger/request_handler.rb +4 -1
  278. data/src/ruby_supportlib/phusion_passenger.rb +1 -1
  279. metadata +39 -4
  280. data/src/cxx_supportlib/vendor-modified/boost/system/detail/is_generic_value.hpp +0 -125
@@ -16,6 +16,7 @@
16
16
  #endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
17
17
 
18
18
  #include <boost/asio/detail/config.hpp>
19
+ #include <boost/asio/detail/type_traits.hpp>
19
20
 
20
21
  #include <boost/asio/detail/push_options.hpp>
21
22
 
@@ -38,6 +39,240 @@ constexpr executor_t executor;
38
39
  __declspec(selectany) executor_t executor;
39
40
  #endif
40
41
 
42
+ /// Awaitable type that returns the cancellation state of the current coroutine.
43
+ struct cancellation_state_t
44
+ {
45
+ BOOST_ASIO_CONSTEXPR cancellation_state_t()
46
+ {
47
+ }
48
+ };
49
+
50
+ /// Awaitable object that returns the cancellation state of the current
51
+ /// coroutine.
52
+ /**
53
+ * @par Example
54
+ * @code boost::asio::awaitable<void> my_coroutine()
55
+ * {
56
+ * boost::asio::cancellation_state cs
57
+ * = co_await boost::asio::this_coro::cancellation_state;
58
+ *
59
+ * // ...
60
+ *
61
+ * if (cs.cancelled() != boost::asio::cancellation_type::none)
62
+ * // ...
63
+ * } @endcode
64
+ */
65
+ #if defined(BOOST_ASIO_HAS_CONSTEXPR) || defined(GENERATING_DOCUMENTATION)
66
+ constexpr cancellation_state_t cancellation_state;
67
+ #elif defined(BOOST_ASIO_MSVC)
68
+ __declspec(selectany) cancellation_state_t cancellation_state;
69
+ #endif
70
+
71
+ #if defined(GENERATING_DOCUMENTATION)
72
+
73
+ /// Returns an awaitable object that may be used to reset the cancellation state
74
+ /// of the current coroutine.
75
+ /**
76
+ * Let <tt>P</tt> be the cancellation slot associated with the current
77
+ * coroutine's `co_spawn` completion handler. Assigns a new
78
+ * boost::asio::cancellation_state object <tt>S</tt>, constructed as
79
+ * <tt>S(P)</tt>, into the current coroutine's cancellation state object.
80
+ *
81
+ * @par Example
82
+ * @code boost::asio::awaitable<void> my_coroutine()
83
+ * {
84
+ * co_await boost::asio::this_coro::reset_cancellation_state();
85
+ *
86
+ * // ...
87
+ * } @endcode
88
+ *
89
+ * @note The cancellation state is shared by all coroutines in the same "thread
90
+ * of execution" that was created using boost::asio::co_spawn.
91
+ */
92
+ BOOST_ASIO_NODISCARD BOOST_ASIO_CONSTEXPR unspecified
93
+ reset_cancellation_state();
94
+
95
+ /// Returns an awaitable object that may be used to reset the cancellation state
96
+ /// of the current coroutine.
97
+ /**
98
+ * Let <tt>P</tt> be the cancellation slot associated with the current
99
+ * coroutine's `co_spawn` completion handler. Assigns a new
100
+ * boost::asio::cancellation_state object <tt>S</tt>, constructed as <tt>S(P,
101
+ * std::forward<Filter>(filter))</tt>, into the current coroutine's
102
+ * cancellation state object.
103
+ *
104
+ * @par Example
105
+ * @code boost::asio::awaitable<void> my_coroutine()
106
+ * {
107
+ * co_await boost::asio::this_coro::reset_cancellation_state(
108
+ * boost::asio::enable_partial_cancellation());
109
+ *
110
+ * // ...
111
+ * } @endcode
112
+ *
113
+ * @note The cancellation state is shared by all coroutines in the same "thread
114
+ * of execution" that was created using boost::asio::co_spawn.
115
+ */
116
+ template <typename Filter>
117
+ BOOST_ASIO_NODISCARD BOOST_ASIO_CONSTEXPR unspecified
118
+ reset_cancellation_state(BOOST_ASIO_MOVE_ARG(Filter) filter);
119
+
120
+ /// Returns an awaitable object that may be used to reset the cancellation state
121
+ /// of the current coroutine.
122
+ /**
123
+ * Let <tt>P</tt> be the cancellation slot associated with the current
124
+ * coroutine's `co_spawn` completion handler. Assigns a new
125
+ * boost::asio::cancellation_state object <tt>S</tt>, constructed as <tt>S(P,
126
+ * std::forward<InFilter>(in_filter),
127
+ * std::forward<OutFilter>(out_filter))</tt>, into the current coroutine's
128
+ * cancellation state object.
129
+ *
130
+ * @par Example
131
+ * @code boost::asio::awaitable<void> my_coroutine()
132
+ * {
133
+ * co_await boost::asio::this_coro::reset_cancellation_state(
134
+ * boost::asio::enable_partial_cancellation(),
135
+ * boost::asio::disable_cancellation());
136
+ *
137
+ * // ...
138
+ * } @endcode
139
+ *
140
+ * @note The cancellation state is shared by all coroutines in the same "thread
141
+ * of execution" that was created using boost::asio::co_spawn.
142
+ */
143
+ template <typename InFilter, typename OutFilter>
144
+ BOOST_ASIO_NODISCARD BOOST_ASIO_CONSTEXPR unspecified
145
+ reset_cancellation_state(
146
+ BOOST_ASIO_MOVE_ARG(InFilter) in_filter,
147
+ BOOST_ASIO_MOVE_ARG(OutFilter) out_filter);
148
+
149
+ /// Returns an awaitable object that may be used to determine whether the
150
+ /// coroutine throws if trying to suspend when it has been cancelled.
151
+ /**
152
+ * @par Example
153
+ * @code boost::asio::awaitable<void> my_coroutine()
154
+ * {
155
+ * if (co_await boost::asio::this_coro::throw_if_cancelled)
156
+ * // ...
157
+ *
158
+ * // ...
159
+ * } @endcode
160
+ */
161
+ BOOST_ASIO_NODISCARD BOOST_ASIO_CONSTEXPR unspecified
162
+ throw_if_cancelled();
163
+
164
+ /// Returns an awaitable object that may be used to specify whether the
165
+ /// coroutine throws if trying to suspend when it has been cancelled.
166
+ /**
167
+ * @par Example
168
+ * @code boost::asio::awaitable<void> my_coroutine()
169
+ * {
170
+ * co_await boost::asio::this_coro::throw_if_cancelled(false);
171
+ *
172
+ * // ...
173
+ * } @endcode
174
+ */
175
+ BOOST_ASIO_NODISCARD BOOST_ASIO_CONSTEXPR unspecified
176
+ throw_if_cancelled(bool value);
177
+
178
+ #else // defined(GENERATING_DOCUMENTATION)
179
+
180
+ struct reset_cancellation_state_0_t
181
+ {
182
+ BOOST_ASIO_CONSTEXPR reset_cancellation_state_0_t()
183
+ {
184
+ }
185
+ };
186
+
187
+ BOOST_ASIO_NODISCARD inline BOOST_ASIO_CONSTEXPR reset_cancellation_state_0_t
188
+ reset_cancellation_state()
189
+ {
190
+ return reset_cancellation_state_0_t();
191
+ }
192
+
193
+ template <typename Filter>
194
+ struct reset_cancellation_state_1_t
195
+ {
196
+ template <typename F>
197
+ BOOST_ASIO_CONSTEXPR reset_cancellation_state_1_t(
198
+ BOOST_ASIO_MOVE_ARG(F) filter)
199
+ : filter(BOOST_ASIO_MOVE_CAST(F)(filter))
200
+ {
201
+ }
202
+
203
+ Filter filter;
204
+ };
205
+
206
+ template <typename Filter>
207
+ BOOST_ASIO_NODISCARD inline BOOST_ASIO_CONSTEXPR reset_cancellation_state_1_t<
208
+ typename decay<Filter>::type>
209
+ reset_cancellation_state(BOOST_ASIO_MOVE_ARG(Filter) filter)
210
+ {
211
+ return reset_cancellation_state_1_t<typename decay<Filter>::type>(
212
+ BOOST_ASIO_MOVE_CAST(Filter)(filter));
213
+ }
214
+
215
+ template <typename InFilter, typename OutFilter>
216
+ struct reset_cancellation_state_2_t
217
+ {
218
+ template <typename F1, typename F2>
219
+ BOOST_ASIO_CONSTEXPR reset_cancellation_state_2_t(
220
+ BOOST_ASIO_MOVE_ARG(F1) in_filter, BOOST_ASIO_MOVE_ARG(F2) out_filter)
221
+ : in_filter(BOOST_ASIO_MOVE_CAST(F1)(in_filter)),
222
+ out_filter(BOOST_ASIO_MOVE_CAST(F2)(out_filter))
223
+ {
224
+ }
225
+
226
+ InFilter in_filter;
227
+ OutFilter out_filter;
228
+ };
229
+
230
+ template <typename InFilter, typename OutFilter>
231
+ BOOST_ASIO_NODISCARD inline BOOST_ASIO_CONSTEXPR reset_cancellation_state_2_t<
232
+ typename decay<InFilter>::type,
233
+ typename decay<OutFilter>::type>
234
+ reset_cancellation_state(
235
+ BOOST_ASIO_MOVE_ARG(InFilter) in_filter,
236
+ BOOST_ASIO_MOVE_ARG(OutFilter) out_filter)
237
+ {
238
+ return reset_cancellation_state_2_t<
239
+ typename decay<InFilter>::type,
240
+ typename decay<OutFilter>::type>(
241
+ BOOST_ASIO_MOVE_CAST(InFilter)(in_filter),
242
+ BOOST_ASIO_MOVE_CAST(OutFilter)(out_filter));
243
+ }
244
+
245
+ struct throw_if_cancelled_0_t
246
+ {
247
+ BOOST_ASIO_CONSTEXPR throw_if_cancelled_0_t()
248
+ {
249
+ }
250
+ };
251
+
252
+ BOOST_ASIO_NODISCARD inline BOOST_ASIO_CONSTEXPR throw_if_cancelled_0_t
253
+ throw_if_cancelled()
254
+ {
255
+ return throw_if_cancelled_0_t();
256
+ }
257
+
258
+ struct throw_if_cancelled_1_t
259
+ {
260
+ BOOST_ASIO_CONSTEXPR throw_if_cancelled_1_t(bool value)
261
+ : value(value)
262
+ {
263
+ }
264
+
265
+ bool value;
266
+ };
267
+
268
+ BOOST_ASIO_NODISCARD inline BOOST_ASIO_CONSTEXPR throw_if_cancelled_1_t
269
+ throw_if_cancelled(bool value)
270
+ {
271
+ return throw_if_cancelled_1_t(value);
272
+ }
273
+
274
+ #endif // defined(GENERATING_DOCUMENTATION)
275
+
41
276
  } // namespace this_coro
42
277
  } // namespace asio
43
278
  } // namespace boost
@@ -233,8 +233,8 @@ public:
233
233
 
234
234
  #if !defined(GENERATING_DOCUMENTATION)
235
235
  private:
236
- friend struct asio_require_fn::impl;
237
- friend struct asio_prefer_fn::impl;
236
+ friend struct boost_asio_require_fn::impl;
237
+ friend struct boost_asio_prefer_fn::impl;
238
238
  #endif // !defined(GENERATING_DOCUMENTATION)
239
239
 
240
240
  /// Obtain an executor with the @c blocking.possibly property.
@@ -399,7 +399,7 @@ private:
399
399
 
400
400
  #if !defined(GENERATING_DOCUMENTATION)
401
401
  private:
402
- friend struct asio_query_fn::impl;
402
+ friend struct boost_asio_query_fn::impl;
403
403
  friend struct boost::asio::execution::detail::mapping_t<0>;
404
404
  friend struct boost::asio::execution::detail::outstanding_work_t<0>;
405
405
  #endif // !defined(GENERATING_DOCUMENTATION)
@@ -594,7 +594,7 @@ public:
594
594
 
595
595
  #if !defined(GENERATING_DOCUMENTATION)
596
596
  private:
597
- friend struct asio_execution_execute_fn::impl;
597
+ friend struct boost_asio_execution_execute_fn::impl;
598
598
  #endif // !defined(GENERATING_DOCUMENTATION)
599
599
 
600
600
  /// Execution function.
@@ -100,17 +100,14 @@ struct use_awaitable_t
100
100
  typedef use_awaitable_t default_completion_token_type;
101
101
 
102
102
  /// Construct the adapted executor from the inner executor type.
103
- executor_with_default(const InnerExecutor& ex) BOOST_ASIO_NOEXCEPT
104
- : InnerExecutor(ex)
105
- {
106
- }
107
-
108
- /// Convert the specified executor to the inner executor type, then use
109
- /// that to construct the adapted executor.
110
- template <typename OtherExecutor>
111
- executor_with_default(const OtherExecutor& ex,
103
+ template <typename InnerExecutor1>
104
+ executor_with_default(const InnerExecutor1& ex,
112
105
  typename constraint<
113
- is_convertible<OtherExecutor, InnerExecutor>::value
106
+ conditional<
107
+ !is_same<InnerExecutor1, executor_with_default>::value,
108
+ is_convertible<InnerExecutor1, InnerExecutor>,
109
+ false_type
110
+ >::type::value
114
111
  >::type = 0) BOOST_ASIO_NOEXCEPT
115
112
  : InnerExecutor(ex)
116
113
  {
@@ -18,6 +18,6 @@
18
18
  // BOOST_ASIO_VERSION % 100 is the sub-minor version
19
19
  // BOOST_ASIO_VERSION / 100 % 1000 is the minor version
20
20
  // BOOST_ASIO_VERSION / 100000 is the major version
21
- #define BOOST_ASIO_VERSION 101802 // 1.18.2
21
+ #define BOOST_ASIO_VERSION 102000 // 1.20.0
22
22
 
23
23
  #endif // BOOST_ASIO_VERSION_HPP
@@ -273,6 +273,16 @@ public:
273
273
  * See the @ref buffer documentation for information on writing multiple
274
274
  * buffers in one go, and how to use it with arrays, boost::array or
275
275
  * std::vector.
276
+ *
277
+ * @par Per-Operation Cancellation
278
+ * This asynchronous operation supports cancellation for the following
279
+ * boost::asio::cancellation_type values:
280
+ *
281
+ * @li @c cancellation_type::terminal
282
+ *
283
+ * @li @c cancellation_type::partial
284
+ *
285
+ * @li @c cancellation_type::total
276
286
  */
277
287
  template <typename ConstBufferSequence,
278
288
  BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code,
@@ -395,6 +405,16 @@ public:
395
405
  * See the @ref buffer documentation for information on reading into multiple
396
406
  * buffers in one go, and how to use it with arrays, boost::array or
397
407
  * std::vector.
408
+ *
409
+ * @par Per-Operation Cancellation
410
+ * This asynchronous operation supports cancellation for the following
411
+ * boost::asio::cancellation_type values:
412
+ *
413
+ * @li @c cancellation_type::terminal
414
+ *
415
+ * @li @c cancellation_type::partial
416
+ *
417
+ * @li @c cancellation_type::total
398
418
  */
399
419
  template <typename MutableBufferSequence,
400
420
  BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code,
@@ -266,6 +266,16 @@ public:
266
266
  * See the @ref buffer documentation for information on writing multiple
267
267
  * buffers in one go, and how to use it with arrays, boost::array or
268
268
  * std::vector.
269
+ *
270
+ * @par Per-Operation Cancellation
271
+ * This asynchronous operation supports cancellation for the following
272
+ * boost::asio::cancellation_type values:
273
+ *
274
+ * @li @c cancellation_type::terminal
275
+ *
276
+ * @li @c cancellation_type::partial
277
+ *
278
+ * @li @c cancellation_type::total
269
279
  */
270
280
  template <typename ConstBufferSequence,
271
281
  BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code,
@@ -380,6 +390,16 @@ public:
380
390
  * See the @ref buffer documentation for information on reading into multiple
381
391
  * buffers in one go, and how to use it with arrays, boost::array or
382
392
  * std::vector.
393
+ *
394
+ * @par Per-Operation Cancellation
395
+ * This asynchronous operation supports cancellation for the following
396
+ * boost::asio::cancellation_type values:
397
+ *
398
+ * @li @c cancellation_type::terminal
399
+ *
400
+ * @li @c cancellation_type::partial
401
+ *
402
+ * @li @c cancellation_type::total
383
403
  */
384
404
  template <typename MutableBufferSequence,
385
405
  BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code,
@@ -761,6 +761,17 @@ std::size_t write(SyncWriteStream& s, DynamicBuffer_v2 buffers,
761
761
  * See the @ref buffer documentation for information on writing multiple
762
762
  * buffers in one go, and how to use it with arrays, boost::array or
763
763
  * std::vector.
764
+ *
765
+ * @par Per-Operation Cancellation
766
+ * This asynchronous operation supports cancellation for the following
767
+ * boost::asio::cancellation_type values:
768
+ *
769
+ * @li @c cancellation_type::terminal
770
+ *
771
+ * @li @c cancellation_type::partial
772
+ *
773
+ * if they are also supported by the @c AsyncWriteStream type's
774
+ * @c async_write_some operation.
764
775
  */
765
776
  template <typename AsyncWriteStream, typename ConstBufferSequence,
766
777
  BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code,
@@ -843,6 +854,17 @@ async_write(AsyncWriteStream& s, const ConstBufferSequence& buffers,
843
854
  * See the @ref buffer documentation for information on writing multiple
844
855
  * buffers in one go, and how to use it with arrays, boost::array or
845
856
  * std::vector.
857
+ *
858
+ * @par Per-Operation Cancellation
859
+ * This asynchronous operation supports cancellation for the following
860
+ * boost::asio::cancellation_type values:
861
+ *
862
+ * @li @c cancellation_type::terminal
863
+ *
864
+ * @li @c cancellation_type::partial
865
+ *
866
+ * if they are also supported by the @c AsyncWriteStream type's
867
+ * @c async_write_some operation.
846
868
  */
847
869
  template <typename AsyncWriteStream,
848
870
  typename ConstBufferSequence, typename CompletionCondition,
@@ -901,6 +923,17 @@ async_write(AsyncWriteStream& s, const ConstBufferSequence& buffers,
901
923
  * not, the handler will not be invoked from within this function. On
902
924
  * immediate completion, invocation of the handler will be performed in a
903
925
  * manner equivalent to using boost::asio::post().
926
+ *
927
+ * @par Per-Operation Cancellation
928
+ * This asynchronous operation supports cancellation for the following
929
+ * boost::asio::cancellation_type values:
930
+ *
931
+ * @li @c cancellation_type::terminal
932
+ *
933
+ * @li @c cancellation_type::partial
934
+ *
935
+ * if they are also supported by the @c AsyncWriteStream type's
936
+ * @c async_write_some operation.
904
937
  */
905
938
  template <typename AsyncWriteStream, typename DynamicBuffer_v1,
906
939
  BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code,
@@ -977,6 +1010,17 @@ async_write(AsyncWriteStream& s,
977
1010
  * not, the handler will not be invoked from within this function. On
978
1011
  * immediate completion, invocation of the handler will be performed in a
979
1012
  * manner equivalent to using boost::asio::post().
1013
+ *
1014
+ * @par Per-Operation Cancellation
1015
+ * This asynchronous operation supports cancellation for the following
1016
+ * boost::asio::cancellation_type values:
1017
+ *
1018
+ * @li @c cancellation_type::terminal
1019
+ *
1020
+ * @li @c cancellation_type::partial
1021
+ *
1022
+ * if they are also supported by the @c AsyncWriteStream type's
1023
+ * @c async_write_some operation.
980
1024
  */
981
1025
  template <typename AsyncWriteStream,
982
1026
  typename DynamicBuffer_v1, typename CompletionCondition,
@@ -1038,6 +1082,17 @@ async_write(AsyncWriteStream& s,
1038
1082
  * not, the handler will not be invoked from within this function. On
1039
1083
  * immediate completion, invocation of the handler will be performed in a
1040
1084
  * manner equivalent to using boost::asio::post().
1085
+ *
1086
+ * @par Per-Operation Cancellation
1087
+ * This asynchronous operation supports cancellation for the following
1088
+ * boost::asio::cancellation_type values:
1089
+ *
1090
+ * @li @c cancellation_type::terminal
1091
+ *
1092
+ * @li @c cancellation_type::partial
1093
+ *
1094
+ * if they are also supported by the @c AsyncWriteStream type's
1095
+ * @c async_write_some operation.
1041
1096
  */
1042
1097
  template <typename AsyncWriteStream, typename Allocator,
1043
1098
  BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code,
@@ -1105,6 +1160,17 @@ async_write(AsyncWriteStream& s, basic_streambuf<Allocator>& b,
1105
1160
  * not, the handler will not be invoked from within this function. On
1106
1161
  * immediate completion, invocation of the handler will be performed in a
1107
1162
  * manner equivalent to using boost::asio::post().
1163
+ *
1164
+ * @par Per-Operation Cancellation
1165
+ * This asynchronous operation supports cancellation for the following
1166
+ * boost::asio::cancellation_type values:
1167
+ *
1168
+ * @li @c cancellation_type::terminal
1169
+ *
1170
+ * @li @c cancellation_type::partial
1171
+ *
1172
+ * if they are also supported by the @c AsyncWriteStream type's
1173
+ * @c async_write_some operation.
1108
1174
  */
1109
1175
  template <typename AsyncWriteStream,
1110
1176
  typename Allocator, typename CompletionCondition,
@@ -1162,6 +1228,17 @@ async_write(AsyncWriteStream& s, basic_streambuf<Allocator>& b,
1162
1228
  * not, the handler will not be invoked from within this function. On
1163
1229
  * immediate completion, invocation of the handler will be performed in a
1164
1230
  * manner equivalent to using boost::asio::post().
1231
+ *
1232
+ * @par Per-Operation Cancellation
1233
+ * This asynchronous operation supports cancellation for the following
1234
+ * boost::asio::cancellation_type values:
1235
+ *
1236
+ * @li @c cancellation_type::terminal
1237
+ *
1238
+ * @li @c cancellation_type::partial
1239
+ *
1240
+ * if they are also supported by the @c AsyncWriteStream type's
1241
+ * @c async_write_some operation.
1165
1242
  */
1166
1243
  template <typename AsyncWriteStream, typename DynamicBuffer_v2,
1167
1244
  BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code,
@@ -1234,6 +1311,17 @@ async_write(AsyncWriteStream& s, DynamicBuffer_v2 buffers,
1234
1311
  * not, the handler will not be invoked from within this function. On
1235
1312
  * immediate completion, invocation of the handler will be performed in a
1236
1313
  * manner equivalent to using boost::asio::post().
1314
+ *
1315
+ * @par Per-Operation Cancellation
1316
+ * This asynchronous operation supports cancellation for the following
1317
+ * boost::asio::cancellation_type values:
1318
+ *
1319
+ * @li @c cancellation_type::terminal
1320
+ *
1321
+ * @li @c cancellation_type::partial
1322
+ *
1323
+ * if they are also supported by the @c AsyncWriteStream type's
1324
+ * @c async_write_some operation.
1237
1325
  */
1238
1326
  template <typename AsyncWriteStream,
1239
1327
  typename DynamicBuffer_v2, typename CompletionCondition,
@@ -455,6 +455,17 @@ std::size_t write_at(SyncRandomAccessWriteDevice& d, uint64_t offset,
455
455
  * See the @ref buffer documentation for information on writing multiple
456
456
  * buffers in one go, and how to use it with arrays, boost::array or
457
457
  * std::vector.
458
+ *
459
+ * @par Per-Operation Cancellation
460
+ * This asynchronous operation supports cancellation for the following
461
+ * boost::asio::cancellation_type values:
462
+ *
463
+ * @li @c cancellation_type::terminal
464
+ *
465
+ * @li @c cancellation_type::partial
466
+ *
467
+ * if they are also supported by the @c AsyncRandomAccessWriteDevice type's
468
+ * async_write_some_at operation.
458
469
  */
459
470
  template <typename AsyncRandomAccessWriteDevice, typename ConstBufferSequence,
460
471
  BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code,
@@ -539,6 +550,17 @@ async_write_at(AsyncRandomAccessWriteDevice& d, uint64_t offset,
539
550
  * See the @ref buffer documentation for information on writing multiple
540
551
  * buffers in one go, and how to use it with arrays, boost::array or
541
552
  * std::vector.
553
+ *
554
+ * @par Per-Operation Cancellation
555
+ * This asynchronous operation supports cancellation for the following
556
+ * boost::asio::cancellation_type values:
557
+ *
558
+ * @li @c cancellation_type::terminal
559
+ *
560
+ * @li @c cancellation_type::partial
561
+ *
562
+ * if they are also supported by the @c AsyncRandomAccessWriteDevice type's
563
+ * async_write_some_at operation.
542
564
  */
543
565
  template <typename AsyncRandomAccessWriteDevice,
544
566
  typename ConstBufferSequence, typename CompletionCondition,
@@ -602,6 +624,17 @@ async_write_at(AsyncRandomAccessWriteDevice& d,
602
624
  * not, the handler will not be invoked from within this function. On
603
625
  * immediate completion, invocation of the handler will be performed in a
604
626
  * manner equivalent to using boost::asio::post().
627
+ *
628
+ * @par Per-Operation Cancellation
629
+ * This asynchronous operation supports cancellation for the following
630
+ * boost::asio::cancellation_type values:
631
+ *
632
+ * @li @c cancellation_type::terminal
633
+ *
634
+ * @li @c cancellation_type::partial
635
+ *
636
+ * if they are also supported by the @c AsyncRandomAccessWriteDevice type's
637
+ * async_write_some_at operation.
605
638
  */
606
639
  template <typename AsyncRandomAccessWriteDevice, typename Allocator,
607
640
  BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code,
@@ -674,6 +707,17 @@ async_write_at(AsyncRandomAccessWriteDevice& d,
674
707
  * not, the handler will not be invoked from within this function. On
675
708
  * immediate completion, invocation of the handler will be performed in a
676
709
  * manner equivalent to using boost::asio::post().
710
+ *
711
+ * @par Per-Operation Cancellation
712
+ * This asynchronous operation supports cancellation for the following
713
+ * boost::asio::cancellation_type values:
714
+ *
715
+ * @li @c cancellation_type::terminal
716
+ *
717
+ * @li @c cancellation_type::partial
718
+ *
719
+ * if they are also supported by the @c AsyncRandomAccessWriteDevice type's
720
+ * async_write_some_at operation.
677
721
  */
678
722
  template <typename AsyncRandomAccessWriteDevice,
679
723
  typename Allocator, typename CompletionCondition,
@@ -19,6 +19,8 @@
19
19
 
20
20
  #include <boost/asio/associated_allocator.hpp>
21
21
  #include <boost/asio/associated_executor.hpp>
22
+ #include <boost/asio/associated_cancellation_slot.hpp>
23
+ #include <boost/asio/associator.hpp>
22
24
  #include <boost/asio/async_result.hpp>
23
25
  #include <boost/asio/awaitable.hpp>
24
26
  #include <boost/asio/basic_datagram_socket.hpp>
@@ -35,6 +37,7 @@
35
37
  #include <boost/asio/basic_stream_socket.hpp>
36
38
  #include <boost/asio/basic_streambuf.hpp>
37
39
  #include <boost/asio/basic_waitable_timer.hpp>
40
+ #include <boost/asio/bind_cancellation_slot.hpp>
38
41
  #include <boost/asio/bind_executor.hpp>
39
42
  #include <boost/asio/buffer.hpp>
40
43
  #include <boost/asio/buffered_read_stream_fwd.hpp>
@@ -44,6 +47,9 @@
44
47
  #include <boost/asio/buffered_write_stream_fwd.hpp>
45
48
  #include <boost/asio/buffered_write_stream.hpp>
46
49
  #include <boost/asio/buffers_iterator.hpp>
50
+ #include <boost/asio/cancellation_signal.hpp>
51
+ #include <boost/asio/cancellation_state.hpp>
52
+ #include <boost/asio/cancellation_type.hpp>
47
53
  #include <boost/asio/co_spawn.hpp>
48
54
  #include <boost/asio/completion_condition.hpp>
49
55
  #include <boost/asio/compose.hpp>
@@ -3,7 +3,7 @@
3
3
  * (See accompanying file LICENSE_1_0.txt or copy at
4
4
  * http://www.boost.org/LICENSE_1_0.txt)
5
5
  *
6
- * Copyright (c) 2020 Andrey Semashev
6
+ * Copyright (c) 2020-2021 Andrey Semashev
7
7
  */
8
8
  /*!
9
9
  * \file atomic/atomic_ref.hpp
@@ -74,9 +74,22 @@ public:
74
74
  BOOST_DELETED_FUNCTION(atomic_ref& operator= (atomic_ref const&))
75
75
  };
76
76
 
77
+ #if !defined(BOOST_ATOMIC_DETAIL_NO_CXX17_DEDUCTION_GUIDES)
78
+ template< typename T >
79
+ atomic_ref(T&) -> atomic_ref< T >;
80
+ #endif // !defined(BOOST_ATOMIC_DETAIL_NO_CXX17_DEDUCTION_GUIDES)
81
+
82
+ //! Atomic reference factory function
83
+ template< typename T >
84
+ BOOST_FORCEINLINE atomic_ref< T > make_atomic_ref(T& value) BOOST_NOEXCEPT
85
+ {
86
+ return atomic_ref< T >(value);
87
+ }
88
+
77
89
  } // namespace atomics
78
90
 
79
91
  using atomics::atomic_ref;
92
+ using atomics::make_atomic_ref;
80
93
 
81
94
  } // namespace boost
82
95