passenger 6.0.26 → 6.1.0

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.
Files changed (915) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG +38 -1
  3. data/CONTRIBUTING.md +2 -2
  4. data/CONTRIBUTORS +2 -0
  5. data/bin/passenger-install-apache2-module +6 -3
  6. data/bin/passenger-install-nginx-module +8 -3
  7. data/build/agent.rb +0 -2
  8. data/build/basics.rb +2 -0
  9. data/build/common_library.rb +0 -6
  10. data/build/misc.rb +0 -2
  11. data/build/schema_printer.rb +0 -2
  12. data/build/support/cxx_dependency_map.rb +60 -875
  13. data/dev/copy_boost_headers +3 -14
  14. data/dev/index_cxx_dependencies.rb +5 -1
  15. data/doc/AiInstructions.md +112 -0
  16. data/doc/CxxMockingStrategy.md +42 -0
  17. data/doc/CxxTestingGuide.md +110 -0
  18. data/doc/DesignAspects/LimitedGemDependencies.md +22 -14
  19. data/doc/TempFileHandling.md +15 -0
  20. data/package.json +1 -1
  21. data/passenger.gemspec +1 -1
  22. data/resources/templates/standalone/server.erb +1 -0
  23. data/src/agent/Core/ApiServer.h +0 -1
  24. data/src/agent/Core/ApplicationPool/AbstractSession.h +10 -1
  25. data/src/agent/Core/ApplicationPool/Group/ProcessListManagement.cpp +1 -1
  26. data/src/agent/Core/ApplicationPool/Group/SessionManagement.cpp +33 -18
  27. data/src/agent/Core/ApplicationPool/Group.h +0 -1
  28. data/src/agent/Core/ApplicationPool/Implementation.cpp +1 -4
  29. data/src/agent/Core/ApplicationPool/Session.h +14 -19
  30. data/src/agent/Core/ApplicationPool/Socket.h +15 -5
  31. data/src/agent/Core/ApplicationPool/TestSession.h +73 -15
  32. data/src/agent/Core/Config.h +2 -39
  33. data/src/agent/Core/ConfigChange.cpp +1 -41
  34. data/src/agent/Core/Controller/CheckoutSession.cpp +100 -14
  35. data/src/agent/Core/Controller/Client.h +0 -1
  36. data/src/agent/Core/Controller/Config.h +1 -1
  37. data/src/agent/Core/Controller/Hooks.cpp +13 -0
  38. data/src/agent/Core/Controller/InitRequest.cpp +2 -0
  39. data/src/agent/Core/Controller/InternalUtils.cpp +12 -0
  40. data/src/agent/Core/Controller/Request.h +3 -2
  41. data/src/agent/Core/Controller.h +12 -13
  42. data/src/agent/Core/CoreMain.cpp +2 -56
  43. data/src/agent/Core/OptionParser.h +1 -7
  44. data/src/agent/Core/SecurityUpdateChecker.h +10 -2
  45. data/src/agent/Core/SpawningKit/Exceptions.h +0 -1
  46. data/src/agent/Core/SpawningKit/Handshake/Perform.h +13 -2
  47. data/src/agent/Shared/Fundamentals/AbortHandler.cpp +23 -5
  48. data/src/agent/Shared/Fundamentals/AbortHandler.h +10 -22
  49. data/src/agent/Shared/Fundamentals/Initialization.cpp +1 -0
  50. data/src/agent/Watchdog/Config.h +2 -21
  51. data/src/agent/Watchdog/WatchdogMain.cpp +0 -2
  52. data/src/apache2_module/ConfigGeneral/AutoGeneratedDefinitions.cpp +5 -20
  53. data/src/apache2_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.cpp +5 -0
  54. data/src/apache2_module/ConfigGeneral/AutoGeneratedSetterFuncs.cpp +14 -60
  55. data/src/apache2_module/DirConfig/AutoGeneratedCreateFunction.cpp +3 -0
  56. data/src/apache2_module/DirConfig/AutoGeneratedHeaderSerialization.cpp +3 -0
  57. data/src/apache2_module/DirConfig/AutoGeneratedManifestGeneration.cpp +11 -0
  58. data/src/apache2_module/DirConfig/AutoGeneratedMergeFunction.cpp +7 -0
  59. data/src/apache2_module/DirConfig/AutoGeneratedStruct.h +17 -0
  60. data/src/apache2_module/Hooks.cpp +0 -10
  61. data/src/apache2_module/ServerConfig/AutoGeneratedManifestGeneration.cpp +0 -44
  62. data/src/apache2_module/ServerConfig/AutoGeneratedStruct.h +0 -52
  63. data/src/cxx_supportlib/Algorithms/Hasher.cpp +1 -1
  64. data/src/cxx_supportlib/Algorithms/Hasher.h +4 -7
  65. data/src/cxx_supportlib/Algorithms/MovingAverage.h +1 -160
  66. data/src/cxx_supportlib/ConfigKit/IN_PRACTICE.md +2 -12
  67. data/src/cxx_supportlib/ConfigKit/Store.h +1 -6
  68. data/src/cxx_supportlib/Constants.h +2 -1
  69. data/src/cxx_supportlib/DataStructures/StringKeyTable.h +1 -7
  70. data/src/cxx_supportlib/DataStructures/StringMap.h +2 -3
  71. data/src/cxx_supportlib/Exceptions.cpp +178 -0
  72. data/src/cxx_supportlib/Exceptions.h +62 -177
  73. data/src/cxx_supportlib/FileTools/FileManip.h +2 -0
  74. data/src/cxx_supportlib/Hooks.h +0 -1
  75. data/src/cxx_supportlib/IOTools/IOUtils.cpp +266 -250
  76. data/src/cxx_supportlib/IOTools/IOUtils.h +87 -132
  77. data/src/cxx_supportlib/ServerKit/AcceptLoadBalancer.h +2 -0
  78. data/src/cxx_supportlib/ServerKit/Config.h +1 -6
  79. data/src/cxx_supportlib/ServerKit/FileBufferedChannel.h +1 -1
  80. data/src/cxx_supportlib/ServerKit/HttpHeaderParser.h +8 -6
  81. data/src/cxx_supportlib/StaticString.h +1 -6
  82. data/src/cxx_supportlib/StrIntTools/StrIntUtils.h +2 -2
  83. data/src/cxx_supportlib/SystemTools/SystemMetricsCollector.h +0 -2
  84. data/src/cxx_supportlib/Utils/Curl.h +1 -6
  85. data/src/cxx_supportlib/Utils/FastStringStream.h +7 -7
  86. data/src/cxx_supportlib/Utils/IniFile.h +24 -25
  87. data/src/cxx_supportlib/Utils/ScopeGuard.h +0 -32
  88. data/src/cxx_supportlib/Utils.h +0 -30
  89. data/src/cxx_supportlib/oxt/detail/tracable_exception_disabled.hpp +4 -0
  90. data/src/cxx_supportlib/oxt/detail/tracable_exception_enabled.hpp +1 -0
  91. data/src/cxx_supportlib/oxt/implementation.cpp +41 -2
  92. data/src/cxx_supportlib/oxt/spin_lock.hpp +94 -23
  93. data/src/cxx_supportlib/oxt/system_calls.cpp +1 -0
  94. data/src/cxx_supportlib/oxt/system_calls.hpp +3 -4
  95. data/src/cxx_supportlib/vendor-modified/boost/container/allocator.hpp +2 -2
  96. data/src/cxx_supportlib/vendor-modified/boost/container/deque.hpp +5 -0
  97. data/src/cxx_supportlib/vendor-modified/boost/container/detail/config_begin.hpp +1 -0
  98. data/src/cxx_supportlib/vendor-modified/boost/container/detail/container_or_allocator_rebind.hpp +1 -2
  99. data/src/cxx_supportlib/vendor-modified/boost/container/detail/container_rebind.hpp +23 -13
  100. data/src/cxx_supportlib/vendor-modified/boost/container/detail/flat_tree.hpp +72 -49
  101. data/src/cxx_supportlib/vendor-modified/boost/container/detail/function_detector.hpp +1 -1
  102. data/src/cxx_supportlib/vendor-modified/boost/container/detail/is_contiguous_container.hpp +15 -11
  103. data/src/cxx_supportlib/vendor-modified/boost/container/detail/tree.hpp +4 -0
  104. data/src/cxx_supportlib/vendor-modified/boost/container/devector.hpp +36 -9
  105. data/src/cxx_supportlib/vendor-modified/boost/container/flat_map.hpp +9 -2
  106. data/src/cxx_supportlib/vendor-modified/boost/container/list.hpp +4 -0
  107. data/src/cxx_supportlib/vendor-modified/boost/container/options.hpp +21 -17
  108. data/src/cxx_supportlib/vendor-modified/boost/container/slist.hpp +5 -0
  109. data/src/cxx_supportlib/vendor-modified/boost/container/small_vector.hpp +10 -6
  110. data/src/cxx_supportlib/vendor-modified/boost/container/stable_vector.hpp +8 -3
  111. data/src/cxx_supportlib/vendor-modified/boost/container/static_vector.hpp +21 -3
  112. data/src/cxx_supportlib/vendor-modified/boost/container/string.hpp +5 -15
  113. data/src/cxx_supportlib/vendor-modified/boost/container/vector.hpp +73 -14
  114. data/src/cxx_supportlib/vendor-modified/boost/detail/basic_pointerbuf.hpp +1 -2
  115. data/src/cxx_supportlib/vendor-modified/boost/detail/lcast_precision.hpp +18 -29
  116. data/src/cxx_supportlib/vendor-modified/boost/function/function_template.hpp +7 -7
  117. data/src/cxx_supportlib/vendor-modified/boost/integer/common_factor_rt.hpp +6 -10
  118. data/src/cxx_supportlib/vendor-modified/boost/intrusive/avl_set.hpp +8 -0
  119. data/src/cxx_supportlib/vendor-modified/boost/intrusive/avltree.hpp +4 -0
  120. data/src/cxx_supportlib/vendor-modified/boost/intrusive/bs_set.hpp +8 -0
  121. data/src/cxx_supportlib/vendor-modified/boost/intrusive/bstree.hpp +12 -4
  122. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/function_detector.hpp +1 -1
  123. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/parent_from_member.hpp +5 -4
  124. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/workaround.hpp +10 -0
  125. data/src/cxx_supportlib/vendor-modified/boost/intrusive/list.hpp +5 -0
  126. data/src/cxx_supportlib/vendor-modified/boost/intrusive/rbtree.hpp +4 -0
  127. data/src/cxx_supportlib/vendor-modified/boost/intrusive/set.hpp +8 -0
  128. data/src/cxx_supportlib/vendor-modified/boost/intrusive/sg_set.hpp +8 -0
  129. data/src/cxx_supportlib/vendor-modified/boost/intrusive/sgtree.hpp +4 -0
  130. data/src/cxx_supportlib/vendor-modified/boost/intrusive/slist.hpp +5 -0
  131. data/src/cxx_supportlib/vendor-modified/boost/intrusive/splay_set.hpp +8 -0
  132. data/src/cxx_supportlib/vendor-modified/boost/intrusive/splaytree.hpp +4 -0
  133. data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap.hpp +4 -0
  134. data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap_set.hpp +8 -0
  135. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical_streams.hpp +7 -7
  136. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/inf_nan.hpp +1 -1
  137. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_unsigned_converters.hpp +1 -1
  138. data/src/cxx_supportlib/vendor-modified/boost/move/adl_move_swap.hpp +2 -0
  139. data/src/cxx_supportlib/vendor-modified/boost/move/core.hpp +4 -4
  140. data/src/cxx_supportlib/vendor-modified/boost/move/detail/meta_utils.hpp +1 -20
  141. data/src/cxx_supportlib/vendor-modified/boost/move/detail/meta_utils_core.hpp +15 -0
  142. data/src/cxx_supportlib/vendor-modified/boost/move/detail/nsec_clock.hpp +1 -1
  143. data/src/cxx_supportlib/vendor-modified/boost/move/detail/placement_new.hpp +2 -0
  144. data/src/cxx_supportlib/vendor-modified/boost/move/detail/std_ns_begin.hpp +7 -7
  145. data/src/cxx_supportlib/vendor-modified/boost/move/detail/std_ns_end.hpp +3 -0
  146. data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_count.hpp +4 -4
  147. data/src/cxx_supportlib/vendor-modified/boost/mp11/version.hpp +1 -1
  148. data/src/cxx_supportlib/vendor-modified/boost/none.hpp +1 -1
  149. data/src/cxx_supportlib/vendor-modified/boost/none_t.hpp +10 -4
  150. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/experimental_traits.hpp +4 -49
  151. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_aligned_storage.hpp +2 -3
  152. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_config.hpp +13 -4
  153. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_reference_spec.hpp +47 -46
  154. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_relops.hpp +11 -11
  155. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_swap.hpp +3 -3
  156. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_trivially_copyable_base.hpp +12 -252
  157. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_utility.hpp +41 -0
  158. data/src/cxx_supportlib/vendor-modified/boost/optional/optional.hpp +101 -592
  159. data/src/cxx_supportlib/vendor-modified/boost/optional/optional_io.hpp +1 -5
  160. data/src/cxx_supportlib/vendor-modified/boost/pointer_cast.hpp +12 -24
  161. data/src/cxx_supportlib/vendor-modified/boost/random/beta_distribution.hpp +5 -5
  162. data/src/cxx_supportlib/vendor-modified/boost/random/hyperexponential_distribution.hpp +15 -15
  163. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/allocate_shared_array.hpp +37 -44
  164. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/bad_weak_ptr.hpp +1 -23
  165. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count.hpp +1 -0
  166. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/deprecated_macros.hpp +52 -0
  167. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/local_counted_base.hpp +14 -18
  168. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/local_sp_deleter.hpp +7 -15
  169. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/shared_count.hpp +39 -90
  170. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_convertible.hpp +0 -16
  171. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base.hpp +1 -0
  172. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_nt.hpp +13 -14
  173. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp +16 -17
  174. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_impl.hpp +16 -55
  175. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_noexcept.hpp +5 -14
  176. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_type_traits.hpp +55 -0
  177. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock.hpp +1 -0
  178. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_std_atomic.hpp +5 -6
  179. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/enable_shared_from_this.hpp +7 -10
  180. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/intrusive_ptr.hpp +32 -110
  181. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/intrusive_ref_counter.hpp +17 -18
  182. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/make_shared.hpp +2 -6
  183. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/make_shared_array.hpp +10 -9
  184. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/make_shared_object.hpp +28 -565
  185. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/make_unique.hpp +11 -17
  186. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/scoped_array.hpp +17 -21
  187. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/scoped_ptr.hpp +20 -22
  188. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/shared_array.hpp +34 -68
  189. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/shared_ptr.hpp +78 -356
  190. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/weak_ptr.hpp +31 -89
  191. data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_flat_map.hpp +195 -12
  192. data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_flat_set.hpp +206 -17
  193. data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_node_map.hpp +1202 -0
  194. data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_node_map_fwd.hpp +67 -0
  195. data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_node_set.hpp +1065 -0
  196. data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_node_set_fwd.hpp +67 -0
  197. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/concurrent_static_asserts.hpp +30 -8
  198. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/concurrent_table.hpp +248 -47
  199. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/core.hpp +24 -0
  200. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/flat_map_types.hpp +10 -2
  201. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/flat_set_types.hpp +8 -2
  202. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/node_handle.hpp +120 -5
  203. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/node_map_handle.hpp +56 -0
  204. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/node_map_types.hpp +15 -4
  205. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/node_set_handle.hpp +48 -0
  206. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/node_set_types.hpp +13 -4
  207. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/tuple_rotate_right.hpp +11 -10
  208. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/types_constructibility.hpp +172 -0
  209. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/implementation.hpp +1 -0
  210. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/map.hpp +0 -17
  211. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/set.hpp +0 -17
  212. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/type_traits.hpp +11 -0
  213. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_map.hpp +9 -0
  214. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_set.hpp +9 -0
  215. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_map.hpp +2 -2
  216. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_map.hpp +32 -44
  217. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_set.hpp +31 -35
  218. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_printers.hpp +414 -0
  219. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_set.hpp +2 -2
  220. data/src/cxx_supportlib/vendor-modified/boost/version.hpp +2 -2
  221. data/src/nginx_module/ConfigGeneral/AutoGeneratedDefinitions.c +8 -32
  222. data/src/nginx_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.c +6 -0
  223. data/src/nginx_module/ConfigGeneral/AutoGeneratedSetterFuncs.c +12 -48
  224. data/src/nginx_module/LocationConfig/AutoGeneratedCreateFunction.c +5 -0
  225. data/src/nginx_module/LocationConfig/AutoGeneratedHeaderSerialization.c +21 -0
  226. data/src/nginx_module/LocationConfig/AutoGeneratedManifestGeneration.c +13 -0
  227. data/src/nginx_module/LocationConfig/AutoGeneratedMergeFunction.c +3 -0
  228. data/src/nginx_module/LocationConfig/AutoGeneratedStruct.h +4 -0
  229. data/src/nginx_module/MainConfig/AutoGeneratedCreateFunction.c +0 -24
  230. data/src/nginx_module/MainConfig/AutoGeneratedManifestGeneration.c +0 -48
  231. data/src/nginx_module/MainConfig/AutoGeneratedStruct.h +0 -16
  232. data/src/nginx_module/ngx_http_passenger_module.c +0 -4
  233. data/src/ruby_native_extension/passenger_native_support.c +19 -3
  234. data/src/ruby_supportlib/phusion_passenger/apache2/config_options.rb +8 -24
  235. data/src/ruby_supportlib/phusion_passenger/common_library.rb +0 -3
  236. data/src/ruby_supportlib/phusion_passenger/constants.rb +1 -0
  237. data/src/ruby_supportlib/phusion_passenger/nginx/config_options.rb +6 -28
  238. data/src/ruby_supportlib/phusion_passenger/platform_info/compiler.rb +15 -18
  239. data/src/ruby_supportlib/phusion_passenger/platform_info/cxx_portability.rb +4 -29
  240. data/src/ruby_supportlib/phusion_passenger/platform_info/operating_system.rb +0 -30
  241. data/src/ruby_supportlib/phusion_passenger/rack_handler.rb +2 -2
  242. data/src/ruby_supportlib/phusion_passenger/standalone/config_options_list.rb +8 -20
  243. data/src/ruby_supportlib/phusion_passenger.rb +7 -7
  244. data/src/schema_printer/SchemaPrinterMain.cpp +0 -4
  245. metadata +20 -675
  246. data/dev/websocketpp.patch +0 -39
  247. data/src/agent/Core/AdminPanelConnector.h +0 -680
  248. data/src/cxx_supportlib/DataStructures/HashMap.h +0 -60
  249. data/src/cxx_supportlib/FileTools/LargeFiles.cpp +0 -41
  250. data/src/cxx_supportlib/FileTools/LargeFiles.h +0 -43
  251. data/src/cxx_supportlib/WebSocketCommandReverseServer.h +0 -975
  252. data/src/cxx_supportlib/oxt/detail/spin_lock_darwin.hpp +0 -75
  253. data/src/cxx_supportlib/oxt/detail/spin_lock_gcc_x86.hpp +0 -85
  254. data/src/cxx_supportlib/oxt/detail/spin_lock_portable.hpp +0 -38
  255. data/src/cxx_supportlib/oxt/detail/spin_lock_pthreads.hpp +0 -111
  256. data/src/cxx_supportlib/vendor-modified/boost/asio/any_completion_executor.hpp +0 -338
  257. data/src/cxx_supportlib/vendor-modified/boost/asio/any_completion_handler.hpp +0 -824
  258. data/src/cxx_supportlib/vendor-modified/boost/asio/any_io_executor.hpp +0 -353
  259. data/src/cxx_supportlib/vendor-modified/boost/asio/append.hpp +0 -67
  260. data/src/cxx_supportlib/vendor-modified/boost/asio/as_tuple.hpp +0 -154
  261. data/src/cxx_supportlib/vendor-modified/boost/asio/associated_allocator.hpp +0 -216
  262. data/src/cxx_supportlib/vendor-modified/boost/asio/associated_cancellation_slot.hpp +0 -223
  263. data/src/cxx_supportlib/vendor-modified/boost/asio/associated_executor.hpp +0 -237
  264. data/src/cxx_supportlib/vendor-modified/boost/asio/associated_immediate_executor.hpp +0 -283
  265. data/src/cxx_supportlib/vendor-modified/boost/asio/associator.hpp +0 -37
  266. data/src/cxx_supportlib/vendor-modified/boost/asio/async_result.hpp +0 -950
  267. data/src/cxx_supportlib/vendor-modified/boost/asio/awaitable.hpp +0 -144
  268. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_datagram_socket.hpp +0 -1364
  269. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_deadline_timer.hpp +0 -712
  270. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_file.hpp +0 -826
  271. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_io_object.hpp +0 -288
  272. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_random_access_file.hpp +0 -691
  273. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_raw_socket.hpp +0 -1358
  274. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_readable_pipe.hpp +0 -628
  275. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_seq_packet_socket.hpp +0 -825
  276. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_serial_port.hpp +0 -989
  277. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_signal_set.hpp +0 -650
  278. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket.hpp +0 -1938
  279. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_acceptor.hpp +0 -2710
  280. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_iostream.hpp +0 -333
  281. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_streambuf.hpp +0 -644
  282. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_stream_file.hpp +0 -746
  283. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_stream_socket.hpp +0 -1165
  284. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_streambuf.hpp +0 -452
  285. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_streambuf_fwd.hpp +0 -38
  286. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_waitable_timer.hpp +0 -826
  287. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_writable_pipe.hpp +0 -624
  288. data/src/cxx_supportlib/vendor-modified/boost/asio/bind_allocator.hpp +0 -598
  289. data/src/cxx_supportlib/vendor-modified/boost/asio/bind_cancellation_slot.hpp +0 -615
  290. data/src/cxx_supportlib/vendor-modified/boost/asio/bind_executor.hpp +0 -666
  291. data/src/cxx_supportlib/vendor-modified/boost/asio/bind_immediate_executor.hpp +0 -618
  292. data/src/cxx_supportlib/vendor-modified/boost/asio/buffer.hpp +0 -2755
  293. data/src/cxx_supportlib/vendor-modified/boost/asio/buffer_registration.hpp +0 -320
  294. data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_read_stream.hpp +0 -275
  295. data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_read_stream_fwd.hpp +0 -27
  296. data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_stream.hpp +0 -294
  297. data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_stream_fwd.hpp +0 -27
  298. data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_write_stream.hpp +0 -267
  299. data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_write_stream_fwd.hpp +0 -27
  300. data/src/cxx_supportlib/vendor-modified/boost/asio/buffers_iterator.hpp +0 -523
  301. data/src/cxx_supportlib/vendor-modified/boost/asio/cancel_after.hpp +0 -303
  302. data/src/cxx_supportlib/vendor-modified/boost/asio/cancel_at.hpp +0 -296
  303. data/src/cxx_supportlib/vendor-modified/boost/asio/cancellation_signal.hpp +0 -247
  304. data/src/cxx_supportlib/vendor-modified/boost/asio/cancellation_state.hpp +0 -237
  305. data/src/cxx_supportlib/vendor-modified/boost/asio/cancellation_type.hpp +0 -159
  306. data/src/cxx_supportlib/vendor-modified/boost/asio/co_composed.hpp +0 -1323
  307. data/src/cxx_supportlib/vendor-modified/boost/asio/co_spawn.hpp +0 -525
  308. data/src/cxx_supportlib/vendor-modified/boost/asio/completion_condition.hpp +0 -269
  309. data/src/cxx_supportlib/vendor-modified/boost/asio/compose.hpp +0 -130
  310. data/src/cxx_supportlib/vendor-modified/boost/asio/composed.hpp +0 -415
  311. data/src/cxx_supportlib/vendor-modified/boost/asio/connect.hpp +0 -1348
  312. data/src/cxx_supportlib/vendor-modified/boost/asio/connect_pipe.hpp +0 -85
  313. data/src/cxx_supportlib/vendor-modified/boost/asio/consign.hpp +0 -77
  314. data/src/cxx_supportlib/vendor-modified/boost/asio/coroutine.hpp +0 -330
  315. data/src/cxx_supportlib/vendor-modified/boost/asio/deadline_timer.hpp +0 -40
  316. data/src/cxx_supportlib/vendor-modified/boost/asio/default_completion_token.hpp +0 -91
  317. data/src/cxx_supportlib/vendor-modified/boost/asio/defer.hpp +0 -220
  318. data/src/cxx_supportlib/vendor-modified/boost/asio/deferred.hpp +0 -721
  319. data/src/cxx_supportlib/vendor-modified/boost/asio/detached.hpp +0 -107
  320. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/array.hpp +0 -32
  321. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/array_fwd.hpp +0 -32
  322. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/assert.hpp +0 -32
  323. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/atomic_count.hpp +0 -61
  324. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/base_from_cancellation_state.hpp +0 -166
  325. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/base_from_completion_cond.hpp +0 -71
  326. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/bind_handler.hpp +0 -713
  327. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/blocking_executor_op.hpp +0 -109
  328. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/buffer_resize_guard.hpp +0 -68
  329. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/buffer_sequence_adapter.hpp +0 -839
  330. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/buffered_stream_storage.hpp +0 -128
  331. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/call_stack.hpp +0 -127
  332. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/chrono.hpp +0 -47
  333. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/chrono_time_traits.hpp +0 -192
  334. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/completion_handler.hpp +0 -90
  335. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/completion_message.hpp +0 -129
  336. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/completion_payload.hpp +0 -222
  337. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/completion_payload_handler.hpp +0 -81
  338. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/composed_work.hpp +0 -254
  339. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/concurrency_hint.hpp +0 -94
  340. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/conditionally_enabled_event.hpp +0 -122
  341. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/conditionally_enabled_mutex.hpp +0 -151
  342. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/config.hpp +0 -1413
  343. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/consuming_buffers.hpp +0 -445
  344. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/cstddef.hpp +0 -29
  345. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/cstdint.hpp +0 -42
  346. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/date_time_fwd.hpp +0 -34
  347. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/deadline_timer_service.hpp +0 -341
  348. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/dependent_type.hpp +0 -38
  349. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/descriptor_ops.hpp +0 -181
  350. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/descriptor_read_op.hpp +0 -190
  351. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/descriptor_write_op.hpp +0 -189
  352. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/dev_poll_reactor.hpp +0 -249
  353. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/epoll_reactor.hpp +0 -297
  354. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/event.hpp +0 -48
  355. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/eventfd_select_interrupter.hpp +0 -85
  356. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/exception.hpp +0 -31
  357. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/executor_function.hpp +0 -154
  358. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/executor_op.hpp +0 -86
  359. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/fd_set_adapter.hpp +0 -41
  360. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/fenced_block.hpp +0 -42
  361. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/functional.hpp +0 -35
  362. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/future.hpp +0 -32
  363. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/global.hpp +0 -52
  364. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_alloc_helpers.hpp +0 -123
  365. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_cont_helpers.hpp +0 -45
  366. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_tracking.hpp +0 -268
  367. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_type_requirements.hpp +0 -555
  368. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_work.hpp +0 -513
  369. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/hash_map.hpp +0 -333
  370. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/buffer_sequence_adapter.ipp +0 -120
  371. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/descriptor_ops.ipp +0 -996
  372. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/dev_poll_reactor.hpp +0 -113
  373. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/dev_poll_reactor.ipp +0 -471
  374. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/epoll_reactor.hpp +0 -111
  375. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/epoll_reactor.ipp +0 -828
  376. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/eventfd_select_interrupter.ipp +0 -173
  377. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/handler_tracking.ipp +0 -400
  378. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/io_uring_descriptor_service.ipp +0 -207
  379. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/io_uring_file_service.ipp +0 -142
  380. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/io_uring_service.hpp +0 -114
  381. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/io_uring_service.ipp +0 -916
  382. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/io_uring_socket_service_base.ipp +0 -251
  383. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/kqueue_reactor.hpp +0 -115
  384. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/kqueue_reactor.ipp +0 -610
  385. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/null_event.ipp +0 -76
  386. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/pipe_select_interrupter.ipp +0 -131
  387. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_event.ipp +0 -65
  388. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_mutex.ipp +0 -48
  389. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_serial_port_service.ipp +0 -170
  390. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_thread.ipp +0 -86
  391. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_tss_ptr.ipp +0 -48
  392. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/reactive_descriptor_service.ipp +0 -234
  393. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/reactive_socket_service_base.ipp +0 -314
  394. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/resolver_service_base.ipp +0 -160
  395. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/scheduler.ipp +0 -677
  396. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/select_reactor.hpp +0 -126
  397. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/select_reactor.ipp +0 -402
  398. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/service_registry.hpp +0 -95
  399. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/service_registry.ipp +0 -199
  400. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/signal_set_service.ipp +0 -828
  401. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/socket_ops.ipp +0 -4046
  402. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/socket_select_interrupter.ipp +0 -187
  403. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_executor_service.hpp +0 -348
  404. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_executor_service.ipp +0 -160
  405. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_service.hpp +0 -88
  406. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_service.ipp +0 -204
  407. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/thread_context.ipp +0 -37
  408. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/throw_error.ipp +0 -51
  409. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/timer_queue_ptime.ipp +0 -99
  410. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/timer_queue_set.ipp +0 -103
  411. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/initiate_defer.hpp +0 -209
  412. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/initiate_dispatch.hpp +0 -195
  413. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/initiate_post.hpp +0 -209
  414. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/initiation_base.hpp +0 -64
  415. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_control.hpp +0 -86
  416. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_object_impl.hpp +0 -179
  417. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_descriptor_read_at_op.hpp +0 -197
  418. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_descriptor_read_op.hpp +0 -192
  419. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_descriptor_service.hpp +0 -689
  420. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_descriptor_write_at_op.hpp +0 -191
  421. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_descriptor_write_op.hpp +0 -187
  422. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_file_service.hpp +0 -263
  423. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_null_buffers_op.hpp +0 -116
  424. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_operation.hpp +0 -86
  425. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_service.hpp +0 -321
  426. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_accept_op.hpp +0 -282
  427. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_connect_op.hpp +0 -142
  428. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_recv_op.hpp +0 -207
  429. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_recvfrom_op.hpp +0 -208
  430. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_recvmsg_op.hpp +0 -194
  431. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_send_op.hpp +0 -193
  432. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_sendto_op.hpp +0 -196
  433. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_service.hpp +0 -631
  434. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_service_base.hpp +0 -665
  435. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_wait_op.hpp +0 -114
  436. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/is_buffer_sequence.hpp +0 -298
  437. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/is_executor.hpp +0 -128
  438. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/keyword_tss_ptr.hpp +0 -72
  439. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/kqueue_reactor.hpp +0 -273
  440. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/limits.hpp +0 -21
  441. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/local_free_on_block_exit.hpp +0 -61
  442. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/memory.hpp +0 -128
  443. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/mutex.hpp +0 -48
  444. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/non_const_lvalue.hpp +0 -45
  445. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/noncopyable.hpp +0 -45
  446. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_event.hpp +0 -108
  447. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_fenced_block.hpp +0 -49
  448. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_global.hpp +0 -61
  449. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_mutex.hpp +0 -62
  450. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_reactor.hpp +0 -85
  451. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_signal_blocker.hpp +0 -71
  452. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_socket_service.hpp +0 -521
  453. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_static_mutex.hpp +0 -62
  454. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_thread.hpp +0 -69
  455. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_tss_ptr.hpp +0 -70
  456. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/object_pool.hpp +0 -173
  457. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/op_queue.hpp +0 -164
  458. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/operation.hpp +0 -40
  459. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/pipe_select_interrupter.hpp +0 -91
  460. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/pop_options.hpp +0 -157
  461. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_event.hpp +0 -177
  462. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_fd_set_adapter.hpp +0 -120
  463. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_global.hpp +0 -82
  464. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_mutex.hpp +0 -78
  465. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_serial_port_service.hpp +0 -251
  466. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_signal_blocker.hpp +0 -87
  467. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_static_mutex.hpp +0 -66
  468. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_thread.hpp +0 -111
  469. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_tss_ptr.hpp +0 -81
  470. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/push_options.hpp +0 -228
  471. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_descriptor_service.hpp +0 -572
  472. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_null_buffers_op.hpp +0 -133
  473. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_accept_op.hpp +0 -325
  474. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_connect_op.hpp +0 -164
  475. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_recv_op.hpp +0 -199
  476. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_recvfrom_op.hpp +0 -205
  477. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_recvmsg_op.hpp +0 -186
  478. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_send_op.hpp +0 -202
  479. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_sendto_op.hpp +0 -196
  480. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_service.hpp +0 -635
  481. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_service_base.hpp +0 -757
  482. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_wait_op.hpp +0 -133
  483. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor.hpp +0 -56
  484. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor_op.hpp +0 -73
  485. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor_op_queue.hpp +0 -214
  486. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/recycling_allocator.hpp +0 -116
  487. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/regex_fwd.hpp +0 -35
  488. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolve_endpoint_op.hpp +0 -142
  489. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolve_op.hpp +0 -47
  490. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolve_query_op.hpp +0 -152
  491. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolver_service.hpp +0 -149
  492. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolver_service_base.hpp +0 -160
  493. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scheduler.hpp +0 -243
  494. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scheduler_operation.hpp +0 -80
  495. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scheduler_task.hpp +0 -51
  496. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scheduler_thread_info.hpp +0 -42
  497. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scoped_lock.hpp +0 -103
  498. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scoped_ptr.hpp +0 -89
  499. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/select_interrupter.hpp +0 -48
  500. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/select_reactor.hpp +0 -293
  501. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/service_registry.hpp +0 -165
  502. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_blocker.hpp +0 -46
  503. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_handler.hpp +0 -92
  504. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_init.hpp +0 -49
  505. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_op.hpp +0 -55
  506. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_set_service.hpp +0 -294
  507. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_holder.hpp +0 -100
  508. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_ops.hpp +0 -377
  509. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_option.hpp +0 -318
  510. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_select_interrupter.hpp +0 -93
  511. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_types.hpp +0 -429
  512. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/source_location.hpp +0 -47
  513. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/static_mutex.hpp +0 -52
  514. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_event.hpp +0 -185
  515. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_fenced_block.hpp +0 -59
  516. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_global.hpp +0 -67
  517. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_mutex.hpp +0 -70
  518. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_static_mutex.hpp +0 -78
  519. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_thread.hpp +0 -68
  520. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/strand_executor_service.hpp +0 -175
  521. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/strand_service.hpp +0 -146
  522. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/string_view.hpp +0 -49
  523. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread.hpp +0 -60
  524. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread_context.hpp +0 -53
  525. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread_group.hpp +0 -101
  526. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread_info_base.hpp +0 -262
  527. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/throw_error.hpp +0 -64
  528. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/throw_exception.hpp +0 -57
  529. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timed_cancel_op.hpp +0 -363
  530. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue.hpp +0 -391
  531. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue_base.hpp +0 -70
  532. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue_ptime.hpp +0 -105
  533. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue_set.hpp +0 -68
  534. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_scheduler.hpp +0 -37
  535. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_scheduler_fwd.hpp +0 -44
  536. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/tss_ptr.hpp +0 -71
  537. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/type_traits.hpp +0 -180
  538. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/utility.hpp +0 -85
  539. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/wait_handler.hpp +0 -92
  540. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/wait_op.hpp +0 -51
  541. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/winsock_init.hpp +0 -130
  542. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/work_dispatcher.hpp +0 -145
  543. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/wrapped_handler.hpp +0 -197
  544. data/src/cxx_supportlib/vendor-modified/boost/asio/dispatch.hpp +0 -199
  545. data/src/cxx_supportlib/vendor-modified/boost/asio/error.hpp +0 -390
  546. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/allocator.hpp +0 -280
  547. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/any_executor.hpp +0 -1935
  548. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/bad_executor.hpp +0 -48
  549. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/blocking.hpp +0 -1362
  550. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/blocking_adaptation.hpp +0 -1082
  551. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/context.hpp +0 -193
  552. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/context_as.hpp +0 -192
  553. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/executor.hpp +0 -118
  554. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/impl/bad_executor.ipp +0 -42
  555. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/invocable_archetype.hpp +0 -45
  556. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/mapping.hpp +0 -1004
  557. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/occupancy.hpp +0 -186
  558. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/outstanding_work.hpp +0 -755
  559. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/prefer_only.hpp +0 -330
  560. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/relationship.hpp +0 -753
  561. data/src/cxx_supportlib/vendor-modified/boost/asio/execution.hpp +0 -33
  562. data/src/cxx_supportlib/vendor-modified/boost/asio/execution_context.hpp +0 -390
  563. data/src/cxx_supportlib/vendor-modified/boost/asio/executor.hpp +0 -365
  564. data/src/cxx_supportlib/vendor-modified/boost/asio/executor_work_guard.hpp +0 -364
  565. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/append.hpp +0 -38
  566. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/as_single.hpp +0 -134
  567. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/as_tuple.hpp +0 -38
  568. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/awaitable_operators.hpp +0 -538
  569. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/basic_channel.hpp +0 -516
  570. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/basic_concurrent_channel.hpp +0 -516
  571. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/cancellation_condition.hpp +0 -154
  572. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/channel.hpp +0 -72
  573. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/channel_error.hpp +0 -88
  574. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/channel_traits.hpp +0 -303
  575. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/co_composed.hpp +0 -35
  576. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/co_spawn.hpp +0 -189
  577. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/concurrent_channel.hpp +0 -72
  578. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/coro.hpp +0 -295
  579. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/coro_traits.hpp +0 -230
  580. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/deferred.hpp +0 -38
  581. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_operation.hpp +0 -363
  582. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_receive_op.hpp +0 -128
  583. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_send_functions.hpp +0 -202
  584. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_send_op.hpp +0 -149
  585. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_service.hpp +0 -681
  586. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/coro_completion_handler.hpp +0 -171
  587. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/coro_promise_allocator.hpp +0 -142
  588. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/has_signature.hpp +0 -56
  589. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/impl/channel_service.hpp +0 -625
  590. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/partial_promise.hpp +0 -199
  591. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/as_single.hpp +0 -183
  592. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/channel_error.ipp +0 -63
  593. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/coro.hpp +0 -1224
  594. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/parallel_group.hpp +0 -790
  595. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/promise.hpp +0 -257
  596. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/use_coro.hpp +0 -216
  597. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/use_promise.hpp +0 -68
  598. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/parallel_group.hpp +0 -457
  599. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/prepend.hpp +0 -38
  600. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/promise.hpp +0 -226
  601. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/use_coro.hpp +0 -191
  602. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/use_promise.hpp +0 -113
  603. data/src/cxx_supportlib/vendor-modified/boost/asio/file_base.hpp +0 -168
  604. data/src/cxx_supportlib/vendor-modified/boost/asio/generic/basic_endpoint.hpp +0 -191
  605. data/src/cxx_supportlib/vendor-modified/boost/asio/generic/datagram_protocol.hpp +0 -125
  606. data/src/cxx_supportlib/vendor-modified/boost/asio/generic/detail/endpoint.hpp +0 -135
  607. data/src/cxx_supportlib/vendor-modified/boost/asio/generic/detail/impl/endpoint.ipp +0 -112
  608. data/src/cxx_supportlib/vendor-modified/boost/asio/generic/raw_protocol.hpp +0 -123
  609. data/src/cxx_supportlib/vendor-modified/boost/asio/generic/seq_packet_protocol.hpp +0 -124
  610. data/src/cxx_supportlib/vendor-modified/boost/asio/generic/stream_protocol.hpp +0 -129
  611. data/src/cxx_supportlib/vendor-modified/boost/asio/handler_continuation_hook.hpp +0 -56
  612. data/src/cxx_supportlib/vendor-modified/boost/asio/high_resolution_timer.hpp +0 -41
  613. data/src/cxx_supportlib/vendor-modified/boost/asio/immediate.hpp +0 -144
  614. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/any_completion_executor.ipp +0 -128
  615. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/any_io_executor.ipp +0 -136
  616. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/append.hpp +0 -171
  617. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/as_tuple.hpp +0 -278
  618. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/awaitable.hpp +0 -1198
  619. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/buffered_read_stream.hpp +0 -406
  620. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/buffered_write_stream.hpp +0 -386
  621. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/cancel_after.hpp +0 -270
  622. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/cancel_at.hpp +0 -270
  623. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/cancellation_signal.ipp +0 -98
  624. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/co_spawn.hpp +0 -459
  625. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/connect.hpp +0 -705
  626. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/connect_pipe.hpp +0 -75
  627. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/connect_pipe.ipp +0 -151
  628. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/consign.hpp +0 -146
  629. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/deferred.hpp +0 -149
  630. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/detached.hpp +0 -79
  631. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/error.ipp +0 -130
  632. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/execution_context.hpp +0 -79
  633. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/execution_context.ipp +0 -84
  634. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/executor.hpp +0 -319
  635. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/executor.ipp +0 -45
  636. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/io_context.hpp +0 -435
  637. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/io_context.ipp +0 -178
  638. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/multiple_exceptions.ipp +0 -47
  639. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/prepend.hpp +0 -172
  640. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read.hpp +0 -904
  641. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_at.hpp +0 -564
  642. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_until.hpp +0 -2670
  643. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/redirect_error.hpp +0 -289
  644. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/serial_port_base.hpp +0 -61
  645. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/serial_port_base.ipp +0 -556
  646. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/spawn.hpp +0 -1402
  647. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/src.hpp +0 -93
  648. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/system_context.hpp +0 -36
  649. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/system_context.ipp +0 -94
  650. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/system_executor.hpp +0 -181
  651. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/thread_pool.hpp +0 -279
  652. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/thread_pool.ipp +0 -144
  653. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/use_awaitable.hpp +0 -303
  654. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/use_future.hpp +0 -709
  655. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/write.hpp +0 -782
  656. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/write_at.hpp +0 -482
  657. data/src/cxx_supportlib/vendor-modified/boost/asio/io_context.hpp +0 -1507
  658. data/src/cxx_supportlib/vendor-modified/boost/asio/io_context_strand.hpp +0 -398
  659. data/src/cxx_supportlib/vendor-modified/boost/asio/io_service.hpp +0 -35
  660. data/src/cxx_supportlib/vendor-modified/boost/asio/io_service_strand.hpp +0 -20
  661. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address.hpp +0 -283
  662. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v4.hpp +0 -423
  663. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v4_iterator.hpp +0 -158
  664. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v4_range.hpp +0 -130
  665. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v6.hpp +0 -409
  666. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v6_iterator.hpp +0 -180
  667. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v6_range.hpp +0 -126
  668. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/bad_address_cast.hpp +0 -65
  669. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_endpoint.hpp +0 -284
  670. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver.hpp +0 -1114
  671. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_entry.hpp +0 -115
  672. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_iterator.hpp +0 -190
  673. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_query.hpp +0 -262
  674. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_results.hpp +0 -309
  675. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/detail/endpoint.hpp +0 -143
  676. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/detail/impl/endpoint.ipp +0 -197
  677. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/detail/socket_option.hpp +0 -568
  678. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/host_name.hpp +0 -44
  679. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/icmp.hpp +0 -117
  680. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address.hpp +0 -69
  681. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address.ipp +0 -237
  682. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v4.hpp +0 -69
  683. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v4.ipp +0 -208
  684. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v6.hpp +0 -69
  685. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v6.ipp +0 -344
  686. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/basic_endpoint.hpp +0 -45
  687. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/host_name.ipp +0 -56
  688. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v4.hpp +0 -56
  689. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v4.ipp +0 -220
  690. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v6.hpp +0 -55
  691. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v6.ipp +0 -189
  692. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/multicast.hpp +0 -193
  693. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/network_v4.hpp +0 -259
  694. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/network_v6.hpp +0 -233
  695. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/resolver_base.hpp +0 -131
  696. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/resolver_query_base.hpp +0 -45
  697. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/tcp.hpp +0 -157
  698. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/udp.hpp +0 -113
  699. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/unicast.hpp +0 -72
  700. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/v6_only.hpp +0 -71
  701. data/src/cxx_supportlib/vendor-modified/boost/asio/is_applicable_property.hpp +0 -63
  702. data/src/cxx_supportlib/vendor-modified/boost/asio/is_contiguous_iterator.hpp +0 -47
  703. data/src/cxx_supportlib/vendor-modified/boost/asio/is_executor.hpp +0 -48
  704. data/src/cxx_supportlib/vendor-modified/boost/asio/is_read_buffered.hpp +0 -61
  705. data/src/cxx_supportlib/vendor-modified/boost/asio/is_write_buffered.hpp +0 -61
  706. data/src/cxx_supportlib/vendor-modified/boost/asio/local/basic_endpoint.hpp +0 -245
  707. data/src/cxx_supportlib/vendor-modified/boost/asio/local/connect_pair.hpp +0 -103
  708. data/src/cxx_supportlib/vendor-modified/boost/asio/local/datagram_protocol.hpp +0 -82
  709. data/src/cxx_supportlib/vendor-modified/boost/asio/local/detail/endpoint.hpp +0 -141
  710. data/src/cxx_supportlib/vendor-modified/boost/asio/local/detail/impl/endpoint.ipp +0 -133
  711. data/src/cxx_supportlib/vendor-modified/boost/asio/local/seq_packet_protocol.hpp +0 -86
  712. data/src/cxx_supportlib/vendor-modified/boost/asio/local/stream_protocol.hpp +0 -92
  713. data/src/cxx_supportlib/vendor-modified/boost/asio/multiple_exceptions.hpp +0 -54
  714. data/src/cxx_supportlib/vendor-modified/boost/asio/packaged_task.hpp +0 -68
  715. data/src/cxx_supportlib/vendor-modified/boost/asio/placeholders.hpp +0 -83
  716. data/src/cxx_supportlib/vendor-modified/boost/asio/posix/basic_descriptor.hpp +0 -775
  717. data/src/cxx_supportlib/vendor-modified/boost/asio/posix/basic_stream_descriptor.hpp +0 -561
  718. data/src/cxx_supportlib/vendor-modified/boost/asio/posix/descriptor.hpp +0 -39
  719. data/src/cxx_supportlib/vendor-modified/boost/asio/posix/descriptor_base.hpp +0 -92
  720. data/src/cxx_supportlib/vendor-modified/boost/asio/posix/stream_descriptor.hpp +0 -39
  721. data/src/cxx_supportlib/vendor-modified/boost/asio/post.hpp +0 -215
  722. data/src/cxx_supportlib/vendor-modified/boost/asio/prefer.hpp +0 -581
  723. data/src/cxx_supportlib/vendor-modified/boost/asio/prepend.hpp +0 -68
  724. data/src/cxx_supportlib/vendor-modified/boost/asio/query.hpp +0 -315
  725. data/src/cxx_supportlib/vendor-modified/boost/asio/random_access_file.hpp +0 -37
  726. data/src/cxx_supportlib/vendor-modified/boost/asio/read.hpp +0 -1549
  727. data/src/cxx_supportlib/vendor-modified/boost/asio/read_at.hpp +0 -830
  728. data/src/cxx_supportlib/vendor-modified/boost/asio/read_until.hpp +0 -3204
  729. data/src/cxx_supportlib/vendor-modified/boost/asio/readable_pipe.hpp +0 -37
  730. data/src/cxx_supportlib/vendor-modified/boost/asio/recycling_allocator.hpp +0 -140
  731. data/src/cxx_supportlib/vendor-modified/boost/asio/redirect_error.hpp +0 -106
  732. data/src/cxx_supportlib/vendor-modified/boost/asio/registered_buffer.hpp +0 -346
  733. data/src/cxx_supportlib/vendor-modified/boost/asio/require.hpp +0 -437
  734. data/src/cxx_supportlib/vendor-modified/boost/asio/require_concept.hpp +0 -347
  735. data/src/cxx_supportlib/vendor-modified/boost/asio/serial_port.hpp +0 -38
  736. data/src/cxx_supportlib/vendor-modified/boost/asio/serial_port_base.hpp +0 -169
  737. data/src/cxx_supportlib/vendor-modified/boost/asio/signal_set.hpp +0 -30
  738. data/src/cxx_supportlib/vendor-modified/boost/asio/signal_set_base.hpp +0 -173
  739. data/src/cxx_supportlib/vendor-modified/boost/asio/socket_base.hpp +0 -561
  740. data/src/cxx_supportlib/vendor-modified/boost/asio/spawn.hpp +0 -873
  741. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/context.hpp +0 -764
  742. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/context_base.hpp +0 -211
  743. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/buffered_handshake_op.hpp +0 -121
  744. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/engine.hpp +0 -171
  745. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/handshake_op.hpp +0 -69
  746. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/impl/engine.ipp +0 -379
  747. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/impl/openssl_init.ipp +0 -171
  748. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/io.hpp +0 -378
  749. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/openssl_init.hpp +0 -103
  750. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/openssl_types.hpp +0 -34
  751. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/password_callback.hpp +0 -68
  752. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/read_op.hpp +0 -74
  753. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/shutdown_op.hpp +0 -71
  754. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/stream_core.hpp +0 -219
  755. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/verify_callback.hpp +0 -64
  756. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/write_op.hpp +0 -78
  757. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/error.hpp +0 -129
  758. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/host_name_verification.hpp +0 -92
  759. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/context.hpp +0 -69
  760. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/context.ipp +0 -1324
  761. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/error.ipp +0 -126
  762. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/host_name_verification.ipp +0 -75
  763. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/rfc2818_verification.ipp +0 -166
  764. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/src.hpp +0 -29
  765. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/rfc2818_verification.hpp +0 -100
  766. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/stream.hpp +0 -1044
  767. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/stream_base.hpp +0 -54
  768. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/verify_context.hpp +0 -69
  769. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/verify_mode.hpp +0 -65
  770. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl.hpp +0 -28
  771. data/src/cxx_supportlib/vendor-modified/boost/asio/static_thread_pool.hpp +0 -33
  772. data/src/cxx_supportlib/vendor-modified/boost/asio/steady_timer.hpp +0 -39
  773. data/src/cxx_supportlib/vendor-modified/boost/asio/strand.hpp +0 -559
  774. data/src/cxx_supportlib/vendor-modified/boost/asio/stream_file.hpp +0 -37
  775. data/src/cxx_supportlib/vendor-modified/boost/asio/streambuf.hpp +0 -35
  776. data/src/cxx_supportlib/vendor-modified/boost/asio/system_context.hpp +0 -92
  777. data/src/cxx_supportlib/vendor-modified/boost/asio/system_executor.hpp +0 -673
  778. data/src/cxx_supportlib/vendor-modified/boost/asio/system_timer.hpp +0 -39
  779. data/src/cxx_supportlib/vendor-modified/boost/asio/this_coro.hpp +0 -269
  780. data/src/cxx_supportlib/vendor-modified/boost/asio/thread_pool.hpp +0 -965
  781. data/src/cxx_supportlib/vendor-modified/boost/asio/time_traits.hpp +0 -88
  782. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/equality_comparable.hpp +0 -102
  783. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/execute_member.hpp +0 -106
  784. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/prefer_free.hpp +0 -106
  785. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/prefer_member.hpp +0 -106
  786. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/query_free.hpp +0 -106
  787. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/query_member.hpp +0 -106
  788. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/query_static_constexpr_member.hpp +0 -103
  789. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/require_concept_free.hpp +0 -106
  790. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/require_concept_member.hpp +0 -106
  791. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/require_free.hpp +0 -106
  792. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/require_member.hpp +0 -106
  793. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/static_query.hpp +0 -104
  794. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/static_require.hpp +0 -117
  795. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/static_require_concept.hpp +0 -118
  796. data/src/cxx_supportlib/vendor-modified/boost/asio/ts/buffer.hpp +0 -24
  797. data/src/cxx_supportlib/vendor-modified/boost/asio/ts/executor.hpp +0 -35
  798. data/src/cxx_supportlib/vendor-modified/boost/asio/ts/internet.hpp +0 -40
  799. data/src/cxx_supportlib/vendor-modified/boost/asio/ts/io_context.hpp +0 -20
  800. data/src/cxx_supportlib/vendor-modified/boost/asio/ts/net.hpp +0 -26
  801. data/src/cxx_supportlib/vendor-modified/boost/asio/ts/netfwd.hpp +0 -238
  802. data/src/cxx_supportlib/vendor-modified/boost/asio/ts/socket.hpp +0 -27
  803. data/src/cxx_supportlib/vendor-modified/boost/asio/ts/timer.hpp +0 -26
  804. data/src/cxx_supportlib/vendor-modified/boost/asio/unyield.hpp +0 -21
  805. data/src/cxx_supportlib/vendor-modified/boost/asio/use_awaitable.hpp +0 -163
  806. data/src/cxx_supportlib/vendor-modified/boost/asio/use_future.hpp +0 -161
  807. data/src/cxx_supportlib/vendor-modified/boost/asio/uses_executor.hpp +0 -69
  808. data/src/cxx_supportlib/vendor-modified/boost/asio/version.hpp +0 -23
  809. data/src/cxx_supportlib/vendor-modified/boost/asio/wait_traits.hpp +0 -58
  810. data/src/cxx_supportlib/vendor-modified/boost/asio/writable_pipe.hpp +0 -37
  811. data/src/cxx_supportlib/vendor-modified/boost/asio/write.hpp +0 -1528
  812. data/src/cxx_supportlib/vendor-modified/boost/asio/write_at.hpp +0 -843
  813. data/src/cxx_supportlib/vendor-modified/boost/asio/yield.hpp +0 -23
  814. data/src/cxx_supportlib/vendor-modified/boost/asio.hpp +0 -195
  815. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/old_optional_implementation.hpp +0 -1059
  816. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/operator_bool.hpp +0 -64
  817. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/requires_cxx11.hpp +0 -23
  818. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_forward.hpp +0 -52
  819. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_nullptr_t.hpp +0 -45
  820. data/src/cxx_supportlib/vendor-modified/websocketpp/COPYING +0 -145
  821. data/src/cxx_supportlib/vendor-modified/websocketpp/changelog.md +0 -444
  822. data/src/cxx_supportlib/vendor-modified/websocketpp/readme.md +0 -49
  823. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/base64/base64.hpp +0 -178
  824. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/client.hpp +0 -33
  825. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/close.hpp +0 -353
  826. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/asio.hpp +0 -141
  827. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/asio_ssl.hpp +0 -39
  828. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/chrono.hpp +0 -68
  829. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/connection_hdl.hpp +0 -52
  830. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/cpp11.hpp +0 -162
  831. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/functional.hpp +0 -100
  832. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/md5.hpp +0 -448
  833. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/memory.hpp +0 -88
  834. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/network.hpp +0 -106
  835. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/platforms.hpp +0 -46
  836. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/random.hpp +0 -82
  837. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/regex.hpp +0 -59
  838. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/stdint.hpp +0 -73
  839. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/system_error.hpp +0 -84
  840. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/thread.hpp +0 -88
  841. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/time.hpp +0 -56
  842. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/type_traits.hpp +0 -65
  843. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/concurrency/basic.hpp +0 -46
  844. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/concurrency/none.hpp +0 -80
  845. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/config/asio.hpp +0 -77
  846. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/config/asio_client.hpp +0 -77
  847. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/config/asio_no_tls.hpp +0 -73
  848. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/config/asio_no_tls_client.hpp +0 -73
  849. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/config/boost_config.hpp +0 -72
  850. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/config/core.hpp +0 -297
  851. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/config/core_client.hpp +0 -294
  852. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/config/debug.hpp +0 -286
  853. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/config/debug_asio.hpp +0 -77
  854. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/config/debug_asio_no_tls.hpp +0 -73
  855. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/config/minimal_client.hpp +0 -72
  856. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/config/minimal_server.hpp +0 -312
  857. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/connection.hpp +0 -1642
  858. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/connection_base.hpp +0 -38
  859. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/endpoint.hpp +0 -700
  860. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/endpoint_base.hpp +0 -38
  861. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/error.hpp +0 -277
  862. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/extensions/extension.hpp +0 -102
  863. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/extensions/permessage_deflate/disabled.hpp +0 -129
  864. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/extensions/permessage_deflate/enabled.hpp +0 -817
  865. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/frame.hpp +0 -853
  866. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/http/constants.hpp +0 -308
  867. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/http/impl/parser.hpp +0 -200
  868. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/http/impl/request.hpp +0 -191
  869. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/http/impl/response.hpp +0 -266
  870. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/http/parser.hpp +0 -629
  871. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/http/request.hpp +0 -124
  872. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/http/response.hpp +0 -188
  873. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/impl/connection_impl.hpp +0 -2375
  874. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/impl/endpoint_impl.hpp +0 -269
  875. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/impl/utilities_impl.hpp +0 -87
  876. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/logger/basic.hpp +0 -199
  877. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/logger/levels.hpp +0 -203
  878. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/logger/stub.hpp +0 -119
  879. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/logger/syslog.hpp +0 -146
  880. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/message_buffer/alloc.hpp +0 -105
  881. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/message_buffer/message.hpp +0 -340
  882. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/message_buffer/pool.hpp +0 -229
  883. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/processors/base.hpp +0 -299
  884. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/processors/hybi00.hpp +0 -462
  885. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/processors/hybi07.hpp +0 -78
  886. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/processors/hybi08.hpp +0 -83
  887. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/processors/hybi13.hpp +0 -1072
  888. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/processors/processor.hpp +0 -407
  889. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/random/none.hpp +0 -60
  890. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/random/random_device.hpp +0 -80
  891. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/roles/client_endpoint.hpp +0 -173
  892. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/roles/server_endpoint.hpp +0 -195
  893. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/server.hpp +0 -33
  894. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/sha1/sha1.hpp +0 -189
  895. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/asio/base.hpp +0 -232
  896. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/asio/connection.hpp +0 -1197
  897. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/asio/endpoint.hpp +0 -1182
  898. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/asio/security/base.hpp +0 -159
  899. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/asio/security/none.hpp +0 -372
  900. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/asio/security/tls.hpp +0 -474
  901. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/base/connection.hpp +0 -238
  902. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/base/endpoint.hpp +0 -77
  903. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/debug/base.hpp +0 -104
  904. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/debug/connection.hpp +0 -412
  905. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/debug/endpoint.hpp +0 -140
  906. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/iostream/base.hpp +0 -133
  907. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/iostream/connection.hpp +0 -714
  908. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/iostream/endpoint.hpp +0 -222
  909. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/stub/base.hpp +0 -95
  910. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/stub/connection.hpp +0 -286
  911. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/stub/endpoint.hpp +0 -140
  912. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/uri.hpp +0 -356
  913. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/utf8_validator.hpp +0 -154
  914. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/utilities.hpp +0 -180
  915. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/version.hpp +0 -61
