couchbase 3.0.0.alpha.5 → 3.0.3

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 (1001) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +76 -5
  3. data/ext/CMakeLists.txt +95 -128
  4. data/ext/build_config.hxx.in +22 -0
  5. data/ext/build_version.hxx.in +10 -6
  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 +84 -0
  10. data/ext/cmake/PreventInSourceBuilds.cmake +21 -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 +49 -0
  15. data/ext/cmake/ThirdPartyDependencies.cmake +20 -0
  16. data/ext/cmake/VersionInfo.cmake +37 -0
  17. data/ext/couchbase/bucket.hxx +295 -18
  18. data/ext/couchbase/capabilities.hxx +117 -0
  19. data/ext/couchbase/cbcrypto/cbcrypto.cc +15 -15
  20. data/ext/couchbase/cbsasl/client.h +1 -1
  21. data/ext/couchbase/cluster.hxx +255 -75
  22. data/ext/couchbase/cluster_options.hxx +54 -0
  23. data/ext/couchbase/configuration.hxx +440 -44
  24. data/ext/couchbase/couchbase.cxx +4312 -1746
  25. data/ext/couchbase/diagnostics.hxx +248 -0
  26. data/ext/couchbase/document_id.hxx +3 -1
  27. data/ext/couchbase/error_context/analytics.hxx +46 -0
  28. data/ext/couchbase/error_context/http.hxx +44 -0
  29. data/ext/couchbase/error_context/key_value.hxx +47 -0
  30. data/ext/couchbase/error_context/query.hxx +46 -0
  31. data/ext/couchbase/error_context/search.hxx +47 -0
  32. data/ext/couchbase/error_context/view.hxx +47 -0
  33. data/ext/couchbase/error_map.hxx +202 -2
  34. data/ext/couchbase/errors.hxx +18 -3
  35. data/ext/couchbase/io/dns_client.hxx +11 -9
  36. data/ext/couchbase/io/dns_codec.hxx +1 -2
  37. data/ext/couchbase/io/http_command.hxx +111 -0
  38. data/ext/couchbase/io/http_context.hxx +37 -0
  39. data/ext/couchbase/io/http_message.hxx +9 -0
  40. data/ext/couchbase/io/http_parser.hxx +2 -0
  41. data/ext/couchbase/io/http_session.hxx +172 -49
  42. data/ext/couchbase/io/http_session_manager.hxx +171 -34
  43. data/ext/couchbase/io/mcbp_command.hxx +249 -0
  44. data/ext/couchbase/io/mcbp_context.hxx +37 -0
  45. data/ext/couchbase/io/mcbp_message.hxx +5 -0
  46. data/ext/couchbase/io/mcbp_session.hxx +585 -166
  47. data/ext/couchbase/io/query_cache.hxx +61 -0
  48. data/ext/couchbase/io/retry_action.hxx +30 -0
  49. data/ext/couchbase/io/retry_context.hxx +38 -0
  50. data/ext/couchbase/io/retry_orchestrator.hxx +112 -0
  51. data/ext/couchbase/io/retry_reason.hxx +235 -0
  52. data/ext/couchbase/io/retry_strategy.hxx +156 -0
  53. data/ext/couchbase/io/streams.hxx +216 -0
  54. data/ext/couchbase/operations.hxx +19 -1
  55. data/ext/couchbase/operations/analytics_dataset_create.hxx +22 -14
  56. data/ext/couchbase/operations/analytics_dataset_drop.hxx +19 -10
  57. data/ext/couchbase/operations/analytics_dataset_get_all.hxx +18 -11
  58. data/ext/couchbase/operations/analytics_dataverse_create.hxx +20 -12
  59. data/ext/couchbase/operations/analytics_dataverse_drop.hxx +19 -12
  60. data/ext/couchbase/operations/analytics_get_pending_mutations.hxx +19 -11
  61. data/ext/couchbase/operations/analytics_index_create.hxx +19 -12
  62. data/ext/couchbase/operations/analytics_index_drop.hxx +18 -11
  63. data/ext/couchbase/operations/analytics_index_get_all.hxx +16 -9
  64. data/ext/couchbase/operations/analytics_link_connect.hxx +17 -10
  65. data/ext/couchbase/operations/analytics_link_disconnect.hxx +19 -12
  66. data/ext/couchbase/operations/bucket_create.hxx +46 -14
  67. data/ext/couchbase/operations/bucket_drop.hxx +12 -8
  68. data/ext/couchbase/operations/bucket_flush.hxx +11 -8
  69. data/ext/couchbase/operations/bucket_get.hxx +18 -10
  70. data/ext/couchbase/operations/bucket_get_all.hxx +17 -7
  71. data/ext/couchbase/operations/bucket_settings.hxx +59 -4
  72. data/ext/couchbase/operations/bucket_update.hxx +45 -14
  73. data/ext/couchbase/operations/cluster_developer_preview_enable.hxx +9 -6
  74. data/ext/couchbase/operations/collection_create.hxx +23 -12
  75. data/ext/couchbase/operations/collection_drop.hxx +21 -12
  76. data/ext/couchbase/operations/collections_manifest_get.hxx +66 -0
  77. data/ext/couchbase/operations/document_analytics.hxx +45 -21
  78. data/ext/couchbase/operations/document_append.hxx +72 -0
  79. data/ext/couchbase/operations/document_decrement.hxx +12 -11
  80. data/ext/couchbase/operations/document_exists.hxx +8 -7
  81. data/ext/couchbase/operations/document_get.hxx +9 -7
  82. data/ext/couchbase/operations/document_get_and_lock.hxx +8 -7
  83. data/ext/couchbase/operations/document_get_and_touch.hxx +10 -9
  84. data/ext/couchbase/operations/document_get_projected.hxx +33 -20
  85. data/ext/couchbase/operations/document_increment.hxx +12 -11
  86. data/ext/couchbase/operations/document_insert.hxx +11 -10
  87. data/ext/couchbase/operations/document_lookup_in.hxx +13 -7
  88. data/ext/couchbase/operations/document_mutate_in.hxx +25 -13
  89. data/ext/couchbase/operations/document_prepend.hxx +72 -0
  90. data/ext/couchbase/operations/document_query.hxx +132 -27
  91. data/ext/couchbase/operations/document_remove.hxx +11 -8
  92. data/ext/couchbase/operations/document_replace.hxx +11 -10
  93. data/ext/couchbase/operations/document_search.hxx +59 -23
  94. data/ext/couchbase/operations/document_touch.hxx +10 -9
  95. data/ext/couchbase/operations/document_unlock.hxx +8 -7
  96. data/ext/couchbase/operations/document_upsert.hxx +11 -10
  97. data/ext/couchbase/operations/document_view.hxx +31 -14
  98. data/ext/couchbase/operations/group_drop.hxx +72 -0
  99. data/ext/couchbase/operations/group_get.hxx +80 -0
  100. data/ext/couchbase/operations/group_get_all.hxx +77 -0
  101. data/ext/couchbase/operations/group_upsert.hxx +125 -0
  102. data/ext/couchbase/operations/http_noop.hxx +78 -0
  103. data/ext/couchbase/operations/mcbp_noop.hxx +55 -0
  104. data/ext/couchbase/operations/query_index_build_deferred.hxx +20 -13
  105. data/ext/couchbase/operations/query_index_create.hxx +34 -17
  106. data/ext/couchbase/operations/query_index_drop.hxx +32 -15
  107. data/ext/couchbase/operations/query_index_get_all.hxx +28 -11
  108. data/ext/couchbase/operations/rbac.hxx +276 -0
  109. data/ext/couchbase/operations/role_get_all.hxx +77 -0
  110. data/ext/couchbase/operations/scope_create.hxx +24 -11
  111. data/ext/couchbase/operations/scope_drop.hxx +20 -11
  112. data/ext/couchbase/operations/scope_get_all.hxx +18 -10
  113. data/ext/couchbase/operations/search_get_stats.hxx +60 -0
  114. data/ext/couchbase/operations/search_index_analyze_document.hxx +29 -16
  115. data/ext/couchbase/operations/search_index_control_ingest.hxx +27 -14
  116. data/ext/couchbase/operations/search_index_control_plan_freeze.hxx +27 -14
  117. data/ext/couchbase/operations/search_index_control_query.hxx +27 -14
  118. data/ext/couchbase/operations/search_index_drop.hxx +25 -12
  119. data/ext/couchbase/operations/search_index_get.hxx +25 -12
  120. data/ext/couchbase/operations/search_index_get_all.hxx +16 -9
  121. data/ext/couchbase/operations/search_index_get_documents_count.hxx +46 -26
  122. data/ext/couchbase/operations/search_index_get_stats.hxx +88 -0
  123. data/ext/couchbase/operations/search_index_upsert.hxx +26 -13
  124. data/ext/couchbase/operations/user_drop.hxx +73 -0
  125. data/ext/couchbase/operations/user_get.hxx +81 -0
  126. data/ext/couchbase/operations/user_get_all.hxx +78 -0
  127. data/ext/couchbase/operations/user_upsert.hxx +132 -0
  128. data/ext/couchbase/operations/view_index_drop.hxx +9 -8
  129. data/ext/couchbase/operations/view_index_get.hxx +17 -10
  130. data/ext/couchbase/operations/view_index_get_all.hxx +17 -10
  131. data/ext/couchbase/operations/view_index_upsert.hxx +10 -9
  132. data/ext/couchbase/origin.hxx +179 -0
  133. data/ext/couchbase/platform/backtrace.c +189 -0
  134. data/ext/couchbase/platform/backtrace.h +54 -0
  135. data/ext/couchbase/platform/terminate_handler.cc +130 -0
  136. data/ext/couchbase/platform/terminate_handler.h +36 -0
  137. data/ext/couchbase/protocol/client_opcode.hxx +406 -38
  138. data/ext/couchbase/protocol/client_request.hxx +2 -1
  139. data/ext/couchbase/protocol/client_response.hxx +20 -17
  140. data/ext/couchbase/protocol/cmd_append.hxx +145 -0
  141. data/ext/couchbase/protocol/cmd_cluster_map_change_notification.hxx +6 -8
  142. data/ext/couchbase/protocol/cmd_decrement.hxx +5 -5
  143. data/ext/couchbase/protocol/cmd_exists.hxx +1 -0
  144. data/ext/couchbase/protocol/cmd_get.hxx +1 -1
  145. data/ext/couchbase/protocol/cmd_get_and_touch.hxx +5 -5
  146. data/ext/couchbase/protocol/cmd_get_cluster_config.hxx +9 -7
  147. data/ext/couchbase/protocol/cmd_hello.hxx +1 -0
  148. data/ext/couchbase/protocol/cmd_increment.hxx +5 -5
  149. data/ext/couchbase/protocol/cmd_info.hxx +0 -11
  150. data/ext/couchbase/protocol/cmd_insert.hxx +5 -5
  151. data/ext/couchbase/protocol/cmd_lookup_in.hxx +11 -3
  152. data/ext/couchbase/protocol/cmd_mutate_in.hxx +55 -14
  153. data/ext/couchbase/protocol/cmd_noop.hxx +82 -0
  154. data/ext/couchbase/protocol/cmd_prepend.hxx +145 -0
  155. data/ext/couchbase/protocol/cmd_replace.hxx +5 -5
  156. data/ext/couchbase/protocol/cmd_touch.hxx +1 -1
  157. data/ext/couchbase/protocol/cmd_upsert.hxx +5 -5
  158. data/ext/couchbase/protocol/durability_level.hxx +16 -0
  159. data/ext/couchbase/protocol/enhanced_error_info.hxx +28 -0
  160. data/ext/couchbase/protocol/hello_feature.hxx +9 -0
  161. data/ext/couchbase/protocol/magic.hxx +6 -6
  162. data/ext/couchbase/protocol/server_opcode.hxx +2 -2
  163. data/ext/couchbase/protocol/status.hxx +70 -60
  164. data/ext/couchbase/protocol/unsigned_leb128.h +2 -2
  165. data/ext/couchbase/service_type.hxx +2 -2
  166. data/ext/couchbase/timeout_defaults.hxx +7 -0
  167. data/ext/couchbase/utils/connection_string.hxx +152 -4
  168. data/ext/couchbase/version.hxx +18 -4
  169. data/ext/extconf.rb +77 -26
  170. data/ext/test/CMakeLists.txt +5 -0
  171. data/ext/test/test_helper.hxx +141 -0
  172. data/ext/test/test_helper_native.hxx +56 -0
  173. data/ext/test/test_helper_ruby.hxx +72 -0
  174. data/ext/test/test_native_binary_operations.cxx +186 -0
  175. data/ext/test/test_native_diagnostics.cxx +436 -0
  176. data/ext/test/test_native_trivial_crud.cxx +83 -0
  177. data/ext/test/test_ruby_trivial_crud.cxx +35 -0
  178. data/ext/test/test_ruby_trivial_query.cxx +34 -0
  179. data/ext/third_party/asio/asio/include/asio.hpp +35 -0
  180. data/ext/third_party/asio/asio/include/asio/any_io_executor.hpp +71 -0
  181. data/ext/third_party/asio/asio/include/asio/associated_allocator.hpp +1 -7
  182. data/ext/third_party/asio/asio/include/asio/associated_executor.hpp +36 -19
  183. data/ext/third_party/asio/asio/include/asio/async_result.hpp +1 -8
  184. data/ext/third_party/asio/asio/include/asio/awaitable.hpp +14 -4
  185. data/ext/third_party/asio/asio/include/asio/basic_datagram_socket.hpp +12 -7
  186. data/ext/third_party/asio/asio/include/asio/basic_deadline_timer.hpp +4 -4
  187. data/ext/third_party/asio/asio/include/asio/basic_raw_socket.hpp +11 -7
  188. data/ext/third_party/asio/asio/include/asio/basic_seq_packet_socket.hpp +9 -4
  189. data/ext/third_party/asio/asio/include/asio/basic_serial_port.hpp +6 -6
  190. data/ext/third_party/asio/asio/include/asio/basic_signal_set.hpp +4 -4
  191. data/ext/third_party/asio/asio/include/asio/basic_socket.hpp +5 -5
  192. data/ext/third_party/asio/asio/include/asio/basic_socket_acceptor.hpp +13 -7
  193. data/ext/third_party/asio/asio/include/asio/basic_stream_socket.hpp +7 -3
  194. data/ext/third_party/asio/asio/include/asio/basic_waitable_timer.hpp +52 -4
  195. data/ext/third_party/asio/asio/include/asio/bind_executor.hpp +10 -15
  196. data/ext/third_party/asio/asio/include/asio/buffer.hpp +6 -4
  197. data/ext/third_party/asio/asio/include/asio/co_spawn.hpp +380 -9
  198. data/ext/third_party/asio/asio/include/asio/defer.hpp +4 -1
  199. data/ext/third_party/asio/asio/include/asio/detached.hpp +50 -0
  200. data/ext/third_party/asio/asio/include/asio/detail/atomic_count.hpp +19 -0
  201. data/ext/third_party/asio/asio/include/asio/detail/bind_handler.hpp +144 -26
  202. data/ext/third_party/asio/asio/include/asio/detail/blocking_executor_op.hpp +107 -0
  203. data/ext/third_party/asio/asio/include/asio/detail/buffer_sequence_adapter.hpp +106 -0
  204. data/ext/third_party/asio/asio/include/asio/detail/bulk_executor_op.hpp +88 -0
  205. data/ext/third_party/asio/asio/include/asio/detail/completion_handler.hpp +10 -5
  206. data/ext/third_party/asio/asio/include/asio/detail/conditionally_enabled_event.hpp +8 -0
  207. data/ext/third_party/asio/asio/include/asio/detail/config.hpp +360 -37
  208. data/ext/third_party/asio/asio/include/asio/detail/deadline_timer_service.hpp +17 -2
  209. data/ext/third_party/asio/asio/include/asio/detail/descriptor_ops.hpp +24 -6
  210. data/ext/third_party/asio/asio/include/asio/detail/descriptor_read_op.hpp +32 -14
  211. data/ext/third_party/asio/asio/include/asio/detail/descriptor_write_op.hpp +32 -14
  212. data/ext/third_party/asio/asio/include/asio/detail/executor_function.hpp +133 -34
  213. data/ext/third_party/asio/asio/include/asio/detail/handler_alloc_helpers.hpp +42 -0
  214. data/ext/third_party/asio/asio/include/asio/detail/handler_invoke_helpers.hpp +23 -0
  215. data/ext/third_party/asio/asio/include/asio/detail/handler_tracking.hpp +26 -0
  216. data/ext/third_party/asio/asio/include/asio/detail/handler_work.hpp +370 -45
  217. data/ext/third_party/asio/asio/include/asio/detail/impl/descriptor_ops.ipp +208 -74
  218. data/ext/third_party/asio/asio/include/asio/detail/impl/handler_tracking.ipp +39 -1
  219. data/ext/third_party/asio/asio/include/asio/detail/impl/reactive_serial_port_service.ipp +12 -15
  220. data/ext/third_party/asio/asio/include/asio/detail/impl/scheduler.ipp +37 -0
  221. data/ext/third_party/asio/asio/include/asio/detail/impl/signal_set_service.ipp +2 -1
  222. data/ext/third_party/asio/asio/include/asio/detail/impl/socket_ops.ipp +661 -274
  223. data/ext/third_party/asio/asio/include/asio/detail/impl/strand_executor_service.hpp +210 -4
  224. data/ext/third_party/asio/asio/include/asio/detail/impl/strand_service.hpp +8 -9
  225. data/ext/third_party/asio/asio/include/asio/detail/impl/strand_service.ipp +5 -4
  226. data/ext/third_party/asio/asio/include/asio/detail/impl/win_iocp_io_context.ipp +15 -6
  227. data/ext/third_party/asio/asio/include/asio/detail/io_object_impl.hpp +32 -50
  228. data/ext/third_party/asio/asio/include/asio/detail/memory.hpp +3 -0
  229. data/ext/third_party/asio/asio/include/asio/detail/null_event.hpp +6 -0
  230. data/ext/third_party/asio/asio/include/asio/detail/pop_options.hpp +1 -1
  231. data/ext/third_party/asio/asio/include/asio/detail/posix_event.hpp +13 -0
  232. data/ext/third_party/asio/asio/include/asio/detail/push_options.hpp +1 -1
  233. data/ext/third_party/asio/asio/include/asio/detail/reactive_descriptor_service.hpp +38 -13
  234. data/ext/third_party/asio/asio/include/asio/detail/reactive_null_buffers_op.hpp +12 -6
  235. data/ext/third_party/asio/asio/include/asio/detail/reactive_serial_port_service.hpp +2 -3
  236. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_accept_op.hpp +36 -24
  237. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_connect_op.hpp +17 -10
  238. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_recv_op.hpp +38 -16
  239. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_recvfrom_op.hpp +36 -14
  240. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_recvmsg_op.hpp +21 -11
  241. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_send_op.hpp +43 -17
  242. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_sendto_op.hpp +39 -17
  243. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_service.hpp +44 -21
  244. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_service_base.hpp +41 -18
  245. data/ext/third_party/asio/asio/include/asio/detail/reactive_wait_op.hpp +12 -6
  246. data/ext/third_party/asio/asio/include/asio/detail/reactor_op.hpp +3 -1
  247. data/ext/third_party/asio/asio/include/asio/detail/resolve_endpoint_op.hpp +10 -8
  248. data/ext/third_party/asio/asio/include/asio/detail/resolve_query_op.hpp +11 -9
  249. data/ext/third_party/asio/asio/include/asio/detail/scheduler.hpp +8 -0
  250. data/ext/third_party/asio/asio/include/asio/detail/signal_handler.hpp +7 -5
  251. data/ext/third_party/asio/asio/include/asio/detail/socket_ops.hpp +46 -0
  252. data/ext/third_party/asio/asio/include/asio/detail/source_location.hpp +45 -0
  253. data/ext/third_party/asio/asio/include/asio/detail/std_event.hpp +12 -0
  254. data/ext/third_party/asio/asio/include/asio/detail/strand_executor_service.hpp +25 -1
  255. data/ext/third_party/asio/asio/include/asio/detail/strand_service.hpp +4 -1
  256. data/ext/third_party/asio/asio/include/asio/detail/thread_info_base.hpp +58 -0
  257. data/ext/third_party/asio/asio/include/asio/detail/type_traits.hpp +59 -0
  258. data/ext/third_party/asio/asio/include/asio/detail/variadic_templates.hpp +144 -1
  259. data/ext/third_party/asio/asio/include/asio/detail/wait_handler.hpp +9 -6
  260. data/ext/third_party/asio/asio/include/asio/detail/win_event.hpp +13 -0
  261. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_handle_read_op.hpp +9 -5
  262. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_handle_write_op.hpp +9 -5
  263. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_io_context.hpp +5 -1
  264. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_null_buffers_op.hpp +10 -6
  265. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_overlapped_op.hpp +9 -5
  266. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_overlapped_ptr.hpp +18 -6
  267. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_accept_op.hpp +15 -11
  268. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_connect_op.hpp +10 -5
  269. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_recv_op.hpp +8 -4
  270. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_recvfrom_op.hpp +8 -4
  271. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_recvmsg_op.hpp +8 -4
  272. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_send_op.hpp +8 -4
  273. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_wait_op.hpp +10 -5
  274. data/ext/third_party/asio/asio/include/asio/detail/winrt_resolve_op.hpp +8 -4
  275. data/ext/third_party/asio/asio/include/asio/detail/winrt_socket_connect_op.hpp +8 -4
  276. data/ext/third_party/asio/asio/include/asio/detail/winrt_socket_recv_op.hpp +8 -4
  277. data/ext/third_party/asio/asio/include/asio/detail/winrt_socket_send_op.hpp +8 -4
  278. data/ext/third_party/asio/asio/include/asio/detail/work_dispatcher.hpp +81 -6
  279. data/ext/third_party/asio/asio/include/asio/detail/wrapped_handler.hpp +45 -9
  280. data/ext/third_party/asio/asio/include/asio/dispatch.hpp +4 -1
  281. data/ext/third_party/asio/asio/include/asio/execution.hpp +48 -0
  282. data/ext/third_party/asio/asio/include/asio/execution/allocator.hpp +249 -0
  283. data/ext/third_party/asio/asio/include/asio/execution/any_executor.hpp +2264 -0
  284. data/ext/third_party/asio/asio/include/asio/execution/bad_executor.hpp +47 -0
  285. data/ext/third_party/asio/asio/include/asio/execution/blocking.hpp +1351 -0
  286. data/ext/third_party/asio/asio/include/asio/execution/blocking_adaptation.hpp +1064 -0
  287. data/ext/third_party/asio/asio/include/asio/execution/bulk_execute.hpp +390 -0
  288. data/ext/third_party/asio/asio/include/asio/execution/bulk_guarantee.hpp +1018 -0
  289. data/ext/third_party/asio/asio/include/asio/execution/connect.hpp +486 -0
  290. data/ext/third_party/asio/asio/include/asio/execution/context.hpp +185 -0
  291. data/ext/third_party/asio/asio/include/asio/execution/context_as.hpp +201 -0
  292. data/ext/third_party/asio/asio/include/asio/execution/detail/as_invocable.hpp +152 -0
  293. data/ext/third_party/asio/asio/include/asio/execution/detail/as_operation.hpp +105 -0
  294. data/ext/third_party/asio/asio/include/asio/execution/detail/as_receiver.hpp +128 -0
  295. data/ext/third_party/asio/asio/include/asio/execution/detail/bulk_sender.hpp +261 -0
  296. data/ext/third_party/asio/asio/include/asio/execution/detail/submit_receiver.hpp +233 -0
  297. data/ext/third_party/asio/asio/include/asio/execution/detail/void_receiver.hpp +90 -0
  298. data/ext/third_party/asio/asio/include/asio/execution/execute.hpp +264 -0
  299. data/ext/third_party/asio/asio/include/asio/execution/executor.hpp +238 -0
  300. data/ext/third_party/asio/asio/include/asio/execution/impl/bad_executor.ipp +40 -0
  301. data/ext/third_party/asio/asio/include/asio/execution/impl/receiver_invocation_error.ipp +36 -0
  302. data/ext/third_party/asio/asio/include/asio/execution/invocable_archetype.hpp +71 -0
  303. data/ext/third_party/asio/asio/include/asio/execution/mapping.hpp +917 -0
  304. data/ext/third_party/asio/asio/include/asio/execution/occupancy.hpp +178 -0
  305. data/ext/third_party/asio/asio/include/asio/execution/operation_state.hpp +94 -0
  306. data/ext/third_party/asio/asio/include/asio/execution/outstanding_work.hpp +721 -0
  307. data/ext/third_party/asio/asio/include/asio/execution/prefer_only.hpp +327 -0
  308. data/ext/third_party/asio/asio/include/asio/execution/receiver.hpp +280 -0
  309. data/ext/third_party/asio/asio/include/asio/execution/receiver_invocation_error.hpp +48 -0
  310. data/ext/third_party/asio/asio/include/asio/execution/relationship.hpp +720 -0
  311. data/ext/third_party/asio/asio/include/asio/execution/schedule.hpp +290 -0
  312. data/ext/third_party/asio/asio/include/asio/execution/scheduler.hpp +86 -0
  313. data/ext/third_party/asio/asio/include/asio/execution/sender.hpp +311 -0
  314. data/ext/third_party/asio/asio/include/asio/execution/set_done.hpp +253 -0
  315. data/ext/third_party/asio/asio/include/asio/execution/set_error.hpp +253 -0
  316. data/ext/third_party/asio/asio/include/asio/execution/set_value.hpp +486 -0
  317. data/ext/third_party/asio/asio/include/asio/execution/start.hpp +250 -0
  318. data/ext/third_party/asio/asio/include/asio/execution/submit.hpp +450 -0
  319. data/ext/third_party/asio/asio/include/asio/executor.hpp +7 -1
  320. data/ext/third_party/asio/asio/include/asio/executor_work_guard.hpp +126 -9
  321. data/ext/third_party/asio/asio/include/asio/handler_alloc_hook.hpp +28 -5
  322. data/ext/third_party/asio/asio/include/asio/handler_invoke_hook.hpp +29 -3
  323. data/ext/third_party/asio/asio/include/asio/impl/awaitable.hpp +14 -0
  324. data/ext/third_party/asio/asio/include/asio/impl/buffered_read_stream.hpp +44 -8
  325. data/ext/third_party/asio/asio/include/asio/impl/buffered_write_stream.hpp +44 -8
  326. data/ext/third_party/asio/asio/include/asio/impl/co_spawn.hpp +145 -7
  327. data/ext/third_party/asio/asio/include/asio/impl/compose.hpp +124 -22
  328. data/ext/third_party/asio/asio/include/asio/impl/connect.hpp +52 -8
  329. data/ext/third_party/asio/asio/include/asio/impl/defer.hpp +147 -12
  330. data/ext/third_party/asio/asio/include/asio/impl/dispatch.hpp +142 -12
  331. data/ext/third_party/asio/asio/include/asio/impl/executor.hpp +15 -101
  332. data/ext/third_party/asio/asio/include/asio/impl/executor.ipp +5 -0
  333. data/ext/third_party/asio/asio/include/asio/impl/handler_alloc_hook.ipp +13 -4
  334. data/ext/third_party/asio/asio/include/asio/impl/io_context.hpp +144 -57
  335. data/ext/third_party/asio/asio/include/asio/impl/multiple_exceptions.ipp +49 -0
  336. data/ext/third_party/asio/asio/include/asio/impl/post.hpp +147 -12
  337. data/ext/third_party/asio/asio/include/asio/impl/read.hpp +85 -18
  338. data/ext/third_party/asio/asio/include/asio/impl/read_at.hpp +59 -14
  339. data/ext/third_party/asio/asio/include/asio/impl/read_until.hpp +241 -56
  340. data/ext/third_party/asio/asio/include/asio/impl/redirect_error.hpp +22 -4
  341. data/ext/third_party/asio/asio/include/asio/impl/spawn.hpp +58 -22
  342. data/ext/third_party/asio/asio/include/asio/impl/src.hpp +3 -0
  343. data/ext/third_party/asio/asio/include/asio/impl/system_context.ipp +16 -4
  344. data/ext/third_party/asio/asio/include/asio/impl/system_executor.hpp +113 -12
  345. data/ext/third_party/asio/asio/include/asio/impl/thread_pool.hpp +260 -37
  346. data/ext/third_party/asio/asio/include/asio/impl/thread_pool.ipp +61 -7
  347. data/ext/third_party/asio/asio/include/asio/impl/use_awaitable.hpp +5 -2
  348. data/ext/third_party/asio/asio/include/asio/impl/use_future.hpp +147 -6
  349. data/ext/third_party/asio/asio/include/asio/impl/write.hpp +75 -14
  350. data/ext/third_party/asio/asio/include/asio/impl/write_at.hpp +53 -11
  351. data/ext/third_party/asio/asio/include/asio/io_context.hpp +706 -48
  352. data/ext/third_party/asio/asio/include/asio/io_context_strand.hpp +3 -1
  353. data/ext/third_party/asio/asio/include/asio/ip/basic_resolver.hpp +4 -4
  354. data/ext/third_party/asio/asio/include/asio/is_applicable_property.hpp +61 -0
  355. data/ext/third_party/asio/asio/include/asio/multiple_exceptions.hpp +58 -0
  356. data/ext/third_party/asio/asio/include/asio/posix/basic_descriptor.hpp +4 -4
  357. data/ext/third_party/asio/asio/include/asio/posix/basic_stream_descriptor.hpp +5 -5
  358. data/ext/third_party/asio/asio/include/asio/post.hpp +4 -1
  359. data/ext/third_party/asio/asio/include/asio/prefer.hpp +656 -0
  360. data/ext/third_party/asio/asio/include/asio/query.hpp +296 -0
  361. data/ext/third_party/asio/asio/include/asio/read_until.hpp +6 -6
  362. data/ext/third_party/asio/asio/include/asio/require.hpp +524 -0
  363. data/ext/third_party/asio/asio/include/asio/require_concept.hpp +310 -0
  364. data/ext/third_party/asio/asio/include/asio/spawn.hpp +12 -4
  365. data/ext/third_party/asio/asio/include/asio/ssl/detail/buffered_handshake_op.hpp +5 -0
  366. data/ext/third_party/asio/asio/include/asio/ssl/detail/engine.hpp +5 -0
  367. data/ext/third_party/asio/asio/include/asio/ssl/detail/handshake_op.hpp +5 -0
  368. data/ext/third_party/asio/asio/include/asio/ssl/detail/impl/engine.ipp +16 -3
  369. data/ext/third_party/asio/asio/include/asio/ssl/detail/io.hpp +38 -4
  370. data/ext/third_party/asio/asio/include/asio/ssl/detail/read_op.hpp +5 -0
  371. data/ext/third_party/asio/asio/include/asio/ssl/detail/shutdown_op.hpp +5 -0
  372. data/ext/third_party/asio/asio/include/asio/ssl/detail/stream_core.hpp +36 -2
  373. data/ext/third_party/asio/asio/include/asio/ssl/detail/write_op.hpp +10 -1
  374. data/ext/third_party/asio/asio/include/asio/ssl/stream.hpp +15 -0
  375. data/ext/third_party/asio/asio/include/asio/static_thread_pool.hpp +31 -0
  376. data/ext/third_party/asio/asio/include/asio/strand.hpp +232 -9
  377. data/ext/third_party/asio/asio/include/asio/system_context.hpp +12 -3
  378. data/ext/third_party/asio/asio/include/asio/system_executor.hpp +557 -24
  379. data/ext/third_party/asio/asio/include/asio/thread_pool.hpp +913 -37
  380. data/ext/third_party/asio/asio/include/asio/traits/bulk_execute_free.hpp +114 -0
  381. data/ext/third_party/asio/asio/include/asio/traits/bulk_execute_member.hpp +114 -0
  382. data/ext/third_party/asio/asio/include/asio/traits/connect_free.hpp +112 -0
  383. data/ext/third_party/asio/asio/include/asio/traits/connect_member.hpp +112 -0
  384. data/ext/third_party/asio/asio/include/asio/traits/equality_comparable.hpp +100 -0
  385. data/ext/third_party/asio/asio/include/asio/traits/execute_free.hpp +108 -0
  386. data/ext/third_party/asio/asio/include/asio/traits/execute_member.hpp +108 -0
  387. data/ext/third_party/asio/asio/include/asio/traits/prefer_free.hpp +108 -0
  388. data/ext/third_party/asio/asio/include/asio/traits/prefer_member.hpp +108 -0
  389. data/ext/third_party/asio/asio/include/asio/traits/query_free.hpp +108 -0
  390. data/ext/third_party/asio/asio/include/asio/traits/query_member.hpp +108 -0
  391. data/ext/third_party/asio/asio/include/asio/traits/query_static_constexpr_member.hpp +108 -0
  392. data/ext/third_party/asio/asio/include/asio/traits/require_concept_free.hpp +108 -0
  393. data/ext/third_party/asio/asio/include/asio/traits/require_concept_member.hpp +108 -0
  394. data/ext/third_party/asio/asio/include/asio/traits/require_free.hpp +108 -0
  395. data/ext/third_party/asio/asio/include/asio/traits/require_member.hpp +108 -0
  396. data/ext/third_party/asio/asio/include/asio/traits/schedule_free.hpp +108 -0
  397. data/ext/third_party/asio/asio/include/asio/traits/schedule_member.hpp +108 -0
  398. data/ext/third_party/asio/asio/include/asio/traits/set_done_free.hpp +108 -0
  399. data/ext/third_party/asio/asio/include/asio/traits/set_done_member.hpp +108 -0
  400. data/ext/third_party/asio/asio/include/asio/traits/set_error_free.hpp +112 -0
  401. data/ext/third_party/asio/asio/include/asio/traits/set_error_member.hpp +112 -0
  402. data/ext/third_party/asio/asio/include/asio/traits/set_value_free.hpp +234 -0
  403. data/ext/third_party/asio/asio/include/asio/traits/set_value_member.hpp +234 -0
  404. data/ext/third_party/asio/asio/include/asio/traits/start_free.hpp +108 -0
  405. data/ext/third_party/asio/asio/include/asio/traits/start_member.hpp +108 -0
  406. data/ext/third_party/asio/asio/include/asio/traits/static_query.hpp +108 -0
  407. data/ext/third_party/asio/asio/include/asio/traits/static_require.hpp +123 -0
  408. data/ext/third_party/asio/asio/include/asio/traits/static_require_concept.hpp +123 -0
  409. data/ext/third_party/asio/asio/include/asio/traits/submit_free.hpp +112 -0
  410. data/ext/third_party/asio/asio/include/asio/traits/submit_member.hpp +112 -0
  411. data/ext/third_party/asio/asio/include/asio/ts/executor.hpp +1 -0
  412. data/ext/third_party/asio/asio/include/asio/ts/netfwd.hpp +67 -8
  413. data/ext/third_party/asio/asio/include/asio/use_awaitable.hpp +63 -4
  414. data/ext/third_party/asio/asio/include/asio/version.hpp +1 -1
  415. data/ext/third_party/asio/asio/include/asio/windows/basic_object_handle.hpp +4 -4
  416. data/ext/third_party/asio/asio/include/asio/windows/basic_overlapped_handle.hpp +2 -2
  417. data/ext/third_party/asio/asio/include/asio/windows/basic_random_access_handle.hpp +5 -5
  418. data/ext/third_party/asio/asio/include/asio/windows/basic_stream_handle.hpp +5 -5
  419. data/ext/third_party/asio/asio/include/asio/windows/overlapped_ptr.hpp +4 -2
  420. data/ext/third_party/gsl/CMakeLists.txt +13 -5
  421. data/ext/third_party/gsl/include/gsl/gsl_assert +1 -1
  422. data/ext/third_party/gsl/include/gsl/gsl_byte +3 -3
  423. data/ext/third_party/gsl/include/gsl/gsl_narrow +52 -0
  424. data/ext/third_party/gsl/include/gsl/gsl_util +8 -50
  425. data/ext/third_party/gsl/include/gsl/multi_span +0 -10
  426. data/ext/third_party/gsl/include/gsl/pointers +14 -28
  427. data/ext/third_party/gsl/include/gsl/span +98 -46
  428. data/ext/third_party/gsl/include/gsl/string_span +37 -47
  429. data/ext/third_party/http_parser/http_parser.c +17 -10
  430. data/ext/third_party/http_parser/http_parser.h +4 -2
  431. data/ext/third_party/json/include/tao/json/basic_value.hpp +3 -2
  432. data/ext/third_party/json/include/tao/json/binary.hpp +4 -4
  433. data/ext/third_party/json/include/tao/json/binary_view.hpp +2 -2
  434. data/ext/third_party/json/include/tao/json/binding.hpp +2 -2
  435. data/ext/third_party/json/include/tao/json/binding/factory.hpp +8 -7
  436. data/ext/third_party/json/include/tao/json/binding/internal/array.hpp +2 -1
  437. data/ext/third_party/json/include/tao/json/binding/internal/object.hpp +6 -5
  438. data/ext/third_party/json/include/tao/json/binding/versions.hpp +3 -1
  439. data/ext/third_party/json/include/tao/json/cbor.hpp +1 -0
  440. data/ext/third_party/json/include/tao/json/cbor/consume_file.hpp +7 -7
  441. data/ext/third_party/json/include/tao/json/cbor/events/from_binary.hpp +43 -0
  442. data/ext/third_party/json/include/tao/json/cbor/events/from_file.hpp +4 -4
  443. data/ext/third_party/json/include/tao/json/cbor/events/from_string.hpp +3 -3
  444. data/ext/third_party/json/include/tao/json/cbor/from_binary.hpp +32 -0
  445. data/ext/third_party/json/include/tao/json/cbor/from_file.hpp +5 -5
  446. data/ext/third_party/json/include/tao/json/cbor/internal/grammar.hpp +2 -1
  447. data/ext/third_party/json/include/tao/json/consume_file.hpp +7 -7
  448. data/ext/third_party/json/include/tao/json/contrib/internal/indirect_traits.hpp +13 -6
  449. data/ext/third_party/json/include/tao/json/contrib/position.hpp +15 -15
  450. data/ext/third_party/json/include/tao/json/contrib/reference.hpp +5 -7
  451. data/ext/third_party/json/include/tao/json/contrib/schema.hpp +58 -35
  452. data/ext/third_party/json/include/tao/json/contrib/shared_ptr_traits.hpp +12 -4
  453. data/ext/third_party/json/include/tao/json/contrib/unique_ptr_traits.hpp +12 -4
  454. data/ext/third_party/json/include/tao/json/contrib/unordered_map_traits.hpp +1 -1
  455. data/ext/third_party/json/include/tao/json/contrib/unordered_set_traits.hpp +2 -2
  456. data/ext/third_party/json/include/tao/json/events/compare.hpp +2 -12
  457. data/ext/third_party/json/include/tao/json/events/from_file.hpp +4 -4
  458. data/ext/third_party/json/include/tao/json/events/from_string.hpp +2 -2
  459. data/ext/third_party/json/include/tao/json/events/invalid_string_to_binary.hpp +1 -1
  460. data/ext/third_party/json/include/tao/json/events/key_camel_case_to_snake_case.hpp +3 -3
  461. data/ext/third_party/json/include/tao/json/events/key_snake_case_to_camel_case.hpp +1 -1
  462. data/ext/third_party/json/include/tao/json/events/tee.hpp +2 -2
  463. data/ext/third_party/json/include/tao/json/events/to_pretty_stream.hpp +1 -1
  464. data/ext/third_party/json/include/tao/json/events/to_stream.hpp +1 -1
  465. data/ext/third_party/json/include/tao/json/events/transformer.hpp +3 -3
  466. data/ext/third_party/json/include/tao/json/events/validate_event_order.hpp +3 -3
  467. data/ext/third_party/json/include/tao/json/events/virtual_ref.hpp +6 -0
  468. data/ext/third_party/json/include/tao/json/external/pegtl.hpp +4 -13
  469. data/ext/third_party/json/include/tao/json/external/pegtl/argv_input.hpp +3 -5
  470. data/ext/third_party/json/include/tao/json/external/pegtl/ascii.hpp +5 -18
  471. data/ext/third_party/json/include/tao/json/external/pegtl/buffer_input.hpp +3 -3
  472. data/ext/third_party/json/include/tao/json/external/pegtl/change_action.hpp +2 -2
  473. data/ext/third_party/json/include/tao/json/external/pegtl/change_action_and_state.hpp +6 -6
  474. data/ext/third_party/json/include/tao/json/external/pegtl/change_action_and_states.hpp +5 -5
  475. data/ext/third_party/json/include/tao/json/external/pegtl/change_control.hpp +2 -2
  476. data/ext/third_party/json/include/tao/json/external/pegtl/change_state.hpp +6 -6
  477. data/ext/third_party/json/include/tao/json/external/pegtl/change_states.hpp +5 -5
  478. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/alphabet.hpp +52 -52
  479. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/analyze.hpp +176 -0
  480. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/analyze_traits.hpp +275 -0
  481. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/control_action.hpp +77 -0
  482. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/coverage.hpp +151 -0
  483. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/forward.hpp +16 -0
  484. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/http.hpp +37 -18
  485. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/icu/internal.hpp +20 -22
  486. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/icu/utf16.hpp +6 -10
  487. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/icu/utf32.hpp +6 -10
  488. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/icu/utf8.hpp +2 -4
  489. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/if_then.hpp +11 -10
  490. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/integer.hpp +116 -131
  491. data/ext/third_party/json/include/tao/json/external/pegtl/{internal → contrib/internal}/endian.hpp +4 -4
  492. data/ext/third_party/json/include/tao/json/external/pegtl/{internal → contrib/internal}/endian_gcc.hpp +2 -2
  493. data/ext/third_party/json/include/tao/json/external/pegtl/{internal → contrib/internal}/endian_win.hpp +2 -2
  494. data/ext/third_party/json/include/tao/json/external/pegtl/{internal → contrib/internal}/peek_mask_uint.hpp +9 -9
  495. data/ext/third_party/json/include/tao/json/external/pegtl/{internal → contrib/internal}/peek_mask_uint8.hpp +9 -10
  496. data/ext/third_party/json/include/tao/json/external/pegtl/{internal → contrib/internal}/peek_uint.hpp +9 -9
  497. data/ext/third_party/json/include/tao/json/external/pegtl/{internal → contrib/internal}/peek_uint8.hpp +9 -10
  498. data/ext/third_party/json/include/tao/json/external/pegtl/{internal → contrib/internal}/peek_utf16.hpp +10 -10
  499. data/ext/third_party/json/include/tao/json/external/pegtl/{internal → contrib/internal}/peek_utf32.hpp +9 -9
  500. data/ext/third_party/json/include/tao/json/external/pegtl/{internal → contrib/internal}/read_uint.hpp +3 -3
  501. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/set_stack_guard.hpp +52 -0
  502. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/parse_tree.hpp +80 -201
  503. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/parse_tree_to_dot.hpp +11 -10
  504. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/print.hpp +75 -0
  505. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/print_coverage.hpp +53 -0
  506. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/raw_string.hpp +45 -36
  507. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/remove_first_state.hpp +33 -50
  508. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/remove_last_states.hpp +117 -0
  509. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/rep_one_min_max.hpp +43 -11
  510. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/rep_string.hpp +1 -2
  511. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/shuffle_states.hpp +193 -0
  512. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/state_control.hpp +118 -0
  513. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/trace.hpp +227 -0
  514. data/ext/third_party/json/include/tao/json/external/pegtl/{uint16.hpp → contrib/uint16.hpp} +5 -5
  515. data/ext/third_party/json/include/tao/json/external/pegtl/{uint32.hpp → contrib/uint32.hpp} +5 -5
  516. data/ext/third_party/json/include/tao/json/external/pegtl/{uint64.hpp → contrib/uint64.hpp} +5 -5
  517. data/ext/third_party/json/include/tao/json/external/pegtl/{uint8.hpp → contrib/uint8.hpp} +5 -5
  518. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/unescape.hpp +14 -14
  519. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/uri.hpp +1 -1
  520. data/ext/third_party/json/include/tao/json/external/pegtl/{utf16.hpp → contrib/utf16.hpp} +5 -5
  521. data/ext/third_party/json/include/tao/json/external/pegtl/{utf32.hpp → contrib/utf32.hpp} +5 -5
  522. data/ext/third_party/json/include/tao/json/external/pegtl/cstream_input.hpp +2 -3
  523. data/ext/third_party/json/include/tao/json/external/pegtl/{internal/demangle.hpp → demangle.hpp} +12 -14
  524. data/ext/third_party/json/include/tao/json/external/pegtl/disable_action.hpp +2 -2
  525. data/ext/third_party/json/include/tao/json/external/pegtl/discard_input.hpp +2 -2
  526. data/ext/third_party/json/include/tao/json/external/pegtl/discard_input_on_failure.hpp +2 -2
  527. data/ext/third_party/json/include/tao/json/external/pegtl/discard_input_on_success.hpp +2 -2
  528. data/ext/third_party/json/include/tao/json/external/pegtl/enable_action.hpp +2 -2
  529. data/ext/third_party/json/include/tao/json/external/pegtl/file_input.hpp +1 -1
  530. data/ext/third_party/json/include/tao/json/external/pegtl/internal/action.hpp +19 -9
  531. data/ext/third_party/json/include/tao/json/external/pegtl/internal/action_input.hpp +7 -8
  532. data/ext/third_party/json/include/tao/json/external/pegtl/internal/any.hpp +14 -14
  533. data/ext/third_party/json/include/tao/json/external/pegtl/internal/apply.hpp +9 -9
  534. data/ext/third_party/json/include/tao/json/external/pegtl/internal/apply0.hpp +8 -7
  535. data/ext/third_party/json/include/tao/json/external/pegtl/internal/apply_single.hpp +4 -4
  536. data/ext/third_party/json/include/tao/json/external/pegtl/internal/at.hpp +17 -15
  537. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bof.hpp +7 -6
  538. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bol.hpp +8 -8
  539. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bump.hpp +4 -4
  540. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bump_help.hpp +3 -3
  541. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bytes.hpp +17 -10
  542. data/ext/third_party/json/include/tao/json/external/pegtl/internal/control.hpp +19 -9
  543. data/ext/third_party/json/include/tao/json/external/pegtl/internal/cr_crlf_eol.hpp +2 -2
  544. data/ext/third_party/json/include/tao/json/external/pegtl/internal/cr_eol.hpp +2 -2
  545. data/ext/third_party/json/include/tao/json/external/pegtl/internal/crlf_eol.hpp +2 -2
  546. data/ext/third_party/json/include/tao/json/external/pegtl/internal/cstream_reader.hpp +1 -1
  547. data/ext/third_party/json/include/tao/json/external/pegtl/internal/{always_false.hpp → dependent_false.hpp} +3 -8
  548. data/ext/third_party/json/include/tao/json/external/pegtl/internal/disable.hpp +19 -9
  549. data/ext/third_party/json/include/tao/json/external/pegtl/internal/discard.hpp +7 -6
  550. data/ext/third_party/json/include/tao/json/external/pegtl/internal/enable.hpp +19 -9
  551. data/ext/third_party/json/include/tao/json/external/pegtl/internal/{skip_control.hpp → enable_control.hpp} +5 -5
  552. data/ext/third_party/json/include/tao/json/external/pegtl/internal/eof.hpp +7 -6
  553. data/ext/third_party/json/include/tao/json/external/pegtl/internal/eol.hpp +8 -7
  554. data/ext/third_party/json/include/tao/json/external/pegtl/internal/eolf.hpp +8 -7
  555. data/ext/third_party/json/include/tao/json/external/pegtl/internal/failure.hpp +32 -0
  556. data/ext/third_party/json/include/tao/json/external/pegtl/internal/file_mapper_posix.hpp +61 -10
  557. data/ext/third_party/json/include/tao/json/external/pegtl/internal/file_mapper_win32.hpp +27 -33
  558. data/ext/third_party/json/include/tao/json/external/pegtl/internal/file_reader.hpp +27 -28
  559. data/ext/third_party/json/include/tao/json/external/pegtl/internal/has_apply.hpp +3 -7
  560. data/ext/third_party/json/include/tao/json/external/pegtl/internal/has_apply0.hpp +3 -7
  561. data/ext/third_party/json/include/tao/json/external/pegtl/internal/has_match.hpp +4 -20
  562. data/ext/third_party/json/include/tao/json/external/pegtl/internal/has_unwind.hpp +21 -0
  563. data/ext/third_party/json/include/tao/json/external/pegtl/internal/if_apply.hpp +8 -7
  564. data/ext/third_party/json/include/tao/json/external/pegtl/internal/if_must.hpp +8 -9
  565. data/ext/third_party/json/include/tao/json/external/pegtl/internal/if_must_else.hpp +2 -0
  566. data/ext/third_party/json/include/tao/json/external/pegtl/internal/if_then_else.hpp +7 -7
  567. data/ext/third_party/json/include/tao/json/external/pegtl/internal/istream_reader.hpp +1 -2
  568. data/ext/third_party/json/include/tao/json/external/pegtl/internal/istring.hpp +11 -11
  569. data/ext/third_party/json/include/tao/json/external/pegtl/internal/iterator.hpp +7 -10
  570. data/ext/third_party/json/include/tao/json/external/pegtl/internal/lf_crlf_eol.hpp +2 -2
  571. data/ext/third_party/json/include/tao/json/external/pegtl/internal/lf_eol.hpp +2 -2
  572. data/ext/third_party/json/include/tao/json/external/pegtl/internal/list_tail.hpp +4 -2
  573. data/ext/third_party/json/include/tao/json/external/pegtl/internal/list_tail_pad.hpp +1 -1
  574. data/ext/third_party/json/include/tao/json/external/pegtl/internal/marker.hpp +3 -5
  575. data/ext/third_party/json/include/tao/json/external/pegtl/internal/minus.hpp +21 -0
  576. data/ext/third_party/json/include/tao/json/external/pegtl/internal/missing_apply.hpp +5 -2
  577. data/ext/third_party/json/include/tao/json/external/pegtl/internal/missing_apply0.hpp +5 -2
  578. data/ext/third_party/json/include/tao/json/external/pegtl/internal/must.hpp +16 -24
  579. data/ext/third_party/json/include/tao/json/external/pegtl/internal/not_at.hpp +17 -15
  580. data/ext/third_party/json/include/tao/json/external/pegtl/internal/one.hpp +23 -12
  581. data/ext/third_party/json/include/tao/json/external/pegtl/internal/opt.hpp +16 -16
  582. data/ext/third_party/json/include/tao/json/external/pegtl/internal/path_to_string.hpp +26 -0
  583. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_char.hpp +5 -5
  584. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_utf8.hpp +12 -13
  585. data/ext/third_party/json/include/tao/json/external/pegtl/internal/plus.hpp +18 -11
  586. data/ext/third_party/json/include/tao/json/external/pegtl/internal/raise.hpp +8 -17
  587. data/ext/third_party/json/include/tao/json/external/pegtl/internal/range.hpp +22 -17
  588. data/ext/third_party/json/include/tao/json/external/pegtl/internal/ranges.hpp +28 -18
  589. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rematch.hpp +12 -9
  590. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rep.hpp +26 -25
  591. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rep_min_max.hpp +23 -21
  592. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rep_opt.hpp +24 -9
  593. data/ext/third_party/json/include/tao/json/external/pegtl/internal/require.hpp +10 -10
  594. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rules.hpp +4 -4
  595. data/ext/third_party/json/include/tao/json/external/pegtl/internal/seq.hpp +18 -33
  596. data/ext/third_party/json/include/tao/json/external/pegtl/internal/sor.hpp +24 -17
  597. data/ext/third_party/json/include/tao/json/external/pegtl/internal/star.hpp +13 -8
  598. data/ext/third_party/json/include/tao/json/external/pegtl/internal/state.hpp +21 -11
  599. data/ext/third_party/json/include/tao/json/external/pegtl/internal/string.hpp +11 -11
  600. data/ext/third_party/json/include/tao/json/external/pegtl/internal/success.hpp +32 -0
  601. data/ext/third_party/json/include/tao/json/external/pegtl/internal/try_catch_type.hpp +16 -16
  602. data/ext/third_party/json/include/tao/json/external/pegtl/internal/until.hpp +18 -14
  603. data/ext/third_party/json/include/tao/json/external/pegtl/istream_input.hpp +2 -3
  604. data/ext/third_party/json/include/tao/json/external/pegtl/match.hpp +125 -29
  605. data/ext/third_party/json/include/tao/json/external/pegtl/memory_input.hpp +32 -48
  606. data/ext/third_party/json/include/tao/json/external/pegtl/mmap_input.hpp +16 -16
  607. data/ext/third_party/json/include/tao/json/external/pegtl/must_if.hpp +64 -0
  608. data/ext/third_party/json/include/tao/json/external/pegtl/normal.hpp +25 -25
  609. data/ext/third_party/json/include/tao/json/external/pegtl/nothing.hpp +1 -2
  610. data/ext/third_party/json/include/tao/json/external/pegtl/parse.hpp +6 -8
  611. data/ext/third_party/json/include/tao/json/external/pegtl/parse_error.hpp +80 -35
  612. data/ext/third_party/json/include/tao/json/external/pegtl/position.hpp +18 -10
  613. data/ext/third_party/json/include/tao/json/external/pegtl/read_input.hpp +18 -38
  614. data/ext/third_party/json/include/tao/json/external/pegtl/rules.hpp +6 -5
  615. data/ext/third_party/json/include/tao/json/external/pegtl/string_input.hpp +3 -5
  616. data/ext/third_party/json/include/tao/json/external/pegtl/type_list.hpp +46 -0
  617. data/ext/third_party/json/include/tao/json/external/pegtl/visit.hpp +66 -0
  618. data/ext/third_party/json/include/tao/json/from_file.hpp +5 -5
  619. data/ext/third_party/json/include/tao/json/internal/action.hpp +3 -3
  620. data/ext/third_party/json/include/tao/json/internal/dependent_false.hpp +14 -0
  621. data/ext/third_party/json/include/tao/json/internal/errors.hpp +17 -17
  622. data/ext/third_party/json/include/tao/json/internal/format.hpp +0 -2
  623. data/ext/third_party/json/include/tao/json/internal/grammar.hpp +17 -17
  624. data/ext/third_party/json/include/tao/json/internal/pair.hpp +1 -1
  625. data/ext/third_party/json/include/tao/json/internal/sha256.hpp +8 -8
  626. data/ext/third_party/json/include/tao/json/internal/single.hpp +1 -1
  627. data/ext/third_party/json/include/tao/json/internal/type_traits.hpp +12 -29
  628. data/ext/third_party/json/include/tao/json/jaxn/consume_file.hpp +7 -7
  629. data/ext/third_party/json/include/tao/json/jaxn/events/from_file.hpp +4 -4
  630. data/ext/third_party/json/include/tao/json/jaxn/events/from_string.hpp +2 -2
  631. data/ext/third_party/json/include/tao/json/jaxn/from_file.hpp +5 -5
  632. data/ext/third_party/json/include/tao/json/jaxn/internal/action.hpp +6 -6
  633. data/ext/third_party/json/include/tao/json/jaxn/internal/bunescape_action.hpp +2 -2
  634. data/ext/third_party/json/include/tao/json/jaxn/internal/errors.hpp +43 -43
  635. data/ext/third_party/json/include/tao/json/jaxn/internal/grammar.hpp +36 -36
  636. data/ext/third_party/json/include/tao/json/jaxn/internal/integer.hpp +10 -11
  637. data/ext/third_party/json/include/tao/json/jaxn/is_identifier.hpp +2 -2
  638. data/ext/third_party/json/include/tao/json/jaxn/parts_parser.hpp +1 -3
  639. data/ext/third_party/json/include/tao/json/message_extension.hpp +2 -2
  640. data/ext/third_party/json/include/tao/json/msgpack.hpp +1 -0
  641. data/ext/third_party/json/include/tao/json/msgpack/consume_file.hpp +7 -7
  642. data/ext/third_party/json/include/tao/json/msgpack/events/from_binary.hpp +43 -0
  643. data/ext/third_party/json/include/tao/json/msgpack/events/from_file.hpp +4 -4
  644. data/ext/third_party/json/include/tao/json/msgpack/events/from_string.hpp +4 -4
  645. data/ext/third_party/json/include/tao/json/msgpack/events/to_stream.hpp +4 -4
  646. data/ext/third_party/json/include/tao/json/msgpack/from_binary.hpp +32 -0
  647. data/ext/third_party/json/include/tao/json/msgpack/from_file.hpp +5 -5
  648. data/ext/third_party/json/include/tao/json/msgpack/internal/grammar.hpp +2 -1
  649. data/ext/third_party/json/include/tao/json/operators.hpp +0 -4
  650. data/ext/third_party/json/include/tao/json/parts_parser.hpp +3 -7
  651. data/ext/third_party/json/include/tao/json/self_contained.hpp +6 -18
  652. data/ext/third_party/json/include/tao/json/span.hpp +94 -166
  653. data/ext/third_party/json/include/tao/json/ubjson.hpp +1 -0
  654. data/ext/third_party/json/include/tao/json/ubjson/consume_file.hpp +7 -7
  655. data/ext/third_party/json/include/tao/json/ubjson/events/from_binary.hpp +43 -0
  656. data/ext/third_party/json/include/tao/json/ubjson/events/from_file.hpp +4 -4
  657. data/ext/third_party/json/include/tao/json/ubjson/events/from_string.hpp +3 -3
  658. data/ext/third_party/json/include/tao/json/ubjson/from_binary.hpp +32 -0
  659. data/ext/third_party/json/include/tao/json/ubjson/from_file.hpp +5 -5
  660. data/ext/third_party/json/include/tao/json/ubjson/internal/grammar.hpp +5 -3
  661. data/ext/third_party/json/include/tao/json/utf8.hpp +1 -1
  662. data/ext/third_party/snappy/snappy.cc +6 -2
  663. data/ext/third_party/spdlog/CMakeLists.txt +24 -57
  664. data/ext/third_party/spdlog/cmake/version.rc.in +1 -1
  665. data/ext/third_party/spdlog/include/spdlog/async.h +3 -3
  666. data/ext/third_party/spdlog/include/spdlog/cfg/argv.h +3 -4
  667. data/ext/third_party/spdlog/include/spdlog/cfg/env.h +6 -4
  668. data/ext/third_party/spdlog/include/spdlog/cfg/helpers-inl.h +22 -6
  669. data/ext/third_party/spdlog/include/spdlog/cfg/helpers.h +3 -2
  670. data/ext/third_party/spdlog/include/spdlog/common.h +1 -2
  671. data/ext/third_party/spdlog/include/spdlog/details/fmt_helper.h +9 -1
  672. data/ext/third_party/spdlog/include/spdlog/details/os.h +1 -1
  673. data/ext/third_party/spdlog/include/spdlog/details/registry-inl.h +21 -7
  674. data/ext/third_party/spdlog/include/spdlog/details/registry.h +6 -3
  675. data/ext/third_party/spdlog/include/spdlog/details/synchronous_factory.h +1 -1
  676. data/ext/third_party/spdlog/include/spdlog/details/tcp_client-windows.h +1 -1
  677. data/ext/third_party/spdlog/include/spdlog/details/tcp_client.h +8 -7
  678. data/ext/third_party/spdlog/include/spdlog/fmt/bin_to_hex.h +2 -2
  679. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/chrono.h +66 -62
  680. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/color.h +35 -37
  681. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/compile.h +173 -103
  682. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/core.h +538 -445
  683. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/format-inl.h +114 -64
  684. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/format.h +1152 -1071
  685. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/locale.h +16 -16
  686. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/os.h +450 -0
  687. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/ostream.h +37 -13
  688. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/posix.h +1 -1
  689. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/printf.h +93 -63
  690. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/ranges.h +35 -36
  691. data/ext/third_party/spdlog/include/spdlog/fmt/chrono.h +20 -0
  692. data/ext/third_party/spdlog/include/spdlog/fmt/fmt.h +2 -0
  693. data/ext/third_party/spdlog/include/spdlog/logger-inl.h +5 -1
  694. data/ext/third_party/spdlog/include/spdlog/logger.h +50 -76
  695. data/ext/third_party/spdlog/include/spdlog/pattern_formatter-inl.h +23 -8
  696. data/ext/third_party/spdlog/include/spdlog/pattern_formatter.h +3 -3
  697. data/ext/third_party/spdlog/include/spdlog/sinks/daily_file_sink.h +1 -1
  698. data/ext/third_party/spdlog/include/spdlog/sinks/msvc_sink.h +5 -5
  699. data/ext/third_party/spdlog/include/spdlog/sinks/ringbuffer_sink.h +6 -4
  700. data/ext/third_party/spdlog/include/spdlog/sinks/stdout_sinks-inl.h +32 -3
  701. data/ext/third_party/spdlog/include/spdlog/sinks/stdout_sinks.h +7 -0
  702. data/ext/third_party/spdlog/include/spdlog/sinks/wincolor_sink-inl.h +4 -14
  703. data/ext/third_party/spdlog/include/spdlog/spdlog-inl.h +11 -1
  704. data/ext/third_party/spdlog/include/spdlog/spdlog.h +23 -68
  705. data/ext/third_party/spdlog/include/spdlog/stopwatch.h +61 -0
  706. data/ext/third_party/spdlog/include/spdlog/version.h +2 -2
  707. data/ext/third_party/spdlog/src/fmt.cpp +21 -147
  708. data/lib/active_support/cache/couchbase_store.rb +362 -0
  709. data/lib/couchbase.rb +2 -0
  710. data/lib/couchbase/analytics_options.rb +1 -59
  711. data/lib/couchbase/authenticator.rb +40 -0
  712. data/lib/couchbase/binary_collection.rb +62 -23
  713. data/lib/couchbase/binary_collection_options.rb +0 -74
  714. data/lib/couchbase/bucket.rb +45 -40
  715. data/lib/couchbase/cluster.rb +250 -138
  716. data/lib/couchbase/collection.rb +324 -93
  717. data/lib/couchbase/collection_options.rb +75 -241
  718. data/lib/couchbase/configuration.rb +57 -0
  719. data/{Gemfile → lib/couchbase/datastructures.rb} +9 -9
  720. data/lib/couchbase/datastructures/couchbase_list.rb +160 -0
  721. data/lib/couchbase/datastructures/couchbase_map.rb +194 -0
  722. data/lib/couchbase/datastructures/couchbase_queue.rb +134 -0
  723. data/lib/couchbase/datastructures/couchbase_set.rb +128 -0
  724. data/lib/couchbase/diagnostics.rb +181 -0
  725. data/lib/couchbase/errors.rb +186 -65
  726. data/lib/couchbase/json_transcoder.rb +3 -3
  727. data/{bin/check-cluster → lib/couchbase/logger.rb} +27 -16
  728. data/lib/couchbase/{common_options.rb → management.rb} +11 -13
  729. data/lib/couchbase/management/analytics_index_manager.rb +37 -37
  730. data/lib/couchbase/management/bucket_manager.rb +70 -30
  731. data/lib/couchbase/management/collection_manager.rb +4 -4
  732. data/lib/couchbase/management/query_index_manager.rb +60 -15
  733. data/lib/couchbase/management/search_index_manager.rb +57 -13
  734. data/lib/couchbase/management/user_manager.rb +176 -50
  735. data/lib/couchbase/management/view_index_manager.rb +11 -5
  736. data/lib/couchbase/mutation_state.rb +13 -0
  737. data/lib/couchbase/options.rb +2104 -0
  738. data/lib/couchbase/query_options.rb +6 -105
  739. data/lib/couchbase/railtie.rb +45 -0
  740. data/lib/couchbase/scope.rb +87 -9
  741. data/lib/couchbase/search_options.rb +98 -103
  742. data/lib/couchbase/subdoc.rb +31 -28
  743. data/{bin/console → lib/couchbase/utils.rb} +6 -6
  744. data/lib/couchbase/utils/time.rb +52 -0
  745. data/lib/couchbase/version.rb +21 -2
  746. data/lib/couchbase/view_options.rb +4 -94
  747. data/{bin/setup → lib/rails/generators/couchbase/config/config_generator.rb} +12 -9
  748. metadata +227 -346
  749. data/.github/workflows/tests-6.0.3.yml +0 -52
  750. data/.github/workflows/tests-dev-preview.yml +0 -55
  751. data/.github/workflows/tests.yml +0 -50
  752. data/.gitignore +0 -20
  753. data/.gitmodules +0 -21
  754. data/.idea/.gitignore +0 -5
  755. data/.idea/dictionaries/gem_terms.xml +0 -18
  756. data/.idea/inspectionProfiles/Project_Default.xml +0 -8
  757. data/.idea/vcs.xml +0 -13
  758. data/.yardopts +0 -1
  759. data/Rakefile +0 -51
  760. data/bin/fetch-stats +0 -19
  761. data/bin/init-cluster +0 -82
  762. data/bin/jenkins/build-extension +0 -35
  763. data/bin/jenkins/install-dependencies +0 -47
  764. data/bin/jenkins/test-with-cbdyncluster +0 -58
  765. data/couchbase.gemspec +0 -73
  766. data/examples/analytics.rb +0 -221
  767. data/examples/crud.rb +0 -20
  768. data/examples/managing_analytics_indexes.rb +0 -72
  769. data/examples/managing_buckets.rb +0 -47
  770. data/examples/managing_collections.rb +0 -58
  771. data/examples/managing_query_indexes.rb +0 -63
  772. data/examples/managing_search_indexes.rb +0 -62
  773. data/examples/managing_view_indexes.rb +0 -54
  774. data/examples/query.rb +0 -18
  775. data/examples/query_with_consistency.rb +0 -76
  776. data/examples/search.rb +0 -187
  777. data/examples/search_with_consistency.rb +0 -84
  778. data/examples/subdocument.rb +0 -51
  779. data/examples/view.rb +0 -50
  780. data/ext/.clang-format +0 -15
  781. data/ext/.clang-tidy +0 -22
  782. data/ext/.cmake-format.yaml +0 -8
  783. data/ext/.gitignore +0 -2
  784. data/ext/.idea/.name +0 -1
  785. data/ext/.idea/dictionaries/couchbase_terms.xml +0 -14
  786. data/ext/.idea/ext.iml +0 -2
  787. data/ext/.idea/misc.xml +0 -4
  788. data/ext/.idea/modules.xml +0 -8
  789. data/ext/.idea/vcs.xml +0 -12
  790. data/ext/couchbase/configuration_monitor.hxx +0 -93
  791. data/ext/couchbase/operations/command.hxx +0 -163
  792. data/ext/test/main.cxx +0 -58
  793. data/ext/third_party/asio/.appveyor.yml +0 -107
  794. data/ext/third_party/asio/.cirrus.yml +0 -16
  795. data/ext/third_party/asio/.gitignore +0 -3
  796. data/ext/third_party/asio/.travis.yml +0 -323
  797. data/ext/third_party/asio/asio/.gitignore +0 -23
  798. data/ext/third_party/asio/asio/COPYING +0 -4
  799. data/ext/third_party/asio/asio/INSTALL +0 -5
  800. data/ext/third_party/asio/asio/LICENSE_1_0.txt +0 -23
  801. data/ext/third_party/asio/asio/Makefile.am +0 -19
  802. data/ext/third_party/asio/asio/README +0 -4
  803. data/ext/third_party/asio/asio/asio.manifest +0 -4865
  804. data/ext/third_party/asio/asio/autogen.sh +0 -55
  805. data/ext/third_party/asio/asio/boost_asio.manifest +0 -5193
  806. data/ext/third_party/asio/asio/boostify.pl +0 -603
  807. data/ext/third_party/asio/asio/configure.ac +0 -182
  808. data/ext/third_party/asio/asio/include/.gitignore +0 -2
  809. data/ext/third_party/asio/asio/include/Makefile.am +0 -484
  810. data/ext/third_party/asio/asio/include/asio/detail/io_object_executor.hpp +0 -167
  811. data/ext/third_party/asio/asio/include/asio/impl/src.cpp +0 -25
  812. data/ext/third_party/asio/asio/release.pl +0 -440
  813. data/ext/third_party/asio/asio/src/.gitignore +0 -11
  814. data/ext/third_party/asio/asio/src/Makefile.am +0 -23
  815. data/ext/third_party/asio/asio/src/Makefile.mgw +0 -204
  816. data/ext/third_party/asio/asio/src/Makefile.msc +0 -497
  817. data/ext/third_party/asio/asio/src/asio.cpp +0 -11
  818. data/ext/third_party/asio/asio/src/asio_ssl.cpp +0 -11
  819. data/ext/third_party/asio/asio/src/doc/.gitignore +0 -5
  820. data/ext/third_party/asio/asio/src/doc/Jamfile.v2 +0 -62
  821. data/ext/third_party/asio/asio/src/doc/asio.png +0 -0
  822. data/ext/third_party/asio/asio/src/doc/asio.qbk +0 -127
  823. data/ext/third_party/asio/asio/src/doc/asioref.sty +0 -90
  824. data/ext/third_party/asio/asio/src/doc/asioref.xsl +0 -94
  825. data/ext/third_party/asio/asio/src/doc/boost_bind_dox.txt +0 -5
  826. data/ext/third_party/asio/asio/src/doc/doxy2qbk.pl +0 -22
  827. data/ext/third_party/asio/asio/src/doc/examples.qbk +0 -564
  828. data/ext/third_party/asio/asio/src/doc/history.qbk +0 -1794
  829. data/ext/third_party/asio/asio/src/doc/index.xml +0 -13
  830. data/ext/third_party/asio/asio/src/doc/makepdf.pl +0 -26
  831. data/ext/third_party/asio/asio/src/doc/net_ts.qbk +0 -479
  832. data/ext/third_party/asio/asio/src/doc/noncopyable_dox.txt +0 -3
  833. data/ext/third_party/asio/asio/src/doc/overview.qbk +0 -103
  834. data/ext/third_party/asio/asio/src/doc/overview/allocation.qbk +0 -89
  835. data/ext/third_party/asio/asio/src/doc/overview/async.qbk +0 -185
  836. data/ext/third_party/asio/asio/src/doc/overview/async_op1.dot +0 -78
  837. data/ext/third_party/asio/asio/src/doc/overview/async_op1.png +0 -0
  838. data/ext/third_party/asio/asio/src/doc/overview/async_op2.dot +0 -78
  839. data/ext/third_party/asio/asio/src/doc/overview/async_op2.png +0 -0
  840. data/ext/third_party/asio/asio/src/doc/overview/basics.qbk +0 -106
  841. data/ext/third_party/asio/asio/src/doc/overview/bsd_sockets.qbk +0 -270
  842. data/ext/third_party/asio/asio/src/doc/overview/buffers.qbk +0 -163
  843. data/ext/third_party/asio/asio/src/doc/overview/concurrency_hint.qbk +0 -88
  844. data/ext/third_party/asio/asio/src/doc/overview/coroutine.qbk +0 -51
  845. data/ext/third_party/asio/asio/src/doc/overview/coroutines_ts.qbk +0 -97
  846. data/ext/third_party/asio/asio/src/doc/overview/cpp2011.qbk +0 -271
  847. data/ext/third_party/asio/asio/src/doc/overview/handler_tracking.qbk +0 -220
  848. data/ext/third_party/asio/asio/src/doc/overview/implementation.qbk +0 -305
  849. data/ext/third_party/asio/asio/src/doc/overview/iostreams.qbk +0 -72
  850. data/ext/third_party/asio/asio/src/doc/overview/line_based.qbk +0 -118
  851. data/ext/third_party/asio/asio/src/doc/overview/other_protocols.qbk +0 -94
  852. data/ext/third_party/asio/asio/src/doc/overview/posix.qbk +0 -152
  853. data/ext/third_party/asio/asio/src/doc/overview/proactor.dot +0 -100
  854. data/ext/third_party/asio/asio/src/doc/overview/proactor.png +0 -0
  855. data/ext/third_party/asio/asio/src/doc/overview/protocols.qbk +0 -149
  856. data/ext/third_party/asio/asio/src/doc/overview/rationale.qbk +0 -54
  857. data/ext/third_party/asio/asio/src/doc/overview/reactor.qbk +0 -44
  858. data/ext/third_party/asio/asio/src/doc/overview/serial_ports.qbk +0 -45
  859. data/ext/third_party/asio/asio/src/doc/overview/signals.qbk +0 -44
  860. data/ext/third_party/asio/asio/src/doc/overview/spawn.qbk +0 -102
  861. data/ext/third_party/asio/asio/src/doc/overview/ssl.qbk +0 -124
  862. data/ext/third_party/asio/asio/src/doc/overview/strands.qbk +0 -114
  863. data/ext/third_party/asio/asio/src/doc/overview/streams.qbk +0 -62
  864. data/ext/third_party/asio/asio/src/doc/overview/sync_op.dot +0 -67
  865. data/ext/third_party/asio/asio/src/doc/overview/sync_op.png +0 -0
  866. data/ext/third_party/asio/asio/src/doc/overview/threads.qbk +0 -67
  867. data/ext/third_party/asio/asio/src/doc/overview/timers.qbk +0 -52
  868. data/ext/third_party/asio/asio/src/doc/overview/windows.qbk +0 -126
  869. data/ext/third_party/asio/asio/src/doc/project-root.jam +0 -1
  870. data/ext/third_party/asio/asio/src/doc/quickref.xml +0 -561
  871. data/ext/third_party/asio/asio/src/doc/reference.dox +0 -264
  872. data/ext/third_party/asio/asio/src/doc/reference.qbk +0 -125973
  873. data/ext/third_party/asio/asio/src/doc/reference.xsl +0 -1831
  874. data/ext/third_party/asio/asio/src/doc/release_checklist.htm +0 -68
  875. data/ext/third_party/asio/asio/src/doc/requirements/AcceptHandler.qbk +0 -72
  876. data/ext/third_party/asio/asio/src/doc/requirements/AcceptableProtocol.qbk +0 -25
  877. data/ext/third_party/asio/asio/src/doc/requirements/AsyncRandomAccessReadDevice.qbk +0 -56
  878. data/ext/third_party/asio/asio/src/doc/requirements/AsyncRandomAccessWriteDevice.qbk +0 -57
  879. data/ext/third_party/asio/asio/src/doc/requirements/AsyncReadStream.qbk +0 -50
  880. data/ext/third_party/asio/asio/src/doc/requirements/AsyncWriteStream.qbk +0 -48
  881. data/ext/third_party/asio/asio/src/doc/requirements/BufferedHandshakeHandler.qbk +0 -55
  882. data/ext/third_party/asio/asio/src/doc/requirements/CompletionCondition.qbk +0 -42
  883. data/ext/third_party/asio/asio/src/doc/requirements/CompletionHandler.qbk +0 -63
  884. data/ext/third_party/asio/asio/src/doc/requirements/ConnectCondition.qbk +0 -34
  885. data/ext/third_party/asio/asio/src/doc/requirements/ConnectHandler.qbk +0 -72
  886. data/ext/third_party/asio/asio/src/doc/requirements/ConstBufferSequence.qbk +0 -53
  887. data/ext/third_party/asio/asio/src/doc/requirements/DynamicBuffer.qbk +0 -16
  888. data/ext/third_party/asio/asio/src/doc/requirements/DynamicBuffer_v1.qbk +0 -93
  889. data/ext/third_party/asio/asio/src/doc/requirements/DynamicBuffer_v2.qbk +0 -94
  890. data/ext/third_party/asio/asio/src/doc/requirements/Endpoint.qbk +0 -97
  891. data/ext/third_party/asio/asio/src/doc/requirements/EndpointSequence.qbk +0 -30
  892. data/ext/third_party/asio/asio/src/doc/requirements/ExecutionContext.qbk +0 -36
  893. data/ext/third_party/asio/asio/src/doc/requirements/Executor.qbk +0 -141
  894. data/ext/third_party/asio/asio/src/doc/requirements/GettableSerialPortOption.qbk +0 -33
  895. data/ext/third_party/asio/asio/src/doc/requirements/GettableSocketOption.qbk +0 -67
  896. data/ext/third_party/asio/asio/src/doc/requirements/Handler.qbk +0 -64
  897. data/ext/third_party/asio/asio/src/doc/requirements/HandshakeHandler.qbk +0 -72
  898. data/ext/third_party/asio/asio/src/doc/requirements/InternetProtocol.qbk +0 -47
  899. data/ext/third_party/asio/asio/src/doc/requirements/IoControlCommand.qbk +0 -34
  900. data/ext/third_party/asio/asio/src/doc/requirements/IoObjectService.qbk +0 -62
  901. data/ext/third_party/asio/asio/src/doc/requirements/IteratorConnectHandler.qbk +0 -81
  902. data/ext/third_party/asio/asio/src/doc/requirements/LegacyCompletionHandler.qbk +0 -65
  903. data/ext/third_party/asio/asio/src/doc/requirements/MoveAcceptHandler.qbk +0 -61
  904. data/ext/third_party/asio/asio/src/doc/requirements/MutableBufferSequence.qbk +0 -54
  905. data/ext/third_party/asio/asio/src/doc/requirements/ProtoAllocator.qbk +0 -19
  906. data/ext/third_party/asio/asio/src/doc/requirements/Protocol.qbk +0 -56
  907. data/ext/third_party/asio/asio/src/doc/requirements/RangeConnectHandler.qbk +0 -82
  908. data/ext/third_party/asio/asio/src/doc/requirements/ReadHandler.qbk +0 -79
  909. data/ext/third_party/asio/asio/src/doc/requirements/ResolveHandler.qbk +0 -82
  910. data/ext/third_party/asio/asio/src/doc/requirements/Service.qbk +0 -40
  911. data/ext/third_party/asio/asio/src/doc/requirements/SettableSerialPortOption.qbk +0 -33
  912. data/ext/third_party/asio/asio/src/doc/requirements/SettableSocketOption.qbk +0 -54
  913. data/ext/third_party/asio/asio/src/doc/requirements/ShutdownHandler.qbk +0 -72
  914. data/ext/third_party/asio/asio/src/doc/requirements/SignalHandler.qbk +0 -79
  915. data/ext/third_party/asio/asio/src/doc/requirements/SyncRandomAccessReadDevice.qbk +0 -49
  916. data/ext/third_party/asio/asio/src/doc/requirements/SyncRandomAccessWriteDevice.qbk +0 -49
  917. data/ext/third_party/asio/asio/src/doc/requirements/SyncReadStream.qbk +0 -41
  918. data/ext/third_party/asio/asio/src/doc/requirements/SyncWriteStream.qbk +0 -39
  919. data/ext/third_party/asio/asio/src/doc/requirements/TimeTraits.qbk +0 -72
  920. data/ext/third_party/asio/asio/src/doc/requirements/WaitHandler.qbk +0 -72
  921. data/ext/third_party/asio/asio/src/doc/requirements/WaitTraits.qbk +0 -52
  922. data/ext/third_party/asio/asio/src/doc/requirements/WriteHandler.qbk +0 -79
  923. data/ext/third_party/asio/asio/src/doc/requirements/asynchronous_operations.qbk +0 -300
  924. data/ext/third_party/asio/asio/src/doc/requirements/asynchronous_socket_operations.qbk +0 -39
  925. data/ext/third_party/asio/asio/src/doc/requirements/read_write_operations.qbk +0 -34
  926. data/ext/third_party/asio/asio/src/doc/requirements/synchronous_socket_operations.qbk +0 -37
  927. data/ext/third_party/asio/asio/src/doc/std_exception_dox.txt +0 -7
  928. data/ext/third_party/asio/asio/src/doc/tutorial.dox +0 -226
  929. data/ext/third_party/asio/asio/src/doc/tutorial.qbk +0 -2387
  930. data/ext/third_party/asio/asio/src/doc/tutorial.xsl +0 -437
  931. data/ext/third_party/asio/asio/src/doc/using.qbk +0 -309
  932. data/ext/third_party/asio/asio/tsify.pl +0 -574
  933. data/ext/third_party/gsl/.clang-format +0 -34
  934. data/ext/third_party/gsl/.github/workflows/main.yml +0 -94
  935. data/ext/third_party/gsl/.gitignore +0 -16
  936. data/ext/third_party/gsl/.travis.yml +0 -551
  937. data/ext/third_party/gsl/CMakeSettings.json +0 -18
  938. data/ext/third_party/gsl/CONTRIBUTING.md +0 -29
  939. data/ext/third_party/gsl/GSL.natvis +0 -98
  940. data/ext/third_party/gsl/README.md +0 -124
  941. data/ext/third_party/gsl/appveyor.yml +0 -128
  942. data/ext/third_party/http_parser/.gitignore +0 -30
  943. data/ext/third_party/http_parser/.mailmap +0 -8
  944. data/ext/third_party/http_parser/.travis.yml +0 -13
  945. data/ext/third_party/http_parser/AUTHORS +0 -68
  946. data/ext/third_party/http_parser/README.md +0 -246
  947. data/ext/third_party/http_parser/bench.c +0 -128
  948. data/ext/third_party/http_parser/http_parser.gyp +0 -111
  949. data/ext/third_party/http_parser/test.c +0 -4600
  950. data/ext/third_party/json/.appveyor.yml +0 -44
  951. data/ext/third_party/json/.clang-format +0 -84
  952. data/ext/third_party/json/.conan/build.py +0 -80
  953. data/ext/third_party/json/.conan/test_package/CMakeLists.txt +0 -12
  954. data/ext/third_party/json/.conan/test_package/conanfile.py +0 -24
  955. data/ext/third_party/json/.conan/test_package/test_package.cpp +0 -16
  956. data/ext/third_party/json/.gitignore +0 -3
  957. data/ext/third_party/json/.travis.yml +0 -173
  958. data/ext/third_party/json/README.md +0 -149
  959. data/ext/third_party/json/conanfile.py +0 -28
  960. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/analyze_cycles.hpp +0 -127
  961. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/counted.hpp +0 -23
  962. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/generic.hpp +0 -31
  963. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/grammar_info.hpp +0 -32
  964. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/insert_guard.hpp +0 -51
  965. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/insert_rules.hpp +0 -25
  966. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/rule_info.hpp +0 -29
  967. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/rule_type.hpp +0 -21
  968. data/ext/third_party/json/include/tao/json/external/pegtl/analyze.hpp +0 -21
  969. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/counter.hpp +0 -54
  970. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/tracer.hpp +0 -158
  971. data/ext/third_party/json/include/tao/json/external/pegtl/internal/alnum.hpp +0 -18
  972. data/ext/third_party/json/include/tao/json/external/pegtl/internal/alpha.hpp +0 -18
  973. data/ext/third_party/json/include/tao/json/external/pegtl/internal/dusel_mode.hpp +0 -23
  974. data/ext/third_party/json/include/tao/json/external/pegtl/internal/duseltronik.hpp +0 -187
  975. data/ext/third_party/json/include/tao/json/external/pegtl/internal/file_opener.hpp +0 -72
  976. data/ext/third_party/json/include/tao/json/external/pegtl/internal/trivial.hpp +0 -32
  977. data/ext/third_party/snappy/.appveyor.yml +0 -36
  978. data/ext/third_party/snappy/.gitignore +0 -8
  979. data/ext/third_party/snappy/.travis.yml +0 -98
  980. data/ext/third_party/snappy/AUTHORS +0 -1
  981. data/ext/third_party/snappy/CONTRIBUTING.md +0 -26
  982. data/ext/third_party/snappy/NEWS +0 -188
  983. data/ext/third_party/snappy/README.md +0 -148
  984. data/ext/third_party/snappy/docs/README.md +0 -72
  985. data/ext/third_party/snappy/format_description.txt +0 -110
  986. data/ext/third_party/snappy/framing_format.txt +0 -135
  987. data/ext/third_party/snappy/snappy-test.cc +0 -613
  988. data/ext/third_party/snappy/snappy-test.h +0 -526
  989. data/ext/third_party/snappy/snappy_compress_fuzzer.cc +0 -60
  990. data/ext/third_party/snappy/snappy_uncompress_fuzzer.cc +0 -58
  991. data/ext/third_party/snappy/snappy_unittest.cc +0 -1512
  992. data/ext/third_party/spdlog/.clang-format +0 -108
  993. data/ext/third_party/spdlog/.clang-tidy +0 -54
  994. data/ext/third_party/spdlog/.gitattributes +0 -1
  995. data/ext/third_party/spdlog/.gitignore +0 -83
  996. data/ext/third_party/spdlog/.travis.yml +0 -112
  997. data/ext/third_party/spdlog/INSTALL +0 -24
  998. data/ext/third_party/spdlog/README.md +0 -423
  999. data/ext/third_party/spdlog/appveyor.yml +0 -51
  1000. data/ext/third_party/spdlog/include/spdlog/cfg/log_levels.h +0 -47
  1001. data/rbi/couchbase.rbi +0 -79
