couchbase 3.0.0.alpha.3-universal-darwin-19 → 3.0.1-universal-darwin-19

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 (1684) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +6 -4
  3. data/ext/CMakeLists.txt +92 -128
  4. data/ext/build_config.hxx.in +20 -0
  5. data/ext/build_version.hxx.in +3 -2
  6. data/ext/cmake/Backtrace.cmake +35 -0
  7. data/ext/cmake/BuildTracing.cmake +6 -0
  8. data/ext/cmake/Cache.cmake +29 -0
  9. data/ext/cmake/CompilerWarnings.cmake +78 -0
  10. data/ext/cmake/PreventInSourceBuilds.cmake +18 -0
  11. data/ext/cmake/Sanitizers.cmake +66 -0
  12. data/ext/cmake/StandardProjectSettings.cmake +40 -0
  13. data/ext/cmake/StaticAnalyzers.cmake +37 -0
  14. data/ext/cmake/Testing.cmake +52 -0
  15. data/ext/cmake/ThirdPartyDependencies.cmake +20 -0
  16. data/ext/cmake/VersionInfo.cmake +37 -0
  17. data/ext/couchbase/bucket.hxx +261 -19
  18. data/ext/couchbase/capabilities.hxx +117 -0
  19. data/ext/couchbase/cbcrypto/cbcrypto.cc +15 -15
  20. data/ext/couchbase/cluster.hxx +179 -87
  21. data/ext/couchbase/cluster_options.hxx +54 -0
  22. data/ext/couchbase/configuration.hxx +438 -44
  23. data/ext/couchbase/couchbase.cxx +3523 -1062
  24. data/ext/couchbase/diagnostics.hxx +251 -0
  25. data/ext/couchbase/document_id.hxx +3 -1
  26. data/ext/couchbase/error_map.hxx +202 -2
  27. data/ext/couchbase/errors.hxx +18 -3
  28. data/ext/couchbase/io/dns_client.hxx +217 -0
  29. data/ext/couchbase/io/dns_codec.hxx +207 -0
  30. data/ext/couchbase/io/dns_config.hxx +116 -0
  31. data/ext/couchbase/io/dns_message.hxx +555 -0
  32. data/ext/couchbase/io/http_command.hxx +95 -0
  33. data/ext/couchbase/io/http_context.hxx +37 -0
  34. data/ext/couchbase/io/http_message.hxx +9 -0
  35. data/ext/couchbase/io/http_parser.hxx +2 -0
  36. data/ext/couchbase/io/http_session.hxx +187 -49
  37. data/ext/couchbase/io/http_session_manager.hxx +182 -0
  38. data/ext/couchbase/io/mcbp_command.hxx +246 -0
  39. data/ext/couchbase/io/mcbp_message.hxx +24 -2
  40. data/ext/couchbase/io/mcbp_session.hxx +558 -163
  41. data/ext/couchbase/io/query_cache.hxx +61 -0
  42. data/ext/couchbase/io/retry_action.hxx +30 -0
  43. data/ext/couchbase/io/retry_context.hxx +38 -0
  44. data/ext/couchbase/io/retry_orchestrator.hxx +112 -0
  45. data/ext/couchbase/io/retry_reason.hxx +235 -0
  46. data/ext/couchbase/io/retry_strategy.hxx +156 -0
  47. data/ext/couchbase/io/streams.hxx +216 -0
  48. data/ext/couchbase/mutation_token.hxx +1 -1
  49. data/ext/couchbase/operations.hxx +33 -1
  50. data/ext/couchbase/operations/analytics_dataset_create.hxx +117 -0
  51. data/ext/couchbase/operations/analytics_dataset_drop.hxx +103 -0
  52. data/ext/couchbase/operations/analytics_dataset_get_all.hxx +107 -0
  53. data/ext/couchbase/operations/analytics_dataverse_create.hxx +104 -0
  54. data/ext/couchbase/operations/analytics_dataverse_drop.hxx +104 -0
  55. data/ext/couchbase/operations/analytics_get_pending_mutations.hxx +91 -0
  56. data/ext/couchbase/operations/analytics_index_create.hxx +128 -0
  57. data/ext/couchbase/operations/analytics_index_drop.hxx +110 -0
  58. data/ext/couchbase/operations/analytics_index_get_all.hxx +106 -0
  59. data/ext/couchbase/operations/analytics_link_connect.hxx +102 -0
  60. data/ext/couchbase/operations/analytics_link_disconnect.hxx +101 -0
  61. data/ext/couchbase/operations/bucket_create.hxx +15 -7
  62. data/ext/couchbase/operations/bucket_drop.hxx +5 -3
  63. data/ext/couchbase/operations/bucket_flush.hxx +5 -3
  64. data/ext/couchbase/operations/bucket_get.hxx +5 -3
  65. data/ext/couchbase/operations/bucket_get_all.hxx +5 -3
  66. data/ext/couchbase/operations/bucket_settings.hxx +43 -4
  67. data/ext/couchbase/operations/bucket_update.hxx +15 -7
  68. data/ext/couchbase/operations/cluster_developer_preview_enable.hxx +5 -3
  69. data/ext/couchbase/operations/collection_create.hxx +7 -3
  70. data/ext/couchbase/operations/collection_drop.hxx +5 -3
  71. data/ext/couchbase/operations/collections_manifest_get.hxx +70 -0
  72. data/ext/couchbase/operations/design_document.hxx +59 -0
  73. data/ext/couchbase/operations/document_analytics.hxx +293 -0
  74. data/ext/couchbase/operations/document_decrement.hxx +10 -4
  75. data/ext/couchbase/operations/document_exists.hxx +4 -1
  76. data/ext/couchbase/operations/document_get.hxx +7 -1
  77. data/ext/couchbase/operations/document_get_and_lock.hxx +7 -1
  78. data/ext/couchbase/operations/document_get_and_touch.hxx +9 -3
  79. data/ext/couchbase/operations/document_get_projected.hxx +16 -10
  80. data/ext/couchbase/operations/document_increment.hxx +10 -4
  81. data/ext/couchbase/operations/document_insert.hxx +9 -3
  82. data/ext/couchbase/operations/document_lookup_in.hxx +26 -1
  83. data/ext/couchbase/operations/document_mutate_in.hxx +50 -2
  84. data/ext/couchbase/operations/document_query.hxx +103 -17
  85. data/ext/couchbase/operations/document_remove.hxx +7 -1
  86. data/ext/couchbase/operations/document_replace.hxx +9 -3
  87. data/ext/couchbase/operations/document_search.hxx +46 -13
  88. data/ext/couchbase/operations/document_touch.hxx +9 -3
  89. data/ext/couchbase/operations/document_unlock.hxx +7 -1
  90. data/ext/couchbase/operations/document_upsert.hxx +9 -3
  91. data/ext/couchbase/operations/document_view.hxx +228 -0
  92. data/ext/couchbase/operations/group_drop.hxx +71 -0
  93. data/ext/couchbase/operations/group_get.hxx +75 -0
  94. data/ext/couchbase/operations/group_get_all.hxx +70 -0
  95. data/ext/couchbase/operations/group_upsert.hxx +118 -0
  96. data/ext/couchbase/operations/query_index_build_deferred.hxx +4 -4
  97. data/ext/couchbase/operations/query_index_create.hxx +18 -8
  98. data/ext/couchbase/operations/query_index_drop.hxx +16 -6
  99. data/ext/couchbase/operations/query_index_get_all.hxx +15 -5
  100. data/ext/couchbase/operations/rbac.hxx +276 -0
  101. data/ext/couchbase/operations/role_get_all.hxx +70 -0
  102. data/ext/couchbase/operations/scope_create.hxx +10 -4
  103. data/ext/couchbase/operations/scope_drop.hxx +5 -3
  104. data/ext/couchbase/operations/scope_get_all.hxx +5 -3
  105. data/ext/couchbase/operations/search_get_stats.hxx +59 -0
  106. data/ext/couchbase/operations/search_index.hxx +17 -0
  107. data/ext/couchbase/operations/search_index_analyze_document.hxx +3 -3
  108. data/ext/couchbase/operations/search_index_control_ingest.hxx +6 -4
  109. data/ext/couchbase/operations/search_index_control_plan_freeze.hxx +3 -3
  110. data/ext/couchbase/operations/search_index_control_query.hxx +3 -3
  111. data/ext/couchbase/operations/search_index_drop.hxx +3 -3
  112. data/ext/couchbase/operations/search_index_get.hxx +3 -3
  113. data/ext/couchbase/operations/search_index_get_all.hxx +3 -3
  114. data/ext/couchbase/operations/search_index_get_documents_count.hxx +26 -18
  115. data/ext/couchbase/operations/search_index_get_stats.hxx +81 -0
  116. data/ext/couchbase/operations/search_index_upsert.hxx +3 -3
  117. data/ext/couchbase/operations/user_drop.hxx +72 -0
  118. data/ext/couchbase/operations/user_get.hxx +76 -0
  119. data/ext/couchbase/operations/user_get_all.hxx +71 -0
  120. data/ext/couchbase/operations/user_upsert.hxx +125 -0
  121. data/ext/couchbase/operations/view_index_drop.hxx +67 -0
  122. data/ext/couchbase/operations/view_index_get.hxx +90 -0
  123. data/ext/couchbase/operations/view_index_get_all.hxx +125 -0
  124. data/ext/couchbase/operations/view_index_upsert.hxx +87 -0
  125. data/ext/couchbase/origin.hxx +178 -0
  126. data/ext/couchbase/platform/backtrace.c +189 -0
  127. data/ext/couchbase/platform/backtrace.h +54 -0
  128. data/ext/couchbase/platform/terminate_handler.cc +123 -0
  129. data/ext/couchbase/platform/terminate_handler.h +36 -0
  130. data/ext/couchbase/protocol/client_opcode.hxx +44 -40
  131. data/ext/couchbase/protocol/client_response.hxx +3 -3
  132. data/ext/couchbase/protocol/cmd_cluster_map_change_notification.hxx +6 -8
  133. data/ext/couchbase/protocol/cmd_decrement.hxx +5 -5
  134. data/ext/couchbase/protocol/cmd_get_and_touch.hxx +5 -5
  135. data/ext/couchbase/protocol/cmd_get_cluster_config.hxx +9 -7
  136. data/ext/couchbase/protocol/cmd_hello.hxx +10 -0
  137. data/ext/couchbase/protocol/cmd_increment.hxx +5 -5
  138. data/ext/couchbase/protocol/cmd_info.hxx +0 -11
  139. data/ext/couchbase/protocol/cmd_insert.hxx +5 -5
  140. data/ext/couchbase/protocol/cmd_lookup_in.hxx +1 -0
  141. data/ext/couchbase/protocol/cmd_mutate_in.hxx +53 -5
  142. data/ext/couchbase/protocol/cmd_replace.hxx +5 -5
  143. data/ext/couchbase/protocol/cmd_touch.hxx +1 -1
  144. data/ext/couchbase/protocol/cmd_upsert.hxx +5 -5
  145. data/ext/couchbase/protocol/magic.hxx +6 -6
  146. data/ext/couchbase/protocol/server_opcode.hxx +2 -2
  147. data/ext/couchbase/protocol/status.hxx +70 -60
  148. data/ext/couchbase/service_type.hxx +38 -1
  149. data/ext/couchbase/timeout_defaults.hxx +10 -1
  150. data/ext/couchbase/utils/connection_string.hxx +379 -0
  151. data/ext/couchbase/version.hxx +2 -2
  152. data/ext/extconf.rb +72 -24
  153. data/ext/test/test_helper.hxx +141 -0
  154. data/ext/test/test_helper_native.hxx +59 -0
  155. data/ext/test/test_helper_ruby.hxx +72 -0
  156. data/ext/test/test_native_diagnostics.cxx +385 -0
  157. data/ext/test/test_native_trivial_crud.cxx +83 -0
  158. data/ext/test/test_ruby_trivial_crud.cxx +35 -0
  159. data/ext/test/test_ruby_trivial_query.cxx +34 -0
  160. data/ext/third_party/asio/asio/include/asio.hpp +35 -0
  161. data/ext/third_party/asio/asio/include/asio/any_io_executor.hpp +71 -0
  162. data/ext/third_party/asio/asio/include/asio/associated_allocator.hpp +1 -7
  163. data/ext/third_party/asio/asio/include/asio/associated_executor.hpp +36 -19
  164. data/ext/third_party/asio/asio/include/asio/async_result.hpp +1 -8
  165. data/ext/third_party/asio/asio/include/asio/awaitable.hpp +14 -4
  166. data/ext/third_party/asio/asio/include/asio/basic_datagram_socket.hpp +12 -7
  167. data/ext/third_party/asio/asio/include/asio/basic_deadline_timer.hpp +4 -4
  168. data/ext/third_party/asio/asio/include/asio/basic_raw_socket.hpp +11 -7
  169. data/ext/third_party/asio/asio/include/asio/basic_seq_packet_socket.hpp +9 -4
  170. data/ext/third_party/asio/asio/include/asio/basic_serial_port.hpp +6 -6
  171. data/ext/third_party/asio/asio/include/asio/basic_signal_set.hpp +4 -4
  172. data/ext/third_party/asio/asio/include/asio/basic_socket.hpp +5 -5
  173. data/ext/third_party/asio/asio/include/asio/basic_socket_acceptor.hpp +13 -7
  174. data/ext/third_party/asio/asio/include/asio/basic_stream_socket.hpp +7 -3
  175. data/ext/third_party/asio/asio/include/asio/basic_waitable_timer.hpp +52 -4
  176. data/ext/third_party/asio/asio/include/asio/bind_executor.hpp +10 -15
  177. data/ext/third_party/asio/asio/include/asio/buffer.hpp +6 -4
  178. data/ext/third_party/asio/asio/include/asio/co_spawn.hpp +380 -9
  179. data/ext/third_party/asio/asio/include/asio/defer.hpp +4 -1
  180. data/ext/third_party/asio/asio/include/asio/detached.hpp +50 -0
  181. data/ext/third_party/asio/asio/include/asio/detail/atomic_count.hpp +19 -0
  182. data/ext/third_party/asio/asio/include/asio/detail/bind_handler.hpp +144 -26
  183. data/ext/third_party/asio/asio/include/asio/detail/blocking_executor_op.hpp +107 -0
  184. data/ext/third_party/asio/asio/include/asio/detail/buffer_sequence_adapter.hpp +106 -0
  185. data/ext/third_party/asio/asio/include/asio/detail/bulk_executor_op.hpp +88 -0
  186. data/ext/third_party/asio/asio/include/asio/detail/completion_handler.hpp +10 -5
  187. data/ext/third_party/asio/asio/include/asio/detail/conditionally_enabled_event.hpp +8 -0
  188. data/ext/third_party/asio/asio/include/asio/detail/config.hpp +360 -37
  189. data/ext/third_party/asio/asio/include/asio/detail/deadline_timer_service.hpp +17 -2
  190. data/ext/third_party/asio/asio/include/asio/detail/descriptor_ops.hpp +24 -6
  191. data/ext/third_party/asio/asio/include/asio/detail/descriptor_read_op.hpp +32 -14
  192. data/ext/third_party/asio/asio/include/asio/detail/descriptor_write_op.hpp +32 -14
  193. data/ext/third_party/asio/asio/include/asio/detail/executor_function.hpp +133 -34
  194. data/ext/third_party/asio/asio/include/asio/detail/handler_alloc_helpers.hpp +42 -0
  195. data/ext/third_party/asio/asio/include/asio/detail/handler_invoke_helpers.hpp +23 -0
  196. data/ext/third_party/asio/asio/include/asio/detail/handler_tracking.hpp +26 -0
  197. data/ext/third_party/asio/asio/include/asio/detail/handler_work.hpp +370 -45
  198. data/ext/third_party/asio/asio/include/asio/detail/impl/descriptor_ops.ipp +208 -74
  199. data/ext/third_party/asio/asio/include/asio/detail/impl/handler_tracking.ipp +39 -1
  200. data/ext/third_party/asio/asio/include/asio/detail/impl/reactive_serial_port_service.ipp +12 -15
  201. data/ext/third_party/asio/asio/include/asio/detail/impl/scheduler.ipp +37 -0
  202. data/ext/third_party/asio/asio/include/asio/detail/impl/signal_set_service.ipp +2 -1
  203. data/ext/third_party/asio/asio/include/asio/detail/impl/socket_ops.ipp +661 -274
  204. data/ext/third_party/asio/asio/include/asio/detail/impl/strand_executor_service.hpp +210 -4
  205. data/ext/third_party/asio/asio/include/asio/detail/impl/strand_service.hpp +8 -9
  206. data/ext/third_party/asio/asio/include/asio/detail/impl/strand_service.ipp +5 -4
  207. data/ext/third_party/asio/asio/include/asio/detail/impl/win_iocp_io_context.ipp +15 -6
  208. data/ext/third_party/asio/asio/include/asio/detail/io_object_impl.hpp +32 -50
  209. data/ext/third_party/asio/asio/include/asio/detail/memory.hpp +3 -0
  210. data/ext/third_party/asio/asio/include/asio/detail/null_event.hpp +6 -0
  211. data/ext/third_party/asio/asio/include/asio/detail/pop_options.hpp +1 -1
  212. data/ext/third_party/asio/asio/include/asio/detail/posix_event.hpp +13 -0
  213. data/ext/third_party/asio/asio/include/asio/detail/push_options.hpp +1 -1
  214. data/ext/third_party/asio/asio/include/asio/detail/reactive_descriptor_service.hpp +38 -13
  215. data/ext/third_party/asio/asio/include/asio/detail/reactive_null_buffers_op.hpp +12 -6
  216. data/ext/third_party/asio/asio/include/asio/detail/reactive_serial_port_service.hpp +2 -3
  217. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_accept_op.hpp +36 -24
  218. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_connect_op.hpp +17 -10
  219. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_recv_op.hpp +38 -16
  220. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_recvfrom_op.hpp +36 -14
  221. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_recvmsg_op.hpp +21 -11
  222. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_send_op.hpp +43 -17
  223. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_sendto_op.hpp +39 -17
  224. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_service.hpp +44 -21
  225. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_service_base.hpp +41 -18
  226. data/ext/third_party/asio/asio/include/asio/detail/reactive_wait_op.hpp +12 -6
  227. data/ext/third_party/asio/asio/include/asio/detail/reactor_op.hpp +3 -1
  228. data/ext/third_party/asio/asio/include/asio/detail/resolve_endpoint_op.hpp +10 -8
  229. data/ext/third_party/asio/asio/include/asio/detail/resolve_query_op.hpp +11 -9
  230. data/ext/third_party/asio/asio/include/asio/detail/scheduler.hpp +8 -0
  231. data/ext/third_party/asio/asio/include/asio/detail/signal_handler.hpp +7 -5
  232. data/ext/third_party/asio/asio/include/asio/detail/socket_ops.hpp +46 -0
  233. data/ext/third_party/asio/asio/include/asio/detail/source_location.hpp +45 -0
  234. data/ext/third_party/asio/asio/include/asio/detail/std_event.hpp +12 -0
  235. data/ext/third_party/asio/asio/include/asio/detail/strand_executor_service.hpp +25 -1
  236. data/ext/third_party/asio/asio/include/asio/detail/strand_service.hpp +4 -1
  237. data/ext/third_party/asio/asio/include/asio/detail/thread_info_base.hpp +58 -0
  238. data/ext/third_party/asio/asio/include/asio/detail/type_traits.hpp +59 -0
  239. data/ext/third_party/asio/asio/include/asio/detail/variadic_templates.hpp +144 -1
  240. data/ext/third_party/asio/asio/include/asio/detail/wait_handler.hpp +9 -6
  241. data/ext/third_party/asio/asio/include/asio/detail/win_event.hpp +13 -0
  242. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_handle_read_op.hpp +9 -5
  243. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_handle_write_op.hpp +9 -5
  244. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_io_context.hpp +5 -1
  245. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_null_buffers_op.hpp +10 -6
  246. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_overlapped_op.hpp +9 -5
  247. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_overlapped_ptr.hpp +18 -6
  248. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_accept_op.hpp +15 -11
  249. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_connect_op.hpp +10 -5
  250. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_recv_op.hpp +8 -4
  251. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_recvfrom_op.hpp +8 -4
  252. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_recvmsg_op.hpp +8 -4
  253. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_send_op.hpp +8 -4
  254. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_wait_op.hpp +10 -5
  255. data/ext/third_party/asio/asio/include/asio/detail/winrt_resolve_op.hpp +8 -4
  256. data/ext/third_party/asio/asio/include/asio/detail/winrt_socket_connect_op.hpp +8 -4
  257. data/ext/third_party/asio/asio/include/asio/detail/winrt_socket_recv_op.hpp +8 -4
  258. data/ext/third_party/asio/asio/include/asio/detail/winrt_socket_send_op.hpp +8 -4
  259. data/ext/third_party/asio/asio/include/asio/detail/work_dispatcher.hpp +81 -6
  260. data/ext/third_party/asio/asio/include/asio/detail/wrapped_handler.hpp +45 -9
  261. data/ext/third_party/asio/asio/include/asio/dispatch.hpp +4 -1
  262. data/ext/third_party/asio/asio/include/asio/execution.hpp +48 -0
  263. data/ext/third_party/asio/asio/include/asio/execution/allocator.hpp +249 -0
  264. data/ext/third_party/asio/asio/include/asio/execution/any_executor.hpp +2264 -0
  265. data/ext/third_party/asio/asio/include/asio/execution/bad_executor.hpp +47 -0
  266. data/ext/third_party/asio/asio/include/asio/execution/blocking.hpp +1351 -0
  267. data/ext/third_party/asio/asio/include/asio/execution/blocking_adaptation.hpp +1064 -0
  268. data/ext/third_party/asio/asio/include/asio/execution/bulk_execute.hpp +390 -0
  269. data/ext/third_party/asio/asio/include/asio/execution/bulk_guarantee.hpp +1018 -0
  270. data/ext/third_party/asio/asio/include/asio/execution/connect.hpp +486 -0
  271. data/ext/third_party/asio/asio/include/asio/execution/context.hpp +185 -0
  272. data/ext/third_party/asio/asio/include/asio/execution/context_as.hpp +201 -0
  273. data/ext/third_party/asio/asio/include/asio/execution/detail/as_invocable.hpp +152 -0
  274. data/ext/third_party/asio/asio/include/asio/execution/detail/as_operation.hpp +105 -0
  275. data/ext/third_party/asio/asio/include/asio/execution/detail/as_receiver.hpp +128 -0
  276. data/ext/third_party/asio/asio/include/asio/execution/detail/bulk_sender.hpp +261 -0
  277. data/ext/third_party/asio/asio/include/asio/execution/detail/submit_receiver.hpp +233 -0
  278. data/ext/third_party/asio/asio/include/asio/execution/detail/void_receiver.hpp +90 -0
  279. data/ext/third_party/asio/asio/include/asio/execution/execute.hpp +264 -0
  280. data/ext/third_party/asio/asio/include/asio/execution/executor.hpp +238 -0
  281. data/ext/third_party/asio/asio/include/asio/execution/impl/bad_executor.ipp +40 -0
  282. data/ext/third_party/asio/asio/include/asio/execution/impl/receiver_invocation_error.ipp +36 -0
  283. data/ext/third_party/asio/asio/include/asio/execution/invocable_archetype.hpp +71 -0
  284. data/ext/third_party/asio/asio/include/asio/execution/mapping.hpp +917 -0
  285. data/ext/third_party/asio/asio/include/asio/execution/occupancy.hpp +178 -0
  286. data/ext/third_party/asio/asio/include/asio/execution/operation_state.hpp +94 -0
  287. data/ext/third_party/asio/asio/include/asio/execution/outstanding_work.hpp +721 -0
  288. data/ext/third_party/asio/asio/include/asio/execution/prefer_only.hpp +327 -0
  289. data/ext/third_party/asio/asio/include/asio/execution/receiver.hpp +280 -0
  290. data/ext/third_party/asio/asio/include/asio/execution/receiver_invocation_error.hpp +48 -0
  291. data/ext/third_party/asio/asio/include/asio/execution/relationship.hpp +720 -0
  292. data/ext/third_party/asio/asio/include/asio/execution/schedule.hpp +290 -0
  293. data/ext/third_party/asio/asio/include/asio/execution/scheduler.hpp +86 -0
  294. data/ext/third_party/asio/asio/include/asio/execution/sender.hpp +311 -0
  295. data/ext/third_party/asio/asio/include/asio/execution/set_done.hpp +253 -0
  296. data/ext/third_party/asio/asio/include/asio/execution/set_error.hpp +253 -0
  297. data/ext/third_party/asio/asio/include/asio/execution/set_value.hpp +486 -0
  298. data/ext/third_party/asio/asio/include/asio/execution/start.hpp +250 -0
  299. data/ext/third_party/asio/asio/include/asio/execution/submit.hpp +450 -0
  300. data/ext/third_party/asio/asio/include/asio/executor.hpp +7 -1
  301. data/ext/third_party/asio/asio/include/asio/executor_work_guard.hpp +126 -9
  302. data/ext/third_party/asio/asio/include/asio/handler_alloc_hook.hpp +28 -5
  303. data/ext/third_party/asio/asio/include/asio/handler_invoke_hook.hpp +29 -3
  304. data/ext/third_party/asio/asio/include/asio/impl/awaitable.hpp +14 -0
  305. data/ext/third_party/asio/asio/include/asio/impl/buffered_read_stream.hpp +44 -8
  306. data/ext/third_party/asio/asio/include/asio/impl/buffered_write_stream.hpp +44 -8
  307. data/ext/third_party/asio/asio/include/asio/impl/co_spawn.hpp +145 -7
  308. data/ext/third_party/asio/asio/include/asio/impl/compose.hpp +124 -22
  309. data/ext/third_party/asio/asio/include/asio/impl/connect.hpp +52 -8
  310. data/ext/third_party/asio/asio/include/asio/impl/defer.hpp +147 -12
  311. data/ext/third_party/asio/asio/include/asio/impl/dispatch.hpp +142 -12
  312. data/ext/third_party/asio/asio/include/asio/impl/executor.hpp +15 -101
  313. data/ext/third_party/asio/asio/include/asio/impl/executor.ipp +5 -0
  314. data/ext/third_party/asio/asio/include/asio/impl/handler_alloc_hook.ipp +13 -4
  315. data/ext/third_party/asio/asio/include/asio/impl/io_context.hpp +144 -57
  316. data/ext/third_party/asio/asio/include/asio/impl/multiple_exceptions.ipp +49 -0
  317. data/ext/third_party/asio/asio/include/asio/impl/post.hpp +147 -12
  318. data/ext/third_party/asio/asio/include/asio/impl/read.hpp +85 -18
  319. data/ext/third_party/asio/asio/include/asio/impl/read_at.hpp +59 -14
  320. data/ext/third_party/asio/asio/include/asio/impl/read_until.hpp +241 -56
  321. data/ext/third_party/asio/asio/include/asio/impl/redirect_error.hpp +22 -4
  322. data/ext/third_party/asio/asio/include/asio/impl/spawn.hpp +58 -22
  323. data/ext/third_party/asio/asio/include/asio/impl/src.hpp +3 -0
  324. data/ext/third_party/asio/asio/include/asio/impl/system_context.ipp +16 -4
  325. data/ext/third_party/asio/asio/include/asio/impl/system_executor.hpp +113 -12
  326. data/ext/third_party/asio/asio/include/asio/impl/thread_pool.hpp +260 -37
  327. data/ext/third_party/asio/asio/include/asio/impl/thread_pool.ipp +61 -7
  328. data/ext/third_party/asio/asio/include/asio/impl/use_awaitable.hpp +5 -2
  329. data/ext/third_party/asio/asio/include/asio/impl/use_future.hpp +147 -6
  330. data/ext/third_party/asio/asio/include/asio/impl/write.hpp +75 -14
  331. data/ext/third_party/asio/asio/include/asio/impl/write_at.hpp +53 -11
  332. data/ext/third_party/asio/asio/include/asio/io_context.hpp +706 -48
  333. data/ext/third_party/asio/asio/include/asio/io_context_strand.hpp +3 -1
  334. data/ext/third_party/asio/asio/include/asio/ip/basic_resolver.hpp +4 -4
  335. data/ext/third_party/asio/asio/include/asio/is_applicable_property.hpp +61 -0
  336. data/ext/third_party/asio/asio/include/asio/multiple_exceptions.hpp +58 -0
  337. data/ext/third_party/asio/asio/include/asio/posix/basic_descriptor.hpp +4 -4
  338. data/ext/third_party/asio/asio/include/asio/posix/basic_stream_descriptor.hpp +5 -5
  339. data/ext/third_party/asio/asio/include/asio/post.hpp +4 -1
  340. data/ext/third_party/asio/asio/include/asio/prefer.hpp +656 -0
  341. data/ext/third_party/asio/asio/include/asio/query.hpp +296 -0
  342. data/ext/third_party/asio/asio/include/asio/read_until.hpp +6 -6
  343. data/ext/third_party/asio/asio/include/asio/require.hpp +524 -0
  344. data/ext/third_party/asio/asio/include/asio/require_concept.hpp +310 -0
  345. data/ext/third_party/asio/asio/include/asio/spawn.hpp +12 -4
  346. data/ext/third_party/asio/asio/include/asio/ssl/detail/buffered_handshake_op.hpp +5 -0
  347. data/ext/third_party/asio/asio/include/asio/ssl/detail/engine.hpp +5 -0
  348. data/ext/third_party/asio/asio/include/asio/ssl/detail/handshake_op.hpp +5 -0
  349. data/ext/third_party/asio/asio/include/asio/ssl/detail/impl/engine.ipp +16 -3
  350. data/ext/third_party/asio/asio/include/asio/ssl/detail/io.hpp +38 -4
  351. data/ext/third_party/asio/asio/include/asio/ssl/detail/read_op.hpp +5 -0
  352. data/ext/third_party/asio/asio/include/asio/ssl/detail/shutdown_op.hpp +5 -0
  353. data/ext/third_party/asio/asio/include/asio/ssl/detail/stream_core.hpp +36 -2
  354. data/ext/third_party/asio/asio/include/asio/ssl/detail/write_op.hpp +10 -1
  355. data/ext/third_party/asio/asio/include/asio/ssl/stream.hpp +15 -0
  356. data/ext/third_party/asio/asio/include/asio/static_thread_pool.hpp +31 -0
  357. data/ext/third_party/asio/asio/include/asio/strand.hpp +232 -9
  358. data/ext/third_party/asio/asio/include/asio/system_context.hpp +12 -3
  359. data/ext/third_party/asio/asio/include/asio/system_executor.hpp +557 -24
  360. data/ext/third_party/asio/asio/include/asio/thread_pool.hpp +913 -37
  361. data/ext/third_party/asio/asio/include/asio/traits/bulk_execute_free.hpp +114 -0
  362. data/ext/third_party/asio/asio/include/asio/traits/bulk_execute_member.hpp +114 -0
  363. data/ext/third_party/asio/asio/include/asio/traits/connect_free.hpp +112 -0
  364. data/ext/third_party/asio/asio/include/asio/traits/connect_member.hpp +112 -0
  365. data/ext/third_party/asio/asio/include/asio/traits/equality_comparable.hpp +100 -0
  366. data/ext/third_party/asio/asio/include/asio/traits/execute_free.hpp +108 -0
  367. data/ext/third_party/asio/asio/include/asio/traits/execute_member.hpp +108 -0
  368. data/ext/third_party/asio/asio/include/asio/traits/prefer_free.hpp +108 -0
  369. data/ext/third_party/asio/asio/include/asio/traits/prefer_member.hpp +108 -0
  370. data/ext/third_party/asio/asio/include/asio/traits/query_free.hpp +108 -0
  371. data/ext/third_party/asio/asio/include/asio/traits/query_member.hpp +108 -0
  372. data/ext/third_party/asio/asio/include/asio/traits/query_static_constexpr_member.hpp +108 -0
  373. data/ext/third_party/asio/asio/include/asio/traits/require_concept_free.hpp +108 -0
  374. data/ext/third_party/asio/asio/include/asio/traits/require_concept_member.hpp +108 -0
  375. data/ext/third_party/asio/asio/include/asio/traits/require_free.hpp +108 -0
  376. data/ext/third_party/asio/asio/include/asio/traits/require_member.hpp +108 -0
  377. data/ext/third_party/asio/asio/include/asio/traits/schedule_free.hpp +108 -0
  378. data/ext/third_party/asio/asio/include/asio/traits/schedule_member.hpp +108 -0
  379. data/ext/third_party/asio/asio/include/asio/traits/set_done_free.hpp +108 -0
  380. data/ext/third_party/asio/asio/include/asio/traits/set_done_member.hpp +108 -0
  381. data/ext/third_party/asio/asio/include/asio/traits/set_error_free.hpp +112 -0
  382. data/ext/third_party/asio/asio/include/asio/traits/set_error_member.hpp +112 -0
  383. data/ext/third_party/asio/asio/include/asio/traits/set_value_free.hpp +234 -0
  384. data/ext/third_party/asio/asio/include/asio/traits/set_value_member.hpp +234 -0
  385. data/ext/third_party/asio/asio/include/asio/traits/start_free.hpp +108 -0
  386. data/ext/third_party/asio/asio/include/asio/traits/start_member.hpp +108 -0
  387. data/ext/third_party/asio/asio/include/asio/traits/static_query.hpp +108 -0
  388. data/ext/third_party/asio/asio/include/asio/traits/static_require.hpp +123 -0
  389. data/ext/third_party/asio/asio/include/asio/traits/static_require_concept.hpp +123 -0
  390. data/ext/third_party/asio/asio/include/asio/traits/submit_free.hpp +112 -0
  391. data/ext/third_party/asio/asio/include/asio/traits/submit_member.hpp +112 -0
  392. data/ext/third_party/asio/asio/include/asio/ts/executor.hpp +1 -0
  393. data/ext/third_party/asio/asio/include/asio/ts/netfwd.hpp +67 -8
  394. data/ext/third_party/asio/asio/include/asio/use_awaitable.hpp +63 -4
  395. data/ext/third_party/asio/asio/include/asio/version.hpp +1 -1
  396. data/ext/third_party/asio/asio/include/asio/windows/basic_object_handle.hpp +4 -4
  397. data/ext/third_party/asio/asio/include/asio/windows/basic_overlapped_handle.hpp +2 -2
  398. data/ext/third_party/asio/asio/include/asio/windows/basic_random_access_handle.hpp +5 -5
  399. data/ext/third_party/asio/asio/include/asio/windows/basic_stream_handle.hpp +5 -5
  400. data/ext/third_party/asio/asio/include/asio/windows/overlapped_ptr.hpp +4 -2
  401. data/ext/third_party/gsl/CMakeLists.txt +13 -5
  402. data/ext/third_party/gsl/include/gsl/gsl_assert +1 -1
  403. data/ext/third_party/gsl/include/gsl/gsl_byte +3 -3
  404. data/ext/third_party/gsl/include/gsl/gsl_narrow +52 -0
  405. data/ext/third_party/gsl/include/gsl/gsl_util +8 -50
  406. data/ext/third_party/gsl/include/gsl/multi_span +0 -10
  407. data/ext/third_party/gsl/include/gsl/pointers +14 -28
  408. data/ext/third_party/gsl/include/gsl/span +98 -46
  409. data/ext/third_party/gsl/include/gsl/string_span +37 -47
  410. data/ext/third_party/http_parser/http_parser.c +17 -10
  411. data/ext/third_party/http_parser/http_parser.h +4 -2
  412. data/ext/third_party/json/include/tao/json/basic_value.hpp +3 -2
  413. data/ext/third_party/json/include/tao/json/binary.hpp +4 -4
  414. data/ext/third_party/json/include/tao/json/binary_view.hpp +2 -2
  415. data/ext/third_party/json/include/tao/json/binding.hpp +2 -2
  416. data/ext/third_party/json/include/tao/json/binding/factory.hpp +8 -7
  417. data/ext/third_party/json/include/tao/json/binding/internal/array.hpp +2 -1
  418. data/ext/third_party/json/include/tao/json/binding/internal/object.hpp +6 -5
  419. data/ext/third_party/json/include/tao/json/binding/versions.hpp +3 -1
  420. data/ext/third_party/json/include/tao/json/cbor.hpp +1 -0
  421. data/ext/third_party/json/include/tao/json/cbor/consume_file.hpp +7 -7
  422. data/ext/third_party/json/include/tao/json/cbor/events/from_binary.hpp +43 -0
  423. data/ext/third_party/json/include/tao/json/cbor/events/from_file.hpp +4 -4
  424. data/ext/third_party/json/include/tao/json/cbor/events/from_string.hpp +3 -3
  425. data/ext/third_party/json/include/tao/json/cbor/from_binary.hpp +32 -0
  426. data/ext/third_party/json/include/tao/json/cbor/from_file.hpp +5 -5
  427. data/ext/third_party/json/include/tao/json/cbor/internal/grammar.hpp +2 -1
  428. data/ext/third_party/json/include/tao/json/consume_file.hpp +7 -7
  429. data/ext/third_party/json/include/tao/json/contrib/internal/indirect_traits.hpp +13 -6
  430. data/ext/third_party/json/include/tao/json/contrib/position.hpp +15 -15
  431. data/ext/third_party/json/include/tao/json/contrib/reference.hpp +5 -7
  432. data/ext/third_party/json/include/tao/json/contrib/schema.hpp +58 -35
  433. data/ext/third_party/json/include/tao/json/contrib/shared_ptr_traits.hpp +12 -4
  434. data/ext/third_party/json/include/tao/json/contrib/unique_ptr_traits.hpp +12 -4
  435. data/ext/third_party/json/include/tao/json/contrib/unordered_map_traits.hpp +1 -1
  436. data/ext/third_party/json/include/tao/json/contrib/unordered_set_traits.hpp +2 -2
  437. data/ext/third_party/json/include/tao/json/events/compare.hpp +2 -12
  438. data/ext/third_party/json/include/tao/json/events/from_file.hpp +4 -4
  439. data/ext/third_party/json/include/tao/json/events/from_string.hpp +2 -2
  440. data/ext/third_party/json/include/tao/json/events/invalid_string_to_binary.hpp +1 -1
  441. data/ext/third_party/json/include/tao/json/events/key_camel_case_to_snake_case.hpp +3 -3
  442. data/ext/third_party/json/include/tao/json/events/key_snake_case_to_camel_case.hpp +1 -1
  443. data/ext/third_party/json/include/tao/json/events/tee.hpp +2 -2
  444. data/ext/third_party/json/include/tao/json/events/to_pretty_stream.hpp +1 -1
  445. data/ext/third_party/json/include/tao/json/events/to_stream.hpp +1 -1
  446. data/ext/third_party/json/include/tao/json/events/transformer.hpp +3 -3
  447. data/ext/third_party/json/include/tao/json/events/validate_event_order.hpp +3 -3
  448. data/ext/third_party/json/include/tao/json/events/virtual_ref.hpp +6 -0
  449. data/ext/third_party/json/include/tao/json/external/pegtl.hpp +4 -13
  450. data/ext/third_party/json/include/tao/json/external/pegtl/argv_input.hpp +3 -5
  451. data/ext/third_party/json/include/tao/json/external/pegtl/ascii.hpp +5 -18
  452. data/ext/third_party/json/include/tao/json/external/pegtl/buffer_input.hpp +3 -3
  453. data/ext/third_party/json/include/tao/json/external/pegtl/change_action.hpp +2 -2
  454. data/ext/third_party/json/include/tao/json/external/pegtl/change_action_and_state.hpp +6 -6
  455. data/ext/third_party/json/include/tao/json/external/pegtl/change_action_and_states.hpp +5 -5
  456. data/ext/third_party/json/include/tao/json/external/pegtl/change_control.hpp +2 -2
  457. data/ext/third_party/json/include/tao/json/external/pegtl/change_state.hpp +6 -6
  458. data/ext/third_party/json/include/tao/json/external/pegtl/change_states.hpp +5 -5
  459. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/alphabet.hpp +52 -52
  460. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/analyze.hpp +176 -0
  461. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/analyze_traits.hpp +275 -0
  462. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/control_action.hpp +77 -0
  463. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/coverage.hpp +151 -0
  464. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/forward.hpp +16 -0
  465. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/http.hpp +37 -18
  466. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/icu/internal.hpp +20 -22
  467. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/icu/utf16.hpp +6 -10
  468. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/icu/utf32.hpp +6 -10
  469. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/icu/utf8.hpp +2 -4
  470. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/if_then.hpp +11 -10
  471. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/integer.hpp +116 -131
  472. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/endian.hpp +62 -0
  473. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/endian_gcc.hpp +206 -0
  474. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/endian_win.hpp +106 -0
  475. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/peek_mask_uint.hpp +54 -0
  476. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/peek_mask_uint8.hpp +33 -0
  477. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/peek_uint.hpp +45 -0
  478. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/peek_uint8.hpp +32 -0
  479. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/peek_utf16.hpp +54 -0
  480. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/peek_utf32.hpp +43 -0
  481. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/read_uint.hpp +77 -0
  482. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/set_stack_guard.hpp +52 -0
  483. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/parse_tree.hpp +80 -201
  484. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/parse_tree_to_dot.hpp +11 -10
  485. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/print.hpp +75 -0
  486. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/print_coverage.hpp +53 -0
  487. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/raw_string.hpp +45 -36
  488. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/remove_first_state.hpp +33 -50
  489. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/remove_last_states.hpp +117 -0
  490. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/rep_one_min_max.hpp +43 -11
  491. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/rep_string.hpp +1 -2
  492. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/shuffle_states.hpp +193 -0
  493. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/state_control.hpp +118 -0
  494. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/trace.hpp +227 -0
  495. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/uint16.hpp +62 -0
  496. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/uint32.hpp +62 -0
  497. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/uint64.hpp +63 -0
  498. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/uint8.hpp +36 -0
  499. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/unescape.hpp +14 -14
  500. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/uri.hpp +1 -1
  501. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/utf16.hpp +49 -0
  502. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/utf32.hpp +49 -0
  503. data/ext/third_party/json/include/tao/json/external/pegtl/cstream_input.hpp +2 -3
  504. data/ext/third_party/json/include/tao/json/external/pegtl/demangle.hpp +138 -0
  505. data/ext/third_party/json/include/tao/json/external/pegtl/disable_action.hpp +2 -2
  506. data/ext/third_party/json/include/tao/json/external/pegtl/discard_input.hpp +2 -2
  507. data/ext/third_party/json/include/tao/json/external/pegtl/discard_input_on_failure.hpp +2 -2
  508. data/ext/third_party/json/include/tao/json/external/pegtl/discard_input_on_success.hpp +2 -2
  509. data/ext/third_party/json/include/tao/json/external/pegtl/enable_action.hpp +2 -2
  510. data/ext/third_party/json/include/tao/json/external/pegtl/file_input.hpp +1 -1
  511. data/ext/third_party/json/include/tao/json/external/pegtl/internal/action.hpp +19 -9
  512. data/ext/third_party/json/include/tao/json/external/pegtl/internal/action_input.hpp +7 -8
  513. data/ext/third_party/json/include/tao/json/external/pegtl/internal/any.hpp +14 -14
  514. data/ext/third_party/json/include/tao/json/external/pegtl/internal/apply.hpp +9 -9
  515. data/ext/third_party/json/include/tao/json/external/pegtl/internal/apply0.hpp +8 -7
  516. data/ext/third_party/json/include/tao/json/external/pegtl/internal/apply_single.hpp +4 -4
  517. data/ext/third_party/json/include/tao/json/external/pegtl/internal/at.hpp +17 -15
  518. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bof.hpp +7 -6
  519. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bol.hpp +8 -8
  520. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bump.hpp +4 -4
  521. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bump_help.hpp +3 -3
  522. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bytes.hpp +17 -10
  523. data/ext/third_party/json/include/tao/json/external/pegtl/internal/control.hpp +19 -9
  524. data/ext/third_party/json/include/tao/json/external/pegtl/internal/cr_crlf_eol.hpp +2 -2
  525. data/ext/third_party/json/include/tao/json/external/pegtl/internal/cr_eol.hpp +2 -2
  526. data/ext/third_party/json/include/tao/json/external/pegtl/internal/crlf_eol.hpp +2 -2
  527. data/ext/third_party/json/include/tao/json/external/pegtl/internal/cstream_reader.hpp +1 -1
  528. data/ext/third_party/json/include/tao/json/external/pegtl/internal/dependent_false.hpp +16 -0
  529. data/ext/third_party/json/include/tao/json/external/pegtl/internal/disable.hpp +19 -9
  530. data/ext/third_party/json/include/tao/json/external/pegtl/internal/discard.hpp +7 -6
  531. data/ext/third_party/json/include/tao/json/external/pegtl/internal/enable.hpp +19 -9
  532. data/ext/third_party/json/include/tao/json/external/pegtl/internal/enable_control.hpp +25 -0
  533. data/ext/third_party/json/include/tao/json/external/pegtl/internal/eof.hpp +7 -6
  534. data/ext/third_party/json/include/tao/json/external/pegtl/internal/eol.hpp +8 -7
  535. data/ext/third_party/json/include/tao/json/external/pegtl/internal/eolf.hpp +8 -7
  536. data/ext/third_party/json/include/tao/json/external/pegtl/internal/failure.hpp +32 -0
  537. data/ext/third_party/json/include/tao/json/external/pegtl/internal/file_mapper_posix.hpp +61 -10
  538. data/ext/third_party/json/include/tao/json/external/pegtl/internal/file_mapper_win32.hpp +27 -33
  539. data/ext/third_party/json/include/tao/json/external/pegtl/internal/file_reader.hpp +29 -26
  540. data/ext/third_party/json/include/tao/json/external/pegtl/internal/has_apply.hpp +3 -7
  541. data/ext/third_party/json/include/tao/json/external/pegtl/internal/has_apply0.hpp +3 -7
  542. data/ext/third_party/json/include/tao/json/external/pegtl/internal/has_match.hpp +4 -20
  543. data/ext/third_party/json/include/tao/json/external/pegtl/internal/has_unwind.hpp +21 -0
  544. data/ext/third_party/json/include/tao/json/external/pegtl/internal/if_apply.hpp +8 -7
  545. data/ext/third_party/json/include/tao/json/external/pegtl/internal/if_must.hpp +8 -9
  546. data/ext/third_party/json/include/tao/json/external/pegtl/internal/if_must_else.hpp +2 -0
  547. data/ext/third_party/json/include/tao/json/external/pegtl/internal/if_then_else.hpp +7 -7
  548. data/ext/third_party/json/include/tao/json/external/pegtl/internal/istream_reader.hpp +1 -2
  549. data/ext/third_party/json/include/tao/json/external/pegtl/internal/istring.hpp +11 -11
  550. data/ext/third_party/json/include/tao/json/external/pegtl/internal/iterator.hpp +7 -10
  551. data/ext/third_party/json/include/tao/json/external/pegtl/internal/lf_crlf_eol.hpp +2 -2
  552. data/ext/third_party/json/include/tao/json/external/pegtl/internal/lf_eol.hpp +2 -2
  553. data/ext/third_party/json/include/tao/json/external/pegtl/internal/list_tail.hpp +4 -2
  554. data/ext/third_party/json/include/tao/json/external/pegtl/internal/list_tail_pad.hpp +1 -1
  555. data/ext/third_party/json/include/tao/json/external/pegtl/internal/marker.hpp +3 -5
  556. data/ext/third_party/json/include/tao/json/external/pegtl/internal/minus.hpp +21 -0
  557. data/ext/third_party/json/include/tao/json/external/pegtl/internal/missing_apply.hpp +5 -2
  558. data/ext/third_party/json/include/tao/json/external/pegtl/internal/missing_apply0.hpp +5 -2
  559. data/ext/third_party/json/include/tao/json/external/pegtl/internal/must.hpp +16 -24
  560. data/ext/third_party/json/include/tao/json/external/pegtl/internal/not_at.hpp +17 -15
  561. data/ext/third_party/json/include/tao/json/external/pegtl/internal/one.hpp +23 -12
  562. data/ext/third_party/json/include/tao/json/external/pegtl/internal/opt.hpp +16 -16
  563. data/ext/third_party/json/include/tao/json/external/pegtl/internal/path_to_string.hpp +26 -0
  564. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_char.hpp +5 -5
  565. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_utf8.hpp +12 -13
  566. data/ext/third_party/json/include/tao/json/external/pegtl/internal/plus.hpp +18 -11
  567. data/ext/third_party/json/include/tao/json/external/pegtl/internal/raise.hpp +8 -17
  568. data/ext/third_party/json/include/tao/json/external/pegtl/internal/range.hpp +22 -17
  569. data/ext/third_party/json/include/tao/json/external/pegtl/internal/ranges.hpp +28 -18
  570. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rematch.hpp +12 -9
  571. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rep.hpp +26 -25
  572. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rep_min_max.hpp +23 -21
  573. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rep_opt.hpp +24 -9
  574. data/ext/third_party/json/include/tao/json/external/pegtl/internal/require.hpp +10 -10
  575. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rules.hpp +4 -4
  576. data/ext/third_party/json/include/tao/json/external/pegtl/internal/seq.hpp +18 -33
  577. data/ext/third_party/json/include/tao/json/external/pegtl/internal/sor.hpp +24 -17
  578. data/ext/third_party/json/include/tao/json/external/pegtl/internal/star.hpp +13 -8
  579. data/ext/third_party/json/include/tao/json/external/pegtl/internal/state.hpp +21 -11
  580. data/ext/third_party/json/include/tao/json/external/pegtl/internal/string.hpp +11 -11
  581. data/ext/third_party/json/include/tao/json/external/pegtl/internal/success.hpp +32 -0
  582. data/ext/third_party/json/include/tao/json/external/pegtl/internal/try_catch_type.hpp +16 -16
  583. data/ext/third_party/json/include/tao/json/external/pegtl/internal/until.hpp +18 -14
  584. data/ext/third_party/json/include/tao/json/external/pegtl/istream_input.hpp +2 -3
  585. data/ext/third_party/json/include/tao/json/external/pegtl/match.hpp +125 -29
  586. data/ext/third_party/json/include/tao/json/external/pegtl/memory_input.hpp +32 -48
  587. data/ext/third_party/json/include/tao/json/external/pegtl/mmap_input.hpp +16 -16
  588. data/ext/third_party/json/include/tao/json/external/pegtl/must_if.hpp +64 -0
  589. data/ext/third_party/json/include/tao/json/external/pegtl/normal.hpp +25 -25
  590. data/ext/third_party/json/include/tao/json/external/pegtl/nothing.hpp +1 -2
  591. data/ext/third_party/json/include/tao/json/external/pegtl/parse.hpp +6 -8
  592. data/ext/third_party/json/include/tao/json/external/pegtl/parse_error.hpp +80 -35
  593. data/ext/third_party/json/include/tao/json/external/pegtl/position.hpp +18 -10
  594. data/ext/third_party/json/include/tao/json/external/pegtl/read_input.hpp +18 -38
  595. data/ext/third_party/json/include/tao/json/external/pegtl/rules.hpp +6 -5
  596. data/ext/third_party/json/include/tao/json/external/pegtl/string_input.hpp +3 -5
  597. data/ext/third_party/json/include/tao/json/external/pegtl/type_list.hpp +46 -0
  598. data/ext/third_party/json/include/tao/json/external/pegtl/visit.hpp +66 -0
  599. data/ext/third_party/json/include/tao/json/from_file.hpp +5 -5
  600. data/ext/third_party/json/include/tao/json/internal/action.hpp +3 -3
  601. data/ext/third_party/json/include/tao/json/internal/dependent_false.hpp +14 -0
  602. data/ext/third_party/json/include/tao/json/internal/errors.hpp +17 -17
  603. data/ext/third_party/json/include/tao/json/internal/format.hpp +0 -2
  604. data/ext/third_party/json/include/tao/json/internal/grammar.hpp +17 -17
  605. data/ext/third_party/json/include/tao/json/internal/pair.hpp +1 -1
  606. data/ext/third_party/json/include/tao/json/internal/sha256.hpp +8 -8
  607. data/ext/third_party/json/include/tao/json/internal/single.hpp +1 -1
  608. data/ext/third_party/json/include/tao/json/internal/type_traits.hpp +12 -29
  609. data/ext/third_party/json/include/tao/json/jaxn/consume_file.hpp +7 -7
  610. data/ext/third_party/json/include/tao/json/jaxn/events/from_file.hpp +4 -4
  611. data/ext/third_party/json/include/tao/json/jaxn/events/from_string.hpp +2 -2
  612. data/ext/third_party/json/include/tao/json/jaxn/from_file.hpp +5 -5
  613. data/ext/third_party/json/include/tao/json/jaxn/internal/action.hpp +6 -6
  614. data/ext/third_party/json/include/tao/json/jaxn/internal/bunescape_action.hpp +2 -2
  615. data/ext/third_party/json/include/tao/json/jaxn/internal/errors.hpp +43 -43
  616. data/ext/third_party/json/include/tao/json/jaxn/internal/grammar.hpp +36 -36
  617. data/ext/third_party/json/include/tao/json/jaxn/internal/integer.hpp +10 -11
  618. data/ext/third_party/json/include/tao/json/jaxn/is_identifier.hpp +2 -2
  619. data/ext/third_party/json/include/tao/json/jaxn/parts_parser.hpp +1 -3
  620. data/ext/third_party/json/include/tao/json/message_extension.hpp +2 -2
  621. data/ext/third_party/json/include/tao/json/msgpack.hpp +1 -0
  622. data/ext/third_party/json/include/tao/json/msgpack/consume_file.hpp +7 -7
  623. data/ext/third_party/json/include/tao/json/msgpack/events/from_binary.hpp +43 -0
  624. data/ext/third_party/json/include/tao/json/msgpack/events/from_file.hpp +4 -4
  625. data/ext/third_party/json/include/tao/json/msgpack/events/from_string.hpp +4 -4
  626. data/ext/third_party/json/include/tao/json/msgpack/events/to_stream.hpp +4 -4
  627. data/ext/third_party/json/include/tao/json/msgpack/from_binary.hpp +32 -0
  628. data/ext/third_party/json/include/tao/json/msgpack/from_file.hpp +5 -5
  629. data/ext/third_party/json/include/tao/json/msgpack/internal/grammar.hpp +2 -1
  630. data/ext/third_party/json/include/tao/json/operators.hpp +0 -4
  631. data/ext/third_party/json/include/tao/json/parts_parser.hpp +3 -7
  632. data/ext/third_party/json/include/tao/json/self_contained.hpp +6 -18
  633. data/ext/third_party/json/include/tao/json/span.hpp +94 -166
  634. data/ext/third_party/json/include/tao/json/ubjson.hpp +1 -0
  635. data/ext/third_party/json/include/tao/json/ubjson/consume_file.hpp +7 -7
  636. data/ext/third_party/json/include/tao/json/ubjson/events/from_binary.hpp +43 -0
  637. data/ext/third_party/json/include/tao/json/ubjson/events/from_file.hpp +4 -4
  638. data/ext/third_party/json/include/tao/json/ubjson/events/from_string.hpp +3 -3
  639. data/ext/third_party/json/include/tao/json/ubjson/from_binary.hpp +32 -0
  640. data/ext/third_party/json/include/tao/json/ubjson/from_file.hpp +5 -5
  641. data/ext/third_party/json/include/tao/json/ubjson/internal/grammar.hpp +5 -3
  642. data/ext/third_party/json/include/tao/json/utf8.hpp +1 -1
  643. data/ext/third_party/snappy/snappy.cc +6 -2
  644. data/ext/third_party/spdlog/CMakeLists.txt +24 -57
  645. data/ext/third_party/spdlog/cmake/version.rc.in +1 -1
  646. data/ext/third_party/spdlog/include/spdlog/async.h +3 -3
  647. data/ext/third_party/spdlog/include/spdlog/cfg/argv.h +3 -4
  648. data/ext/third_party/spdlog/include/spdlog/cfg/env.h +6 -4
  649. data/ext/third_party/spdlog/include/spdlog/cfg/helpers-inl.h +22 -6
  650. data/ext/third_party/spdlog/include/spdlog/cfg/helpers.h +3 -2
  651. data/ext/third_party/spdlog/include/spdlog/common.h +1 -2
  652. data/ext/third_party/spdlog/include/spdlog/details/fmt_helper.h +9 -1
  653. data/ext/third_party/spdlog/include/spdlog/details/os.h +1 -1
  654. data/ext/third_party/spdlog/include/spdlog/details/registry-inl.h +21 -7
  655. data/ext/third_party/spdlog/include/spdlog/details/registry.h +6 -3
  656. data/ext/third_party/spdlog/include/spdlog/details/synchronous_factory.h +1 -1
  657. data/ext/third_party/spdlog/include/spdlog/details/tcp_client-windows.h +1 -1
  658. data/ext/third_party/spdlog/include/spdlog/details/tcp_client.h +8 -7
  659. data/ext/third_party/spdlog/include/spdlog/fmt/bin_to_hex.h +2 -2
  660. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/chrono.h +66 -62
  661. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/color.h +35 -37
  662. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/compile.h +173 -103
  663. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/core.h +538 -445
  664. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/format-inl.h +114 -64
  665. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/format.h +1152 -1071
  666. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/locale.h +16 -16
  667. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/os.h +450 -0
  668. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/ostream.h +37 -13
  669. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/posix.h +1 -1
  670. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/printf.h +93 -63
  671. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/ranges.h +35 -36
  672. data/ext/third_party/spdlog/include/spdlog/fmt/chrono.h +20 -0
  673. data/ext/third_party/spdlog/include/spdlog/fmt/fmt.h +2 -0
  674. data/ext/third_party/spdlog/include/spdlog/logger-inl.h +5 -1
  675. data/ext/third_party/spdlog/include/spdlog/logger.h +50 -76
  676. data/ext/third_party/spdlog/include/spdlog/pattern_formatter-inl.h +23 -8
  677. data/ext/third_party/spdlog/include/spdlog/pattern_formatter.h +3 -3
  678. data/ext/third_party/spdlog/include/spdlog/sinks/daily_file_sink.h +1 -1
  679. data/ext/third_party/spdlog/include/spdlog/sinks/msvc_sink.h +5 -5
  680. data/ext/third_party/spdlog/include/spdlog/sinks/ringbuffer_sink.h +6 -4
  681. data/ext/third_party/spdlog/include/spdlog/sinks/stdout_sinks-inl.h +32 -3
  682. data/ext/third_party/spdlog/include/spdlog/sinks/stdout_sinks.h +7 -0
  683. data/ext/third_party/spdlog/include/spdlog/sinks/wincolor_sink-inl.h +4 -14
  684. data/ext/third_party/spdlog/include/spdlog/spdlog-inl.h +11 -1
  685. data/ext/third_party/spdlog/include/spdlog/spdlog.h +23 -68
  686. data/ext/third_party/spdlog/include/spdlog/stopwatch.h +61 -0
  687. data/ext/third_party/spdlog/include/spdlog/version.h +2 -2
  688. data/ext/third_party/spdlog/src/fmt.cpp +21 -147
  689. data/lib/couchbase.rb +0 -1
  690. data/lib/couchbase/analytics_options.rb +177 -0
  691. data/lib/couchbase/authenticator.rb +14 -0
  692. data/lib/couchbase/binary_collection.rb +9 -9
  693. data/lib/couchbase/binary_collection_options.rb +10 -8
  694. data/lib/couchbase/bucket.rb +55 -3
  695. data/lib/couchbase/cluster.rb +286 -287
  696. data/lib/couchbase/collection.rb +50 -40
  697. data/lib/couchbase/collection_options.rb +97 -17
  698. data/lib/couchbase/common_options.rb +1 -1
  699. data/lib/couchbase/datastructures.rb +18 -0
  700. data/lib/couchbase/datastructures/couchbase_list.rb +171 -0
  701. data/lib/couchbase/datastructures/couchbase_map.rb +205 -0
  702. data/lib/couchbase/datastructures/couchbase_queue.rb +145 -0
  703. data/lib/couchbase/datastructures/couchbase_set.rb +139 -0
  704. data/lib/couchbase/errors.rb +79 -66
  705. data/lib/couchbase/json_transcoder.rb +2 -2
  706. data/lib/couchbase/libcouchbase.bundle +0 -0
  707. data/lib/couchbase/management/analytics_index_manager.rb +139 -25
  708. data/lib/couchbase/management/bucket_manager.rb +61 -28
  709. data/lib/couchbase/management/collection_manager.rb +3 -3
  710. data/lib/couchbase/management/query_index_manager.rb +59 -14
  711. data/lib/couchbase/management/search_index_manager.rb +57 -13
  712. data/lib/couchbase/management/user_manager.rb +157 -50
  713. data/lib/couchbase/management/view_index_manager.rb +70 -11
  714. data/lib/couchbase/mutation_state.rb +13 -0
  715. data/lib/couchbase/query_options.rb +263 -0
  716. data/lib/couchbase/scope.rb +62 -8
  717. data/lib/couchbase/search_options.rb +121 -33
  718. data/lib/couchbase/subdoc.rb +87 -23
  719. data/lib/couchbase/version.rb +2 -2
  720. data/lib/couchbase/view_options.rb +155 -0
  721. metadata +224 -1035
  722. data/.github/workflows/tests-6.0.3.yml +0 -49
  723. data/.github/workflows/tests-dev-preview.yml +0 -52
  724. data/.github/workflows/tests.yml +0 -47
  725. data/.gitignore +0 -20
  726. data/.gitmodules +0 -21
  727. data/.idea/.gitignore +0 -5
  728. data/.idea/dictionaries/gem_terms.xml +0 -18
  729. data/.idea/inspectionProfiles/Project_Default.xml +0 -8
  730. data/.idea/vcs.xml +0 -13
  731. data/.yardopts +0 -1
  732. data/Gemfile +0 -24
  733. data/Rakefile +0 -51
  734. data/bin/console +0 -21
  735. data/bin/init-cluster +0 -70
  736. data/bin/setup +0 -24
  737. data/couchbase.gemspec +0 -47
  738. data/examples/crud.rb +0 -20
  739. data/examples/managing_buckets.rb +0 -47
  740. data/examples/managing_collections.rb +0 -58
  741. data/examples/managing_query_indexes.rb +0 -63
  742. data/examples/managing_search_indexes.rb +0 -62
  743. data/examples/query.rb +0 -18
  744. data/examples/query_with_consistency.rb +0 -76
  745. data/examples/search.rb +0 -187
  746. data/examples/subdocument.rb +0 -51
  747. data/ext/.clang-format +0 -15
  748. data/ext/.clang-tidy +0 -21
  749. data/ext/.cmake-format.yaml +0 -8
  750. data/ext/.gitignore +0 -2
  751. data/ext/.idea/.name +0 -1
  752. data/ext/.idea/dictionaries/couchbase_terms.xml +0 -14
  753. data/ext/.idea/ext.iml +0 -2
  754. data/ext/.idea/misc.xml +0 -4
  755. data/ext/.idea/modules.xml +0 -8
  756. data/ext/.idea/vcs.xml +0 -12
  757. data/ext/couchbase/configuration_monitor.hxx +0 -93
  758. data/ext/couchbase/io/session_manager.hxx +0 -127
  759. data/ext/couchbase/operations/command.hxx +0 -152
  760. data/ext/test/main.cxx +0 -67
  761. data/ext/third_party/asio/.appveyor.yml +0 -107
  762. data/ext/third_party/asio/.cirrus.yml +0 -16
  763. data/ext/third_party/asio/.gitignore +0 -3
  764. data/ext/third_party/asio/.travis.yml +0 -323
  765. data/ext/third_party/asio/asio/.gitignore +0 -23
  766. data/ext/third_party/asio/asio/COPYING +0 -4
  767. data/ext/third_party/asio/asio/INSTALL +0 -5
  768. data/ext/third_party/asio/asio/LICENSE_1_0.txt +0 -23
  769. data/ext/third_party/asio/asio/Makefile.am +0 -19
  770. data/ext/third_party/asio/asio/README +0 -4
  771. data/ext/third_party/asio/asio/asio.manifest +0 -4865
  772. data/ext/third_party/asio/asio/autogen.sh +0 -55
  773. data/ext/third_party/asio/asio/boost_asio.manifest +0 -5193
  774. data/ext/third_party/asio/asio/boostify.pl +0 -603
  775. data/ext/third_party/asio/asio/configure.ac +0 -182
  776. data/ext/third_party/asio/asio/include/.gitignore +0 -2
  777. data/ext/third_party/asio/asio/include/Makefile.am +0 -484
  778. data/ext/third_party/asio/asio/include/asio/detail/io_object_executor.hpp +0 -167
  779. data/ext/third_party/asio/asio/include/asio/impl/src.cpp +0 -25
  780. data/ext/third_party/asio/asio/release.pl +0 -440
  781. data/ext/third_party/asio/asio/src/.gitignore +0 -11
  782. data/ext/third_party/asio/asio/src/Makefile.am +0 -23
  783. data/ext/third_party/asio/asio/src/Makefile.mgw +0 -204
  784. data/ext/third_party/asio/asio/src/Makefile.msc +0 -497
  785. data/ext/third_party/asio/asio/src/asio.cpp +0 -11
  786. data/ext/third_party/asio/asio/src/asio_ssl.cpp +0 -11
  787. data/ext/third_party/asio/asio/src/doc/.gitignore +0 -5
  788. data/ext/third_party/asio/asio/src/doc/Jamfile.v2 +0 -62
  789. data/ext/third_party/asio/asio/src/doc/asio.png +0 -0
  790. data/ext/third_party/asio/asio/src/doc/asio.qbk +0 -127
  791. data/ext/third_party/asio/asio/src/doc/asioref.sty +0 -90
  792. data/ext/third_party/asio/asio/src/doc/asioref.xsl +0 -94
  793. data/ext/third_party/asio/asio/src/doc/boost_bind_dox.txt +0 -5
  794. data/ext/third_party/asio/asio/src/doc/doxy2qbk.pl +0 -22
  795. data/ext/third_party/asio/asio/src/doc/examples.qbk +0 -564
  796. data/ext/third_party/asio/asio/src/doc/history.qbk +0 -1794
  797. data/ext/third_party/asio/asio/src/doc/index.xml +0 -13
  798. data/ext/third_party/asio/asio/src/doc/makepdf.pl +0 -26
  799. data/ext/third_party/asio/asio/src/doc/net_ts.qbk +0 -479
  800. data/ext/third_party/asio/asio/src/doc/noncopyable_dox.txt +0 -3
  801. data/ext/third_party/asio/asio/src/doc/overview.qbk +0 -103
  802. data/ext/third_party/asio/asio/src/doc/overview/allocation.qbk +0 -89
  803. data/ext/third_party/asio/asio/src/doc/overview/async.qbk +0 -185
  804. data/ext/third_party/asio/asio/src/doc/overview/async_op1.dot +0 -78
  805. data/ext/third_party/asio/asio/src/doc/overview/async_op1.png +0 -0
  806. data/ext/third_party/asio/asio/src/doc/overview/async_op2.dot +0 -78
  807. data/ext/third_party/asio/asio/src/doc/overview/async_op2.png +0 -0
  808. data/ext/third_party/asio/asio/src/doc/overview/basics.qbk +0 -106
  809. data/ext/third_party/asio/asio/src/doc/overview/bsd_sockets.qbk +0 -270
  810. data/ext/third_party/asio/asio/src/doc/overview/buffers.qbk +0 -163
  811. data/ext/third_party/asio/asio/src/doc/overview/concurrency_hint.qbk +0 -88
  812. data/ext/third_party/asio/asio/src/doc/overview/coroutine.qbk +0 -51
  813. data/ext/third_party/asio/asio/src/doc/overview/coroutines_ts.qbk +0 -97
  814. data/ext/third_party/asio/asio/src/doc/overview/cpp2011.qbk +0 -271
  815. data/ext/third_party/asio/asio/src/doc/overview/handler_tracking.qbk +0 -220
  816. data/ext/third_party/asio/asio/src/doc/overview/implementation.qbk +0 -305
  817. data/ext/third_party/asio/asio/src/doc/overview/iostreams.qbk +0 -72
  818. data/ext/third_party/asio/asio/src/doc/overview/line_based.qbk +0 -118
  819. data/ext/third_party/asio/asio/src/doc/overview/other_protocols.qbk +0 -94
  820. data/ext/third_party/asio/asio/src/doc/overview/posix.qbk +0 -152
  821. data/ext/third_party/asio/asio/src/doc/overview/proactor.dot +0 -100
  822. data/ext/third_party/asio/asio/src/doc/overview/proactor.png +0 -0
  823. data/ext/third_party/asio/asio/src/doc/overview/protocols.qbk +0 -149
  824. data/ext/third_party/asio/asio/src/doc/overview/rationale.qbk +0 -54
  825. data/ext/third_party/asio/asio/src/doc/overview/reactor.qbk +0 -44
  826. data/ext/third_party/asio/asio/src/doc/overview/serial_ports.qbk +0 -45
  827. data/ext/third_party/asio/asio/src/doc/overview/signals.qbk +0 -44
  828. data/ext/third_party/asio/asio/src/doc/overview/spawn.qbk +0 -102
  829. data/ext/third_party/asio/asio/src/doc/overview/ssl.qbk +0 -124
  830. data/ext/third_party/asio/asio/src/doc/overview/strands.qbk +0 -114
  831. data/ext/third_party/asio/asio/src/doc/overview/streams.qbk +0 -62
  832. data/ext/third_party/asio/asio/src/doc/overview/sync_op.dot +0 -67
  833. data/ext/third_party/asio/asio/src/doc/overview/sync_op.png +0 -0
  834. data/ext/third_party/asio/asio/src/doc/overview/threads.qbk +0 -67
  835. data/ext/third_party/asio/asio/src/doc/overview/timers.qbk +0 -52
  836. data/ext/third_party/asio/asio/src/doc/overview/windows.qbk +0 -126
  837. data/ext/third_party/asio/asio/src/doc/project-root.jam +0 -1
  838. data/ext/third_party/asio/asio/src/doc/quickref.xml +0 -561
  839. data/ext/third_party/asio/asio/src/doc/reference.dox +0 -264
  840. data/ext/third_party/asio/asio/src/doc/reference.qbk +0 -125973
  841. data/ext/third_party/asio/asio/src/doc/reference.xsl +0 -1831
  842. data/ext/third_party/asio/asio/src/doc/release_checklist.htm +0 -68
  843. data/ext/third_party/asio/asio/src/doc/requirements/AcceptHandler.qbk +0 -72
  844. data/ext/third_party/asio/asio/src/doc/requirements/AcceptableProtocol.qbk +0 -25
  845. data/ext/third_party/asio/asio/src/doc/requirements/AsyncRandomAccessReadDevice.qbk +0 -56
  846. data/ext/third_party/asio/asio/src/doc/requirements/AsyncRandomAccessWriteDevice.qbk +0 -57
  847. data/ext/third_party/asio/asio/src/doc/requirements/AsyncReadStream.qbk +0 -50
  848. data/ext/third_party/asio/asio/src/doc/requirements/AsyncWriteStream.qbk +0 -48
  849. data/ext/third_party/asio/asio/src/doc/requirements/BufferedHandshakeHandler.qbk +0 -55
  850. data/ext/third_party/asio/asio/src/doc/requirements/CompletionCondition.qbk +0 -42
  851. data/ext/third_party/asio/asio/src/doc/requirements/CompletionHandler.qbk +0 -63
  852. data/ext/third_party/asio/asio/src/doc/requirements/ConnectCondition.qbk +0 -34
  853. data/ext/third_party/asio/asio/src/doc/requirements/ConnectHandler.qbk +0 -72
  854. data/ext/third_party/asio/asio/src/doc/requirements/ConstBufferSequence.qbk +0 -53
  855. data/ext/third_party/asio/asio/src/doc/requirements/DynamicBuffer.qbk +0 -16
  856. data/ext/third_party/asio/asio/src/doc/requirements/DynamicBuffer_v1.qbk +0 -93
  857. data/ext/third_party/asio/asio/src/doc/requirements/DynamicBuffer_v2.qbk +0 -94
  858. data/ext/third_party/asio/asio/src/doc/requirements/Endpoint.qbk +0 -97
  859. data/ext/third_party/asio/asio/src/doc/requirements/EndpointSequence.qbk +0 -30
  860. data/ext/third_party/asio/asio/src/doc/requirements/ExecutionContext.qbk +0 -36
  861. data/ext/third_party/asio/asio/src/doc/requirements/Executor.qbk +0 -141
  862. data/ext/third_party/asio/asio/src/doc/requirements/GettableSerialPortOption.qbk +0 -33
  863. data/ext/third_party/asio/asio/src/doc/requirements/GettableSocketOption.qbk +0 -67
  864. data/ext/third_party/asio/asio/src/doc/requirements/Handler.qbk +0 -64
  865. data/ext/third_party/asio/asio/src/doc/requirements/HandshakeHandler.qbk +0 -72
  866. data/ext/third_party/asio/asio/src/doc/requirements/InternetProtocol.qbk +0 -47
  867. data/ext/third_party/asio/asio/src/doc/requirements/IoControlCommand.qbk +0 -34
  868. data/ext/third_party/asio/asio/src/doc/requirements/IoObjectService.qbk +0 -62
  869. data/ext/third_party/asio/asio/src/doc/requirements/IteratorConnectHandler.qbk +0 -81
  870. data/ext/third_party/asio/asio/src/doc/requirements/LegacyCompletionHandler.qbk +0 -65
  871. data/ext/third_party/asio/asio/src/doc/requirements/MoveAcceptHandler.qbk +0 -61
  872. data/ext/third_party/asio/asio/src/doc/requirements/MutableBufferSequence.qbk +0 -54
  873. data/ext/third_party/asio/asio/src/doc/requirements/ProtoAllocator.qbk +0 -19
  874. data/ext/third_party/asio/asio/src/doc/requirements/Protocol.qbk +0 -56
  875. data/ext/third_party/asio/asio/src/doc/requirements/RangeConnectHandler.qbk +0 -82
  876. data/ext/third_party/asio/asio/src/doc/requirements/ReadHandler.qbk +0 -79
  877. data/ext/third_party/asio/asio/src/doc/requirements/ResolveHandler.qbk +0 -82
  878. data/ext/third_party/asio/asio/src/doc/requirements/Service.qbk +0 -40
  879. data/ext/third_party/asio/asio/src/doc/requirements/SettableSerialPortOption.qbk +0 -33
  880. data/ext/third_party/asio/asio/src/doc/requirements/SettableSocketOption.qbk +0 -54
  881. data/ext/third_party/asio/asio/src/doc/requirements/ShutdownHandler.qbk +0 -72
  882. data/ext/third_party/asio/asio/src/doc/requirements/SignalHandler.qbk +0 -79
  883. data/ext/third_party/asio/asio/src/doc/requirements/SyncRandomAccessReadDevice.qbk +0 -49
  884. data/ext/third_party/asio/asio/src/doc/requirements/SyncRandomAccessWriteDevice.qbk +0 -49
  885. data/ext/third_party/asio/asio/src/doc/requirements/SyncReadStream.qbk +0 -41
  886. data/ext/third_party/asio/asio/src/doc/requirements/SyncWriteStream.qbk +0 -39
  887. data/ext/third_party/asio/asio/src/doc/requirements/TimeTraits.qbk +0 -72
  888. data/ext/third_party/asio/asio/src/doc/requirements/WaitHandler.qbk +0 -72
  889. data/ext/third_party/asio/asio/src/doc/requirements/WaitTraits.qbk +0 -52
  890. data/ext/third_party/asio/asio/src/doc/requirements/WriteHandler.qbk +0 -79
  891. data/ext/third_party/asio/asio/src/doc/requirements/asynchronous_operations.qbk +0 -300
  892. data/ext/third_party/asio/asio/src/doc/requirements/asynchronous_socket_operations.qbk +0 -39
  893. data/ext/third_party/asio/asio/src/doc/requirements/read_write_operations.qbk +0 -34
  894. data/ext/third_party/asio/asio/src/doc/requirements/synchronous_socket_operations.qbk +0 -37
  895. data/ext/third_party/asio/asio/src/doc/std_exception_dox.txt +0 -7
  896. data/ext/third_party/asio/asio/src/doc/tutorial.dox +0 -226
  897. data/ext/third_party/asio/asio/src/doc/tutorial.qbk +0 -2387
  898. data/ext/third_party/asio/asio/src/doc/tutorial.xsl +0 -437
  899. data/ext/third_party/asio/asio/src/doc/using.qbk +0 -309
  900. data/ext/third_party/asio/asio/src/examples/cpp03/Makefile.am +0 -251
  901. data/ext/third_party/asio/asio/src/examples/cpp03/allocation/.gitignore +0 -10
  902. data/ext/third_party/asio/asio/src/examples/cpp03/allocation/server.cpp +0 -285
  903. data/ext/third_party/asio/asio/src/examples/cpp03/buffers/.gitignore +0 -10
  904. data/ext/third_party/asio/asio/src/examples/cpp03/buffers/reference_counted.cpp +0 -131
  905. data/ext/third_party/asio/asio/src/examples/cpp03/chat/.gitignore +0 -11
  906. data/ext/third_party/asio/asio/src/examples/cpp03/chat/chat_client.cpp +0 -177
  907. data/ext/third_party/asio/asio/src/examples/cpp03/chat/chat_message.hpp +0 -93
  908. data/ext/third_party/asio/asio/src/examples/cpp03/chat/chat_server.cpp +0 -249
  909. data/ext/third_party/asio/asio/src/examples/cpp03/chat/posix_chat_client.cpp +0 -204
  910. data/ext/third_party/asio/asio/src/examples/cpp03/echo/.gitignore +0 -11
  911. data/ext/third_party/asio/asio/src/examples/cpp03/echo/async_tcp_echo_server.cpp +0 -137
  912. data/ext/third_party/asio/asio/src/examples/cpp03/echo/async_udp_echo_server.cpp +0 -92
  913. data/ext/third_party/asio/asio/src/examples/cpp03/echo/blocking_tcp_echo_client.cpp +0 -59
  914. data/ext/third_party/asio/asio/src/examples/cpp03/echo/blocking_tcp_echo_server.cpp +0 -79
  915. data/ext/third_party/asio/asio/src/examples/cpp03/echo/blocking_udp_echo_client.cpp +0 -59
  916. data/ext/third_party/asio/asio/src/examples/cpp03/echo/blocking_udp_echo_server.cpp +0 -53
  917. data/ext/third_party/asio/asio/src/examples/cpp03/fork/.gitignore +0 -11
  918. data/ext/third_party/asio/asio/src/examples/cpp03/fork/daemon.cpp +0 -190
  919. data/ext/third_party/asio/asio/src/examples/cpp03/fork/process_per_connection.cpp +0 -161
  920. data/ext/third_party/asio/asio/src/examples/cpp03/http/client/.gitignore +0 -10
  921. data/ext/third_party/asio/asio/src/examples/cpp03/http/client/async_client.cpp +0 -204
  922. data/ext/third_party/asio/asio/src/examples/cpp03/http/client/sync_client.cpp +0 -106
  923. data/ext/third_party/asio/asio/src/examples/cpp03/http/doc_root/data_1K.html +0 -28
  924. data/ext/third_party/asio/asio/src/examples/cpp03/http/doc_root/data_2K.html +0 -49
  925. data/ext/third_party/asio/asio/src/examples/cpp03/http/doc_root/data_4K.html +0 -91
  926. data/ext/third_party/asio/asio/src/examples/cpp03/http/doc_root/data_8K.html +0 -175
  927. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/.gitignore +0 -11
  928. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/connection.cpp +0 -99
  929. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/connection.hpp +0 -83
  930. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/connection_manager.cpp +0 -38
  931. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/connection_manager.hpp +0 -44
  932. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/header.hpp +0 -28
  933. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/main.cpp +0 -44
  934. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/mime_types.cpp +0 -46
  935. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/mime_types.hpp +0 -27
  936. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/reply.cpp +0 -256
  937. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/reply.hpp +0 -64
  938. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/request.hpp +0 -34
  939. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/request_handler.cpp +0 -122
  940. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/request_handler.hpp +0 -46
  941. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/request_parser.cpp +0 -315
  942. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/request_parser.hpp +0 -95
  943. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/server.cpp +0 -94
  944. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/server.hpp +0 -69
  945. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/.gitignore +0 -11
  946. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/connection.cpp +0 -93
  947. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/connection.hpp +0 -75
  948. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/header.hpp +0 -28
  949. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/io_context_pool.cpp +0 -69
  950. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/io_context_pool.hpp +0 -58
  951. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/main.cpp +0 -46
  952. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/mime_types.cpp +0 -46
  953. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/mime_types.hpp +0 -27
  954. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/reply.cpp +0 -256
  955. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/reply.hpp +0 -64
  956. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/request.hpp +0 -34
  957. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/request_handler.cpp +0 -122
  958. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/request_handler.hpp +0 -46
  959. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/request_parser.cpp +0 -315
  960. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/request_parser.hpp +0 -95
  961. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/server.cpp +0 -77
  962. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/server.hpp +0 -68
  963. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/.gitignore +0 -11
  964. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/connection.cpp +0 -94
  965. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/connection.hpp +0 -78
  966. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/header.hpp +0 -28
  967. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/main.cpp +0 -46
  968. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/mime_types.cpp +0 -46
  969. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/mime_types.hpp +0 -27
  970. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/reply.cpp +0 -256
  971. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/reply.hpp +0 -64
  972. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/request.hpp +0 -34
  973. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/request_handler.cpp +0 -122
  974. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/request_handler.hpp +0 -46
  975. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/request_parser.cpp +0 -315
  976. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/request_parser.hpp +0 -95
  977. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/server.cpp +0 -89
  978. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/server.hpp +0 -70
  979. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/.gitignore +0 -11
  980. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/file_handler.cpp +0 -122
  981. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/file_handler.hpp +0 -44
  982. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/header.hpp +0 -28
  983. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/main.cpp +0 -58
  984. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/mime_types.cpp +0 -46
  985. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/mime_types.hpp +0 -27
  986. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/reply.cpp +0 -256
  987. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/reply.hpp +0 -64
  988. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/request.hpp +0 -46
  989. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/request_parser.cpp +0 -226
  990. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/request_parser.hpp +0 -78
  991. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/server.cpp +0 -122
  992. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/server.hpp +0 -73
  993. data/ext/third_party/asio/asio/src/examples/cpp03/icmp/.gitignore +0 -10
  994. data/ext/third_party/asio/asio/src/examples/cpp03/icmp/icmp_header.hpp +0 -94
  995. data/ext/third_party/asio/asio/src/examples/cpp03/icmp/ipv4_header.hpp +0 -102
  996. data/ext/third_party/asio/asio/src/examples/cpp03/icmp/ping.cpp +0 -163
  997. data/ext/third_party/asio/asio/src/examples/cpp03/invocation/.gitignore +0 -10
  998. data/ext/third_party/asio/asio/src/examples/cpp03/invocation/prioritised_handlers.cpp +0 -171
  999. data/ext/third_party/asio/asio/src/examples/cpp03/iostreams/.gitignore +0 -11
  1000. data/ext/third_party/asio/asio/src/examples/cpp03/iostreams/daytime_client.cpp +0 -44
  1001. data/ext/third_party/asio/asio/src/examples/cpp03/iostreams/daytime_server.cpp +0 -51
  1002. data/ext/third_party/asio/asio/src/examples/cpp03/iostreams/http_client.cpp +0 -91
  1003. data/ext/third_party/asio/asio/src/examples/cpp03/local/.gitignore +0 -13
  1004. data/ext/third_party/asio/asio/src/examples/cpp03/local/connect_pair.cpp +0 -141
  1005. data/ext/third_party/asio/asio/src/examples/cpp03/local/iostream_client.cpp +0 -62
  1006. data/ext/third_party/asio/asio/src/examples/cpp03/local/stream_client.cpp +0 -61
  1007. data/ext/third_party/asio/asio/src/examples/cpp03/local/stream_server.cpp +0 -141
  1008. data/ext/third_party/asio/asio/src/examples/cpp03/multicast/.gitignore +0 -11
  1009. data/ext/third_party/asio/asio/src/examples/cpp03/multicast/receiver.cpp +0 -93
  1010. data/ext/third_party/asio/asio/src/examples/cpp03/multicast/sender.cpp +0 -98
  1011. data/ext/third_party/asio/asio/src/examples/cpp03/nonblocking/.gitignore +0 -10
  1012. data/ext/third_party/asio/asio/src/examples/cpp03/nonblocking/third_party_lib.cpp +0 -240
  1013. data/ext/third_party/asio/asio/src/examples/cpp03/porthopper/.gitignore +0 -11
  1014. data/ext/third_party/asio/asio/src/examples/cpp03/porthopper/client.cpp +0 -192
  1015. data/ext/third_party/asio/asio/src/examples/cpp03/porthopper/protocol.hpp +0 -156
  1016. data/ext/third_party/asio/asio/src/examples/cpp03/porthopper/server.cpp +0 -187
  1017. data/ext/third_party/asio/asio/src/examples/cpp03/serialization/.gitignore +0 -11
  1018. data/ext/third_party/asio/asio/src/examples/cpp03/serialization/client.cpp +0 -125
  1019. data/ext/third_party/asio/asio/src/examples/cpp03/serialization/connection.hpp +0 -188
  1020. data/ext/third_party/asio/asio/src/examples/cpp03/serialization/server.cpp +0 -123
  1021. data/ext/third_party/asio/asio/src/examples/cpp03/serialization/stock.hpp +0 -50
  1022. data/ext/third_party/asio/asio/src/examples/cpp03/services/.gitignore +0 -11
  1023. data/ext/third_party/asio/asio/src/examples/cpp03/services/basic_logger.hpp +0 -83
  1024. data/ext/third_party/asio/asio/src/examples/cpp03/services/daytime_client.cpp +0 -97
  1025. data/ext/third_party/asio/asio/src/examples/cpp03/services/logger.hpp +0 -24
  1026. data/ext/third_party/asio/asio/src/examples/cpp03/services/logger_service.cpp +0 -11
  1027. data/ext/third_party/asio/asio/src/examples/cpp03/services/logger_service.hpp +0 -145
  1028. data/ext/third_party/asio/asio/src/examples/cpp03/socks4/.gitignore +0 -10
  1029. data/ext/third_party/asio/asio/src/examples/cpp03/socks4/socks4.hpp +0 -144
  1030. data/ext/third_party/asio/asio/src/examples/cpp03/socks4/sync_client.cpp +0 -94
  1031. data/ext/third_party/asio/asio/src/examples/cpp03/spawn/.gitignore +0 -12
  1032. data/ext/third_party/asio/asio/src/examples/cpp03/spawn/echo_server.cpp +0 -122
  1033. data/ext/third_party/asio/asio/src/examples/cpp03/spawn/parallel_grep.cpp +0 -89
  1034. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/.gitignore +0 -11
  1035. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/README +0 -8
  1036. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/ca.pem +0 -49
  1037. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/client.cpp +0 -157
  1038. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/dh2048.pem +0 -8
  1039. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/server.cpp +0 -170
  1040. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/server.pem +0 -71
  1041. data/ext/third_party/asio/asio/src/examples/cpp03/timeouts/.gitignore +0 -11
  1042. data/ext/third_party/asio/asio/src/examples/cpp03/timeouts/async_tcp_client.cpp +0 -311
  1043. data/ext/third_party/asio/asio/src/examples/cpp03/timeouts/blocking_tcp_client.cpp +0 -191
  1044. data/ext/third_party/asio/asio/src/examples/cpp03/timeouts/blocking_token_tcp_client.cpp +0 -200
  1045. data/ext/third_party/asio/asio/src/examples/cpp03/timeouts/blocking_udp_client.cpp +0 -154
  1046. data/ext/third_party/asio/asio/src/examples/cpp03/timeouts/server.cpp +0 -433
  1047. data/ext/third_party/asio/asio/src/examples/cpp03/timers/.gitignore +0 -10
  1048. data/ext/third_party/asio/asio/src/examples/cpp03/timers/time_t_timer.cpp +0 -106
  1049. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime1/.gitignore +0 -10
  1050. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime1/client.cpp +0 -57
  1051. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime2/.gitignore +0 -10
  1052. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime2/server.cpp +0 -50
  1053. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime3/.gitignore +0 -10
  1054. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime3/server.cpp +0 -119
  1055. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime4/.gitignore +0 -10
  1056. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime4/client.cpp +0 -52
  1057. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime5/.gitignore +0 -10
  1058. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime5/server.cpp +0 -53
  1059. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime6/.gitignore +0 -10
  1060. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime6/server.cpp +0 -89
  1061. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime7/.gitignore +0 -10
  1062. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime7/server.cpp +0 -160
  1063. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime_dox.txt +0 -500
  1064. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/index_dox.txt +0 -48
  1065. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer1/.gitignore +0 -10
  1066. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer1/timer.cpp +0 -24
  1067. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer2/.gitignore +0 -10
  1068. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer2/timer.cpp +0 -29
  1069. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer3/.gitignore +0 -10
  1070. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer3/timer.cpp +0 -43
  1071. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer4/.gitignore +0 -10
  1072. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer4/timer.cpp +0 -54
  1073. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer5/.gitignore +0 -10
  1074. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer5/timer.cpp +0 -80
  1075. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer_dox.txt +0 -378
  1076. data/ext/third_party/asio/asio/src/examples/cpp03/windows/.gitignore +0 -10
  1077. data/ext/third_party/asio/asio/src/examples/cpp03/windows/transmit_file.cpp +0 -177
  1078. data/ext/third_party/asio/asio/src/examples/cpp11/Makefile.am +0 -161
  1079. data/ext/third_party/asio/asio/src/examples/cpp11/allocation/.gitignore +0 -10
  1080. data/ext/third_party/asio/asio/src/examples/cpp11/allocation/server.cpp +0 -255
  1081. data/ext/third_party/asio/asio/src/examples/cpp11/buffers/.gitignore +0 -10
  1082. data/ext/third_party/asio/asio/src/examples/cpp11/buffers/reference_counted.cpp +0 -122
  1083. data/ext/third_party/asio/asio/src/examples/cpp11/chat/.gitignore +0 -11
  1084. data/ext/third_party/asio/asio/src/examples/cpp11/chat/chat_client.cpp +0 -167
  1085. data/ext/third_party/asio/asio/src/examples/cpp11/chat/chat_message.hpp +0 -91
  1086. data/ext/third_party/asio/asio/src/examples/cpp11/chat/chat_server.cpp +0 -227
  1087. data/ext/third_party/asio/asio/src/examples/cpp11/echo/.gitignore +0 -11
  1088. data/ext/third_party/asio/asio/src/examples/cpp11/echo/async_tcp_echo_server.cpp +0 -114
  1089. data/ext/third_party/asio/asio/src/examples/cpp11/echo/async_udp_echo_server.cpp +0 -82
  1090. data/ext/third_party/asio/asio/src/examples/cpp11/echo/blocking_tcp_echo_client.cpp +0 -55
  1091. data/ext/third_party/asio/asio/src/examples/cpp11/echo/blocking_tcp_echo_server.cpp +0 -74
  1092. data/ext/third_party/asio/asio/src/examples/cpp11/echo/blocking_udp_echo_client.cpp +0 -58
  1093. data/ext/third_party/asio/asio/src/examples/cpp11/echo/blocking_udp_echo_server.cpp +0 -52
  1094. data/ext/third_party/asio/asio/src/examples/cpp11/executors/.gitignore +0 -5
  1095. data/ext/third_party/asio/asio/src/examples/cpp11/executors/actor.cpp +0 -286
  1096. data/ext/third_party/asio/asio/src/examples/cpp11/executors/bank_account_1.cpp +0 -54
  1097. data/ext/third_party/asio/asio/src/examples/cpp11/executors/bank_account_2.cpp +0 -54
  1098. data/ext/third_party/asio/asio/src/examples/cpp11/executors/fork_join.cpp +0 -328
  1099. data/ext/third_party/asio/asio/src/examples/cpp11/executors/pipeline.cpp +0 -299
  1100. data/ext/third_party/asio/asio/src/examples/cpp11/executors/priority_scheduler.cpp +0 -174
  1101. data/ext/third_party/asio/asio/src/examples/cpp11/fork/.gitignore +0 -11
  1102. data/ext/third_party/asio/asio/src/examples/cpp11/fork/daemon.cpp +0 -189
  1103. data/ext/third_party/asio/asio/src/examples/cpp11/fork/process_per_connection.cpp +0 -162
  1104. data/ext/third_party/asio/asio/src/examples/cpp11/futures/.gitignore +0 -11
  1105. data/ext/third_party/asio/asio/src/examples/cpp11/futures/daytime_client.cpp +0 -94
  1106. data/ext/third_party/asio/asio/src/examples/cpp11/handler_tracking/custom_tracking.hpp +0 -201
  1107. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/.gitignore +0 -11
  1108. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/connection.cpp +0 -94
  1109. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/connection.hpp +0 -79
  1110. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/connection_manager.cpp +0 -40
  1111. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/connection_manager.hpp +0 -48
  1112. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/header.hpp +0 -28
  1113. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/main.cpp +0 -43
  1114. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/mime_types.cpp +0 -45
  1115. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/mime_types.hpp +0 -27
  1116. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/reply.cpp +0 -255
  1117. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/reply.hpp +0 -64
  1118. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/request.hpp +0 -34
  1119. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/request_handler.cpp +0 -121
  1120. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/request_handler.hpp +0 -47
  1121. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/request_parser.cpp +0 -315
  1122. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/request_parser.hpp +0 -96
  1123. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/server.cpp +0 -94
  1124. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/server.hpp +0 -64
  1125. data/ext/third_party/asio/asio/src/examples/cpp11/invocation/.gitignore +0 -10
  1126. data/ext/third_party/asio/asio/src/examples/cpp11/invocation/prioritised_handlers.cpp +0 -202
  1127. data/ext/third_party/asio/asio/src/examples/cpp11/iostreams/.gitignore +0 -11
  1128. data/ext/third_party/asio/asio/src/examples/cpp11/iostreams/http_client.cpp +0 -91
  1129. data/ext/third_party/asio/asio/src/examples/cpp11/local/.gitignore +0 -13
  1130. data/ext/third_party/asio/asio/src/examples/cpp11/local/connect_pair.cpp +0 -129
  1131. data/ext/third_party/asio/asio/src/examples/cpp11/local/iostream_client.cpp +0 -61
  1132. data/ext/third_party/asio/asio/src/examples/cpp11/local/stream_client.cpp +0 -60
  1133. data/ext/third_party/asio/asio/src/examples/cpp11/local/stream_server.cpp +0 -121
  1134. data/ext/third_party/asio/asio/src/examples/cpp11/multicast/.gitignore +0 -11
  1135. data/ext/third_party/asio/asio/src/examples/cpp11/multicast/receiver.cpp +0 -88
  1136. data/ext/third_party/asio/asio/src/examples/cpp11/multicast/sender.cpp +0 -91
  1137. data/ext/third_party/asio/asio/src/examples/cpp11/nonblocking/.gitignore +0 -10
  1138. data/ext/third_party/asio/asio/src/examples/cpp11/nonblocking/third_party_lib.cpp +0 -212
  1139. data/ext/third_party/asio/asio/src/examples/cpp11/operations/.gitignore +0 -10
  1140. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_1.cpp +0 -113
  1141. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_2.cpp +0 -131
  1142. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_3.cpp +0 -192
  1143. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_4.cpp +0 -207
  1144. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_5.cpp +0 -243
  1145. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_6.cpp +0 -302
  1146. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_7.cpp +0 -222
  1147. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_8.cpp +0 -217
  1148. data/ext/third_party/asio/asio/src/examples/cpp11/socks4/.gitignore +0 -10
  1149. data/ext/third_party/asio/asio/src/examples/cpp11/socks4/socks4.hpp +0 -143
  1150. data/ext/third_party/asio/asio/src/examples/cpp11/socks4/sync_client.cpp +0 -93
  1151. data/ext/third_party/asio/asio/src/examples/cpp11/spawn/.gitignore +0 -12
  1152. data/ext/third_party/asio/asio/src/examples/cpp11/spawn/echo_server.cpp +0 -111
  1153. data/ext/third_party/asio/asio/src/examples/cpp11/spawn/parallel_grep.cpp +0 -84
  1154. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/.gitignore +0 -11
  1155. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/README +0 -8
  1156. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/ca.pem +0 -49
  1157. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/client.cpp +0 -165
  1158. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/dh2048.pem +0 -8
  1159. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/server.cpp +0 -143
  1160. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/server.pem +0 -71
  1161. data/ext/third_party/asio/asio/src/examples/cpp11/timeouts/.gitignore +0 -11
  1162. data/ext/third_party/asio/asio/src/examples/cpp11/timeouts/async_tcp_client.cpp +0 -311
  1163. data/ext/third_party/asio/asio/src/examples/cpp11/timeouts/blocking_tcp_client.cpp +0 -192
  1164. data/ext/third_party/asio/asio/src/examples/cpp11/timeouts/blocking_token_tcp_client.cpp +0 -197
  1165. data/ext/third_party/asio/asio/src/examples/cpp11/timeouts/blocking_udp_client.cpp +0 -155
  1166. data/ext/third_party/asio/asio/src/examples/cpp11/timeouts/server.cpp +0 -433
  1167. data/ext/third_party/asio/asio/src/examples/cpp11/timers/.gitignore +0 -10
  1168. data/ext/third_party/asio/asio/src/examples/cpp11/timers/time_t_timer.cpp +0 -106
  1169. data/ext/third_party/asio/asio/src/examples/cpp14/Makefile.am +0 -64
  1170. data/ext/third_party/asio/asio/src/examples/cpp14/echo/.gitignore +0 -11
  1171. data/ext/third_party/asio/asio/src/examples/cpp14/echo/async_tcp_echo_server.cpp +0 -117
  1172. data/ext/third_party/asio/asio/src/examples/cpp14/echo/async_udp_echo_server.cpp +0 -83
  1173. data/ext/third_party/asio/asio/src/examples/cpp14/echo/blocking_tcp_echo_client.cpp +0 -55
  1174. data/ext/third_party/asio/asio/src/examples/cpp14/echo/blocking_tcp_echo_server.cpp +0 -77
  1175. data/ext/third_party/asio/asio/src/examples/cpp14/echo/blocking_udp_echo_client.cpp +0 -59
  1176. data/ext/third_party/asio/asio/src/examples/cpp14/echo/blocking_udp_echo_server.cpp +0 -53
  1177. data/ext/third_party/asio/asio/src/examples/cpp14/executors/.gitignore +0 -6
  1178. data/ext/third_party/asio/asio/src/examples/cpp14/executors/actor.cpp +0 -281
  1179. data/ext/third_party/asio/asio/src/examples/cpp14/executors/async_1.cpp +0 -47
  1180. data/ext/third_party/asio/asio/src/examples/cpp14/executors/async_2.cpp +0 -68
  1181. data/ext/third_party/asio/asio/src/examples/cpp14/executors/bank_account_1.cpp +0 -54
  1182. data/ext/third_party/asio/asio/src/examples/cpp14/executors/bank_account_2.cpp +0 -53
  1183. data/ext/third_party/asio/asio/src/examples/cpp14/executors/fork_join.cpp +0 -327
  1184. data/ext/third_party/asio/asio/src/examples/cpp14/executors/pipeline.cpp +0 -294
  1185. data/ext/third_party/asio/asio/src/examples/cpp14/executors/priority_scheduler.cpp +0 -173
  1186. data/ext/third_party/asio/asio/src/examples/cpp14/iostreams/.gitignore +0 -11
  1187. data/ext/third_party/asio/asio/src/examples/cpp14/iostreams/http_client.cpp +0 -91
  1188. data/ext/third_party/asio/asio/src/examples/cpp14/operations/.gitignore +0 -10
  1189. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_1.cpp +0 -113
  1190. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_2.cpp +0 -131
  1191. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_3.cpp +0 -186
  1192. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_4.cpp +0 -201
  1193. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_5.cpp +0 -238
  1194. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_6.cpp +0 -298
  1195. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_7.cpp +0 -219
  1196. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_8.cpp +0 -212
  1197. data/ext/third_party/asio/asio/src/examples/cpp17/Makefile.am +0 -8
  1198. data/ext/third_party/asio/asio/src/examples/cpp17/coroutines_ts/chat_server.cpp +0 -225
  1199. data/ext/third_party/asio/asio/src/examples/cpp17/coroutines_ts/echo_server.cpp +0 -76
  1200. data/ext/third_party/asio/asio/src/examples/cpp17/coroutines_ts/echo_server_with_default.cpp +0 -78
  1201. data/ext/third_party/asio/asio/src/examples/cpp17/coroutines_ts/range_based_for.cpp +0 -107
  1202. data/ext/third_party/asio/asio/src/examples/cpp17/coroutines_ts/refactored_echo_server.cpp +0 -85
  1203. data/ext/third_party/asio/asio/src/tests/.gitignore +0 -11
  1204. data/ext/third_party/asio/asio/src/tests/Makefile.am +0 -432
  1205. data/ext/third_party/asio/asio/src/tests/latency/.gitignore +0 -11
  1206. data/ext/third_party/asio/asio/src/tests/latency/allocator.hpp +0 -52
  1207. data/ext/third_party/asio/asio/src/tests/latency/high_res_clock.hpp +0 -53
  1208. data/ext/third_party/asio/asio/src/tests/latency/tcp_client.cpp +0 -124
  1209. data/ext/third_party/asio/asio/src/tests/latency/tcp_server.cpp +0 -114
  1210. data/ext/third_party/asio/asio/src/tests/latency/udp_client.cpp +0 -104
  1211. data/ext/third_party/asio/asio/src/tests/latency/udp_server.cpp +0 -125
  1212. data/ext/third_party/asio/asio/src/tests/performance/.gitignore +0 -11
  1213. data/ext/third_party/asio/asio/src/tests/performance/client.cpp +0 -286
  1214. data/ext/third_party/asio/asio/src/tests/performance/handler_allocator.hpp +0 -112
  1215. data/ext/third_party/asio/asio/src/tests/performance/server.cpp +0 -233
  1216. data/ext/third_party/asio/asio/src/tests/unit/.gitignore +0 -75
  1217. data/ext/third_party/asio/asio/src/tests/unit/archetypes/async_ops.hpp +0 -415
  1218. data/ext/third_party/asio/asio/src/tests/unit/archetypes/async_result.hpp +0 -94
  1219. data/ext/third_party/asio/asio/src/tests/unit/archetypes/gettable_socket_option.hpp +0 -54
  1220. data/ext/third_party/asio/asio/src/tests/unit/archetypes/io_control_command.hpp +0 -32
  1221. data/ext/third_party/asio/asio/src/tests/unit/archetypes/settable_socket_option.hpp +0 -49
  1222. data/ext/third_party/asio/asio/src/tests/unit/associated_allocator.cpp +0 -25
  1223. data/ext/third_party/asio/asio/src/tests/unit/associated_executor.cpp +0 -25
  1224. data/ext/third_party/asio/asio/src/tests/unit/async_result.cpp +0 -25
  1225. data/ext/third_party/asio/asio/src/tests/unit/awaitable.cpp +0 -25
  1226. data/ext/third_party/asio/asio/src/tests/unit/basic_datagram_socket.cpp +0 -25
  1227. data/ext/third_party/asio/asio/src/tests/unit/basic_deadline_timer.cpp +0 -25
  1228. data/ext/third_party/asio/asio/src/tests/unit/basic_raw_socket.cpp +0 -25
  1229. data/ext/third_party/asio/asio/src/tests/unit/basic_seq_packet_socket.cpp +0 -25
  1230. data/ext/third_party/asio/asio/src/tests/unit/basic_serial_port.cpp +0 -26
  1231. data/ext/third_party/asio/asio/src/tests/unit/basic_signal_set.cpp +0 -25
  1232. data/ext/third_party/asio/asio/src/tests/unit/basic_socket.cpp +0 -25
  1233. data/ext/third_party/asio/asio/src/tests/unit/basic_socket_acceptor.cpp +0 -25
  1234. data/ext/third_party/asio/asio/src/tests/unit/basic_stream_socket.cpp +0 -25
  1235. data/ext/third_party/asio/asio/src/tests/unit/basic_streambuf.cpp +0 -25
  1236. data/ext/third_party/asio/asio/src/tests/unit/basic_waitable_timer.cpp +0 -25
  1237. data/ext/third_party/asio/asio/src/tests/unit/bind_executor.cpp +0 -25
  1238. data/ext/third_party/asio/asio/src/tests/unit/buffer.cpp +0 -830
  1239. data/ext/third_party/asio/asio/src/tests/unit/buffered_read_stream.cpp +0 -338
  1240. data/ext/third_party/asio/asio/src/tests/unit/buffered_stream.cpp +0 -364
  1241. data/ext/third_party/asio/asio/src/tests/unit/buffered_write_stream.cpp +0 -353
  1242. data/ext/third_party/asio/asio/src/tests/unit/buffers_iterator.cpp +0 -292
  1243. data/ext/third_party/asio/asio/src/tests/unit/co_spawn.cpp +0 -25
  1244. data/ext/third_party/asio/asio/src/tests/unit/completion_condition.cpp +0 -25
  1245. data/ext/third_party/asio/asio/src/tests/unit/compose.cpp +0 -185
  1246. data/ext/third_party/asio/asio/src/tests/unit/connect.cpp +0 -1190
  1247. data/ext/third_party/asio/asio/src/tests/unit/coroutine.cpp +0 -112
  1248. data/ext/third_party/asio/asio/src/tests/unit/deadline_timer.cpp +0 -392
  1249. data/ext/third_party/asio/asio/src/tests/unit/defer.cpp +0 -25
  1250. data/ext/third_party/asio/asio/src/tests/unit/detached.cpp +0 -25
  1251. data/ext/third_party/asio/asio/src/tests/unit/dispatch.cpp +0 -25
  1252. data/ext/third_party/asio/asio/src/tests/unit/error.cpp +0 -89
  1253. data/ext/third_party/asio/asio/src/tests/unit/execution_context.cpp +0 -25
  1254. data/ext/third_party/asio/asio/src/tests/unit/executor.cpp +0 -25
  1255. data/ext/third_party/asio/asio/src/tests/unit/executor_work_guard.cpp +0 -25
  1256. data/ext/third_party/asio/asio/src/tests/unit/generic/.gitignore +0 -14
  1257. data/ext/third_party/asio/asio/src/tests/unit/generic/basic_endpoint.cpp +0 -25
  1258. data/ext/third_party/asio/asio/src/tests/unit/generic/datagram_protocol.cpp +0 -263
  1259. data/ext/third_party/asio/asio/src/tests/unit/generic/raw_protocol.cpp +0 -263
  1260. data/ext/third_party/asio/asio/src/tests/unit/generic/seq_packet_protocol.cpp +0 -205
  1261. data/ext/third_party/asio/asio/src/tests/unit/generic/stream_protocol.cpp +0 -248
  1262. data/ext/third_party/asio/asio/src/tests/unit/high_resolution_timer.cpp +0 -30
  1263. data/ext/third_party/asio/asio/src/tests/unit/io_context.cpp +0 -362
  1264. data/ext/third_party/asio/asio/src/tests/unit/io_context_strand.cpp +0 -325
  1265. data/ext/third_party/asio/asio/src/tests/unit/ip/.gitignore +0 -27
  1266. data/ext/third_party/asio/asio/src/tests/unit/ip/address.cpp +0 -144
  1267. data/ext/third_party/asio/asio/src/tests/unit/ip/basic_endpoint.cpp +0 -25
  1268. data/ext/third_party/asio/asio/src/tests/unit/ip/basic_resolver.cpp +0 -25
  1269. data/ext/third_party/asio/asio/src/tests/unit/ip/basic_resolver_entry.cpp +0 -25
  1270. data/ext/third_party/asio/asio/src/tests/unit/ip/basic_resolver_iterator.cpp +0 -25
  1271. data/ext/third_party/asio/asio/src/tests/unit/ip/basic_resolver_query.cpp +0 -25
  1272. data/ext/third_party/asio/asio/src/tests/unit/ip/host_name.cpp +0 -55
  1273. data/ext/third_party/asio/asio/src/tests/unit/ip/icmp.cpp +0 -577
  1274. data/ext/third_party/asio/asio/src/tests/unit/ip/multicast.cpp +0 -363
  1275. data/ext/third_party/asio/asio/src/tests/unit/ip/network_v4.cpp +0 -314
  1276. data/ext/third_party/asio/asio/src/tests/unit/ip/network_v6.cpp +0 -238
  1277. data/ext/third_party/asio/asio/src/tests/unit/ip/resolver_query_base.cpp +0 -25
  1278. data/ext/third_party/asio/asio/src/tests/unit/ip/tcp.cpp +0 -1346
  1279. data/ext/third_party/asio/asio/src/tests/unit/ip/udp.cpp +0 -673
  1280. data/ext/third_party/asio/asio/src/tests/unit/ip/unicast.cpp +0 -171
  1281. data/ext/third_party/asio/asio/src/tests/unit/ip/v6_only.cpp +0 -135
  1282. data/ext/third_party/asio/asio/src/tests/unit/is_read_buffered.cpp +0 -129
  1283. data/ext/third_party/asio/asio/src/tests/unit/is_write_buffered.cpp +0 -129
  1284. data/ext/third_party/asio/asio/src/tests/unit/local/.gitignore +0 -13
  1285. data/ext/third_party/asio/asio/src/tests/unit/local/basic_endpoint.cpp +0 -25
  1286. data/ext/third_party/asio/asio/src/tests/unit/local/connect_pair.cpp +0 -76
  1287. data/ext/third_party/asio/asio/src/tests/unit/local/datagram_protocol.cpp +0 -242
  1288. data/ext/third_party/asio/asio/src/tests/unit/local/stream_protocol.cpp +0 -219
  1289. data/ext/third_party/asio/asio/src/tests/unit/packaged_task.cpp +0 -25
  1290. data/ext/third_party/asio/asio/src/tests/unit/placeholders.cpp +0 -25
  1291. data/ext/third_party/asio/asio/src/tests/unit/posix/.gitignore +0 -14
  1292. data/ext/third_party/asio/asio/src/tests/unit/posix/basic_descriptor.cpp +0 -25
  1293. data/ext/third_party/asio/asio/src/tests/unit/posix/basic_stream_descriptor.cpp +0 -25
  1294. data/ext/third_party/asio/asio/src/tests/unit/posix/descriptor.cpp +0 -25
  1295. data/ext/third_party/asio/asio/src/tests/unit/posix/descriptor_base.cpp +0 -25
  1296. data/ext/third_party/asio/asio/src/tests/unit/posix/stream_descriptor.cpp +0 -183
  1297. data/ext/third_party/asio/asio/src/tests/unit/post.cpp +0 -25
  1298. data/ext/third_party/asio/asio/src/tests/unit/read.cpp +0 -4997
  1299. data/ext/third_party/asio/asio/src/tests/unit/read_at.cpp +0 -7502
  1300. data/ext/third_party/asio/asio/src/tests/unit/read_until.cpp +0 -1658
  1301. data/ext/third_party/asio/asio/src/tests/unit/redirect_error.cpp +0 -25
  1302. data/ext/third_party/asio/asio/src/tests/unit/serial_port.cpp +0 -173
  1303. data/ext/third_party/asio/asio/src/tests/unit/serial_port_base.cpp +0 -99
  1304. data/ext/third_party/asio/asio/src/tests/unit/signal_set.cpp +0 -95
  1305. data/ext/third_party/asio/asio/src/tests/unit/socket_base.cpp +0 -650
  1306. data/ext/third_party/asio/asio/src/tests/unit/ssl/.gitignore +0 -15
  1307. data/ext/third_party/asio/asio/src/tests/unit/ssl/context.cpp +0 -25
  1308. data/ext/third_party/asio/asio/src/tests/unit/ssl/context_base.cpp +0 -25
  1309. data/ext/third_party/asio/asio/src/tests/unit/ssl/error.cpp +0 -25
  1310. data/ext/third_party/asio/asio/src/tests/unit/ssl/host_name_verification.cpp +0 -25
  1311. data/ext/third_party/asio/asio/src/tests/unit/ssl/rfc2818_verification.cpp +0 -25
  1312. data/ext/third_party/asio/asio/src/tests/unit/ssl/stream.cpp +0 -191
  1313. data/ext/third_party/asio/asio/src/tests/unit/ssl/stream_base.cpp +0 -25
  1314. data/ext/third_party/asio/asio/src/tests/unit/steady_timer.cpp +0 -30
  1315. data/ext/third_party/asio/asio/src/tests/unit/strand.cpp +0 -263
  1316. data/ext/third_party/asio/asio/src/tests/unit/streambuf.cpp +0 -62
  1317. data/ext/third_party/asio/asio/src/tests/unit/system_context.cpp +0 -30
  1318. data/ext/third_party/asio/asio/src/tests/unit/system_executor.cpp +0 -30
  1319. data/ext/third_party/asio/asio/src/tests/unit/system_timer.cpp +0 -399
  1320. data/ext/third_party/asio/asio/src/tests/unit/this_coro.cpp +0 -25
  1321. data/ext/third_party/asio/asio/src/tests/unit/thread.cpp +0 -25
  1322. data/ext/third_party/asio/asio/src/tests/unit/time_traits.cpp +0 -25
  1323. data/ext/third_party/asio/asio/src/tests/unit/ts/.gitignore +0 -17
  1324. data/ext/third_party/asio/asio/src/tests/unit/ts/buffer.cpp +0 -30
  1325. data/ext/third_party/asio/asio/src/tests/unit/ts/executor.cpp +0 -30
  1326. data/ext/third_party/asio/asio/src/tests/unit/ts/internet.cpp +0 -30
  1327. data/ext/third_party/asio/asio/src/tests/unit/ts/io_context.cpp +0 -30
  1328. data/ext/third_party/asio/asio/src/tests/unit/ts/net.cpp +0 -30
  1329. data/ext/third_party/asio/asio/src/tests/unit/ts/netfwd.cpp +0 -33
  1330. data/ext/third_party/asio/asio/src/tests/unit/ts/socket.cpp +0 -30
  1331. data/ext/third_party/asio/asio/src/tests/unit/ts/timer.cpp +0 -30
  1332. data/ext/third_party/asio/asio/src/tests/unit/unit_test.hpp +0 -175
  1333. data/ext/third_party/asio/asio/src/tests/unit/use_awaitable.cpp +0 -25
  1334. data/ext/third_party/asio/asio/src/tests/unit/use_future.cpp +0 -670
  1335. data/ext/third_party/asio/asio/src/tests/unit/uses_executor.cpp +0 -25
  1336. data/ext/third_party/asio/asio/src/tests/unit/wait_traits.cpp +0 -25
  1337. data/ext/third_party/asio/asio/src/tests/unit/windows/.gitignore +0 -18
  1338. data/ext/third_party/asio/asio/src/tests/unit/windows/basic_object_handle.cpp +0 -25
  1339. data/ext/third_party/asio/asio/src/tests/unit/windows/basic_overlapped_handle.cpp +0 -25
  1340. data/ext/third_party/asio/asio/src/tests/unit/windows/basic_random_access_handle.cpp +0 -25
  1341. data/ext/third_party/asio/asio/src/tests/unit/windows/basic_stream_handle.cpp +0 -25
  1342. data/ext/third_party/asio/asio/src/tests/unit/windows/object_handle.cpp +0 -130
  1343. data/ext/third_party/asio/asio/src/tests/unit/windows/overlapped_handle.cpp +0 -26
  1344. data/ext/third_party/asio/asio/src/tests/unit/windows/overlapped_ptr.cpp +0 -107
  1345. data/ext/third_party/asio/asio/src/tests/unit/windows/random_access_handle.cpp +0 -155
  1346. data/ext/third_party/asio/asio/src/tests/unit/windows/stream_handle.cpp +0 -148
  1347. data/ext/third_party/asio/asio/src/tests/unit/write.cpp +0 -4904
  1348. data/ext/third_party/asio/asio/src/tests/unit/write_at.cpp +0 -7563
  1349. data/ext/third_party/asio/asio/src/tools/handlerviz.pl +0 -299
  1350. data/ext/third_party/asio/asio/tsify.pl +0 -574
  1351. data/ext/third_party/gsl/.clang-format +0 -34
  1352. data/ext/third_party/gsl/.github/workflows/main.yml +0 -94
  1353. data/ext/third_party/gsl/.gitignore +0 -16
  1354. data/ext/third_party/gsl/.travis.yml +0 -551
  1355. data/ext/third_party/gsl/CMakeSettings.json +0 -18
  1356. data/ext/third_party/gsl/CONTRIBUTING.md +0 -29
  1357. data/ext/third_party/gsl/GSL.natvis +0 -98
  1358. data/ext/third_party/gsl/README.md +0 -124
  1359. data/ext/third_party/gsl/appveyor.yml +0 -128
  1360. data/ext/third_party/gsl/tests/CMakeLists.txt +0 -267
  1361. data/ext/third_party/gsl/tests/CMakeLists.txt.in +0 -14
  1362. data/ext/third_party/gsl/tests/algorithm_tests.cpp +0 -227
  1363. data/ext/third_party/gsl/tests/assertion_tests.cpp +0 -61
  1364. data/ext/third_party/gsl/tests/at_tests.cpp +0 -135
  1365. data/ext/third_party/gsl/tests/bounds_tests.cpp +0 -102
  1366. data/ext/third_party/gsl/tests/byte_tests.cpp +0 -129
  1367. data/ext/third_party/gsl/tests/multi_span_tests.cpp +0 -1866
  1368. data/ext/third_party/gsl/tests/no_exception_ensure_tests.cpp +0 -48
  1369. data/ext/third_party/gsl/tests/notnull_tests.cpp +0 -535
  1370. data/ext/third_party/gsl/tests/owner_tests.cpp +0 -43
  1371. data/ext/third_party/gsl/tests/span_compatibility_tests.cpp +0 -1021
  1372. data/ext/third_party/gsl/tests/span_ext_tests.cpp +0 -360
  1373. data/ext/third_party/gsl/tests/span_tests.cpp +0 -1244
  1374. data/ext/third_party/gsl/tests/strict_notnull_tests.cpp +0 -190
  1375. data/ext/third_party/gsl/tests/strided_span_tests.cpp +0 -790
  1376. data/ext/third_party/gsl/tests/string_span_tests.cpp +0 -1217
  1377. data/ext/third_party/gsl/tests/utils_tests.cpp +0 -129
  1378. data/ext/third_party/http_parser/.gitignore +0 -30
  1379. data/ext/third_party/http_parser/.mailmap +0 -8
  1380. data/ext/third_party/http_parser/.travis.yml +0 -13
  1381. data/ext/third_party/http_parser/AUTHORS +0 -68
  1382. data/ext/third_party/http_parser/README.md +0 -246
  1383. data/ext/third_party/http_parser/bench.c +0 -128
  1384. data/ext/third_party/http_parser/contrib/parsertrace.c +0 -157
  1385. data/ext/third_party/http_parser/contrib/url_parser.c +0 -47
  1386. data/ext/third_party/http_parser/fuzzers/fuzz_parser.c +0 -26
  1387. data/ext/third_party/http_parser/fuzzers/fuzz_url.c +0 -14
  1388. data/ext/third_party/http_parser/http_parser.gyp +0 -111
  1389. data/ext/third_party/http_parser/test.c +0 -4600
  1390. data/ext/third_party/json/.appveyor.yml +0 -44
  1391. data/ext/third_party/json/.clang-format +0 -84
  1392. data/ext/third_party/json/.conan/build.py +0 -80
  1393. data/ext/third_party/json/.conan/test_package/CMakeLists.txt +0 -12
  1394. data/ext/third_party/json/.conan/test_package/conanfile.py +0 -24
  1395. data/ext/third_party/json/.conan/test_package/test_package.cpp +0 -16
  1396. data/ext/third_party/json/.gitignore +0 -3
  1397. data/ext/third_party/json/.travis.yml +0 -173
  1398. data/ext/third_party/json/README.md +0 -149
  1399. data/ext/third_party/json/conanfile.py +0 -28
  1400. data/ext/third_party/json/contrib/nlohmann.cpp +0 -48
  1401. data/ext/third_party/json/contrib/nlohmann/from_value.hpp +0 -62
  1402. data/ext/third_party/json/contrib/nlohmann/json.hpp +0 -18928
  1403. data/ext/third_party/json/contrib/nlohmann/to_value.hpp +0 -109
  1404. data/ext/third_party/json/doc/Advanced-Use-Cases.md +0 -83
  1405. data/ext/third_party/json/doc/Batteries-Included.md +0 -212
  1406. data/ext/third_party/json/doc/Binding-Traits.md +0 -319
  1407. data/ext/third_party/json/doc/Changelog.md +0 -31
  1408. data/ext/third_party/json/doc/Common-Use-Cases.md +0 -148
  1409. data/ext/third_party/json/doc/Design-Decisions.md +0 -36
  1410. data/ext/third_party/json/doc/Events-Interface.md +0 -140
  1411. data/ext/third_party/json/doc/Getting-Started.md +0 -19
  1412. data/ext/third_party/json/doc/Instance-Sharing.md +0 -163
  1413. data/ext/third_party/json/doc/Interoperability.md +0 -75
  1414. data/ext/third_party/json/doc/Overview.md +0 -24
  1415. data/ext/third_party/json/doc/Overview.png +0 -0
  1416. data/ext/third_party/json/doc/Parser-Interface.md +0 -84
  1417. data/ext/third_party/json/doc/README.md +0 -78
  1418. data/ext/third_party/json/doc/Scratchpad.md +0 -25
  1419. data/ext/third_party/json/doc/Type-Traits.md +0 -364
  1420. data/ext/third_party/json/doc/Types.png +0 -0
  1421. data/ext/third_party/json/doc/Value-Class.md +0 -525
  1422. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/analyze_cycles.hpp +0 -127
  1423. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/counted.hpp +0 -23
  1424. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/generic.hpp +0 -31
  1425. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/grammar_info.hpp +0 -32
  1426. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/insert_guard.hpp +0 -51
  1427. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/insert_rules.hpp +0 -25
  1428. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/rule_info.hpp +0 -29
  1429. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/rule_type.hpp +0 -21
  1430. data/ext/third_party/json/include/tao/json/external/pegtl/analyze.hpp +0 -21
  1431. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/counter.hpp +0 -54
  1432. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/tracer.hpp +0 -158
  1433. data/ext/third_party/json/include/tao/json/external/pegtl/internal/alnum.hpp +0 -18
  1434. data/ext/third_party/json/include/tao/json/external/pegtl/internal/alpha.hpp +0 -18
  1435. data/ext/third_party/json/include/tao/json/external/pegtl/internal/always_false.hpp +0 -21
  1436. data/ext/third_party/json/include/tao/json/external/pegtl/internal/demangle.hpp +0 -140
  1437. data/ext/third_party/json/include/tao/json/external/pegtl/internal/dusel_mode.hpp +0 -23
  1438. data/ext/third_party/json/include/tao/json/external/pegtl/internal/duseltronik.hpp +0 -187
  1439. data/ext/third_party/json/include/tao/json/external/pegtl/internal/endian.hpp +0 -62
  1440. data/ext/third_party/json/include/tao/json/external/pegtl/internal/endian_gcc.hpp +0 -206
  1441. data/ext/third_party/json/include/tao/json/external/pegtl/internal/endian_win.hpp +0 -106
  1442. data/ext/third_party/json/include/tao/json/external/pegtl/internal/file_opener.hpp +0 -72
  1443. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_mask_uint.hpp +0 -54
  1444. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_mask_uint8.hpp +0 -34
  1445. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_uint.hpp +0 -45
  1446. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_uint8.hpp +0 -33
  1447. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_utf16.hpp +0 -54
  1448. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_utf32.hpp +0 -43
  1449. data/ext/third_party/json/include/tao/json/external/pegtl/internal/read_uint.hpp +0 -77
  1450. data/ext/third_party/json/include/tao/json/external/pegtl/internal/skip_control.hpp +0 -25
  1451. data/ext/third_party/json/include/tao/json/external/pegtl/internal/trivial.hpp +0 -32
  1452. data/ext/third_party/json/include/tao/json/external/pegtl/uint16.hpp +0 -62
  1453. data/ext/third_party/json/include/tao/json/external/pegtl/uint32.hpp +0 -62
  1454. data/ext/third_party/json/include/tao/json/external/pegtl/uint64.hpp +0 -63
  1455. data/ext/third_party/json/include/tao/json/external/pegtl/uint8.hpp +0 -36
  1456. data/ext/third_party/json/include/tao/json/external/pegtl/utf16.hpp +0 -49
  1457. data/ext/third_party/json/include/tao/json/external/pegtl/utf32.hpp +0 -49
  1458. data/ext/third_party/json/src/example/json/CMakeLists.txt +0 -67
  1459. data/ext/third_party/json/src/example/json/cbor_to_jaxn.cpp +0 -18
  1460. data/ext/third_party/json/src/example/json/cbor_to_json.cpp +0 -18
  1461. data/ext/third_party/json/src/example/json/cbor_to_msgpack.cpp +0 -18
  1462. data/ext/third_party/json/src/example/json/cbor_to_pretty_jaxn.cpp +0 -18
  1463. data/ext/third_party/json/src/example/json/cbor_to_pretty_json.cpp +0 -18
  1464. data/ext/third_party/json/src/example/json/cbor_to_ubjson.cpp +0 -18
  1465. data/ext/third_party/json/src/example/json/jaxn_to_cbor.cpp +0 -18
  1466. data/ext/third_party/json/src/example/json/jaxn_to_cplusplus.cpp +0 -249
  1467. data/ext/third_party/json/src/example/json/jaxn_to_jaxn.cpp +0 -18
  1468. data/ext/third_party/json/src/example/json/jaxn_to_msgpack.cpp +0 -18
  1469. data/ext/third_party/json/src/example/json/jaxn_to_pretty_jaxn.cpp +0 -18
  1470. data/ext/third_party/json/src/example/json/jaxn_to_ubjson.cpp +0 -18
  1471. data/ext/third_party/json/src/example/json/json_to_cbor.cpp +0 -18
  1472. data/ext/third_party/json/src/example/json/json_to_json.cpp +0 -18
  1473. data/ext/third_party/json/src/example/json/json_to_msgpack.cpp +0 -18
  1474. data/ext/third_party/json/src/example/json/json_to_pretty_json.cpp +0 -18
  1475. data/ext/third_party/json/src/example/json/json_to_ubjson.cpp +0 -18
  1476. data/ext/third_party/json/src/example/json/msgpack_to_cbor.cpp +0 -18
  1477. data/ext/third_party/json/src/example/json/msgpack_to_jaxn.cpp +0 -18
  1478. data/ext/third_party/json/src/example/json/msgpack_to_json.cpp +0 -18
  1479. data/ext/third_party/json/src/example/json/msgpack_to_pretty_jaxn.cpp +0 -18
  1480. data/ext/third_party/json/src/example/json/msgpack_to_pretty_json.cpp +0 -18
  1481. data/ext/third_party/json/src/example/json/msgpack_to_ubjson.cpp +0 -18
  1482. data/ext/third_party/json/src/example/json/printf_doubles.cpp +0 -51
  1483. data/ext/third_party/json/src/example/json/ubjson_to_cbor.cpp +0 -18
  1484. data/ext/third_party/json/src/example/json/ubjson_to_jaxn.cpp +0 -18
  1485. data/ext/third_party/json/src/example/json/ubjson_to_json.cpp +0 -18
  1486. data/ext/third_party/json/src/example/json/ubjson_to_msgpack.cpp +0 -18
  1487. data/ext/third_party/json/src/example/json/ubjson_to_pretty_jaxn.cpp +0 -18
  1488. data/ext/third_party/json/src/example/json/ubjson_to_pretty_json.cpp +0 -18
  1489. data/ext/third_party/json/src/example/json/validate_event_order.cpp +0 -27
  1490. data/ext/third_party/json/src/example/json/validate_integer.cpp +0 -56
  1491. data/ext/third_party/json/src/perf/json/bench_mark.hpp +0 -43
  1492. data/ext/third_party/json/src/perf/json/benchmark.cpp +0 -34
  1493. data/ext/third_party/json/src/perf/json/parse_file.cpp +0 -17
  1494. data/ext/third_party/json/src/perf/json/pretty_print_file.cpp +0 -19
  1495. data/ext/third_party/json/src/perf/json/print_double.cpp +0 -34
  1496. data/ext/third_party/json/src/perf/json/print_file.cpp +0 -19
  1497. data/ext/third_party/json/src/perf/json/sizes.cpp +0 -24
  1498. data/ext/third_party/json/src/perf/json/syntax_only.cpp +0 -27
  1499. data/ext/third_party/json/src/test/json/CMakeLists.txt +0 -97
  1500. data/ext/third_party/json/src/test/json/big_list_of_naughty_strings.cpp +0 -43
  1501. data/ext/third_party/json/src/test/json/binding_array.cpp +0 -549
  1502. data/ext/third_party/json/src/test/json/binding_factory.cpp +0 -265
  1503. data/ext/third_party/json/src/test/json/binding_object.cpp +0 -208
  1504. data/ext/third_party/json/src/test/json/binding_versions.cpp +0 -95
  1505. data/ext/third_party/json/src/test/json/cbor.cpp +0 -149
  1506. data/ext/third_party/json/src/test/json/cbor_parts_parser.cpp +0 -36
  1507. data/ext/third_party/json/src/test/json/contrib_diff.cpp +0 -43
  1508. data/ext/third_party/json/src/test/json/contrib_get.cpp +0 -42
  1509. data/ext/third_party/json/src/test/json/contrib_patch_add.cpp +0 -75
  1510. data/ext/third_party/json/src/test/json/contrib_patch_copy.cpp +0 -113
  1511. data/ext/third_party/json/src/test/json/contrib_patch_move.cpp +0 -97
  1512. data/ext/third_party/json/src/test/json/contrib_patch_remove.cpp +0 -85
  1513. data/ext/third_party/json/src/test/json/contrib_patch_replace.cpp +0 -79
  1514. data/ext/third_party/json/src/test/json/contrib_patch_test.cpp +0 -69
  1515. data/ext/third_party/json/src/test/json/contrib_position.cpp +0 -48
  1516. data/ext/third_party/json/src/test/json/contrib_reference.cpp +0 -44
  1517. data/ext/third_party/json/src/test/json/contrib_schema.cpp +0 -132
  1518. data/ext/third_party/json/src/test/json/contrib_traits.cpp +0 -258
  1519. data/ext/third_party/json/src/test/json/double.cpp +0 -182
  1520. data/ext/third_party/json/src/test/json/enable_implicit_constructor.cpp +0 -54
  1521. data/ext/third_party/json/src/test/json/escape.cpp +0 -42
  1522. data/ext/third_party/json/src/test/json/events_binary_to.cpp +0 -56
  1523. data/ext/third_party/json/src/test/json/events_compare.cpp +0 -433
  1524. data/ext/third_party/json/src/test/json/events_debug.cpp +0 -24
  1525. data/ext/third_party/json/src/test/json/events_hash.cpp +0 -65
  1526. data/ext/third_party/json/src/test/json/events_to_stream.cpp +0 -28
  1527. data/ext/third_party/json/src/test/json/events_to_string.cpp +0 -25
  1528. data/ext/third_party/json/src/test/json/include_json.cpp +0 -14
  1529. data/ext/third_party/json/src/test/json/integer.cpp +0 -118
  1530. data/ext/third_party/json/src/test/json/jaxn_ostream.cpp +0 -76
  1531. data/ext/third_party/json/src/test/json/jaxn_parse.cpp +0 -239
  1532. data/ext/third_party/json/src/test/json/jaxn_parts_parser.cpp +0 -220
  1533. data/ext/third_party/json/src/test/json/json_ostream.cpp +0 -102
  1534. data/ext/third_party/json/src/test/json/json_parse.cpp +0 -153
  1535. data/ext/third_party/json/src/test/json/json_parts_parser.cpp +0 -124
  1536. data/ext/third_party/json/src/test/json/json_pointer.cpp +0 -176
  1537. data/ext/third_party/json/src/test/json/key_camel_case_to_snake_case.cpp +0 -38
  1538. data/ext/third_party/json/src/test/json/key_snake_case_to_camel_case.cpp +0 -33
  1539. data/ext/third_party/json/src/test/json/literal.cpp +0 -18
  1540. data/ext/third_party/json/src/test/json/main.hpp +0 -20
  1541. data/ext/third_party/json/src/test/json/make_events.hpp +0 -362
  1542. data/ext/third_party/json/src/test/json/msgpack.cpp +0 -136
  1543. data/ext/third_party/json/src/test/json/object_construction.cpp +0 -167
  1544. data/ext/third_party/json/src/test/json/opaque_pointer.cpp +0 -192
  1545. data/ext/third_party/json/src/test/json/operators.cpp +0 -494
  1546. data/ext/third_party/json/src/test/json/optional.cpp +0 -79
  1547. data/ext/third_party/json/src/test/json/public_base.cpp +0 -142
  1548. data/ext/third_party/json/src/test/json/self_contained.cpp +0 -106
  1549. data/ext/third_party/json/src/test/json/sha256.cpp +0 -38
  1550. data/ext/third_party/json/src/test/json/string_view.cpp +0 -70
  1551. data/ext/third_party/json/src/test/json/temporary_parsing.cpp +0 -339
  1552. data/ext/third_party/json/src/test/json/test.hpp +0 -74
  1553. data/ext/third_party/json/src/test/json/test_events.hpp +0 -250
  1554. data/ext/third_party/json/src/test/json/test_types.hpp +0 -557
  1555. data/ext/third_party/json/src/test/json/test_unhex.hpp +0 -42
  1556. data/ext/third_party/json/src/test/json/type.cpp +0 -35
  1557. data/ext/third_party/json/src/test/json/ubjson.cpp +0 -119
  1558. data/ext/third_party/json/src/test/json/uri_fragment.cpp +0 -52
  1559. data/ext/third_party/json/src/test/json/validate_event_interfaces.cpp +0 -177
  1560. data/ext/third_party/json/src/test/json/validate_utf8.cpp +0 -37
  1561. data/ext/third_party/json/src/test/json/value_access.cpp +0 -144
  1562. data/ext/third_party/json/src/test/json/value_basics.cpp +0 -241
  1563. data/ext/third_party/json/src/test/json/value_create.cpp +0 -372
  1564. data/ext/third_party/json/src/test/json/value_ptr.cpp +0 -33
  1565. data/ext/third_party/json/src/test/json/value_subscript.cpp +0 -89
  1566. data/ext/third_party/json/src/test/json/with_arguments.cpp +0 -98
  1567. data/ext/third_party/json/tests/blns.json +0 -496
  1568. data/ext/third_party/json/tests/canada.json +0 -9
  1569. data/ext/third_party/json/tests/citm_catalog.json +0 -50469
  1570. data/ext/third_party/json/tests/draft4/additionalItems.json +0 -82
  1571. data/ext/third_party/json/tests/draft4/additionalProperties.json +0 -88
  1572. data/ext/third_party/json/tests/draft4/allOf.json +0 -112
  1573. data/ext/third_party/json/tests/draft4/anyOf.json +0 -68
  1574. data/ext/third_party/json/tests/draft4/default.json +0 -49
  1575. data/ext/third_party/json/tests/draft4/definitions.json +0 -32
  1576. data/ext/third_party/json/tests/draft4/dependencies.json +0 -113
  1577. data/ext/third_party/json/tests/draft4/enum.json +0 -72
  1578. data/ext/third_party/json/tests/draft4/items.json +0 -46
  1579. data/ext/third_party/json/tests/draft4/maxItems.json +0 -28
  1580. data/ext/third_party/json/tests/draft4/maxLength.json +0 -33
  1581. data/ext/third_party/json/tests/draft4/maxProperties.json +0 -28
  1582. data/ext/third_party/json/tests/draft4/maximum.json +0 -42
  1583. data/ext/third_party/json/tests/draft4/minItems.json +0 -28
  1584. data/ext/third_party/json/tests/draft4/minLength.json +0 -33
  1585. data/ext/third_party/json/tests/draft4/minProperties.json +0 -28
  1586. data/ext/third_party/json/tests/draft4/minimum.json +0 -42
  1587. data/ext/third_party/json/tests/draft4/multipleOf.json +0 -60
  1588. data/ext/third_party/json/tests/draft4/not.json +0 -96
  1589. data/ext/third_party/json/tests/draft4/oneOf.json +0 -68
  1590. data/ext/third_party/json/tests/draft4/optional/bignum.json +0 -107
  1591. data/ext/third_party/json/tests/draft4/optional/format.json +0 -148
  1592. data/ext/third_party/json/tests/draft4/optional/zeroTerminatedFloats.json +0 -15
  1593. data/ext/third_party/json/tests/draft4/pattern.json +0 -34
  1594. data/ext/third_party/json/tests/draft4/patternProperties.json +0 -110
  1595. data/ext/third_party/json/tests/draft4/properties.json +0 -92
  1596. data/ext/third_party/json/tests/draft4/ref.json +0 -179
  1597. data/ext/third_party/json/tests/draft4/refRemote.json +0 -74
  1598. data/ext/third_party/json/tests/draft4/required.json +0 -44
  1599. data/ext/third_party/json/tests/draft4/type.json +0 -345
  1600. data/ext/third_party/json/tests/draft4/uniqueItems.json +0 -79
  1601. data/ext/third_party/json/tests/taocpp/binary.jaxn +0 -4
  1602. data/ext/third_party/json/tests/taocpp/dateTime.json +0 -108
  1603. data/ext/third_party/json/tests/taocpp/make_events.cbor +0 -0
  1604. data/ext/third_party/json/tests/taocpp/number.json +0 -682
  1605. data/ext/third_party/json/tests/taocpp/position.json +0 -8
  1606. data/ext/third_party/json/tests/taocpp/schema.json +0 -378
  1607. data/ext/third_party/json/tests/twitter.json +0 -15482
  1608. data/ext/third_party/snappy/.appveyor.yml +0 -36
  1609. data/ext/third_party/snappy/.gitignore +0 -8
  1610. data/ext/third_party/snappy/.travis.yml +0 -98
  1611. data/ext/third_party/snappy/AUTHORS +0 -1
  1612. data/ext/third_party/snappy/CONTRIBUTING.md +0 -26
  1613. data/ext/third_party/snappy/NEWS +0 -188
  1614. data/ext/third_party/snappy/README.md +0 -148
  1615. data/ext/third_party/snappy/docs/README.md +0 -72
  1616. data/ext/third_party/snappy/format_description.txt +0 -110
  1617. data/ext/third_party/snappy/framing_format.txt +0 -135
  1618. data/ext/third_party/snappy/snappy-test.cc +0 -613
  1619. data/ext/third_party/snappy/snappy-test.h +0 -526
  1620. data/ext/third_party/snappy/snappy_compress_fuzzer.cc +0 -60
  1621. data/ext/third_party/snappy/snappy_uncompress_fuzzer.cc +0 -58
  1622. data/ext/third_party/snappy/snappy_unittest.cc +0 -1512
  1623. data/ext/third_party/snappy/testdata/alice29.txt +0 -3609
  1624. data/ext/third_party/snappy/testdata/asyoulik.txt +0 -4122
  1625. data/ext/third_party/snappy/testdata/baddata1.snappy +0 -0
  1626. data/ext/third_party/snappy/testdata/baddata2.snappy +0 -0
  1627. data/ext/third_party/snappy/testdata/baddata3.snappy +0 -0
  1628. data/ext/third_party/snappy/testdata/fireworks.jpeg +0 -0
  1629. data/ext/third_party/snappy/testdata/geo.protodata +0 -0
  1630. data/ext/third_party/snappy/testdata/html +0 -1
  1631. data/ext/third_party/snappy/testdata/html_x_4 +0 -1
  1632. data/ext/third_party/snappy/testdata/kppkn.gtb +0 -0
  1633. data/ext/third_party/snappy/testdata/lcet10.txt +0 -7519
  1634. data/ext/third_party/snappy/testdata/paper-100k.pdf +2 -600
  1635. data/ext/third_party/snappy/testdata/plrabn12.txt +0 -10699
  1636. data/ext/third_party/snappy/testdata/urls.10K +0 -10000
  1637. data/ext/third_party/spdlog/.clang-format +0 -108
  1638. data/ext/third_party/spdlog/.clang-tidy +0 -54
  1639. data/ext/third_party/spdlog/.gitattributes +0 -1
  1640. data/ext/third_party/spdlog/.gitignore +0 -83
  1641. data/ext/third_party/spdlog/.travis.yml +0 -112
  1642. data/ext/third_party/spdlog/INSTALL +0 -24
  1643. data/ext/third_party/spdlog/README.md +0 -423
  1644. data/ext/third_party/spdlog/appveyor.yml +0 -51
  1645. data/ext/third_party/spdlog/bench/CMakeLists.txt +0 -25
  1646. data/ext/third_party/spdlog/bench/async_bench.cpp +0 -179
  1647. data/ext/third_party/spdlog/bench/bench.cpp +0 -238
  1648. data/ext/third_party/spdlog/bench/formatter-bench.cpp +0 -80
  1649. data/ext/third_party/spdlog/bench/latency.cpp +0 -166
  1650. data/ext/third_party/spdlog/bench/utils.h +0 -34
  1651. data/ext/third_party/spdlog/example/CMakeLists.txt +0 -23
  1652. data/ext/third_party/spdlog/example/example.cpp +0 -282
  1653. data/ext/third_party/spdlog/include/spdlog/cfg/log_levels.h +0 -47
  1654. data/ext/third_party/spdlog/logos/jetbrains-variant-4.svg +0 -43
  1655. data/ext/third_party/spdlog/scripts/extract_version.py +0 -17
  1656. data/ext/third_party/spdlog/scripts/format.sh +0 -16
  1657. data/ext/third_party/spdlog/tests/CMakeLists.txt +0 -70
  1658. data/ext/third_party/spdlog/tests/catch.hpp +0 -15372
  1659. data/ext/third_party/spdlog/tests/catch.license +0 -23
  1660. data/ext/third_party/spdlog/tests/includes.h +0 -26
  1661. data/ext/third_party/spdlog/tests/main.cpp +0 -2
  1662. data/ext/third_party/spdlog/tests/test_async.cpp +0 -188
  1663. data/ext/third_party/spdlog/tests/test_backtrace.cpp +0 -65
  1664. data/ext/third_party/spdlog/tests/test_cfg.cpp +0 -93
  1665. data/ext/third_party/spdlog/tests/test_create_dir.cpp +0 -80
  1666. data/ext/third_party/spdlog/tests/test_daily_logger.cpp +0 -149
  1667. data/ext/third_party/spdlog/tests/test_dup_filter.cpp +0 -88
  1668. data/ext/third_party/spdlog/tests/test_errors.cpp +0 -118
  1669. data/ext/third_party/spdlog/tests/test_eventlog.cpp +0 -71
  1670. data/ext/third_party/spdlog/tests/test_file_helper.cpp +0 -102
  1671. data/ext/third_party/spdlog/tests/test_file_logging.cpp +0 -98
  1672. data/ext/third_party/spdlog/tests/test_fmt_helper.cpp +0 -86
  1673. data/ext/third_party/spdlog/tests/test_macros.cpp +0 -60
  1674. data/ext/third_party/spdlog/tests/test_misc.cpp +0 -271
  1675. data/ext/third_party/spdlog/tests/test_mpmc_q.cpp +0 -106
  1676. data/ext/third_party/spdlog/tests/test_pattern_formatter.cpp +0 -443
  1677. data/ext/third_party/spdlog/tests/test_registry.cpp +0 -116
  1678. data/ext/third_party/spdlog/tests/test_sink.h +0 -79
  1679. data/ext/third_party/spdlog/tests/test_stdout_api.cpp +0 -98
  1680. data/ext/third_party/spdlog/tests/test_systemd.cpp +0 -15
  1681. data/ext/third_party/spdlog/tests/test_time_point.cpp +0 -36
  1682. data/ext/third_party/spdlog/tests/utils.cpp +0 -125
  1683. data/ext/third_party/spdlog/tests/utils.h +0 -18
  1684. data/rbi/couchbase.rbi +0 -79