@@ -1,1507 +0,0 @@
1
- //
2
- // io_context.hpp
3
- // ~~~~~~~~~~~~~~
4
- //
5
- // Copyright (c) 2003-2024 Christopher M. Kohlhoff (chris at kohlhoff dot com)
6
- //
7
- // Distributed under the Boost Software License, Version 1.0. (See accompanying
8
- // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
9
- //
10
-
11
- #ifndef BOOST_ASIO_IO_CONTEXT_HPP
12
- #define BOOST_ASIO_IO_CONTEXT_HPP
13
-
14
- #if defined(_MSC_VER) && (_MSC_VER >= 1200)
15
- # pragma once
16
- #endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
17
-
18
- #include <boost/asio/detail/config.hpp>
19
- #include <cstddef>
20
- #include <stdexcept>
21
- #include <typeinfo>
22
- #include <boost/asio/async_result.hpp>
23
- #include <boost/asio/detail/chrono.hpp>
24
- #include <boost/asio/detail/concurrency_hint.hpp>
25
- #include <boost/asio/detail/cstdint.hpp>
26
- #include <boost/asio/detail/wrapped_handler.hpp>
27
- #include <boost/system/error_code.hpp>
28
- #include <boost/asio/execution.hpp>
29
- #include <boost/asio/execution_context.hpp>
30
-
31
- #if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
32
- # include <boost/asio/detail/winsock_init.hpp>
33
- #elif defined(__sun) || defined(__QNX__) || defined(__hpux) || defined(_AIX) \
34
- || defined(__osf__)
35
- # include <boost/asio/detail/signal_init.hpp>
36
- #endif
37
-
38
- #if defined(BOOST_ASIO_HAS_IOCP)
39
- # include <boost/asio/detail/win_iocp_io_context.hpp>
40
- #else
41
- # include <boost/asio/detail/scheduler.hpp>
42
- #endif
43
-
44
- #include <boost/asio/detail/push_options.hpp>
45
-
46
- namespace boost {
47
- namespace asio {
48
-
49
- namespace detail {
50
- #if defined(BOOST_ASIO_HAS_IOCP)
51
- typedef win_iocp_io_context io_context_impl;
52
- class win_iocp_overlapped_ptr;
53
- #else
54
- typedef scheduler io_context_impl;
55
- #endif
56
-
57
- struct io_context_bits
58
- {
59
- static constexpr uintptr_t blocking_never = 1;
60
- static constexpr uintptr_t relationship_continuation = 2;
61
- static constexpr uintptr_t outstanding_work_tracked = 4;
62
- static constexpr uintptr_t runtime_bits = 3;
63
- };
64
- } // namespace detail
65
-
66
- /// Provides core I/O functionality.
67
- /**
68
- * The io_context class provides the core I/O functionality for users of the
69
- * asynchronous I/O objects, including:
70
- *
71
- * @li boost::asio::ip::tcp::socket
72
- * @li boost::asio::ip::tcp::acceptor
73
- * @li boost::asio::ip::udp::socket
74
- * @li boost::asio::deadline_timer.
75
- *
76
- * The io_context class also includes facilities intended for developers of
77
- * custom asynchronous services.
78
- *
79
- * @par Thread Safety
80
- * @e Distinct @e objects: Safe.@n
81
- * @e Shared @e objects: Safe, with the specific exceptions of the restart()
82
- * and notify_fork() functions. Calling restart() while there are unfinished
83
- * run(), run_one(), run_for(), run_until(), poll() or poll_one() calls results
84
- * in undefined behaviour. The notify_fork() function should not be called
85
- * while any io_context function, or any function on an I/O object that is
86
- * associated with the io_context, is being called in another thread.
87
- *
88
- * @par Concepts:
89
- * Dispatcher.
90
- *
91
- * @par Synchronous and asynchronous operations
92
- *
93
- * Synchronous operations on I/O objects implicitly run the io_context object
94
- * for an individual operation. The io_context functions run(), run_one(),
95
- * run_for(), run_until(), poll() or poll_one() must be called for the
96
- * io_context to perform asynchronous operations on behalf of a C++ program.
97
- * Notification that an asynchronous operation has completed is delivered by
98
- * invocation of the associated handler. Handlers are invoked only by a thread
99
- * that is currently calling any overload of run(), run_one(), run_for(),
100
- * run_until(), poll() or poll_one() for the io_context.
101
- *
102
- * @par Effect of exceptions thrown from handlers
103
- *
104
- * If an exception is thrown from a handler, the exception is allowed to
105
- * propagate through the throwing thread's invocation of run(), run_one(),
106
- * run_for(), run_until(), poll() or poll_one(). No other threads that are
107
- * calling any of these functions are affected. It is then the responsibility
108
- * of the application to catch the exception.
109
- *
110
- * After the exception has been caught, the run(), run_one(), run_for(),
111
- * run_until(), poll() or poll_one() call may be restarted @em without the need
112
- * for an intervening call to restart(). This allows the thread to rejoin the
113
- * io_context object's thread pool without impacting any other threads in the
114
- * pool.
115
- *
116
- * For example:
117
- *
118
- * @code
119
- * boost::asio::io_context io_context;
120
- * ...
121
- * for (;;)
122
- * {
123
- * try
124
- * {
125
- * io_context.run();
126
- * break; // run() exited normally
127
- * }
128
- * catch (my_exception& e)
129
- * {
130
- * // Deal with exception as appropriate.
131
- * }
132
- * }
133
- * @endcode
134
- *
135
- * @par Submitting arbitrary tasks to the io_context
136
- *
137
- * To submit functions to the io_context, use the @ref boost::asio::dispatch,
138
- * @ref boost::asio::post or @ref boost::asio::defer free functions.
139
- *
140
- * For example:
141
- *
142
- * @code void my_task()
143
- * {
144
- * ...
145
- * }
146
- *
147
- * ...
148
- *
149
- * boost::asio::io_context io_context;
150
- *
151
- * // Submit a function to the io_context.
152
- * boost::asio::post(io_context, my_task);
153
- *
154
- * // Submit a lambda object to the io_context.
155
- * boost::asio::post(io_context,
156
- * []()
157
- * {
158
- * ...
159
- * });
160
- *
161
- * // Run the io_context until it runs out of work.
162
- * io_context.run(); @endcode
163
- *
164
- * @par Stopping the io_context from running out of work
165
- *
166
- * Some applications may need to prevent an io_context object's run() call from
167
- * returning when there is no more work to do. For example, the io_context may
168
- * be being run in a background thread that is launched prior to the
169
- * application's asynchronous operations. The run() call may be kept running by
170
- * using the @ref make_work_guard function to create an object of type
171
- * boost::asio::executor_work_guard<io_context::executor_type>:
172
- *
173
- * @code boost::asio::io_context io_context;
174
- * boost::asio::executor_work_guard<boost::asio::io_context::executor_type>
175
- * = boost::asio::make_work_guard(io_context);
176
- * ... @endcode
177
- *
178
- * To effect a shutdown, the application will then need to call the io_context
179
- * object's stop() member function. This will cause the io_context run() call
180
- * to return as soon as possible, abandoning unfinished operations and without
181
- * permitting ready handlers to be dispatched.
182
- *
183
- * Alternatively, if the application requires that all operations and handlers
184
- * be allowed to finish normally, the work object may be explicitly reset.
185
- *
186
- * @code boost::asio::io_context io_context;
187
- * boost::asio::executor_work_guard<boost::asio::io_context::executor_type>
188
- * = boost::asio::make_work_guard(io_context);
189
- * ...
190
- * work.reset(); // Allow run() to exit. @endcode
191
- */
192
- class io_context
193
- : public execution_context
194
- {
195
- private:
196
- typedef detail::io_context_impl impl_type;
197
- #if defined(BOOST_ASIO_HAS_IOCP)
198
- friend class detail::win_iocp_overlapped_ptr;
199
- #endif
200
-
201
- #if !defined(BOOST_ASIO_NO_DEPRECATED)
202
- struct initiate_dispatch;
203
- struct initiate_post;
204
- #endif // !defined(BOOST_ASIO_NO_DEPRECATED)
205
-
206
- public:
207
- template <typename Allocator, uintptr_t Bits>
208
- class basic_executor_type;
209
-
210
- template <typename Allocator, uintptr_t Bits>
211
- friend class basic_executor_type;
212
-
213
- /// Executor used to submit functions to an io_context.
214
- typedef basic_executor_type<std::allocator<void>, 0> executor_type;
215
-
216
- #if !defined(BOOST_ASIO_NO_DEPRECATED)
217
- class work;
218
- friend class work;
219
- #endif // !defined(BOOST_ASIO_NO_DEPRECATED)
220
-
221
- class service;
222
-
223
- #if !defined(BOOST_ASIO_NO_EXTENSIONS) \
224
- && !defined(BOOST_ASIO_NO_TS_EXECUTORS)
225
- class strand;
226
- #endif // !defined(BOOST_ASIO_NO_EXTENSIONS)
227
- // && !defined(BOOST_ASIO_NO_TS_EXECUTORS)
228
-
229
- /// The type used to count the number of handlers executed by the context.
230
- typedef std::size_t count_type;
231
-
232
- /// Constructor.
233
- BOOST_ASIO_DECL io_context();
234
-
235
- /// Constructor.
236
- /**
237
- * Construct with a hint about the required level of concurrency.
238
- *
239
- * @param concurrency_hint A suggestion to the implementation on how many
240
- * threads it should allow to run simultaneously.
241
- */
242
- BOOST_ASIO_DECL explicit io_context(int concurrency_hint);
243
-
244
- /// Destructor.
245
- /**
246
- * On destruction, the io_context performs the following sequence of
247
- * operations:
248
- *
249
- * @li For each service object @c svc in the io_context set, in reverse order
250
- * of the beginning of service object lifetime, performs
251
- * @c svc->shutdown().
252
- *
253
- * @li Uninvoked handler objects that were scheduled for deferred invocation
254
- * on the io_context, or any associated strand, are destroyed.
255
- *
256
- * @li For each service object @c svc in the io_context set, in reverse order
257
- * of the beginning of service object lifetime, performs
258
- * <tt>delete static_cast<io_context::service*>(svc)</tt>.
259
- *
260
- * @note The destruction sequence described above permits programs to
261
- * simplify their resource management by using @c shared_ptr<>. Where an
262
- * object's lifetime is tied to the lifetime of a connection (or some other
263
- * sequence of asynchronous operations), a @c shared_ptr to the object would
264
- * be bound into the handlers for all asynchronous operations associated with
265
- * it. This works as follows:
266
- *
267
- * @li When a single connection ends, all associated asynchronous operations
268
- * complete. The corresponding handler objects are destroyed, and all
269
- * @c shared_ptr references to the objects are destroyed.
270
- *
271
- * @li To shut down the whole program, the io_context function stop() is
272
- * called to terminate any run() calls as soon as possible. The io_context
273
- * destructor defined above destroys all handlers, causing all @c shared_ptr
274
- * references to all connection objects to be destroyed.
275
- */
276
- BOOST_ASIO_DECL ~io_context();
277
-
278
- /// Obtains the executor associated with the io_context.
279
- executor_type get_executor() noexcept;
280
-
281
- /// Run the io_context object's event processing loop.
282
- /**
283
- * The run() function blocks until all work has finished and there are no
284
- * more handlers to be dispatched, or until the io_context has been stopped.
285
- *
286
- * Multiple threads may call the run() function to set up a pool of threads
287
- * from which the io_context may execute handlers. All threads that are
288
- * waiting in the pool are equivalent and the io_context may choose any one
289
- * of them to invoke a handler.
290
- *
291
- * A normal exit from the run() function implies that the io_context object
292
- * is stopped (the stopped() function returns @c true). Subsequent calls to
293
- * run(), run_one(), poll() or poll_one() will return immediately unless there
294
- * is a prior call to restart().
295
- *
296
- * @return The number of handlers that were executed.
297
- *
298
- * @note Calling the run() function from a thread that is currently calling
299
- * one of run(), run_one(), run_for(), run_until(), poll() or poll_one() on
300
- * the same io_context object may introduce the potential for deadlock. It is
301
- * the caller's reponsibility to avoid this.
302
- *
303
- * The poll() function may also be used to dispatch ready handlers, but
304
- * without blocking.
305
- */
306
- BOOST_ASIO_DECL count_type run();
307
-
308
- #if !defined(BOOST_ASIO_NO_DEPRECATED)
309
- /// (Deprecated: Use non-error_code overload.) Run the io_context object's
310
- /// event processing loop.
311
- /**
312
- * The run() function blocks until all work has finished and there are no
313
- * more handlers to be dispatched, or until the io_context has been stopped.
314
- *
315
- * Multiple threads may call the run() function to set up a pool of threads
316
- * from which the io_context may execute handlers. All threads that are
317
- * waiting in the pool are equivalent and the io_context may choose any one
318
- * of them to invoke a handler.
319
- *
320
- * A normal exit from the run() function implies that the io_context object
321
- * is stopped (the stopped() function returns @c true). Subsequent calls to
322
- * run(), run_one(), poll() or poll_one() will return immediately unless there
323
- * is a prior call to restart().
324
- *
325
- * @param ec Set to indicate what error occurred, if any.
326
- *
327
- * @return The number of handlers that were executed.
328
- *
329
- * @note Calling the run() function from a thread that is currently calling
330
- * one of run(), run_one(), run_for(), run_until(), poll() or poll_one() on
331
- * the same io_context object may introduce the potential for deadlock. It is
332
- * the caller's reponsibility to avoid this.
333
- *
334
- * The poll() function may also be used to dispatch ready handlers, but
335
- * without blocking.
336
- */
337
- BOOST_ASIO_DECL count_type run(boost::system::error_code& ec);
338
- #endif // !defined(BOOST_ASIO_NO_DEPRECATED)
339
-
340
- /// Run the io_context object's event processing loop for a specified
341
- /// duration.
342
- /**
343
- * The run_for() function blocks until all work has finished and there are no
344
- * more handlers to be dispatched, until the io_context has been stopped, or
345
- * until the specified duration has elapsed.
346
- *
347
- * @param rel_time The duration for which the call may block.
348
- *
349
- * @return The number of handlers that were executed.
350
- */
351
- template <typename Rep, typename Period>
352
- std::size_t run_for(const chrono::duration<Rep, Period>& rel_time);
353
-
354
- /// Run the io_context object's event processing loop until a specified time.
355
- /**
356
- * The run_until() function blocks until all work has finished and there are
357
- * no more handlers to be dispatched, until the io_context has been stopped,
358
- * or until the specified time has been reached.
359
- *
360
- * @param abs_time The time point until which the call may block.
361
- *
362
- * @return The number of handlers that were executed.
363
- */
364
- template <typename Clock, typename Duration>
365
- std::size_t run_until(const chrono::time_point<Clock, Duration>& abs_time);
366
-
367
- /// Run the io_context object's event processing loop to execute at most one
368
- /// handler.
369
- /**
370
- * The run_one() function blocks until one handler has been dispatched, or
371
- * until the io_context has been stopped.
372
- *
373
- * @return The number of handlers that were executed. A zero return value
374
- * implies that the io_context object is stopped (the stopped() function
375
- * returns @c true). Subsequent calls to run(), run_one(), poll() or
376
- * poll_one() will return immediately unless there is a prior call to
377
- * restart().
378
- *
379
- * @note Calling the run_one() function from a thread that is currently
380
- * calling one of run(), run_one(), run_for(), run_until(), poll() or
381
- * poll_one() on the same io_context object may introduce the potential for
382
- * deadlock. It is the caller's reponsibility to avoid this.
383
- */
384
- BOOST_ASIO_DECL count_type run_one();
385
-
386
- #if !defined(BOOST_ASIO_NO_DEPRECATED)
387
- /// (Deprecated: Use non-error_code overload.) Run the io_context object's
388
- /// event processing loop to execute at most one handler.
389
- /**
390
- * The run_one() function blocks until one handler has been dispatched, or
391
- * until the io_context has been stopped.
392
- *
393
- * @return The number of handlers that were executed. A zero return value
394
- * implies that the io_context object is stopped (the stopped() function
395
- * returns @c true). Subsequent calls to run(), run_one(), poll() or
396
- * poll_one() will return immediately unless there is a prior call to
397
- * restart().
398
- *
399
- * @return The number of handlers that were executed.
400
- *
401
- * @note Calling the run_one() function from a thread that is currently
402
- * calling one of run(), run_one(), run_for(), run_until(), poll() or
403
- * poll_one() on the same io_context object may introduce the potential for
404
- * deadlock. It is the caller's reponsibility to avoid this.
405
- */
406
- BOOST_ASIO_DECL count_type run_one(boost::system::error_code& ec);
407
- #endif // !defined(BOOST_ASIO_NO_DEPRECATED)
408
-
409
- /// Run the io_context object's event processing loop for a specified duration
410
- /// to execute at most one handler.
411
- /**
412
- * The run_one_for() function blocks until one handler has been dispatched,
413
- * until the io_context has been stopped, or until the specified duration has
414
- * elapsed.
415
- *
416
- * @param rel_time The duration for which the call may block.
417
- *
418
- * @return The number of handlers that were executed.
419
- */
420
- template <typename Rep, typename Period>
421
- std::size_t run_one_for(const chrono::duration<Rep, Period>& rel_time);
422
-
423
- /// Run the io_context object's event processing loop until a specified time
424
- /// to execute at most one handler.
425
- /**
426
- * The run_one_until() function blocks until one handler has been dispatched,
427
- * until the io_context has been stopped, or until the specified time has
428
- * been reached.
429
- *
430
- * @param abs_time The time point until which the call may block.
431
- *
432
- * @return The number of handlers that were executed.
433
- */
434
- template <typename Clock, typename Duration>
435
- std::size_t run_one_until(
436
- const chrono::time_point<Clock, Duration>& abs_time);
437
-
438
- /// Run the io_context object's event processing loop to execute ready
439
- /// handlers.
440
- /**
441
- * The poll() function runs handlers that are ready to run, without blocking,
442
- * until the io_context has been stopped or there are no more ready handlers.
443
- *
444
- * @return The number of handlers that were executed.
445
- */
446
- BOOST_ASIO_DECL count_type poll();
447
-
448
- #if !defined(BOOST_ASIO_NO_DEPRECATED)
449
- /// (Deprecated: Use non-error_code overload.) Run the io_context object's
450
- /// event processing loop to execute ready handlers.
451
- /**
452
- * The poll() function runs handlers that are ready to run, without blocking,
453
- * until the io_context has been stopped or there are no more ready handlers.
454
- *
455
- * @param ec Set to indicate what error occurred, if any.
456
- *
457
- * @return The number of handlers that were executed.
458
- */
459
- BOOST_ASIO_DECL count_type poll(boost::system::error_code& ec);
460
- #endif // !defined(BOOST_ASIO_NO_DEPRECATED)
461
-
462
- /// Run the io_context object's event processing loop to execute one ready
463
- /// handler.
464
- /**
465
- * The poll_one() function runs at most one handler that is ready to run,
466
- * without blocking.
467
- *
468
- * @return The number of handlers that were executed.
469
- */
470
- BOOST_ASIO_DECL count_type poll_one();
471
-
472
- #if !defined(BOOST_ASIO_NO_DEPRECATED)
473
- /// (Deprecated: Use non-error_code overload.) Run the io_context object's
474
- /// event processing loop to execute one ready handler.
475
- /**
476
- * The poll_one() function runs at most one handler that is ready to run,
477
- * without blocking.
478
- *
479
- * @param ec Set to indicate what error occurred, if any.
480
- *
481
- * @return The number of handlers that were executed.
482
- */
483
- BOOST_ASIO_DECL count_type poll_one(boost::system::error_code& ec);
484
- #endif // !defined(BOOST_ASIO_NO_DEPRECATED)
485
-
486
- /// Stop the io_context object's event processing loop.
487
- /**
488
- * This function does not block, but instead simply signals the io_context to
489
- * stop. All invocations of its run() or run_one() member functions should
490
- * return as soon as possible. Subsequent calls to run(), run_one(), poll()
491
- * or poll_one() will return immediately until restart() is called.
492
- */
493
- BOOST_ASIO_DECL void stop();
494
-
495
- /// Determine whether the io_context object has been stopped.
496
- /**
497
- * This function is used to determine whether an io_context object has been
498
- * stopped, either through an explicit call to stop(), or due to running out
499
- * of work. When an io_context object is stopped, calls to run(), run_one(),
500
- * poll() or poll_one() will return immediately without invoking any
501
- * handlers.
502
- *
503
- * @return @c true if the io_context object is stopped, otherwise @c false.
504
- */
505
- BOOST_ASIO_DECL bool stopped() const;
506
-
507
- /// Restart the io_context in preparation for a subsequent run() invocation.
508
- /**
509
- * This function must be called prior to any second or later set of
510
- * invocations of the run(), run_one(), poll() or poll_one() functions when a
511
- * previous invocation of these functions returned due to the io_context
512
- * being stopped or running out of work. After a call to restart(), the
513
- * io_context object's stopped() function will return @c false.
514
- *
515
- * This function must not be called while there are any unfinished calls to
516
- * the run(), run_one(), poll() or poll_one() functions.
517
- */
518
- BOOST_ASIO_DECL void restart();
519
-
520
- #if !defined(BOOST_ASIO_NO_DEPRECATED)
521
- /// (Deprecated: Use restart().) Reset the io_context in preparation for a
522
- /// subsequent run() invocation.
523
- /**
524
- * This function must be called prior to any second or later set of
525
- * invocations of the run(), run_one(), poll() or poll_one() functions when a
526
- * previous invocation of these functions returned due to the io_context
527
- * being stopped or running out of work. After a call to restart(), the
528
- * io_context object's stopped() function will return @c false.
529
- *
530
- * This function must not be called while there are any unfinished calls to
531
- * the run(), run_one(), poll() or poll_one() functions.
532
- */
533
- void reset();
534
-
535
- /// (Deprecated: Use boost::asio::dispatch().) Request the io_context to
536
- /// invoke the given handler.
537
- /**
538
- * This function is used to ask the io_context to execute the given handler.
539
- *
540
- * The io_context guarantees that the handler will only be called in a thread
541
- * in which the run(), run_one(), poll() or poll_one() member functions is
542
- * currently being invoked. The handler may be executed inside this function
543
- * if the guarantee can be met.
544
- *
545
- * @param handler The handler to be called. The io_context will make
546
- * a copy of the handler object as required. The function signature of the
547
- * handler must be: @code void handler(); @endcode
548
- *
549
- * @note This function throws an exception only if:
550
- *
551
- * @li the handler's associated allocator; or
552
- *
553
- * @li the handler's copy constructor
554
- *
555
- * throws an exception.
556
- */
557
- template <typename LegacyCompletionHandler>
558
- auto dispatch(LegacyCompletionHandler&& handler)
559
- -> decltype(
560
- async_initiate<LegacyCompletionHandler, void ()>(
561
- declval<initiate_dispatch>(), handler, this));
562
-
563
- /// (Deprecated: Use boost::asio::post().) Request the io_context to invoke
564
- /// the given handler and return immediately.
565
- /**
566
- * This function is used to ask the io_context to execute the given handler,
567
- * but without allowing the io_context to call the handler from inside this
568
- * function.
569
- *
570
- * The io_context guarantees that the handler will only be called in a thread
571
- * in which the run(), run_one(), poll() or poll_one() member functions is
572
- * currently being invoked.
573
- *
574
- * @param handler The handler to be called. The io_context will make
575
- * a copy of the handler object as required. The function signature of the
576
- * handler must be: @code void handler(); @endcode
577
- *
578
- * @note This function throws an exception only if:
579
- *
580
- * @li the handler's associated allocator; or
581
- *
582
- * @li the handler's copy constructor
583
- *
584
- * throws an exception.
585
- */
586
- template <typename LegacyCompletionHandler>
587
- auto post(LegacyCompletionHandler&& handler)
588
- -> decltype(
589
- async_initiate<LegacyCompletionHandler, void ()>(
590
- declval<initiate_post>(), handler, this));
591
-
592
- /// (Deprecated: Use boost::asio::bind_executor().) Create a new handler that
593
- /// automatically dispatches the wrapped handler on the io_context.
594
- /**
595
- * This function is used to create a new handler function object that, when
596
- * invoked, will automatically pass the wrapped handler to the io_context
597
- * object's dispatch function.
598
- *
599
- * @param handler The handler to be wrapped. The io_context will make a copy
600
- * of the handler object as required. The function signature of the handler
601
- * must be: @code void handler(A1 a1, ... An an); @endcode
602
- *
603
- * @return A function object that, when invoked, passes the wrapped handler to
604
- * the io_context object's dispatch function. Given a function object with the
605
- * signature:
606
- * @code R f(A1 a1, ... An an); @endcode
607
- * If this function object is passed to the wrap function like so:
608
- * @code io_context.wrap(f); @endcode
609
- * then the return value is a function object with the signature
610
- * @code void g(A1 a1, ... An an); @endcode
611
- * that, when invoked, executes code equivalent to:
612
- * @code io_context.dispatch(boost::bind(f, a1, ... an)); @endcode
613
- */
614
- template <typename Handler>
615
- #if defined(GENERATING_DOCUMENTATION)
616
- unspecified
617
- #else
618
- detail::wrapped_handler<io_context&, Handler>
619
- #endif
620
- wrap(Handler handler);
621
- #endif // !defined(BOOST_ASIO_NO_DEPRECATED)
622
-
623
- private:
624
- io_context(const io_context&) = delete;
625
- io_context& operator=(const io_context&) = delete;
626
-
627
- // Helper function to add the implementation.
628
- BOOST_ASIO_DECL impl_type& add_impl(impl_type* impl);
629
-
630
- // Backwards compatible overload for use with services derived from
631
- // io_context::service.
632
- template <typename Service>
633
- friend Service& use_service(io_context& ioc);
634
-
635
- #if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
636
- detail::winsock_init<> init_;
637
- #elif defined(__sun) || defined(__QNX__) || defined(__hpux) || defined(_AIX) \
638
- || defined(__osf__)
639
- detail::signal_init<> init_;
640
- #endif
641
-
642
- // The implementation.
643
- impl_type& impl_;
644
- };
645
-
646
- /// Executor implementation type used to submit functions to an io_context.
647
- template <typename Allocator, uintptr_t Bits>
648
- class io_context::basic_executor_type :
649
- detail::io_context_bits, Allocator
650
- {
651
- public:
652
- /// Copy constructor.
653
- basic_executor_type(const basic_executor_type& other) noexcept
654
- : Allocator(static_cast<const Allocator&>(other)),
655
- target_(other.target_)
656
- {
657
- if (Bits & outstanding_work_tracked)
658
- if (context_ptr())
659
- context_ptr()->impl_.work_started();
660
- }
661
-
662
- /// Move constructor.
663
- basic_executor_type(basic_executor_type&& other) noexcept
664
- : Allocator(static_cast<Allocator&&>(other)),
665
- target_(other.target_)
666
- {
667
- if (Bits & outstanding_work_tracked)
668
- other.target_ = 0;
669
- }
670
-
671
- /// Destructor.
672
- ~basic_executor_type() noexcept
673
- {
674
- if (Bits & outstanding_work_tracked)
675
- if (context_ptr())
676
- context_ptr()->impl_.work_finished();
677
- }
678
-
679
- /// Assignment operator.
680
- basic_executor_type& operator=(const basic_executor_type& other) noexcept;
681
-
682
- /// Move assignment operator.
683
- basic_executor_type& operator=(basic_executor_type&& other) noexcept;
684
-
685
- #if !defined(GENERATING_DOCUMENTATION)
686
- private:
687
- friend struct boost_asio_require_fn::impl;
688
- friend struct boost_asio_prefer_fn::impl;
689
- #endif // !defined(GENERATING_DOCUMENTATION)
690
-
691
- /// Obtain an executor with the @c blocking.possibly property.
692
- /**
693
- * Do not call this function directly. It is intended for use with the
694
- * boost::asio::require customisation point.
695
- *
696
- * For example:
697
- * @code auto ex1 = my_io_context.get_executor();
698
- * auto ex2 = boost::asio::require(ex1,
699
- * boost::asio::execution::blocking.possibly); @endcode
700
- */
701
- constexpr basic_executor_type require(execution::blocking_t::possibly_t) const
702
- {
703
- return basic_executor_type(context_ptr(),
704
- *this, bits() & ~blocking_never);
705
- }
706
-
707
- /// Obtain an executor with the @c blocking.never property.
708
- /**
709
- * Do not call this function directly. It is intended for use with the
710
- * boost::asio::require customisation point.
711
- *
712
- * For example:
713
- * @code auto ex1 = my_io_context.get_executor();
714
- * auto ex2 = boost::asio::require(ex1,
715
- * boost::asio::execution::blocking.never); @endcode
716
- */
717
- constexpr basic_executor_type require(execution::blocking_t::never_t) const
718
- {
719
- return basic_executor_type(context_ptr(),
720
- *this, bits() | blocking_never);
721
- }
722
-
723
- /// Obtain an executor with the @c relationship.fork property.
724
- /**
725
- * Do not call this function directly. It is intended for use with the
726
- * boost::asio::require customisation point.
727
- *
728
- * For example:
729
- * @code auto ex1 = my_io_context.get_executor();
730
- * auto ex2 = boost::asio::require(ex1,
731
- * boost::asio::execution::relationship.fork); @endcode
732
- */
733
- constexpr basic_executor_type require(execution::relationship_t::fork_t) const
734
- {
735
- return basic_executor_type(context_ptr(),
736
- *this, bits() & ~relationship_continuation);
737
- }
738
-
739
- /// Obtain an executor with the @c relationship.continuation property.
740
- /**
741
- * Do not call this function directly. It is intended for use with the
742
- * boost::asio::require customisation point.
743
- *
744
- * For example:
745
- * @code auto ex1 = my_io_context.get_executor();
746
- * auto ex2 = boost::asio::require(ex1,
747
- * boost::asio::execution::relationship.continuation); @endcode
748
- */
749
- constexpr basic_executor_type require(
750
- execution::relationship_t::continuation_t) const
751
- {
752
- return basic_executor_type(context_ptr(),
753
- *this, bits() | relationship_continuation);
754
- }
755
-
756
- /// Obtain an executor with the @c outstanding_work.tracked property.
757
- /**
758
- * Do not call this function directly. It is intended for use with the
759
- * boost::asio::require customisation point.
760
- *
761
- * For example:
762
- * @code auto ex1 = my_io_context.get_executor();
763
- * auto ex2 = boost::asio::require(ex1,
764
- * boost::asio::execution::outstanding_work.tracked); @endcode
765
- */
766
- constexpr basic_executor_type<Allocator,
767
- BOOST_ASIO_UNSPECIFIED(Bits | outstanding_work_tracked)>
768
- require(execution::outstanding_work_t::tracked_t) const
769
- {
770
- return basic_executor_type<Allocator, Bits | outstanding_work_tracked>(
771
- context_ptr(), *this, bits());
772
- }
773
-
774
- /// Obtain an executor with the @c outstanding_work.untracked property.
775
- /**
776
- * Do not call this function directly. It is intended for use with the
777
- * boost::asio::require customisation point.
778
- *
779
- * For example:
780
- * @code auto ex1 = my_io_context.get_executor();
781
- * auto ex2 = boost::asio::require(ex1,
782
- * boost::asio::execution::outstanding_work.untracked); @endcode
783
- */
784
- constexpr basic_executor_type<Allocator,
785
- BOOST_ASIO_UNSPECIFIED(Bits & ~outstanding_work_tracked)>
786
- require(execution::outstanding_work_t::untracked_t) const
787
- {
788
- return basic_executor_type<Allocator, Bits & ~outstanding_work_tracked>(
789
- context_ptr(), *this, bits());
790
- }
791
-
792
- /// Obtain an executor with the specified @c allocator property.
793
- /**
794
- * Do not call this function directly. It is intended for use with the
795
- * boost::asio::require customisation point.
796
- *
797
- * For example:
798
- * @code auto ex1 = my_io_context.get_executor();
799
- * auto ex2 = boost::asio::require(ex1,
800
- * boost::asio::execution::allocator(my_allocator)); @endcode
801
- */
802
- template <typename OtherAllocator>
803
- constexpr basic_executor_type<OtherAllocator, Bits>
804
- require(execution::allocator_t<OtherAllocator> a) const
805
- {
806
- return basic_executor_type<OtherAllocator, Bits>(
807
- context_ptr(), a.value(), bits());
808
- }
809
-
810
- /// Obtain an executor with the default @c allocator property.
811
- /**
812
- * Do not call this function directly. It is intended for use with the
813
- * boost::asio::require customisation point.
814
- *
815
- * For example:
816
- * @code auto ex1 = my_io_context.get_executor();
817
- * auto ex2 = boost::asio::require(ex1,
818
- * boost::asio::execution::allocator); @endcode
819
- */
820
- constexpr basic_executor_type<std::allocator<void>, Bits>
821
- require(execution::allocator_t<void>) const
822
- {
823
- return basic_executor_type<std::allocator<void>, Bits>(
824
- context_ptr(), std::allocator<void>(), bits());
825
- }
826
-
827
- #if !defined(GENERATING_DOCUMENTATION)
828
- private:
829
- friend struct boost_asio_query_fn::impl;
830
- friend struct boost::asio::execution::detail::mapping_t<0>;
831
- friend struct boost::asio::execution::detail::outstanding_work_t<0>;
832
- #endif // !defined(GENERATING_DOCUMENTATION)
833
-
834
- /// Query the current value of the @c mapping property.
835
- /**
836
- * Do not call this function directly. It is intended for use with the
837
- * boost::asio::query customisation point.
838
- *
839
- * For example:
840
- * @code auto ex = my_io_context.get_executor();
841
- * if (boost::asio::query(ex, boost::asio::execution::mapping)
842
- * == boost::asio::execution::mapping.thread)
843
- * ... @endcode
844
- */
845
- static constexpr execution::mapping_t query(execution::mapping_t) noexcept
846
- {
847
- return execution::mapping.thread;
848
- }
849
-
850
- /// Query the current value of the @c context property.
851
- /**
852
- * Do not call this function directly. It is intended for use with the
853
- * boost::asio::query customisation point.
854
- *
855
- * For example:
856
- * @code auto ex = my_io_context.get_executor();
857
- * boost::asio::io_context& ctx = boost::asio::query(
858
- * ex, boost::asio::execution::context); @endcode
859
- */
860
- io_context& query(execution::context_t) const noexcept
861
- {
862
- return *context_ptr();
863
- }
864
-
865
- /// Query the current value of the @c blocking property.
866
- /**
867
- * Do not call this function directly. It is intended for use with the
868
- * boost::asio::query customisation point.
869
- *
870
- * For example:
871
- * @code auto ex = my_io_context.get_executor();
872
- * if (boost::asio::query(ex, boost::asio::execution::blocking)
873
- * == boost::asio::execution::blocking.always)
874
- * ... @endcode
875
- */
876
- constexpr execution::blocking_t query(execution::blocking_t) const noexcept
877
- {
878
- return (bits() & blocking_never)
879
- ? execution::blocking_t(execution::blocking.never)
880
- : execution::blocking_t(execution::blocking.possibly);
881
- }
882
-
883
- /// Query the current value of the @c relationship property.
884
- /**
885
- * Do not call this function directly. It is intended for use with the
886
- * boost::asio::query customisation point.
887
- *
888
- * For example:
889
- * @code auto ex = my_io_context.get_executor();
890
- * if (boost::asio::query(ex, boost::asio::execution::relationship)
891
- * == boost::asio::execution::relationship.continuation)
892
- * ... @endcode
893
- */
894
- constexpr execution::relationship_t query(
895
- execution::relationship_t) const noexcept
896
- {
897
- return (bits() & relationship_continuation)
898
- ? execution::relationship_t(execution::relationship.continuation)
899
- : execution::relationship_t(execution::relationship.fork);
900
- }
901
-
902
- /// Query the current value of the @c outstanding_work property.
903
- /**
904
- * Do not call this function directly. It is intended for use with the
905
- * boost::asio::query customisation point.
906
- *
907
- * For example:
908
- * @code auto ex = my_io_context.get_executor();
909
- * if (boost::asio::query(ex, boost::asio::execution::outstanding_work)
910
- * == boost::asio::execution::outstanding_work.tracked)
911
- * ... @endcode
912
- */
913
- static constexpr execution::outstanding_work_t query(
914
- execution::outstanding_work_t) noexcept
915
- {
916
- return (Bits & outstanding_work_tracked)
917
- ? execution::outstanding_work_t(execution::outstanding_work.tracked)
918
- : execution::outstanding_work_t(execution::outstanding_work.untracked);
919
- }
920
-
921
- /// Query the current value of the @c allocator property.
922
- /**
923
- * Do not call this function directly. It is intended for use with the
924
- * boost::asio::query customisation point.
925
- *
926
- * For example:
927
- * @code auto ex = my_io_context.get_executor();
928
- * auto alloc = boost::asio::query(ex,
929
- * boost::asio::execution::allocator); @endcode
930
- */
931
- template <typename OtherAllocator>
932
- constexpr Allocator query(
933
- execution::allocator_t<OtherAllocator>) const noexcept
934
- {
935
- return static_cast<const Allocator&>(*this);
936
- }
937
-
938
- /// Query the current value of the @c allocator property.
939
- /**
940
- * Do not call this function directly. It is intended for use with the
941
- * boost::asio::query customisation point.
942
- *
943
- * For example:
944
- * @code auto ex = my_io_context.get_executor();
945
- * auto alloc = boost::asio::query(ex,
946
- * boost::asio::execution::allocator); @endcode
947
- */
948
- constexpr Allocator query(execution::allocator_t<void>) const noexcept
949
- {
950
- return static_cast<const Allocator&>(*this);
951
- }
952
-
953
- public:
954
- /// Determine whether the io_context is running in the current thread.
955
- /**
956
- * @return @c true if the current thread is running the io_context. Otherwise
957
- * returns @c false.
958
- */
959
- bool running_in_this_thread() const noexcept;
960
-
961
- /// Compare two executors for equality.
962
- /**
963
- * Two executors are equal if they refer to the same underlying io_context.
964
- */
965
- friend bool operator==(const basic_executor_type& a,
966
- const basic_executor_type& b) noexcept
967
- {
968
- return a.target_ == b.target_
969
- && static_cast<const Allocator&>(a) == static_cast<const Allocator&>(b);
970
- }
971
-
972
- /// Compare two executors for inequality.
973
- /**
974
- * Two executors are equal if they refer to the same underlying io_context.
975
- */
976
- friend bool operator!=(const basic_executor_type& a,
977
- const basic_executor_type& b) noexcept
978
- {
979
- return a.target_ != b.target_
980
- || static_cast<const Allocator&>(a) != static_cast<const Allocator&>(b);
981
- }
982
-
983
- /// Execution function.
984
- template <typename Function>
985
- void execute(Function&& f) const;
986
-
987
- #if !defined(BOOST_ASIO_NO_TS_EXECUTORS)
988
- public:
989
- /// Obtain the underlying execution context.
990
- io_context& context() const noexcept;
991
-
992
- /// Inform the io_context that it has some outstanding work to do.
993
- /**
994
- * This function is used to inform the io_context that some work has begun.
995
- * This ensures that the io_context's run() and run_one() functions do not
996
- * exit while the work is underway.
997
- */
998
- void on_work_started() const noexcept;
999
-
1000
- /// Inform the io_context that some work is no longer outstanding.
1001
- /**
1002
- * This function is used to inform the io_context that some work has
1003
- * finished. Once the count of unfinished work reaches zero, the io_context
1004
- * is stopped and the run() and run_one() functions may exit.
1005
- */
1006
- void on_work_finished() const noexcept;
1007
-
1008
- /// Request the io_context to invoke the given function object.
1009
- /**
1010
- * This function is used to ask the io_context to execute the given function
1011
- * object. If the current thread is running the io_context, @c dispatch()
1012
- * executes the function before returning. Otherwise, the function will be
1013
- * scheduled to run on the io_context.
1014
- *
1015
- * @param f The function object to be called. The executor will make a copy
1016
- * of the handler object as required. The function signature of the function
1017
- * object must be: @code void function(); @endcode
1018
- *
1019
- * @param a An allocator that may be used by the executor to allocate the
1020
- * internal storage needed for function invocation.
1021
- */
1022
- template <typename Function, typename OtherAllocator>
1023
- void dispatch(Function&& f, const OtherAllocator& a) const;
1024
-
1025
- /// Request the io_context to invoke the given function object.
1026
- /**
1027
- * This function is used to ask the io_context to execute the given function
1028
- * object. The function object will never be executed inside @c post().
1029
- * Instead, it will be scheduled to run on the io_context.
1030
- *
1031
- * @param f The function object to be called. The executor will make a copy
1032
- * of the handler object as required. The function signature of the function
1033
- * object must be: @code void function(); @endcode
1034
- *
1035
- * @param a An allocator that may be used by the executor to allocate the
1036
- * internal storage needed for function invocation.
1037
- */
1038
- template <typename Function, typename OtherAllocator>
1039
- void post(Function&& f, const OtherAllocator& a) const;
1040
-
1041
- /// Request the io_context to invoke the given function object.
1042
- /**
1043
- * This function is used to ask the io_context to execute the given function
1044
- * object. The function object will never be executed inside @c defer().
1045
- * Instead, it will be scheduled to run on the io_context.
1046
- *
1047
- * If the current thread belongs to the io_context, @c defer() will delay
1048
- * scheduling the function object until the current thread returns control to
1049
- * the pool.
1050
- *
1051
- * @param f The function object to be called. The executor will make a copy
1052
- * of the handler object as required. The function signature of the function
1053
- * object must be: @code void function(); @endcode
1054
- *
1055
- * @param a An allocator that may be used by the executor to allocate the
1056
- * internal storage needed for function invocation.
1057
- */
1058
- template <typename Function, typename OtherAllocator>
1059
- void defer(Function&& f, const OtherAllocator& a) const;
1060
- #endif // !defined(BOOST_ASIO_NO_TS_EXECUTORS)
1061
-
1062
- private:
1063
- friend class io_context;
1064
- template <typename, uintptr_t> friend class basic_executor_type;
1065
-
1066
- // Constructor used by io_context::get_executor().
1067
- explicit basic_executor_type(io_context& i) noexcept
1068
- : Allocator(),
1069
- target_(reinterpret_cast<uintptr_t>(&i))
1070
- {
1071
- if (Bits & outstanding_work_tracked)
1072
- context_ptr()->impl_.work_started();
1073
- }
1074
-
1075
- // Constructor used by require().
1076
- basic_executor_type(io_context* i,
1077
- const Allocator& a, uintptr_t bits) noexcept
1078
- : Allocator(a),
1079
- target_(reinterpret_cast<uintptr_t>(i) | bits)
1080
- {
1081
- if (Bits & outstanding_work_tracked)
1082
- if (context_ptr())
1083
- context_ptr()->impl_.work_started();
1084
- }
1085
-
1086
- io_context* context_ptr() const noexcept
1087
- {
1088
- return reinterpret_cast<io_context*>(target_ & ~runtime_bits);
1089
- }
1090
-
1091
- uintptr_t bits() const noexcept
1092
- {
1093
- return target_ & runtime_bits;
1094
- }
1095
-
1096
- // The underlying io_context and runtime bits.
1097
- uintptr_t target_;
1098
- };
1099
-
1100
- #if !defined(BOOST_ASIO_NO_DEPRECATED)
1101
- /// (Deprecated: Use executor_work_guard.) Class to inform the io_context when
1102
- /// it has work to do.
1103
- /**
1104
- * The work class is used to inform the io_context when work starts and
1105
- * finishes. This ensures that the io_context object's run() function will not
1106
- * exit while work is underway, and that it does exit when there is no
1107
- * unfinished work remaining.
1108
- *
1109
- * The work class is copy-constructible so that it may be used as a data member
1110
- * in a handler class. It is not assignable.
1111
- */
1112
- class io_context::work
1113
- {
1114
- public:
1115
- /// Constructor notifies the io_context that work is starting.
1116
- /**
1117
- * The constructor is used to inform the io_context that some work has begun.
1118
- * This ensures that the io_context object's run() function will not exit
1119
- * while the work is underway.
1120
- */
1121
- explicit work(boost::asio::io_context& io_context);
1122
-
1123
- /// Copy constructor notifies the io_context that work is starting.
1124
- /**
1125
- * The constructor is used to inform the io_context that some work has begun.
1126
- * This ensures that the io_context object's run() function will not exit
1127
- * while the work is underway.
1128
- */
1129
- work(const work& other);
1130
-
1131
- /// Destructor notifies the io_context that the work is complete.
1132
- /**
1133
- * The destructor is used to inform the io_context that some work has
1134
- * finished. Once the count of unfinished work reaches zero, the io_context
1135
- * object's run() function is permitted to exit.
1136
- */
1137
- ~work();
1138
-
1139
- /// Get the io_context associated with the work.
1140
- boost::asio::io_context& get_io_context();
1141
-
1142
- private:
1143
- // Prevent assignment.
1144
- void operator=(const work& other);
1145
-
1146
- // The io_context implementation.
1147
- detail::io_context_impl& io_context_impl_;
1148
- };
1149
- #endif // !defined(BOOST_ASIO_NO_DEPRECATED)
1150
-
1151
- /// Base class for all io_context services.
1152
- class io_context::service
1153
- : public execution_context::service
1154
- {
1155
- public:
1156
- /// Get the io_context object that owns the service.
1157
- boost::asio::io_context& get_io_context();
1158
-
1159
- private:
1160
- /// Destroy all user-defined handler objects owned by the service.
1161
- BOOST_ASIO_DECL virtual void shutdown();
1162
-
1163
- #if !defined(BOOST_ASIO_NO_DEPRECATED)
1164
- /// (Deprecated: Use shutdown().) Destroy all user-defined handler objects
1165
- /// owned by the service.
1166
- BOOST_ASIO_DECL virtual void shutdown_service();
1167
- #endif // !defined(BOOST_ASIO_NO_DEPRECATED)
1168
-
1169
- /// Handle notification of a fork-related event to perform any necessary
1170
- /// housekeeping.
1171
- /**
1172
- * This function is not a pure virtual so that services only have to
1173
- * implement it if necessary. The default implementation does nothing.
1174
- */
1175
- BOOST_ASIO_DECL virtual void notify_fork(
1176
- execution_context::fork_event event);
1177
-
1178
- #if !defined(BOOST_ASIO_NO_DEPRECATED)
1179
- /// (Deprecated: Use notify_fork().) Handle notification of a fork-related
1180
- /// event to perform any necessary housekeeping.
1181
- /**
1182
- * This function is not a pure virtual so that services only have to
1183
- * implement it if necessary. The default implementation does nothing.
1184
- */
1185
- BOOST_ASIO_DECL virtual void fork_service(
1186
- execution_context::fork_event event);
1187
- #endif // !defined(BOOST_ASIO_NO_DEPRECATED)
1188
-
1189
- protected:
1190
- /// Constructor.
1191
- /**
1192
- * @param owner The io_context object that owns the service.
1193
- */
1194
- BOOST_ASIO_DECL service(boost::asio::io_context& owner);
1195
-
1196
- /// Destructor.
1197
- BOOST_ASIO_DECL virtual ~service();
1198
- };
1199
-
1200
- namespace detail {
1201
-
1202
- // Special service base class to keep classes header-file only.
1203
- template <typename Type>
1204
- class service_base
1205
- : public boost::asio::io_context::service
1206
- {
1207
- public:
1208
- static boost::asio::detail::service_id<Type> id;
1209
-
1210
- // Constructor.
1211
- service_base(boost::asio::io_context& io_context)
1212
- : boost::asio::io_context::service(io_context)
1213
- {
1214
- }
1215
- };
1216
-
1217
- template <typename Type>
1218
- boost::asio::detail::service_id<Type> service_base<Type>::id;
1219
-
1220
- } // namespace detail
1221
-
1222
- #if !defined(GENERATING_DOCUMENTATION)
1223
-
1224
- namespace traits {
1225
-
1226
- #if !defined(BOOST_ASIO_HAS_DEDUCED_EQUALITY_COMPARABLE_TRAIT)
1227
-
1228
- template <typename Allocator, uintptr_t Bits>
1229
- struct equality_comparable<
1230
- boost::asio::io_context::basic_executor_type<Allocator, Bits>
1231
- >
1232
- {
1233
- static constexpr bool is_valid = true;
1234
- static constexpr bool is_noexcept = true;
1235
- };
1236
-
1237
- #endif // !defined(BOOST_ASIO_HAS_DEDUCED_EQUALITY_COMPARABLE_TRAIT)
1238
-
1239
- #if !defined(BOOST_ASIO_HAS_DEDUCED_EXECUTE_MEMBER_TRAIT)
1240
-
1241
- template <typename Allocator, uintptr_t Bits, typename Function>
1242
- struct execute_member<
1243
- boost::asio::io_context::basic_executor_type<Allocator, Bits>,
1244
- Function
1245
- >
1246
- {
1247
- static constexpr bool is_valid = true;
1248
- static constexpr bool is_noexcept = false;
1249
- typedef void result_type;
1250
- };
1251
-
1252
- #endif // !defined(BOOST_ASIO_HAS_DEDUCED_EXECUTE_MEMBER_TRAIT)
1253
-
1254
- #if !defined(BOOST_ASIO_HAS_DEDUCED_REQUIRE_MEMBER_TRAIT)
1255
-
1256
- template <typename Allocator, uintptr_t Bits>
1257
- struct require_member<
1258
- boost::asio::io_context::basic_executor_type<Allocator, Bits>,
1259
- boost::asio::execution::blocking_t::possibly_t
1260
- >
1261
- {
1262
- static constexpr bool is_valid = true;
1263
- static constexpr bool is_noexcept = false;
1264
- typedef boost::asio::io_context::basic_executor_type<
1265
- Allocator, Bits> result_type;
1266
- };
1267
-
1268
- template <typename Allocator, uintptr_t Bits>
1269
- struct require_member<
1270
- boost::asio::io_context::basic_executor_type<Allocator, Bits>,
1271
- boost::asio::execution::blocking_t::never_t
1272
- >
1273
- {
1274
- static constexpr bool is_valid = true;
1275
- static constexpr bool is_noexcept = false;
1276
- typedef boost::asio::io_context::basic_executor_type<
1277
- Allocator, Bits> result_type;
1278
- };
1279
-
1280
- template <typename Allocator, uintptr_t Bits>
1281
- struct require_member<
1282
- boost::asio::io_context::basic_executor_type<Allocator, Bits>,
1283
- boost::asio::execution::relationship_t::fork_t
1284
- >
1285
- {
1286
- static constexpr bool is_valid = true;
1287
- static constexpr bool is_noexcept = false;
1288
- typedef boost::asio::io_context::basic_executor_type<
1289
- Allocator, Bits> result_type;
1290
- };
1291
-
1292
- template <typename Allocator, uintptr_t Bits>
1293
- struct require_member<
1294
- boost::asio::io_context::basic_executor_type<Allocator, Bits>,
1295
- boost::asio::execution::relationship_t::continuation_t
1296
- >
1297
- {
1298
- static constexpr bool is_valid = true;
1299
- static constexpr bool is_noexcept = false;
1300
- typedef boost::asio::io_context::basic_executor_type<
1301
- Allocator, Bits> result_type;
1302
- };
1303
-
1304
- template <typename Allocator, uintptr_t Bits>
1305
- struct require_member<
1306
- boost::asio::io_context::basic_executor_type<Allocator, Bits>,
1307
- boost::asio::execution::outstanding_work_t::tracked_t
1308
- > : boost::asio::detail::io_context_bits
1309
- {
1310
- static constexpr bool is_valid = true;
1311
- static constexpr bool is_noexcept = false;
1312
- typedef boost::asio::io_context::basic_executor_type<
1313
- Allocator, Bits | outstanding_work_tracked> result_type;
1314
- };
1315
-
1316
- template <typename Allocator, uintptr_t Bits>
1317
- struct require_member<
1318
- boost::asio::io_context::basic_executor_type<Allocator, Bits>,
1319
- boost::asio::execution::outstanding_work_t::untracked_t
1320
- > : boost::asio::detail::io_context_bits
1321
- {
1322
- static constexpr bool is_valid = true;
1323
- static constexpr bool is_noexcept = false;
1324
- typedef boost::asio::io_context::basic_executor_type<
1325
- Allocator, Bits & ~outstanding_work_tracked> result_type;
1326
- };
1327
-
1328
- template <typename Allocator, uintptr_t Bits>
1329
- struct require_member<
1330
- boost::asio::io_context::basic_executor_type<Allocator, Bits>,
1331
- boost::asio::execution::allocator_t<void>
1332
- >
1333
- {
1334
- static constexpr bool is_valid = true;
1335
- static constexpr bool is_noexcept = false;
1336
- typedef boost::asio::io_context::basic_executor_type<
1337
- std::allocator<void>, Bits> result_type;
1338
- };
1339
-
1340
- template <uintptr_t Bits,
1341
- typename Allocator, typename OtherAllocator>
1342
- struct require_member<
1343
- boost::asio::io_context::basic_executor_type<Allocator, Bits>,
1344
- boost::asio::execution::allocator_t<OtherAllocator>
1345
- >
1346
- {
1347
- static constexpr bool is_valid = true;
1348
- static constexpr bool is_noexcept = false;
1349
- typedef boost::asio::io_context::basic_executor_type<
1350
- OtherAllocator, Bits> result_type;
1351
- };
1352
-
1353
- #endif // !defined(BOOST_ASIO_HAS_DEDUCED_REQUIRE_MEMBER_TRAIT)
1354
-
1355
- #if !defined(BOOST_ASIO_HAS_DEDUCED_QUERY_STATIC_CONSTEXPR_MEMBER_TRAIT)
1356
-
1357
- template <typename Allocator, uintptr_t Bits, typename Property>
1358
- struct query_static_constexpr_member<
1359
- boost::asio::io_context::basic_executor_type<Allocator, Bits>,
1360
- Property,
1361
- typename boost::asio::enable_if<
1362
- boost::asio::is_convertible<
1363
- Property,
1364
- boost::asio::execution::outstanding_work_t
1365
- >::value
1366
- >::type
1367
- > : boost::asio::detail::io_context_bits
1368
- {
1369
- static constexpr bool is_valid = true;
1370
- static constexpr bool is_noexcept = true;
1371
- typedef boost::asio::execution::outstanding_work_t result_type;
1372
-
1373
- static constexpr result_type value() noexcept
1374
- {
1375
- return (Bits & outstanding_work_tracked)
1376
- ? execution::outstanding_work_t(execution::outstanding_work.tracked)
1377
- : execution::outstanding_work_t(execution::outstanding_work.untracked);
1378
- }
1379
- };
1380
-
1381
- template <typename Allocator, uintptr_t Bits, typename Property>
1382
- struct query_static_constexpr_member<
1383
- boost::asio::io_context::basic_executor_type<Allocator, Bits>,
1384
- Property,
1385
- typename boost::asio::enable_if<
1386
- boost::asio::is_convertible<
1387
- Property,
1388
- boost::asio::execution::mapping_t
1389
- >::value
1390
- >::type
1391
- >
1392
- {
1393
- static constexpr bool is_valid = true;
1394
- static constexpr bool is_noexcept = true;
1395
- typedef boost::asio::execution::mapping_t::thread_t result_type;
1396
-
1397
- static constexpr result_type value() noexcept
1398
- {
1399
- return result_type();
1400
- }
1401
- };
1402
-
1403
- #endif // !defined(BOOST_ASIO_HAS_DEDUCED_QUERY_STATIC_CONSTEXPR_MEMBER_TRAIT)
1404
-
1405
- #if !defined(BOOST_ASIO_HAS_DEDUCED_QUERY_MEMBER_TRAIT)
1406
-
1407
- template <typename Allocator, uintptr_t Bits, typename Property>
1408
- struct query_member<
1409
- boost::asio::io_context::basic_executor_type<Allocator, Bits>,
1410
- Property,
1411
- typename boost::asio::enable_if<
1412
- boost::asio::is_convertible<
1413
- Property,
1414
- boost::asio::execution::blocking_t
1415
- >::value
1416
- >::type
1417
- >
1418
- {
1419
- static constexpr bool is_valid = true;
1420
- static constexpr bool is_noexcept = true;
1421
- typedef boost::asio::execution::blocking_t result_type;
1422
- };
1423
-
1424
- template <typename Allocator, uintptr_t Bits, typename Property>
1425
- struct query_member<
1426
- boost::asio::io_context::basic_executor_type<Allocator, Bits>,
1427
- Property,
1428
- typename boost::asio::enable_if<
1429
- boost::asio::is_convertible<
1430
- Property,
1431
- boost::asio::execution::relationship_t
1432
- >::value
1433
- >::type
1434
- >
1435
- {
1436
- static constexpr bool is_valid = true;
1437
- static constexpr bool is_noexcept = true;
1438
- typedef boost::asio::execution::relationship_t result_type;
1439
- };
1440
-
1441
- template <typename Allocator, uintptr_t Bits>
1442
- struct query_member<
1443
- boost::asio::io_context::basic_executor_type<Allocator, Bits>,
1444
- boost::asio::execution::context_t
1445
- >
1446
- {
1447
- static constexpr bool is_valid = true;
1448
- static constexpr bool is_noexcept = true;
1449
- typedef boost::asio::io_context& result_type;
1450
- };
1451
-
1452
- template <typename Allocator, uintptr_t Bits>
1453
- struct query_member<
1454
- boost::asio::io_context::basic_executor_type<Allocator, Bits>,
1455
- boost::asio::execution::allocator_t<void>
1456
- >
1457
- {
1458
- static constexpr bool is_valid = true;
1459
- static constexpr bool is_noexcept = true;
1460
- typedef Allocator result_type;
1461
- };
1462
-
1463
- template <typename Allocator, uintptr_t Bits, typename OtherAllocator>
1464
- struct query_member<
1465
- boost::asio::io_context::basic_executor_type<Allocator, Bits>,
1466
- boost::asio::execution::allocator_t<OtherAllocator>
1467
- >
1468
- {
1469
- static constexpr bool is_valid = true;
1470
- static constexpr bool is_noexcept = true;
1471
- typedef Allocator result_type;
1472
- };
1473
-
1474
- #endif // !defined(BOOST_ASIO_HAS_DEDUCED_QUERY_MEMBER_TRAIT)
1475
-
1476
- } // namespace traits
1477
-
1478
- namespace execution {
1479
-
1480
- template <>
1481
- struct is_executor<io_context> : false_type
1482
- {
1483
- };
1484
-
1485
- } // namespace execution
1486
-
1487
- #endif // !defined(GENERATING_DOCUMENTATION)
1488
-
1489
- } // namespace asio
1490
- } // namespace boost
1491
-
1492
- #include <boost/asio/detail/pop_options.hpp>
1493
-
1494
- #include <boost/asio/impl/io_context.hpp>
1495
- #if defined(BOOST_ASIO_HEADER_ONLY)
1496
- # include <boost/asio/impl/io_context.ipp>
1497
- #endif // defined(BOOST_ASIO_HEADER_ONLY)
1498
-
1499
- // If both io_context.hpp and strand.hpp have been included, automatically
1500
- // include the header file needed for the io_context::strand class.
1501
- #if !defined(BOOST_ASIO_NO_EXTENSIONS)
1502
- # if defined(BOOST_ASIO_STRAND_HPP)
1503
- # include <boost/asio/io_context_strand.hpp>
1504
- # endif // defined(BOOST_ASIO_STRAND_HPP)
1505
- #endif // !defined(BOOST_ASIO_NO_EXTENSIONS)
1506
-
1507
- #endif // BOOST_ASIO_IO_CONTEXT_HPP