@@ -1,30 +0,0 @@
1
- [/
2
- / Copyright (c) 2003-2020 Christopher M. Kohlhoff (chris at kohlhoff dot com)
3
- /
4
- / Distributed under the Boost Software License, Version 1.0. (See accompanying
5
- / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6
- /]
7
-
8
- [section:EndpointSequence Endpoint sequence requirements]
9
-
10
- A type `X` meets the `EndpointSequence` requirements if it satisfies the
11
- requirements of `Destructible` (C++Std [destructible]) and `CopyConstructible`
12
- (C++Std [copyconstructible]), as well as the additional requirements listed
13
- below.
14
-
15
- In the table below, `x` denotes a (possibly const) value of type `X`.
16
-
17
- [table EndpointSequence requirements
18
- [[expression] [return type] [assertion/note[br]pre/post-condition]]
19
- [
20
- [`x.begin()`[br]
21
- `x.end()`]
22
- [A type meeting the requirements for forward iterators
23
- (C++Std \[forward.iterators\]) whose value type is convertible to
24
- a type satisfying the [link asio.reference.Endpoint `Endpoint`]
25
- requirements.]
26
- [[half_open_range `x.begin()`,`x.end()`] is a valid range.]
27
- ]
28
- ]
29
-
30
- [endsect]
@@ -1,36 +0,0 @@
1
- [/
2
- / Copyright (c) 2003-2020 Christopher M. Kohlhoff (chris at kohlhoff dot com)
3
- /
4
- / Distributed under the Boost Software License, Version 1.0. (See accompanying
5
- / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6
- /]
7
-
8
- [section:ExecutionContext Execution context requirements]
9
-
10
- A type `X` meets the `ExecutionContext` requirements if it is publicly and
11
- unambiguously derived from `execution_context`, and satisfies the additional
12
- requirements listed below.
13
-
14
- In the table below, `x` denotes a value of type `X`.
15
-
16
- [table ExecutionContext requirements
17
- [[expression] [return type] [assertion/note[br]pre/post-condition]]
18
- [
19
- [`X::executor_type`]
20
- [type meeting [link asio.reference.Executor1 `Executor`] requirements]
21
- []
22
- ]
23
- [
24
- [`x.~X()`]
25
- []
26
- [Destroys all unexecuted function objects that were submitted via an
27
- executor object that is associated with the execution context.]
28
- ]
29
- [
30
- [`x.get_executor()`]
31
- [`X::executor_type`]
32
- [Returns an executor object that is associated with the execution context.]
33
- ]
34
- ]
35
-
36
- [endsect]
@@ -1,141 +0,0 @@
1
- [/
2
- / Copyright (c) 2003-2020 Christopher M. Kohlhoff (chris at kohlhoff dot com)
3
- /
4
- / Distributed under the Boost Software License, Version 1.0. (See accompanying
5
- / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6
- /]
7
-
8
- [section:Executor1 Executor requirements]
9
-
10
- The library describes a standard set of requirements for ['executors]. A type
11
- meeting the `Executor` requirements embodies a set of rules for determining how
12
- submitted function objects are to be executed.
13
-
14
- A type `X` meets the `Executor` requirements if it satisfies the requirements of
15
- `CopyConstructible` (C++Std [copyconstructible]) and `Destructible` (C++Std
16
- [destructible]), as well as the additional requirements listed below.
17
-
18
- No constructor, comparison operator, copy operation, move operation, swap
19
- operation, or member functions `context`, `on_work_started`, and
20
- `on_work_finished` on these types shall exit via an exception.
21
-
22
- The executor copy constructor, comparison operators, and other member functions
23
- defined in these requirements shall not introduce data races as a result of
24
- concurrent calls to those functions from different threads.
25
-
26
- Let `ctx` be the execution context returned by the executor's `context()`
27
- member function. An executor becomes ['invalid] when the first call to
28
- `ctx.shutdown()` returns. The effect of calling `on_work_started`,
29
- `on_work_finished`, `dispatch`, `post`, or `defer` on an invalid executor is
30
- undefined. [inline_note The copy constructor, comparison operators, and
31
- `context()` member function continue to remain valid until `ctx` is destroyed.]
32
-
33
- In the table below, `x1` and `x2` denote (possibly const) values of type `X`,
34
- `mx1` denotes an xvalue of type `X`, `f` denotes a `MoveConstructible` (C++Std
35
- [moveconstructible]) function object callable with zero arguments, `a` denotes
36
- a (possibly const) value of type `A` meeting the `Allocator` requirements
37
- (C++Std [allocator.requirements]), and `u` denotes an identifier.
38
-
39
- [table Executor requirements
40
- [[expression] [type] [assertion/note[br]pre/post-conditions]]
41
- [
42
- [`X u(x1);`]
43
- []
44
- [Shall not exit via an exception.[br]
45
- [br]
46
- post: `u == x1` and
47
- `std::addressof(u.context()) == std::addressof(x1.context()).`]
48
- ]
49
- [
50
- [`X u(mx1);`]
51
- []
52
- [Shall not exit via an exception.[br]
53
- [br]
54
- post: `u` equals the prior value of `mx1` and
55
- `std::addressof(u.context())` equals the prior value of
56
- `std::addressof(mx1.context())`.]
57
- ]
58
- [
59
- [`x1 == x2`]
60
- [`bool`]
61
- [ Returns `true` only if `x1` and `x2` can be interchanged with identical
62
- effects in any of the expressions defined in these type requirements.
63
- [inline_note Returning `false` does not necessarily imply that the effects
64
- are not identical.][br]
65
- [br]
66
- `operator==` shall be reflexive, symmetric, and transitive, and shall not
67
- exit via an exception.]
68
- ]
69
- [
70
- [`x1 != x2`]
71
- [`bool`]
72
- [Same as `!(x1 == x2)`.]
73
- ]
74
- [
75
- [`x1.context()`]
76
- [`execution_context&`, or `E&` where `E` is a type that satifisfies the
77
- [link asio.reference.ExecutionContext `ExecutionContext`] requirements.]
78
- [Shall not exit via an exception.[br]
79
- [br]
80
- The comparison operators and member functions defined in these
81
- requirements shall not alter the reference returned by this function.]
82
- ]
83
- [
84
- [`x1.on_work_started()`]
85
- []
86
- [Shall not exit via an exception.]
87
- ]
88
- [
89
- [`x1.on_work_finished()`]
90
- []
91
- [Shall not exit via an exception.[br]
92
- [br]
93
- Precondition: A preceding call `x2.on_work_started()` where `x1 == x2`.]
94
- ]
95
- [
96
- [`x1.dispatch(std::move(f),a)`]
97
- []
98
- [Effects: Creates an object `f1` initialized with
99
- [^['DECAY_COPY]]`(forward<Func>(f))` (C++Std \[thread.decaycopy\]) in the
100
- current thread of execution . Calls `f1()` at most once. The executor may
101
- block forward progress of the caller until `f1()` finishes execution.[br]
102
- [br]
103
- Executor implementations should use the supplied allocator to allocate any
104
- memory required to store the function object. Prior to invoking the
105
- function object, the executor shall deallocate any memory allocated.
106
- [inline_note Executors defined in this Technical Specification always use
107
- the supplied allocator unless otherwise specified.][br]
108
- [br]
109
- Synchronization: The invocation of `dispatch` synchronizes with (C++Std
110
- \[intro.multithread\]) the invocation of `f1`.]
111
- ]
112
- [
113
- [`x1.post(std::move(f),a)`[br]
114
- `x1.defer(std::move(f),a)`]
115
- []
116
- [Effects: Creates an object `f1` initialized with
117
- [^['DECAY_COPY]]`(forward<Func>(f))` in the current thread of execution.
118
- Calls `f1()` at most once. The executor shall not block forward progress
119
- of the caller pending completion of `f1()`.[br]
120
- [br]
121
- Executor implementations should use the supplied allocator to allocate any
122
- memory required to store the function object. Prior to invoking the
123
- function object, the executor shall deallocate any memory allocated.
124
- [inline_note Executors defined in this Technical Specification always use
125
- the supplied allocator unless otherwise specified.][br]
126
- [br]
127
- Synchronization: The invocation of `post` or `defer` synchronizes with
128
- (C++Std \[intro.multithread\]) the invocation of `f1`.[br]
129
- [br]
130
- [inline_note Although the requirements placed on `defer` are identical to
131
- `post`, the use of `post` conveys a preference that the caller ['does not]
132
- block the first step of [^f1]'s progress, whereas `defer` conveys a
133
- preference that the caller ['does] block the first step of [^f1]. One use
134
- of `defer` is to convey the intention of the caller that [^f1] is a
135
- continuation of the current call context. The executor may use this
136
- information to optimize or otherwise adjust the way in which `f1` is
137
- invoked.]]
138
- ]
139
- ]
140
-
141
- [endsect]
@@ -1,33 +0,0 @@
1
- [/
2
- / Copyright (c) 2003-2020 Christopher M. Kohlhoff (chris at kohlhoff dot com)
3
- /
4
- / Distributed under the Boost Software License, Version 1.0. (See accompanying
5
- / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6
- /]
7
-
8
- [section:GettableSerialPortOption Gettable serial port option requirements]
9
-
10
- In the table below, `X` denotes a serial port option class, `a` denotes a value
11
- of `X`, `ec` denotes a value of type `error_code`, and `s` denotes a value of
12
- implementation-defined type ['[^storage]] (where ['[^storage]] is the type
13
- `DCB` on Windows and `termios` on __POSIX__ platforms), and `u` denotes an
14
- identifier.
15
-
16
- [table GettableSerialPortOption requirements
17
- [[expression] [type] [assertion/note[br]pre/post-conditions]]
18
- [
19
- [
20
- `const `['[^storage]]`& u = s;`[br]
21
- `a.load(u, ec);`
22
- ]
23
- [`error_code`]
24
- [
25
- Retrieves the value of the serial port option from the storage.[br]
26
- [br]
27
- If successful, sets `ec` such that `!ec` is true. If an error occurred,
28
- sets `ec` such that `!!ec` is true. Returns `ec`.
29
- ]
30
- ]
31
- ]
32
-
33
- [endsect]
@@ -1,67 +0,0 @@
1
- [/
2
- / Copyright (c) 2003-2020 Christopher M. Kohlhoff (chris at kohlhoff dot com)
3
- /
4
- / Distributed under the Boost Software License, Version 1.0. (See accompanying
5
- / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6
- /]
7
-
8
- [section:GettableSocketOption Gettable socket option requirements]
9
-
10
- A type `X` meets the `GettableSocketOption` requirements if it satisfies the
11
- requirements listed below.
12
-
13
- In the table below, `a` denotes a (possibly const) value of type `X`, `b`
14
- denotes a value of type `X`, `p` denotes a (possibly const) value that meets
15
- the [link asio.reference.Protocol `Protocol`] requirements, and `s` denotes a
16
- (possibly const) value of a type that is convertible to `size_t` and denotes a
17
- size in bytes.
18
-
19
- [table GettableSocketOption requirements for extensible implementations
20
- [[expression] [type] [assertion/note[br]pre/post-conditions]]
21
- [
22
- [`a.level(p)`]
23
- [`int`]
24
- [
25
- Returns a value suitable for passing as the /level/ argument to __POSIX__
26
- __getsockopt__ (or equivalent).
27
- ]
28
- ]
29
- [
30
- [`a.name(p)`]
31
- [`int`]
32
- [
33
- Returns a value suitable for passing as the /option_name/ argument to
34
- __POSIX__ __getsockopt__ (or equivalent).
35
- ]
36
- ]
37
- [
38
- [`b.data(p)`]
39
- [`void*`]
40
- [
41
- Returns a pointer suitable for passing as the /option_value/ argument to
42
- __POSIX__ __getsockopt__ (or equivalent).
43
- ]
44
- ]
45
- [
46
- [`a.size(p)`]
47
- [`size_t`]
48
- [
49
- Returns a value suitable for passing as the /option_len/ argument to
50
- __POSIX__ __getsockopt__ (or equivalent), after appropriate
51
- integer conversion has been performed.
52
- ]
53
- ]
54
- [
55
- [`b.resize(p,s)`]
56
- []
57
- [
58
- post: `b.size(p) == s`.[br]
59
- Passed the value contained in the /option_len/ argument to __POSIX__
60
- __getsockopt__ (or equivalent) after successful completion of the
61
- function. Permitted to throw an exception if the socket option object `b`
62
- does not support the specified size.
63
- ]
64
- ]
65
- ]
66
-
67
- [endsect]
@@ -1,64 +0,0 @@
1
- [/
2
- / Copyright (c) 2003-2020 Christopher M. Kohlhoff (chris at kohlhoff dot com)
3
- /
4
- / Distributed under the Boost Software License, Version 1.0. (See accompanying
5
- / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6
- /]
7
-
8
- [section:Handler Handlers]
9
-
10
- A handler must meet the requirements of `MoveConstructible` types (C++Std
11
- [moveconstructible]).
12
-
13
- In the table below, `X` denotes a handler class, `h` denotes a value of `X`,
14
- `p` denotes a pointer to a block of allocated memory of type `void*`, `s`
15
- denotes the size for a block of allocated memory, and `f` denotes a function
16
- object taking no arguments.
17
-
18
- [table Handler requirements
19
- [[expression] [return type] [assertion/note[br]pre/post-conditions]]
20
- [
21
- [``
22
- using asio::asio_handler_allocate;
23
- asio_handler_allocate(s, &h);
24
- ``]
25
- [`void*`]
26
- [
27
- Returns a pointer to a block of memory of size `s`. The pointer must
28
- satisfy the same alignment requirements as a pointer returned by
29
- `::operator new()`. Throws `bad_alloc` on failure.[br][br] The
30
- `asio_handler_allocate()` function is located using argument-dependent
31
- lookup. The function `asio::asio_handler_allocate()` serves as a
32
- default if no user-supplied function is available.
33
- ]
34
- ]
35
- [
36
- [``
37
- using asio::asio_handler_deallocate;
38
- asio_handler_deallocate(p, s, &h);
39
- ``]
40
- []
41
- [
42
- Frees a block of memory associated with a pointer `p`, of at least size
43
- `s`, that was previously allocated using `asio_handler_allocate()`.[br][br] The
44
- `asio_handler_deallocate()` function is located using argument-dependent
45
- lookup. The function `asio::asio_handler_deallocate()` serves as a
46
- default if no user-supplied function is available.
47
- ]
48
- ]
49
- [
50
- [``
51
- using asio::asio_handler_invoke;
52
- asio_handler_invoke(f, &h);
53
- ``]
54
- []
55
- [
56
- Causes the function object `f` to be executed as if by calling `f()`.[br][br]
57
- The `asio_handler_invoke()` function is located using argument-dependent
58
- lookup. The function `asio::asio_handler_invoke()` serves as a
59
- default if no user-supplied function is available.
60
- ]
61
- ]
62
- ]
63
-
64
- [endsect]
@@ -1,72 +0,0 @@
1
- [/
2
- / Copyright (c) 2003-2020 Christopher M. Kohlhoff (chris at kohlhoff dot com)
3
- /
4
- / Distributed under the Boost Software License, Version 1.0. (See accompanying
5
- / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6
- /]
7
-
8
- [section:HandshakeHandler SSL handshake handler requirements]
9
-
10
- A handshake handler must meet the requirements for a [link
11
- asio.reference.Handler handler]. A value `h` of a handshake handler
12
- class should work correctly in the expression `h(ec)`, where `ec` is an lvalue
13
- of type `const error_code`.
14
-
15
- [heading Examples]
16
-
17
- A free function as a handshake handler:
18
-
19
- void handshake_handler(
20
- const asio::error_code& ec)
21
- {
22
- ...
23
- }
24
-
25
- A handshake handler function object:
26
-
27
- struct handshake_handler
28
- {
29
- ...
30
- void operator()(
31
- const asio::error_code& ec)
32
- {
33
- ...
34
- }
35
- ...
36
- };
37
-
38
- A lambda as a handshake handler:
39
-
40
- ssl_stream.async_handshake(...,
41
- [](const asio::error_code& ec)
42
- {
43
- ...
44
- });
45
-
46
- A non-static class member function adapted to a handshake handler using
47
- `std::bind()`:
48
-
49
- void my_class::handshake_handler(
50
- const asio::error_code& ec)
51
- {
52
- ...
53
- }
54
- ...
55
- ssl_stream.async_handshake(...,
56
- std::bind(&my_class::handshake_handler,
57
- this, std::placeholders::_1));
58
-
59
- A non-static class member function adapted to a handshake handler using
60
- `boost::bind()`:
61
-
62
- void my_class::handshake_handler(
63
- const asio::error_code& ec)
64
- {
65
- ...
66
- }
67
- ...
68
- ssl_stream.async_handshake(...,
69
- boost::bind(&my_class::handshake_handler,
70
- this, asio::placeholders::error));
71
-
72
- [endsect]