@@ -16,14 +16,25 @@
16
16
  #endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
17
17
 
18
18
  #include "asio/detail/config.hpp"
19
- #include "asio/detail/noncopyable.hpp"
19
+ #include "asio/detail/atomic_count.hpp"
20
20
  #include "asio/detail/scheduler.hpp"
21
21
  #include "asio/detail/thread_group.hpp"
22
+ #include "asio/execution.hpp"
22
23
  #include "asio/execution_context.hpp"
23
24
 
24
25
  #include "asio/detail/push_options.hpp"
25
26
 
26
27
  namespace asio {
28
+ namespace detail {
29
+ struct thread_pool_bits
30
+ {
31
+ ASIO_STATIC_CONSTEXPR(unsigned int, blocking_never = 1);
32
+ ASIO_STATIC_CONSTEXPR(unsigned int, blocking_always = 2);
33
+ ASIO_STATIC_CONSTEXPR(unsigned int, blocking_mask = 3);
34
+ ASIO_STATIC_CONSTEXPR(unsigned int, relationship_continuation = 4);
35
+ ASIO_STATIC_CONSTEXPR(unsigned int, outstanding_work_tracked = 8);
36
+ };
37
+ } // namespace detail
27
38
 
28
39
  /// A simple fixed-size thread pool.
29
40
  /**
@@ -32,7 +43,7 @@ namespace asio {
32
43
  *
33
44
  * @par Submitting tasks to the pool
34
45
  *
35
- * To submit functions to the thread_pool, use the @ref asio::dispatch,
46
+ * To submit functions to the thread pool, use the @ref asio::dispatch,
36
47
  * @ref asio::post or @ref asio::defer free functions.
37
48
  *
38
49
  * For example:
@@ -64,10 +75,22 @@ class thread_pool
64
75
  : public execution_context
65
76
  {
66
77
  public:
67
- class executor_type;
78
+ template <typename Allocator, unsigned int Bits>
79
+ class basic_executor_type;
80
+
81
+ template <typename Allocator, unsigned int Bits>
82
+ friend class basic_executor_type;
83
+
84
+ /// Executor used to submit functions to a thread pool.
85
+ typedef basic_executor_type<std::allocator<void>, 0> executor_type;
68
86
 
87
+ /// Scheduler used to schedule receivers on a thread pool.
88
+ typedef basic_executor_type<std::allocator<void>, 0> scheduler_type;
89
+
90
+ #if !defined(ASIO_NO_TS_EXECUTORS)
69
91
  /// Constructs a pool with an automatically determined number of threads.
70
92
  ASIO_DECL thread_pool();
93
+ #endif // !defined(ASIO_NO_TS_EXECUTORS)
71
94
 
72
95
  /// Constructs a pool with a specified number of threads.
73
96
  ASIO_DECL thread_pool(std::size_t num_threads);
@@ -81,6 +104,12 @@ public:
81
104
  /// Obtains the executor associated with the pool.
82
105
  executor_type get_executor() ASIO_NOEXCEPT;
83
106
 
107
+ /// Obtains the executor associated with the pool.
108
+ executor_type executor() ASIO_NOEXCEPT;
109
+
110
+ /// Obtains the scheduler associated with the pool.
111
+ scheduler_type scheduler() ASIO_NOEXCEPT;
112
+
84
113
  /// Stops the threads.
85
114
  /**
86
115
  * This function stops the threads as soon as possible. As a result of calling
@@ -88,6 +117,14 @@ public:
88
117
  */
89
118
  ASIO_DECL void stop();
90
119
 
120
+ /// Attaches the current thread to the pool.
121
+ /**
122
+ * This function attaches the current thread to the pool so that it may be
123
+ * used for executing submitted function objects. Blocks the calling thread
124
+ * until the pool is stopped or joined and has no outstanding work.
125
+ */
126
+ ASIO_DECL void attach();
127
+
91
128
  /// Joins the threads.
92
129
  /**
93
130
  * This function blocks until the threads in the pool have completed. If @c
@@ -96,8 +133,18 @@ public:
96
133
  */
97
134
  ASIO_DECL void join();
98
135
 
136
+ /// Waits for threads to complete.
137
+ /**
138
+ * This function blocks until the threads in the pool have completed. If @c
139
+ * stop() is not called prior to @c wait(), the @c wait() call will wait
140
+ * until the pool has no more outstanding work.
141
+ */
142
+ ASIO_DECL void wait();
143
+
99
144
  private:
100
- friend class executor_type;
145
+ thread_pool(const thread_pool&) ASIO_DELETED;
146
+ thread_pool& operator=(const thread_pool&) ASIO_DELETED;
147
+
101
148
  struct thread_function;
102
149
 
103
150
  // Helper function to create the underlying scheduler.
@@ -108,12 +155,485 @@ private:
108
155
 
109
156
  // The threads in the pool.
110
157
  detail::thread_group threads_;
158
+
159
+ // The current number of threads in the pool.
160
+ detail::atomic_count num_threads_;
111
161
  };
112
162
 
113
- /// Executor used to submit functions to a thread pool.
114
- class thread_pool::executor_type
163
+ /// Executor implementation type used to submit functions to a thread pool.
164
+ template <typename Allocator, unsigned int Bits>
165
+ class thread_pool::basic_executor_type : detail::thread_pool_bits
115
166
  {
116
167
  public:
168
+ /// The sender type, when this type is used as a scheduler.
169
+ typedef basic_executor_type sender_type;
170
+
171
+ /// The bulk execution shape type.
172
+ typedef std::size_t shape_type;
173
+
174
+ /// The bulk execution index type.
175
+ typedef std::size_t index_type;
176
+
177
+ #if defined(ASIO_HAS_DEDUCED_EXECUTION_IS_TYPED_SENDER_TRAIT) \
178
+ && defined(ASIO_HAS_STD_EXCEPTION_PTR)
179
+ template <
180
+ template <typename...> class Tuple,
181
+ template <typename...> class Variant>
182
+ using value_types = Variant<Tuple<>>;
183
+
184
+ template <template <typename...> class Variant>
185
+ using error_types = Variant<std::exception_ptr>;
186
+
187
+ ASIO_STATIC_CONSTEXPR(bool, sends_done = true);
188
+ #endif // defined(ASIO_HAS_DEDUCED_EXECUTION_IS_TYPED_SENDER_TRAIT)
189
+ // && defined(ASIO_HAS_STD_EXCEPTION_PTR)
190
+
191
+ /// Copy constructor.
192
+ basic_executor_type(
193
+ const basic_executor_type& other) ASIO_NOEXCEPT
194
+ : pool_(other.pool_),
195
+ allocator_(other.allocator_),
196
+ bits_(other.bits_)
197
+ {
198
+ if (Bits & outstanding_work_tracked)
199
+ if (pool_)
200
+ pool_->scheduler_.work_started();
201
+ }
202
+
203
+ #if defined(ASIO_HAS_MOVE) || defined(GENERATING_DOCUMENTATION)
204
+ /// Move constructor.
205
+ basic_executor_type(basic_executor_type&& other) ASIO_NOEXCEPT
206
+ : pool_(other.pool_),
207
+ allocator_(ASIO_MOVE_CAST(Allocator)(other.allocator_)),
208
+ bits_(other.bits_)
209
+ {
210
+ if (Bits & outstanding_work_tracked)
211
+ other.pool_ = 0;
212
+ }
213
+ #endif // defined(ASIO_HAS_MOVE) || defined(GENERATING_DOCUMENTATION)
214
+
215
+ /// Destructor.
216
+ ~basic_executor_type() ASIO_NOEXCEPT
217
+ {
218
+ if (Bits & outstanding_work_tracked)
219
+ if (pool_)
220
+ pool_->scheduler_.work_finished();
221
+ }
222
+
223
+ /// Assignment operator.
224
+ basic_executor_type& operator=(
225
+ const basic_executor_type& other) ASIO_NOEXCEPT;
226
+
227
+ #if defined(ASIO_HAS_MOVE) || defined(GENERATING_DOCUMENTATION)
228
+ /// Move assignment operator.
229
+ basic_executor_type& operator=(
230
+ basic_executor_type&& other) ASIO_NOEXCEPT;
231
+ #endif // defined(ASIO_HAS_MOVE) || defined(GENERATING_DOCUMENTATION)
232
+
233
+ /// Obtain an executor with the @c blocking.possibly property.
234
+ /**
235
+ * Do not call this function directly. It is intended for use with the
236
+ * asio::require customisation point.
237
+ *
238
+ * For example:
239
+ * @code auto ex1 = my_thread_pool.executor();
240
+ * auto ex2 = asio::require(ex1,
241
+ * asio::execution::blocking.possibly); @endcode
242
+ */
243
+ ASIO_CONSTEXPR basic_executor_type<Allocator,
244
+ ASIO_UNSPECIFIED(Bits & ~blocking_mask)>
245
+ require(execution::blocking_t::possibly_t) const
246
+ {
247
+ return basic_executor_type<Allocator, Bits & ~blocking_mask>(
248
+ pool_, allocator_, bits_ & ~blocking_mask);
249
+ }
250
+
251
+ /// Obtain an executor with the @c blocking.always property.
252
+ /**
253
+ * Do not call this function directly. It is intended for use with the
254
+ * asio::require customisation point.
255
+ *
256
+ * For example:
257
+ * @code auto ex1 = my_thread_pool.executor();
258
+ * auto ex2 = asio::require(ex1,
259
+ * asio::execution::blocking.always); @endcode
260
+ */
261
+ ASIO_CONSTEXPR basic_executor_type<Allocator,
262
+ ASIO_UNSPECIFIED((Bits & ~blocking_mask) | blocking_always)>
263
+ require(execution::blocking_t::always_t) const
264
+ {
265
+ return basic_executor_type<Allocator,
266
+ ASIO_UNSPECIFIED((Bits & ~blocking_mask) | blocking_always)>(
267
+ pool_, allocator_, bits_ & ~blocking_mask);
268
+ }
269
+
270
+ /// Obtain an executor with the @c blocking.never property.
271
+ /**
272
+ * Do not call this function directly. It is intended for use with the
273
+ * asio::require customisation point.
274
+ *
275
+ * For example:
276
+ * @code auto ex1 = my_thread_pool.executor();
277
+ * auto ex2 = asio::require(ex1,
278
+ * asio::execution::blocking.never); @endcode
279
+ */
280
+ ASIO_CONSTEXPR basic_executor_type<Allocator,
281
+ ASIO_UNSPECIFIED(Bits & ~blocking_mask)>
282
+ require(execution::blocking_t::never_t) const
283
+ {
284
+ return basic_executor_type<Allocator, Bits & ~blocking_mask>(
285
+ pool_, allocator_, (bits_ & ~blocking_mask) | blocking_never);
286
+ }
287
+
288
+ /// Obtain an executor with the @c relationship.fork property.
289
+ /**
290
+ * Do not call this function directly. It is intended for use with the
291
+ * asio::require customisation point.
292
+ *
293
+ * For example:
294
+ * @code auto ex1 = my_thread_pool.executor();
295
+ * auto ex2 = asio::require(ex1,
296
+ * asio::execution::relationship.fork); @endcode
297
+ */
298
+ ASIO_CONSTEXPR basic_executor_type require(
299
+ execution::relationship_t::fork_t) const
300
+ {
301
+ return basic_executor_type(pool_,
302
+ allocator_, bits_ & ~relationship_continuation);
303
+ }
304
+
305
+ /// Obtain an executor with the @c relationship.continuation property.
306
+ /**
307
+ * Do not call this function directly. It is intended for use with the
308
+ * asio::require customisation point.
309
+ *
310
+ * For example:
311
+ * @code auto ex1 = my_thread_pool.executor();
312
+ * auto ex2 = asio::require(ex1,
313
+ * asio::execution::relationship.continuation); @endcode
314
+ */
315
+ ASIO_CONSTEXPR basic_executor_type require(
316
+ execution::relationship_t::continuation_t) const
317
+ {
318
+ return basic_executor_type(pool_,
319
+ allocator_, bits_ | relationship_continuation);
320
+ }
321
+
322
+ /// Obtain an executor with the @c outstanding_work.tracked property.
323
+ /**
324
+ * Do not call this function directly. It is intended for use with the
325
+ * asio::require customisation point.
326
+ *
327
+ * For example:
328
+ * @code auto ex1 = my_thread_pool.executor();
329
+ * auto ex2 = asio::require(ex1,
330
+ * asio::execution::outstanding_work.tracked); @endcode
331
+ */
332
+ ASIO_CONSTEXPR basic_executor_type<Allocator,
333
+ ASIO_UNSPECIFIED(Bits | outstanding_work_tracked)>
334
+ require(execution::outstanding_work_t::tracked_t) const
335
+ {
336
+ return basic_executor_type<Allocator, Bits | outstanding_work_tracked>(
337
+ pool_, allocator_, bits_);
338
+ }
339
+
340
+ /// Obtain an executor with the @c outstanding_work.untracked property.
341
+ /**
342
+ * Do not call this function directly. It is intended for use with the
343
+ * asio::require customisation point.
344
+ *
345
+ * For example:
346
+ * @code auto ex1 = my_thread_pool.executor();
347
+ * auto ex2 = asio::require(ex1,
348
+ * asio::execution::outstanding_work.untracked); @endcode
349
+ */
350
+ ASIO_CONSTEXPR basic_executor_type<Allocator,
351
+ ASIO_UNSPECIFIED(Bits & ~outstanding_work_tracked)>
352
+ require(execution::outstanding_work_t::untracked_t) const
353
+ {
354
+ return basic_executor_type<Allocator, Bits & ~outstanding_work_tracked>(
355
+ pool_, allocator_, bits_);
356
+ }
357
+
358
+ /// Obtain an executor with the specified @c allocator property.
359
+ /**
360
+ * Do not call this function directly. It is intended for use with the
361
+ * asio::require customisation point.
362
+ *
363
+ * For example:
364
+ * @code auto ex1 = my_thread_pool.executor();
365
+ * auto ex2 = asio::require(ex1,
366
+ * asio::execution::allocator(my_allocator)); @endcode
367
+ */
368
+ template <typename OtherAllocator>
369
+ ASIO_CONSTEXPR basic_executor_type<OtherAllocator, Bits>
370
+ require(execution::allocator_t<OtherAllocator> a) const
371
+ {
372
+ return basic_executor_type<OtherAllocator, Bits>(
373
+ pool_, a.value(), bits_);
374
+ }
375
+
376
+ /// Obtain an executor with the default @c allocator property.
377
+ /**
378
+ * Do not call this function directly. It is intended for use with the
379
+ * asio::require customisation point.
380
+ *
381
+ * For example:
382
+ * @code auto ex1 = my_thread_pool.executor();
383
+ * auto ex2 = asio::require(ex1,
384
+ * asio::execution::allocator); @endcode
385
+ */
386
+ ASIO_CONSTEXPR basic_executor_type<std::allocator<void>, Bits>
387
+ require(execution::allocator_t<void>) const
388
+ {
389
+ return basic_executor_type<std::allocator<void>, Bits>(
390
+ pool_, std::allocator<void>(), bits_);
391
+ }
392
+
393
+ /// Query the current value of the @c bulk_guarantee property.
394
+ /**
395
+ * Do not call this function directly. It is intended for use with the
396
+ * asio::query customisation point.
397
+ *
398
+ * For example:
399
+ * @code auto ex = my_thread_pool.executor();
400
+ * if (asio::query(ex, asio::execution::bulk_guarantee)
401
+ * == asio::execution::bulk_guarantee.parallel)
402
+ * ... @endcode
403
+ */
404
+ static ASIO_CONSTEXPR execution::bulk_guarantee_t query(
405
+ execution::bulk_guarantee_t) ASIO_NOEXCEPT
406
+ {
407
+ return execution::bulk_guarantee.parallel;
408
+ }
409
+
410
+ /// Query the current value of the @c mapping property.
411
+ /**
412
+ * Do not call this function directly. It is intended for use with the
413
+ * asio::query customisation point.
414
+ *
415
+ * For example:
416
+ * @code auto ex = my_thread_pool.executor();
417
+ * if (asio::query(ex, asio::execution::mapping)
418
+ * == asio::execution::mapping.thread)
419
+ * ... @endcode
420
+ */
421
+ static ASIO_CONSTEXPR execution::mapping_t query(
422
+ execution::mapping_t) ASIO_NOEXCEPT
423
+ {
424
+ return execution::mapping.thread;
425
+ }
426
+
427
+ /// Query the current value of the @c context property.
428
+ /**
429
+ * Do not call this function directly. It is intended for use with the
430
+ * asio::query customisation point.
431
+ *
432
+ * For example:
433
+ * @code auto ex = my_thread_pool.executor();
434
+ * asio::thread_pool& pool = asio::query(
435
+ * ex, asio::execution::context); @endcode
436
+ */
437
+ thread_pool& query(execution::context_t) const ASIO_NOEXCEPT
438
+ {
439
+ return *pool_;
440
+ }
441
+
442
+ /// Query the current value of the @c blocking property.
443
+ /**
444
+ * Do not call this function directly. It is intended for use with the
445
+ * asio::query customisation point.
446
+ *
447
+ * For example:
448
+ * @code auto ex = my_thread_pool.executor();
449
+ * if (asio::query(ex, asio::execution::blocking)
450
+ * == asio::execution::blocking.always)
451
+ * ... @endcode
452
+ */
453
+ ASIO_CONSTEXPR execution::blocking_t query(
454
+ execution::blocking_t) const ASIO_NOEXCEPT
455
+ {
456
+ return (bits_ & blocking_never)
457
+ ? execution::blocking_t(execution::blocking.never)
458
+ : ((Bits & blocking_always)
459
+ ? execution::blocking_t(execution::blocking.always)
460
+ : execution::blocking_t(execution::blocking.possibly));
461
+ }
462
+
463
+ /// Query the current value of the @c relationship property.
464
+ /**
465
+ * Do not call this function directly. It is intended for use with the
466
+ * asio::query customisation point.
467
+ *
468
+ * For example:
469
+ * @code auto ex = my_thread_pool.executor();
470
+ * if (asio::query(ex, asio::execution::relationship)
471
+ * == asio::execution::relationship.continuation)
472
+ * ... @endcode
473
+ */
474
+ ASIO_CONSTEXPR execution::relationship_t query(
475
+ execution::relationship_t) const ASIO_NOEXCEPT
476
+ {
477
+ return (bits_ & relationship_continuation)
478
+ ? execution::relationship_t(execution::relationship.continuation)
479
+ : execution::relationship_t(execution::relationship.fork);
480
+ }
481
+
482
+ /// Query the current value of the @c outstanding_work property.
483
+ /**
484
+ * Do not call this function directly. It is intended for use with the
485
+ * asio::query customisation point.
486
+ *
487
+ * For example:
488
+ * @code auto ex = my_thread_pool.executor();
489
+ * if (asio::query(ex, asio::execution::outstanding_work)
490
+ * == asio::execution::outstanding_work.tracked)
491
+ * ... @endcode
492
+ */
493
+ static ASIO_CONSTEXPR execution::outstanding_work_t query(
494
+ execution::outstanding_work_t) ASIO_NOEXCEPT
495
+ {
496
+ return (Bits & outstanding_work_tracked)
497
+ ? execution::outstanding_work_t(execution::outstanding_work.tracked)
498
+ : execution::outstanding_work_t(execution::outstanding_work.untracked);
499
+ }
500
+
501
+ /// Query the current value of the @c allocator property.
502
+ /**
503
+ * Do not call this function directly. It is intended for use with the
504
+ * asio::query customisation point.
505
+ *
506
+ * For example:
507
+ * @code auto ex = my_thread_pool.executor();
508
+ * auto alloc = asio::query(ex,
509
+ * asio::execution::allocator); @endcode
510
+ */
511
+ template <typename OtherAllocator>
512
+ ASIO_CONSTEXPR Allocator query(
513
+ execution::allocator_t<OtherAllocator>) const ASIO_NOEXCEPT
514
+ {
515
+ return allocator_;
516
+ }
517
+
518
+ /// Query the current value of the @c allocator property.
519
+ /**
520
+ * Do not call this function directly. It is intended for use with the
521
+ * asio::query customisation point.
522
+ *
523
+ * For example:
524
+ * @code auto ex = my_thread_pool.executor();
525
+ * auto alloc = asio::query(ex,
526
+ * asio::execution::allocator); @endcode
527
+ */
528
+ ASIO_CONSTEXPR Allocator query(
529
+ execution::allocator_t<void>) const ASIO_NOEXCEPT
530
+ {
531
+ return allocator_;
532
+ }
533
+
534
+ /// Query the occupancy (recommended number of work items) for the pool.
535
+ /**
536
+ * Do not call this function directly. It is intended for use with the
537
+ * asio::query customisation point.
538
+ *
539
+ * For example:
540
+ * @code auto ex = my_thread_pool.executor();
541
+ * std::size_t occupancy = asio::query(
542
+ * ex, asio::execution::occupancy); @endcode
543
+ */
544
+ std::size_t query(execution::occupancy_t) const ASIO_NOEXCEPT
545
+ {
546
+ return static_cast<std::size_t>(pool_->num_threads_);
547
+ }
548
+
549
+ /// Determine whether the thread pool is running in the current thread.
550
+ /**
551
+ * @return @c true if the current thread is running the thread pool. Otherwise
552
+ * returns @c false.
553
+ */
554
+ bool running_in_this_thread() const ASIO_NOEXCEPT;
555
+
556
+ /// Compare two executors for equality.
557
+ /**
558
+ * Two executors are equal if they refer to the same underlying thread pool.
559
+ */
560
+ friend bool operator==(const basic_executor_type& a,
561
+ const basic_executor_type& b) ASIO_NOEXCEPT
562
+ {
563
+ return a.pool_ == b.pool_
564
+ && a.allocator_ == b.allocator_
565
+ && a.bits_ == b.bits_;
566
+ }
567
+
568
+ /// Compare two executors for inequality.
569
+ /**
570
+ * Two executors are equal if they refer to the same underlying thread pool.
571
+ */
572
+ friend bool operator!=(const basic_executor_type& a,
573
+ const basic_executor_type& b) ASIO_NOEXCEPT
574
+ {
575
+ return a.pool_ != b.pool_
576
+ || a.allocator_ != b.allocator_
577
+ || a.bits_ != b.bits_;
578
+ }
579
+
580
+ /// Execution function.
581
+ /**
582
+ * Do not call this function directly. It is intended for use with the
583
+ * execution::execute customisation point.
584
+ *
585
+ * For example:
586
+ * @code auto ex = my_thread_pool.executor();
587
+ * execution::execute(ex, my_function_object); @endcode
588
+ */
589
+ template <typename Function>
590
+ void execute(ASIO_MOVE_ARG(Function) f) const
591
+ {
592
+ this->do_execute(ASIO_MOVE_CAST(Function)(f),
593
+ integral_constant<bool, (Bits & blocking_always) != 0>());
594
+ }
595
+
596
+ /// Bulk execution function.
597
+ template <typename Function>
598
+ void bulk_execute(ASIO_MOVE_ARG(Function) f, std::size_t n) const
599
+ {
600
+ this->do_bulk_execute(ASIO_MOVE_CAST(Function)(f), n,
601
+ integral_constant<bool, (Bits & blocking_always) != 0>());
602
+ }
603
+
604
+ /// Schedule function.
605
+ /**
606
+ * Do not call this function directly. It is intended for use with the
607
+ * execution::schedule customisation point.
608
+ *
609
+ * @return An object that satisfies the sender concept.
610
+ */
611
+ sender_type schedule() const ASIO_NOEXCEPT
612
+ {
613
+ return *this;
614
+ }
615
+
616
+ /// Connect function.
617
+ /**
618
+ * Do not call this function directly. It is intended for use with the
619
+ * execution::connect customisation point.
620
+ *
621
+ * @return An object of an unspecified type that satisfies the @c
622
+ * operation_state concept.
623
+ */
624
+ template <ASIO_EXECUTION_RECEIVER_OF_0 Receiver>
625
+ #if defined(GENERATING_DOCUMENTATION)
626
+ unspecified
627
+ #else // defined(GENERATING_DOCUMENTATION)
628
+ execution::detail::as_operation<basic_executor_type, Receiver>
629
+ #endif // defined(GENERATING_DOCUMENTATION)
630
+ connect(ASIO_MOVE_ARG(Receiver) r) const
631
+ {
632
+ return execution::detail::as_operation<basic_executor_type, Receiver>(
633
+ *this, ASIO_MOVE_CAST(Receiver)(r));
634
+ }
635
+
636
+ #if !defined(ASIO_NO_TS_EXECUTORS)
117
637
  /// Obtain the underlying execution context.
118
638
  thread_pool& context() const ASIO_NOEXCEPT;
119
639
 
@@ -147,8 +667,9 @@ public:
147
667
  * @param a An allocator that may be used by the executor to allocate the
148
668
  * internal storage needed for function invocation.
149
669
  */
150
- template <typename Function, typename Allocator>
151
- void dispatch(ASIO_MOVE_ARG(Function) f, const Allocator& a) const;
670
+ template <typename Function, typename OtherAllocator>
671
+ void dispatch(ASIO_MOVE_ARG(Function) f,
672
+ const OtherAllocator& a) const;
152
673
 
153
674
  /// Request the thread pool to invoke the given function object.
154
675
  /**
@@ -163,8 +684,9 @@ public:
163
684
  * @param a An allocator that may be used by the executor to allocate the
164
685
  * internal storage needed for function invocation.
165
686
  */
166
- template <typename Function, typename Allocator>
167
- void post(ASIO_MOVE_ARG(Function) f, const Allocator& a) const;
687
+ template <typename Function, typename OtherAllocator>
688
+ void post(ASIO_MOVE_ARG(Function) f,
689
+ const OtherAllocator& a) const;
168
690
 
169
691
  /// Request the thread pool to invoke the given function object.
170
692
  /**
@@ -183,46 +705,400 @@ public:
183
705
  * @param a An allocator that may be used by the executor to allocate the
184
706
  * internal storage needed for function invocation.
185
707
  */
186
- template <typename Function, typename Allocator>
187
- void defer(ASIO_MOVE_ARG(Function) f, const Allocator& a) const;
708
+ template <typename Function, typename OtherAllocator>
709
+ void defer(ASIO_MOVE_ARG(Function) f,
710
+ const OtherAllocator& a) const;
711
+ #endif // !defined(ASIO_NO_TS_EXECUTORS)
188
712
 
189
- /// Determine whether the thread pool is running in the current thread.
190
- /**
191
- * @return @c true if the current thread belongs to the pool. Otherwise
192
- * returns @c false.
193
- */
194
- bool running_in_this_thread() const ASIO_NOEXCEPT;
713
+ private:
714
+ friend class thread_pool;
715
+ template <typename, unsigned int> friend class basic_executor_type;
195
716
 
196
- /// Compare two executors for equality.
197
- /**
198
- * Two executors are equal if they refer to the same underlying thread pool.
199
- */
200
- friend bool operator==(const executor_type& a,
201
- const executor_type& b) ASIO_NOEXCEPT
717
+ // Constructor used by thread_pool::get_executor().
718
+ explicit basic_executor_type(thread_pool& p) ASIO_NOEXCEPT
719
+ : pool_(&p),
720
+ allocator_(),
721
+ bits_(0)
202
722
  {
203
- return &a.pool_ == &b.pool_;
723
+ if (Bits & outstanding_work_tracked)
724
+ pool_->scheduler_.work_started();
204
725
  }
205
726
 
206
- /// Compare two executors for inequality.
207
- /**
208
- * Two executors are equal if they refer to the same underlying thread pool.
209
- */
210
- friend bool operator!=(const executor_type& a,
211
- const executor_type& b) ASIO_NOEXCEPT
727
+ // Constructor used by require().
728
+ basic_executor_type(thread_pool* p,
729
+ const Allocator& a, unsigned int bits) ASIO_NOEXCEPT
730
+ : pool_(p),
731
+ allocator_(a),
732
+ bits_(bits)
212
733
  {
213
- return &a.pool_ != &b.pool_;
734
+ if (Bits & outstanding_work_tracked)
735
+ if (pool_)
736
+ pool_->scheduler_.work_started();
214
737
  }
215
738
 
216
- private:
217
- friend class thread_pool;
739
+ /// Execution helper implementation for possibly and never blocking.
740
+ template <typename Function>
741
+ void do_execute(ASIO_MOVE_ARG(Function) f, false_type) const;
742
+
743
+ /// Execution helper implementation for always blocking.
744
+ template <typename Function>
745
+ void do_execute(ASIO_MOVE_ARG(Function) f, true_type) const;
218
746
 
219
- // Constructor.
220
- explicit executor_type(thread_pool& p) : pool_(p) {}
747
+ /// Bulk execution helper implementation for possibly and never blocking.
748
+ template <typename Function>
749
+ void do_bulk_execute(ASIO_MOVE_ARG(Function) f,
750
+ std::size_t n, false_type) const;
751
+
752
+ /// Bulk execution helper implementation for always blocking.
753
+ template <typename Function>
754
+ void do_bulk_execute(ASIO_MOVE_ARG(Function) f,
755
+ std::size_t n, true_type) const;
221
756
 
222
757
  // The underlying thread pool.
223
- thread_pool& pool_;
758
+ thread_pool* pool_;
759
+
760
+ // The allocator used for execution functions.
761
+ Allocator allocator_;
762
+
763
+ // The runtime-switched properties of the thread pool executor.
764
+ unsigned int bits_;
224
765
  };
225
766
 
767
+ #if !defined(GENERATING_DOCUMENTATION)
768
+
769
+ namespace traits {
770
+
771
+ #if !defined(ASIO_HAS_DEDUCED_EQUALITY_COMPARABLE_TRAIT)
772
+
773
+ template <typename Allocator, unsigned int Bits>
774
+ struct equality_comparable<
775
+ asio::thread_pool::basic_executor_type<Allocator, Bits>
776
+ >
777
+ {
778
+ ASIO_STATIC_CONSTEXPR(bool, is_valid = true);
779
+ ASIO_STATIC_CONSTEXPR(bool, is_noexcept = true);
780
+ };
781
+
782
+ #endif // !defined(ASIO_HAS_DEDUCED_EQUALITY_COMPARABLE_TRAIT)
783
+
784
+ #if !defined(ASIO_HAS_DEDUCED_EXECUTE_MEMBER_TRAIT)
785
+
786
+ template <typename Allocator, unsigned int Bits, typename Function>
787
+ struct execute_member<
788
+ asio::thread_pool::basic_executor_type<Allocator, Bits>,
789
+ Function
790
+ >
791
+ {
792
+ ASIO_STATIC_CONSTEXPR(bool, is_valid = true);
793
+ ASIO_STATIC_CONSTEXPR(bool, is_noexcept = false);
794
+ typedef void result_type;
795
+ };
796
+
797
+ #endif // !defined(ASIO_HAS_DEDUCED_EXECUTE_MEMBER_TRAIT)
798
+
799
+ #if !defined(ASIO_HAS_DEDUCED_SCHEDULE_MEMBER_TRAIT)
800
+
801
+ template <typename Allocator, unsigned int Bits>
802
+ struct schedule_member<
803
+ const asio::thread_pool::basic_executor_type<Allocator, Bits>
804
+ >
805
+ {
806
+ ASIO_STATIC_CONSTEXPR(bool, is_valid = true);
807
+ ASIO_STATIC_CONSTEXPR(bool, is_noexcept = false);
808
+ typedef asio::thread_pool::basic_executor_type<
809
+ Allocator, Bits> result_type;
810
+ };
811
+
812
+ #endif // !defined(ASIO_HAS_DEDUCED_SCHEDULE_MEMBER_TRAIT)
813
+
814
+ #if !defined(ASIO_HAS_DEDUCED_CONNECT_MEMBER_TRAIT)
815
+
816
+ template <typename Allocator, unsigned int Bits, typename Receiver>
817
+ struct connect_member<
818
+ const asio::thread_pool::basic_executor_type<Allocator, Bits>,
819
+ Receiver
820
+ >
821
+ {
822
+ ASIO_STATIC_CONSTEXPR(bool, is_valid = true);
823
+ ASIO_STATIC_CONSTEXPR(bool, is_noexcept = false);
824
+ typedef asio::execution::detail::as_operation<
825
+ asio::thread_pool::basic_executor_type<Allocator, Bits>,
826
+ Receiver> result_type;
827
+ };
828
+
829
+ #endif // !defined(ASIO_HAS_DEDUCED_CONNECT_MEMBER_TRAIT)
830
+
831
+ #if !defined(ASIO_HAS_DEDUCED_REQUIRE_MEMBER_TRAIT)
832
+
833
+ template <typename Allocator, unsigned int Bits>
834
+ struct require_member<
835
+ asio::thread_pool::basic_executor_type<Allocator, Bits>,
836
+ asio::execution::blocking_t::possibly_t
837
+ > : asio::detail::thread_pool_bits
838
+ {
839
+ ASIO_STATIC_CONSTEXPR(bool, is_valid = true);
840
+ ASIO_STATIC_CONSTEXPR(bool, is_noexcept = true);
841
+ typedef asio::thread_pool::basic_executor_type<
842
+ Allocator, Bits & ~blocking_mask> result_type;
843
+ };
844
+
845
+ template <typename Allocator, unsigned int Bits>
846
+ struct require_member<
847
+ asio::thread_pool::basic_executor_type<Allocator, Bits>,
848
+ asio::execution::blocking_t::always_t
849
+ > : asio::detail::thread_pool_bits
850
+ {
851
+ ASIO_STATIC_CONSTEXPR(bool, is_valid = true);
852
+ ASIO_STATIC_CONSTEXPR(bool, is_noexcept = false);
853
+ typedef asio::thread_pool::basic_executor_type<Allocator,
854
+ (Bits & ~blocking_mask) | blocking_always> result_type;
855
+ };
856
+
857
+ template <typename Allocator, unsigned int Bits>
858
+ struct require_member<
859
+ asio::thread_pool::basic_executor_type<Allocator, Bits>,
860
+ asio::execution::blocking_t::never_t
861
+ > : asio::detail::thread_pool_bits
862
+ {
863
+ ASIO_STATIC_CONSTEXPR(bool, is_valid = true);
864
+ ASIO_STATIC_CONSTEXPR(bool, is_noexcept = false);
865
+ typedef asio::thread_pool::basic_executor_type<
866
+ Allocator, Bits & ~blocking_mask> result_type;
867
+ };
868
+
869
+ template <typename Allocator, unsigned int Bits>
870
+ struct require_member<
871
+ asio::thread_pool::basic_executor_type<Allocator, Bits>,
872
+ asio::execution::relationship_t::fork_t
873
+ >
874
+ {
875
+ ASIO_STATIC_CONSTEXPR(bool, is_valid = true);
876
+ ASIO_STATIC_CONSTEXPR(bool, is_noexcept = false);
877
+ typedef asio::thread_pool::basic_executor_type<
878
+ Allocator, Bits> result_type;
879
+ };
880
+
881
+ template <typename Allocator, unsigned int Bits>
882
+ struct require_member<
883
+ asio::thread_pool::basic_executor_type<Allocator, Bits>,
884
+ asio::execution::relationship_t::continuation_t
885
+ >
886
+ {
887
+ ASIO_STATIC_CONSTEXPR(bool, is_valid = true);
888
+ ASIO_STATIC_CONSTEXPR(bool, is_noexcept = false);
889
+ typedef asio::thread_pool::basic_executor_type<
890
+ Allocator, Bits> result_type;
891
+ };
892
+
893
+ template <typename Allocator, unsigned int Bits>
894
+ struct require_member<
895
+ asio::thread_pool::basic_executor_type<Allocator, Bits>,
896
+ asio::execution::outstanding_work_t::tracked_t
897
+ > : asio::detail::thread_pool_bits
898
+ {
899
+ ASIO_STATIC_CONSTEXPR(bool, is_valid = true);
900
+ ASIO_STATIC_CONSTEXPR(bool, is_noexcept = false);
901
+ typedef asio::thread_pool::basic_executor_type<
902
+ Allocator, Bits | outstanding_work_tracked> result_type;
903
+ };
904
+
905
+ template <typename Allocator, unsigned int Bits>
906
+ struct require_member<
907
+ asio::thread_pool::basic_executor_type<Allocator, Bits>,
908
+ asio::execution::outstanding_work_t::untracked_t
909
+ > : asio::detail::thread_pool_bits
910
+ {
911
+ ASIO_STATIC_CONSTEXPR(bool, is_valid = true);
912
+ ASIO_STATIC_CONSTEXPR(bool, is_noexcept = false);
913
+ typedef asio::thread_pool::basic_executor_type<
914
+ Allocator, Bits & ~outstanding_work_tracked> result_type;
915
+ };
916
+
917
+ template <typename Allocator, unsigned int Bits>
918
+ struct require_member<
919
+ asio::thread_pool::basic_executor_type<Allocator, Bits>,
920
+ asio::execution::allocator_t<void>
921
+ >
922
+ {
923
+ ASIO_STATIC_CONSTEXPR(bool, is_valid = true);
924
+ ASIO_STATIC_CONSTEXPR(bool, is_noexcept = false);
925
+ typedef asio::thread_pool::basic_executor_type<
926
+ std::allocator<void>, Bits> result_type;
927
+ };
928
+
929
+ template <unsigned int Bits,
930
+ typename Allocator, typename OtherAllocator>
931
+ struct require_member<
932
+ asio::thread_pool::basic_executor_type<Allocator, Bits>,
933
+ asio::execution::allocator_t<OtherAllocator>
934
+ >
935
+ {
936
+ ASIO_STATIC_CONSTEXPR(bool, is_valid = true);
937
+ ASIO_STATIC_CONSTEXPR(bool, is_noexcept = false);
938
+ typedef asio::thread_pool::basic_executor_type<
939
+ OtherAllocator, Bits> result_type;
940
+ };
941
+
942
+ #endif // !defined(ASIO_HAS_DEDUCED_REQUIRE_MEMBER_TRAIT)
943
+
944
+ #if !defined(ASIO_HAS_DEDUCED_QUERY_STATIC_CONSTEXPR_MEMBER_TRAIT)
945
+
946
+ template <typename Allocator, unsigned int Bits, typename Property>
947
+ struct query_static_constexpr_member<
948
+ asio::thread_pool::basic_executor_type<Allocator, Bits>,
949
+ Property,
950
+ typename asio::enable_if<
951
+ asio::is_convertible<
952
+ Property,
953
+ asio::execution::bulk_guarantee_t
954
+ >::value
955
+ >::type
956
+ >
957
+ {
958
+ ASIO_STATIC_CONSTEXPR(bool, is_valid = true);
959
+ ASIO_STATIC_CONSTEXPR(bool, is_noexcept = true);
960
+ typedef asio::execution::bulk_guarantee_t::parallel_t result_type;
961
+
962
+ static ASIO_CONSTEXPR result_type value() ASIO_NOEXCEPT
963
+ {
964
+ return result_type();
965
+ }
966
+ };
967
+
968
+ template <typename Allocator, unsigned int Bits, typename Property>
969
+ struct query_static_constexpr_member<
970
+ asio::thread_pool::basic_executor_type<Allocator, Bits>,
971
+ Property,
972
+ typename asio::enable_if<
973
+ asio::is_convertible<
974
+ Property,
975
+ asio::execution::outstanding_work_t
976
+ >::value
977
+ >::type
978
+ > : asio::detail::thread_pool_bits
979
+ {
980
+ ASIO_STATIC_CONSTEXPR(bool, is_valid = true);
981
+ ASIO_STATIC_CONSTEXPR(bool, is_noexcept = true);
982
+ typedef asio::execution::outstanding_work_t result_type;
983
+
984
+ static ASIO_CONSTEXPR result_type value() ASIO_NOEXCEPT
985
+ {
986
+ return (Bits & outstanding_work_tracked)
987
+ ? execution::outstanding_work_t(execution::outstanding_work.tracked)
988
+ : execution::outstanding_work_t(execution::outstanding_work.untracked);
989
+ }
990
+ };
991
+
992
+ template <typename Allocator, unsigned int Bits, typename Property>
993
+ struct query_static_constexpr_member<
994
+ asio::thread_pool::basic_executor_type<Allocator, Bits>,
995
+ Property,
996
+ typename asio::enable_if<
997
+ asio::is_convertible<
998
+ Property,
999
+ asio::execution::mapping_t
1000
+ >::value
1001
+ >::type
1002
+ >
1003
+ {
1004
+ ASIO_STATIC_CONSTEXPR(bool, is_valid = true);
1005
+ ASIO_STATIC_CONSTEXPR(bool, is_noexcept = true);
1006
+ typedef asio::execution::mapping_t::thread_t result_type;
1007
+
1008
+ static ASIO_CONSTEXPR result_type value() ASIO_NOEXCEPT
1009
+ {
1010
+ return result_type();
1011
+ }
1012
+ };
1013
+
1014
+ #endif // !defined(ASIO_HAS_DEDUCED_QUERY_STATIC_CONSTEXPR_MEMBER_TRAIT)
1015
+
1016
+ #if !defined(ASIO_HAS_DEDUCED_QUERY_MEMBER_TRAIT)
1017
+
1018
+ template <typename Allocator, unsigned int Bits, typename Property>
1019
+ struct query_member<
1020
+ asio::thread_pool::basic_executor_type<Allocator, Bits>,
1021
+ Property,
1022
+ typename asio::enable_if<
1023
+ asio::is_convertible<
1024
+ Property,
1025
+ asio::execution::blocking_t
1026
+ >::value
1027
+ >::type
1028
+ >
1029
+ {
1030
+ ASIO_STATIC_CONSTEXPR(bool, is_valid = true);
1031
+ ASIO_STATIC_CONSTEXPR(bool, is_noexcept = true);
1032
+ typedef asio::execution::blocking_t result_type;
1033
+ };
1034
+
1035
+ template <typename Allocator, unsigned int Bits, typename Property>
1036
+ struct query_member<
1037
+ asio::thread_pool::basic_executor_type<Allocator, Bits>,
1038
+ Property,
1039
+ typename asio::enable_if<
1040
+ asio::is_convertible<
1041
+ Property,
1042
+ asio::execution::relationship_t
1043
+ >::value
1044
+ >::type
1045
+ >
1046
+ {
1047
+ ASIO_STATIC_CONSTEXPR(bool, is_valid = true);
1048
+ ASIO_STATIC_CONSTEXPR(bool, is_noexcept = true);
1049
+ typedef asio::execution::relationship_t result_type;
1050
+ };
1051
+
1052
+ template <typename Allocator, unsigned int Bits>
1053
+ struct query_member<
1054
+ asio::thread_pool::basic_executor_type<Allocator, Bits>,
1055
+ asio::execution::occupancy_t
1056
+ >
1057
+ {
1058
+ ASIO_STATIC_CONSTEXPR(bool, is_valid = true);
1059
+ ASIO_STATIC_CONSTEXPR(bool, is_noexcept = true);
1060
+ typedef std::size_t result_type;
1061
+ };
1062
+
1063
+ template <typename Allocator, unsigned int Bits>
1064
+ struct query_member<
1065
+ asio::thread_pool::basic_executor_type<Allocator, Bits>,
1066
+ asio::execution::context_t
1067
+ >
1068
+ {
1069
+ ASIO_STATIC_CONSTEXPR(bool, is_valid = true);
1070
+ ASIO_STATIC_CONSTEXPR(bool, is_noexcept = true);
1071
+ typedef asio::thread_pool& result_type;
1072
+ };
1073
+
1074
+ template <typename Allocator, unsigned int Bits>
1075
+ struct query_member<
1076
+ asio::thread_pool::basic_executor_type<Allocator, Bits>,
1077
+ asio::execution::allocator_t<void>
1078
+ >
1079
+ {
1080
+ ASIO_STATIC_CONSTEXPR(bool, is_valid = true);
1081
+ ASIO_STATIC_CONSTEXPR(bool, is_noexcept = true);
1082
+ typedef Allocator result_type;
1083
+ };
1084
+
1085
+ template <typename Allocator, unsigned int Bits, typename OtherAllocator>
1086
+ struct query_member<
1087
+ asio::thread_pool::basic_executor_type<Allocator, Bits>,
1088
+ asio::execution::allocator_t<OtherAllocator>
1089
+ >
1090
+ {
1091
+ ASIO_STATIC_CONSTEXPR(bool, is_valid = true);
1092
+ ASIO_STATIC_CONSTEXPR(bool, is_noexcept = true);
1093
+ typedef Allocator result_type;
1094
+ };
1095
+
1096
+ #endif // !defined(ASIO_HAS_DEDUCED_QUERY_MEMBER_TRAIT)
1097
+
1098
+ } // namespace traits
1099
+
1100
+ #endif // !defined(GENERATING_DOCUMENTATION)
1101
+
226
1102
  } // namespace asio
227
1103
 
228
1104
  #include "asio/detail/pop_options.hpp"