couchbase 3.3.0 → 3.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2221) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +37 -13
  3. data/ext/couchbase/CMakeLists.txt +367 -86
  4. data/ext/couchbase/cmake/CompilerWarnings.cmake +11 -4
  5. data/ext/couchbase/cmake/Documentation.cmake +35 -0
  6. data/ext/couchbase/cmake/OpenSSL.cmake +23 -0
  7. data/ext/couchbase/cmake/Testing.cmake +61 -0
  8. data/ext/couchbase/cmake/ThirdPartyDependencies.cmake +1 -0
  9. data/ext/couchbase/cmake/VersionInfo.cmake +13 -1
  10. data/ext/couchbase/cmake/build_version.hxx.in +3 -0
  11. data/ext/couchbase/core/CMakeLists.txt +0 -0
  12. data/ext/couchbase/core/agent.cxx +556 -0
  13. data/ext/couchbase/core/agent.hxx +165 -0
  14. data/ext/couchbase/core/agent_config.cxx +36 -0
  15. data/ext/couchbase/core/agent_config.hxx +44 -0
  16. data/ext/couchbase/core/agent_group.cxx +219 -0
  17. data/ext/couchbase/core/agent_group.hxx +79 -0
  18. data/ext/couchbase/core/agent_group_config.cxx +35 -0
  19. data/ext/couchbase/core/agent_group_config.hxx +45 -0
  20. data/ext/couchbase/core/agent_unit_test_api.hxx +37 -0
  21. data/ext/couchbase/core/analytics_query_options.cxx +72 -0
  22. data/ext/couchbase/core/analytics_query_options.hxx +74 -0
  23. data/ext/couchbase/core/analytics_scan_consistency.hxx +26 -0
  24. data/ext/couchbase/core/bucket.cxx +891 -0
  25. data/ext/couchbase/core/bucket.hxx +172 -0
  26. data/ext/couchbase/core/capella_ca.hxx +43 -0
  27. data/ext/couchbase/core/cluster.cxx +181 -0
  28. data/ext/couchbase/core/cluster.hxx +496 -0
  29. data/ext/couchbase/core/cluster_agent.cxx +36 -0
  30. data/ext/couchbase/core/cluster_agent.hxx +34 -0
  31. data/ext/couchbase/core/cluster_agent_config.cxx +35 -0
  32. data/ext/couchbase/core/cluster_agent_config.hxx +43 -0
  33. data/ext/couchbase/core/cluster_options.cxx +50 -0
  34. data/ext/couchbase/core/cluster_options.hxx +93 -0
  35. data/ext/couchbase/core/cluster_state.hxx +25 -0
  36. data/ext/couchbase/core/collection_id_cache_entry.hxx +37 -0
  37. data/ext/couchbase/core/collections_component.cxx +439 -0
  38. data/ext/couchbase/core/collections_component.hxx +81 -0
  39. data/ext/couchbase/core/collections_component_unit_test_api.hxx +36 -0
  40. data/ext/couchbase/core/collections_options.hxx +87 -0
  41. data/ext/couchbase/core/config_listener.hxx +31 -0
  42. data/ext/couchbase/core/config_profile.cxx +25 -0
  43. data/ext/couchbase/core/config_profile.hxx +92 -0
  44. data/ext/couchbase/core/core_sdk_shim.cxx +28 -0
  45. data/ext/couchbase/core/core_sdk_shim.hxx +30 -0
  46. data/ext/couchbase/core/crud_component.cxx +367 -0
  47. data/ext/couchbase/core/crud_component.hxx +60 -0
  48. data/ext/couchbase/core/crud_options.hxx +574 -0
  49. data/ext/couchbase/core/crypto/CMakeLists.txt +12 -0
  50. data/ext/couchbase/core/crypto/cbcrypto.cc +897 -0
  51. data/ext/couchbase/core/crypto/cbcrypto.h +88 -0
  52. data/ext/couchbase/core/design_document_namespace.hxx +26 -0
  53. data/ext/couchbase/core/design_document_namespace_fmt.hxx +47 -0
  54. data/ext/couchbase/core/diagnostics.hxx +97 -0
  55. data/ext/couchbase/core/diagnostics_fmt.hxx +113 -0
  56. data/ext/couchbase/core/diagnostics_json.hxx +100 -0
  57. data/ext/couchbase/core/diagntostics_options.hxx +55 -0
  58. data/ext/couchbase/core/dispatcher.cxx +37 -0
  59. data/ext/couchbase/core/dispatcher.hxx +43 -0
  60. data/ext/couchbase/core/document_id.cxx +102 -0
  61. data/ext/couchbase/core/document_id.hxx +119 -0
  62. data/ext/couchbase/core/document_id_fmt.hxx +37 -0
  63. data/ext/couchbase/core/durability_options.hxx +110 -0
  64. data/ext/couchbase/core/error_context/analytics.hxx +52 -0
  65. data/ext/couchbase/core/error_context/http.hxx +48 -0
  66. data/ext/couchbase/core/error_context/key_value.cxx +58 -0
  67. data/ext/couchbase/core/error_context/key_value.hxx +83 -0
  68. data/ext/couchbase/core/error_context/query.hxx +52 -0
  69. data/ext/couchbase/core/error_context/search.hxx +51 -0
  70. data/ext/couchbase/core/error_context/view.hxx +52 -0
  71. data/ext/couchbase/core/free_form_http_request.cxx +81 -0
  72. data/ext/couchbase/core/free_form_http_request.hxx +90 -0
  73. data/ext/couchbase/core/impl/analytics_error_category.cxx +62 -0
  74. data/ext/couchbase/core/impl/append.cxx +87 -0
  75. data/ext/couchbase/core/impl/best_effort_retry_strategy.cxx +109 -0
  76. data/ext/couchbase/core/impl/bootstrap_state_listener.hxx +39 -0
  77. data/ext/couchbase/core/impl/build_deferred_query_indexes.cxx +92 -0
  78. data/ext/couchbase/core/impl/cluster.cxx +185 -0
  79. data/ext/couchbase/core/impl/collection_query_index_manager.cxx +93 -0
  80. data/ext/couchbase/core/impl/common_error_category.cxx +88 -0
  81. data/ext/couchbase/core/impl/configuration_profiles_registry.cxx +73 -0
  82. data/ext/couchbase/core/impl/create_query_index.cxx +119 -0
  83. data/ext/couchbase/core/impl/decrement.cxx +96 -0
  84. data/ext/couchbase/core/impl/dns_srv_tracker.cxx +147 -0
  85. data/ext/couchbase/core/impl/dns_srv_tracker.hxx +68 -0
  86. data/ext/couchbase/core/impl/drop_query_index.cxx +108 -0
  87. data/ext/couchbase/core/impl/exists.cxx +47 -0
  88. data/ext/couchbase/core/impl/expiry.cxx +99 -0
  89. data/ext/couchbase/core/impl/fail_fast_retry_strategy.cxx +41 -0
  90. data/ext/couchbase/core/impl/field_level_encryption_error_category.cxx +63 -0
  91. data/ext/couchbase/core/impl/get.cxx +68 -0
  92. data/ext/couchbase/core/impl/get_all_query_indexes.cxx +76 -0
  93. data/ext/couchbase/core/impl/get_all_replicas.cxx +145 -0
  94. data/ext/couchbase/core/impl/get_all_replicas.hxx +79 -0
  95. data/ext/couchbase/core/impl/get_and_lock.cxx +49 -0
  96. data/ext/couchbase/core/impl/get_and_touch.cxx +49 -0
  97. data/ext/couchbase/core/impl/get_any_replica.cxx +134 -0
  98. data/ext/couchbase/core/impl/get_any_replica.hxx +76 -0
  99. data/ext/couchbase/core/impl/get_replica.cxx +44 -0
  100. data/ext/couchbase/core/impl/get_replica.hxx +52 -0
  101. data/ext/couchbase/core/impl/increment.cxx +96 -0
  102. data/ext/couchbase/core/impl/insert.cxx +90 -0
  103. data/ext/couchbase/core/impl/key_value_error_category.cxx +105 -0
  104. data/ext/couchbase/core/impl/lookup_in.cxx +68 -0
  105. data/ext/couchbase/core/impl/management_error_category.cxx +75 -0
  106. data/ext/couchbase/core/impl/mutate_in.cxx +125 -0
  107. data/ext/couchbase/core/impl/network_error_category.cxx +73 -0
  108. data/ext/couchbase/core/impl/observe_poll.cxx +355 -0
  109. data/ext/couchbase/core/impl/observe_poll.hxx +49 -0
  110. data/ext/couchbase/core/impl/observe_seqno.cxx +47 -0
  111. data/ext/couchbase/core/impl/observe_seqno.hxx +63 -0
  112. data/ext/couchbase/core/impl/prepend.cxx +87 -0
  113. data/ext/couchbase/core/impl/query.cxx +245 -0
  114. data/ext/couchbase/core/impl/query_error_category.cxx +55 -0
  115. data/ext/couchbase/core/impl/remove.cxx +86 -0
  116. data/ext/couchbase/core/impl/replace.cxx +102 -0
  117. data/ext/couchbase/core/impl/retry_action.cxx +39 -0
  118. data/ext/couchbase/core/impl/retry_reason.cxx +85 -0
  119. data/ext/couchbase/core/impl/search_error_category.cxx +51 -0
  120. data/ext/couchbase/core/impl/streaming_json_lexter_error_category.cxx +102 -0
  121. data/ext/couchbase/core/impl/subdoc/array_add_unique.cxx +36 -0
  122. data/ext/couchbase/core/impl/subdoc/array_append.cxx +37 -0
  123. data/ext/couchbase/core/impl/subdoc/array_insert.cxx +37 -0
  124. data/ext/couchbase/core/impl/subdoc/array_prepend.cxx +37 -0
  125. data/ext/couchbase/core/impl/subdoc/command.hxx +41 -0
  126. data/ext/couchbase/core/impl/subdoc/command_bundle.hxx +42 -0
  127. data/ext/couchbase/core/impl/subdoc/count.cxx +36 -0
  128. data/ext/couchbase/core/impl/subdoc/counter.cxx +37 -0
  129. data/ext/couchbase/core/impl/subdoc/exists.cxx +36 -0
  130. data/ext/couchbase/core/impl/subdoc/get.cxx +36 -0
  131. data/ext/couchbase/core/impl/subdoc/insert.cxx +36 -0
  132. data/ext/couchbase/core/impl/subdoc/join_values.cxx +56 -0
  133. data/ext/couchbase/core/impl/subdoc/join_values.hxx +27 -0
  134. data/ext/couchbase/core/impl/subdoc/lookup_in_macro.cxx +117 -0
  135. data/ext/couchbase/core/impl/subdoc/lookup_in_specs.cxx +42 -0
  136. data/ext/couchbase/core/impl/subdoc/mutate_in_macro.cxx +77 -0
  137. data/ext/couchbase/core/impl/subdoc/mutate_in_specs.cxx +42 -0
  138. data/ext/couchbase/core/impl/subdoc/opcode.hxx +47 -0
  139. data/ext/couchbase/core/impl/subdoc/path_flags.hxx +77 -0
  140. data/ext/couchbase/core/impl/subdoc/remove.cxx +36 -0
  141. data/ext/couchbase/core/impl/subdoc/replace.cxx +36 -0
  142. data/ext/couchbase/core/impl/subdoc/upsert.cxx +36 -0
  143. data/ext/couchbase/core/impl/touch.cxx +49 -0
  144. data/ext/couchbase/core/impl/transaction_error_category.cxx +54 -0
  145. data/ext/couchbase/core/impl/transaction_op_error_category.cxx +90 -0
  146. data/ext/couchbase/core/impl/unlock.cxx +47 -0
  147. data/ext/couchbase/core/impl/upsert.cxx +100 -0
  148. data/ext/couchbase/core/impl/view_error_category.cxx +50 -0
  149. data/ext/couchbase/core/impl/watch_query_indexes.cxx +168 -0
  150. data/ext/couchbase/core/impl/with_legacy_durability.hxx +65 -0
  151. data/ext/couchbase/core/io/dns_client.hxx +224 -0
  152. data/ext/couchbase/core/io/dns_codec.hxx +207 -0
  153. data/ext/couchbase/core/io/dns_config.cxx +157 -0
  154. data/ext/couchbase/core/io/dns_config.hxx +68 -0
  155. data/ext/couchbase/core/io/dns_message.hxx +555 -0
  156. data/ext/couchbase/core/io/http_command.hxx +182 -0
  157. data/ext/couchbase/core/io/http_context.hxx +40 -0
  158. data/ext/couchbase/core/io/http_message.hxx +116 -0
  159. data/ext/couchbase/core/io/http_parser.cxx +141 -0
  160. data/ext/couchbase/core/io/http_parser.hxx +55 -0
  161. data/ext/couchbase/core/io/http_session.hxx +552 -0
  162. data/ext/couchbase/core/io/http_session_manager.hxx +388 -0
  163. data/ext/couchbase/core/io/http_traits.hxx +38 -0
  164. data/ext/couchbase/core/io/ip_protocol.hxx +28 -0
  165. data/ext/couchbase/core/io/mcbp_command.hxx +317 -0
  166. data/ext/couchbase/core/io/mcbp_context.hxx +40 -0
  167. data/ext/couchbase/core/io/mcbp_message.cxx +39 -0
  168. data/ext/couchbase/core/io/mcbp_message.hxx +60 -0
  169. data/ext/couchbase/core/io/mcbp_parser.cxx +88 -0
  170. data/ext/couchbase/core/io/mcbp_parser.hxx +45 -0
  171. data/ext/couchbase/core/io/mcbp_session.cxx +1690 -0
  172. data/ext/couchbase/core/io/mcbp_session.hxx +130 -0
  173. data/ext/couchbase/core/io/mcbp_traits.hxx +38 -0
  174. data/ext/couchbase/core/io/query_cache.hxx +71 -0
  175. data/ext/couchbase/core/io/retry_context.hxx +89 -0
  176. data/ext/couchbase/core/io/retry_orchestrator.hxx +97 -0
  177. data/ext/couchbase/core/io/streams.hxx +258 -0
  178. data/ext/couchbase/core/json_string.hxx +82 -0
  179. data/ext/couchbase/core/key_value_config.cxx +35 -0
  180. data/ext/couchbase/core/key_value_config.hxx +40 -0
  181. data/ext/couchbase/core/logger/CMakeLists.txt +9 -0
  182. data/ext/couchbase/core/logger/configuration.hxx +60 -0
  183. data/ext/couchbase/core/logger/custom_rotating_file_sink.cxx +157 -0
  184. data/ext/couchbase/{couchbase → core}/logger/custom_rotating_file_sink.hxx +0 -0
  185. data/ext/couchbase/core/logger/level.hxx +21 -0
  186. data/ext/couchbase/core/logger/logger.cxx +340 -0
  187. data/ext/couchbase/core/logger/logger.hxx +240 -0
  188. data/ext/couchbase/core/management/analytics_dataset.hxx +30 -0
  189. data/ext/couchbase/core/management/analytics_index.hxx +30 -0
  190. data/ext/couchbase/core/management/analytics_link.hxx +22 -0
  191. data/ext/couchbase/core/management/analytics_link_azure_blob_external.cxx +68 -0
  192. data/ext/couchbase/core/management/analytics_link_azure_blob_external.hxx +76 -0
  193. data/ext/couchbase/core/management/analytics_link_azure_blob_external_json.hxx +52 -0
  194. data/ext/couchbase/core/management/analytics_link_couchbase_remote.cxx +105 -0
  195. data/ext/couchbase/core/management/analytics_link_couchbase_remote.hxx +107 -0
  196. data/ext/couchbase/core/management/analytics_link_couchbase_remote_json.hxx +63 -0
  197. data/ext/couchbase/core/management/analytics_link_s3_external.cxx +58 -0
  198. data/ext/couchbase/core/management/analytics_link_s3_external.hxx +69 -0
  199. data/ext/couchbase/core/management/analytics_link_s3_external_json.hxx +47 -0
  200. data/ext/couchbase/core/management/bucket_settings.hxx +134 -0
  201. data/ext/couchbase/core/management/bucket_settings_json.hxx +123 -0
  202. data/ext/couchbase/core/management/design_document.hxx +41 -0
  203. data/ext/couchbase/core/management/eventing_function.hxx +188 -0
  204. data/ext/couchbase/core/management/eventing_function_json.hxx +212 -0
  205. data/ext/couchbase/core/management/eventing_status.hxx +84 -0
  206. data/ext/couchbase/core/management/eventing_status_json.hxx +77 -0
  207. data/ext/couchbase/core/management/rbac.hxx +77 -0
  208. data/ext/couchbase/core/management/rbac_fmt.hxx +49 -0
  209. data/ext/couchbase/core/management/rbac_json.hxx +179 -0
  210. data/ext/couchbase/core/management/search_index.hxx +38 -0
  211. data/ext/couchbase/core/management/search_index_json.hxx +58 -0
  212. data/ext/couchbase/core/mcbp/barrier_frame.hxx +27 -0
  213. data/ext/couchbase/core/mcbp/big_endian.cxx +73 -0
  214. data/ext/couchbase/core/mcbp/big_endian.hxx +46 -0
  215. data/ext/couchbase/core/mcbp/buffer_writer.cxx +78 -0
  216. data/ext/couchbase/core/mcbp/buffer_writer.hxx +38 -0
  217. data/ext/couchbase/core/mcbp/codec.cxx +501 -0
  218. data/ext/couchbase/core/mcbp/codec.hxx +52 -0
  219. data/ext/couchbase/core/mcbp/command_code.cxx +77 -0
  220. data/ext/couchbase/core/mcbp/command_code.hxx +33 -0
  221. data/ext/couchbase/core/mcbp/completion_token.hxx +69 -0
  222. data/ext/couchbase/core/mcbp/datatype.hxx +40 -0
  223. data/ext/couchbase/core/mcbp/durability_level.hxx +35 -0
  224. data/ext/couchbase/core/mcbp/durability_level_frame.hxx +28 -0
  225. data/ext/couchbase/core/mcbp/durability_timeout_frame.hxx +29 -0
  226. data/ext/couchbase/core/mcbp/frame_type.hxx +41 -0
  227. data/ext/couchbase/core/mcbp/open_tracing_frame.hxx +29 -0
  228. data/ext/couchbase/core/mcbp/operation_consumer.cxx +47 -0
  229. data/ext/couchbase/core/mcbp/operation_consumer.hxx +42 -0
  230. data/ext/couchbase/core/mcbp/operation_queue.cxx +158 -0
  231. data/ext/couchbase/core/mcbp/operation_queue.hxx +57 -0
  232. data/ext/couchbase/core/mcbp/packet.cxx +92 -0
  233. data/ext/couchbase/core/mcbp/packet.hxx +71 -0
  234. data/ext/couchbase/core/mcbp/preserve_expiry_frame.hxx +26 -0
  235. data/ext/couchbase/core/mcbp/queue_callback.hxx +34 -0
  236. data/ext/couchbase/core/mcbp/queue_request.cxx +174 -0
  237. data/ext/couchbase/core/mcbp/queue_request.hxx +120 -0
  238. data/ext/couchbase/core/mcbp/queue_request_connection_info.hxx +29 -0
  239. data/ext/couchbase/core/mcbp/queue_response.hxx +37 -0
  240. data/ext/couchbase/core/mcbp/read_units_frame.hxx +28 -0
  241. data/ext/couchbase/core/mcbp/server_duration.cxx +40 -0
  242. data/ext/couchbase/core/mcbp/server_duration.hxx +32 -0
  243. data/ext/couchbase/core/mcbp/server_duration_frame.hxx +28 -0
  244. data/ext/couchbase/core/mcbp/stream_id_frame.hxx +28 -0
  245. data/ext/couchbase/core/mcbp/unsupported_frame.hxx +32 -0
  246. data/ext/couchbase/core/mcbp/user_impersonation_frame.hxx +30 -0
  247. data/ext/couchbase/core/mcbp/write_units_frame.hxx +29 -0
  248. data/ext/couchbase/core/meta/CMakeLists.txt +17 -0
  249. data/ext/couchbase/core/meta/features.hxx +31 -0
  250. data/ext/couchbase/core/meta/version.cxx +264 -0
  251. data/ext/couchbase/core/meta/version.hxx +56 -0
  252. data/ext/couchbase/core/metrics/CMakeLists.txt +13 -0
  253. data/ext/couchbase/core/metrics/logging_meter.cxx +235 -0
  254. data/ext/couchbase/core/metrics/logging_meter.hxx +60 -0
  255. data/ext/couchbase/core/metrics/logging_meter_options.hxx +28 -0
  256. data/ext/couchbase/core/metrics/noop_meter.hxx +47 -0
  257. data/ext/couchbase/core/n1ql_query_options.cxx +94 -0
  258. data/ext/couchbase/core/n1ql_query_options.hxx +78 -0
  259. data/ext/couchbase/core/operation_map.hxx +36 -0
  260. data/ext/couchbase/core/operations/document_analytics.cxx +221 -0
  261. data/ext/couchbase/core/operations/document_analytics.hxx +113 -0
  262. data/ext/couchbase/core/operations/document_append.cxx +45 -0
  263. data/ext/couchbase/core/operations/document_append.hxx +78 -0
  264. data/ext/couchbase/core/operations/document_decrement.cxx +53 -0
  265. data/ext/couchbase/core/operations/document_decrement.hxx +81 -0
  266. data/ext/couchbase/core/operations/document_exists.cxx +50 -0
  267. data/ext/couchbase/core/operations/document_exists.hxx +72 -0
  268. data/ext/couchbase/core/operations/document_get.cxx +44 -0
  269. data/ext/couchbase/core/operations/document_get.hxx +62 -0
  270. data/ext/couchbase/core/operations/document_get_all_replicas.hxx +143 -0
  271. data/ext/couchbase/core/operations/document_get_and_lock.cxx +45 -0
  272. data/ext/couchbase/core/operations/document_get_and_lock.hxx +64 -0
  273. data/ext/couchbase/core/operations/document_get_and_touch.cxx +45 -0
  274. data/ext/couchbase/core/operations/document_get_and_touch.hxx +65 -0
  275. data/ext/couchbase/core/operations/document_get_any_replica.hxx +133 -0
  276. data/ext/couchbase/core/operations/document_get_projected.cxx +238 -0
  277. data/ext/couchbase/core/operations/document_get_projected.hxx +68 -0
  278. data/ext/couchbase/core/operations/document_increment.cxx +53 -0
  279. data/ext/couchbase/core/operations/document_increment.hxx +81 -0
  280. data/ext/couchbase/core/operations/document_insert.cxx +51 -0
  281. data/ext/couchbase/core/operations/document_insert.hxx +80 -0
  282. data/ext/couchbase/core/operations/document_lookup_in.cxx +97 -0
  283. data/ext/couchbase/core/operations/document_lookup_in.hxx +77 -0
  284. data/ext/couchbase/core/operations/document_mutate_in.cxx +118 -0
  285. data/ext/couchbase/core/operations/document_mutate_in.hxx +95 -0
  286. data/ext/couchbase/core/operations/document_prepend.cxx +45 -0
  287. data/ext/couchbase/core/operations/document_prepend.hxx +78 -0
  288. data/ext/couchbase/core/operations/document_query.cxx +386 -0
  289. data/ext/couchbase/core/operations/document_query.hxx +128 -0
  290. data/ext/couchbase/core/operations/document_remove.cxx +45 -0
  291. data/ext/couchbase/core/operations/document_remove.hxx +78 -0
  292. data/ext/couchbase/core/operations/document_replace.cxx +55 -0
  293. data/ext/couchbase/core/operations/document_replace.hxx +82 -0
  294. data/ext/couchbase/core/operations/document_search.cxx +312 -0
  295. data/ext/couchbase/core/operations/document_search.hxx +163 -0
  296. data/ext/couchbase/core/operations/document_touch.cxx +43 -0
  297. data/ext/couchbase/core/operations/document_touch.hxx +61 -0
  298. data/ext/couchbase/core/operations/document_unlock.cxx +43 -0
  299. data/ext/couchbase/core/operations/document_unlock.hxx +61 -0
  300. data/ext/couchbase/core/operations/document_upsert.cxx +54 -0
  301. data/ext/couchbase/core/operations/document_upsert.hxx +81 -0
  302. data/ext/couchbase/core/operations/document_view.cxx +197 -0
  303. data/ext/couchbase/core/operations/document_view.hxx +109 -0
  304. data/ext/couchbase/core/operations/http_noop.cxx +64 -0
  305. data/ext/couchbase/core/operations/http_noop.hxx +48 -0
  306. data/ext/couchbase/core/operations/management/CMakeLists.txt +80 -0
  307. data/ext/couchbase/core/operations/management/analytics.hxx +34 -0
  308. data/ext/couchbase/core/operations/management/analytics_dataset_create.cxx +93 -0
  309. data/ext/couchbase/core/operations/management/analytics_dataset_create.hxx +57 -0
  310. data/ext/couchbase/core/operations/management/analytics_dataset_drop.cxx +82 -0
  311. data/ext/couchbase/core/operations/management/analytics_dataset_drop.hxx +54 -0
  312. data/ext/couchbase/core/operations/management/analytics_dataset_get_all.cxx +78 -0
  313. data/ext/couchbase/core/operations/management/analytics_dataset_get_all.hxx +52 -0
  314. data/ext/couchbase/core/operations/management/analytics_dataverse_create.cxx +81 -0
  315. data/ext/couchbase/core/operations/management/analytics_dataverse_create.hxx +53 -0
  316. data/ext/couchbase/core/operations/management/analytics_dataverse_drop.cxx +81 -0
  317. data/ext/couchbase/core/operations/management/analytics_dataverse_drop.hxx +53 -0
  318. data/ext/couchbase/core/operations/management/analytics_get_pending_mutations.cxx +69 -0
  319. data/ext/couchbase/core/operations/management/analytics_get_pending_mutations.hxx +52 -0
  320. data/ext/couchbase/core/operations/management/analytics_index_create.cxx +105 -0
  321. data/ext/couchbase/core/operations/management/analytics_index_create.hxx +56 -0
  322. data/ext/couchbase/core/operations/management/analytics_index_drop.cxx +89 -0
  323. data/ext/couchbase/core/operations/management/analytics_index_drop.hxx +55 -0
  324. data/ext/couchbase/core/operations/management/analytics_index_get_all.cxx +79 -0
  325. data/ext/couchbase/core/operations/management/analytics_index_get_all.hxx +52 -0
  326. data/ext/couchbase/core/operations/management/analytics_link_connect.cxx +81 -0
  327. data/ext/couchbase/core/operations/management/analytics_link_connect.hxx +57 -0
  328. data/ext/couchbase/core/operations/management/analytics_link_create.cxx +86 -0
  329. data/ext/couchbase/core/operations/management/analytics_link_create.hxx +77 -0
  330. data/ext/couchbase/core/operations/management/analytics_link_disconnect.cxx +79 -0
  331. data/ext/couchbase/core/operations/management/analytics_link_disconnect.hxx +56 -0
  332. data/ext/couchbase/core/operations/management/analytics_link_drop.cxx +102 -0
  333. data/ext/couchbase/core/operations/management/analytics_link_drop.hxx +56 -0
  334. data/ext/couchbase/core/operations/management/analytics_link_get_all.cxx +128 -0
  335. data/ext/couchbase/core/operations/management/analytics_link_get_all.hxx +63 -0
  336. data/ext/couchbase/core/operations/management/analytics_link_replace.cxx +86 -0
  337. data/ext/couchbase/core/operations/management/analytics_link_replace.hxx +78 -0
  338. data/ext/couchbase/core/operations/management/analytics_link_utils.hxx +37 -0
  339. data/ext/couchbase/core/operations/management/analytics_problem.hxx +31 -0
  340. data/ext/couchbase/core/operations/management/bucket.hxx +25 -0
  341. data/ext/couchbase/core/operations/management/bucket_create.cxx +171 -0
  342. data/ext/couchbase/core/operations/management/bucket_create.hxx +52 -0
  343. data/ext/couchbase/core/operations/management/bucket_describe.cxx +98 -0
  344. data/ext/couchbase/core/operations/management/bucket_describe.hxx +64 -0
  345. data/ext/couchbase/core/operations/management/bucket_drop.cxx +51 -0
  346. data/ext/couchbase/core/operations/management/bucket_drop.hxx +49 -0
  347. data/ext/couchbase/core/operations/management/bucket_flush.cxx +58 -0
  348. data/ext/couchbase/core/operations/management/bucket_flush.hxx +49 -0
  349. data/ext/couchbase/core/operations/management/bucket_get.cxx +58 -0
  350. data/ext/couchbase/core/operations/management/bucket_get.hxx +51 -0
  351. data/ext/couchbase/core/operations/management/bucket_get_all.cxx +58 -0
  352. data/ext/couchbase/core/operations/management/bucket_get_all.hxx +49 -0
  353. data/ext/couchbase/core/operations/management/bucket_update.cxx +130 -0
  354. data/ext/couchbase/core/operations/management/bucket_update.hxx +52 -0
  355. data/ext/couchbase/core/operations/management/change_password.cxx +55 -0
  356. data/ext/couchbase/core/operations/management/change_password.hxx +50 -0
  357. data/ext/couchbase/core/operations/management/cluster_describe.cxx +89 -0
  358. data/ext/couchbase/core/operations/management/cluster_describe.hxx +72 -0
  359. data/ext/couchbase/core/operations/management/cluster_developer_preview_enable.cxx +43 -0
  360. data/ext/couchbase/core/operations/management/cluster_developer_preview_enable.hxx +48 -0
  361. data/ext/couchbase/core/operations/management/collection_create.cxx +82 -0
  362. data/ext/couchbase/core/operations/management/collection_create.hxx +53 -0
  363. data/ext/couchbase/core/operations/management/collection_drop.cxx +72 -0
  364. data/ext/couchbase/core/operations/management/collection_drop.hxx +52 -0
  365. data/ext/couchbase/core/operations/management/collections.hxx +25 -0
  366. data/ext/couchbase/core/operations/management/collections_manifest_get.cxx +40 -0
  367. data/ext/couchbase/core/operations/management/collections_manifest_get.hxx +53 -0
  368. data/ext/couchbase/core/operations/management/error_utils.cxx +267 -0
  369. data/ext/couchbase/core/operations/management/error_utils.hxx +49 -0
  370. data/ext/couchbase/core/operations/management/eventing.hxx +28 -0
  371. data/ext/couchbase/core/operations/management/eventing_deploy_function.cxx +55 -0
  372. data/ext/couchbase/core/operations/management/eventing_deploy_function.hxx +52 -0
  373. data/ext/couchbase/core/operations/management/eventing_drop_function.cxx +56 -0
  374. data/ext/couchbase/core/operations/management/eventing_drop_function.hxx +52 -0
  375. data/ext/couchbase/core/operations/management/eventing_get_all_functions.cxx +63 -0
  376. data/ext/couchbase/core/operations/management/eventing_get_all_functions.hxx +51 -0
  377. data/ext/couchbase/core/operations/management/eventing_get_function.cxx +55 -0
  378. data/ext/couchbase/core/operations/management/eventing_get_function.hxx +53 -0
  379. data/ext/couchbase/core/operations/management/eventing_get_status.cxx +55 -0
  380. data/ext/couchbase/core/operations/management/eventing_get_status.hxx +53 -0
  381. data/ext/couchbase/core/operations/management/eventing_pause_function.cxx +55 -0
  382. data/ext/couchbase/core/operations/management/eventing_pause_function.hxx +52 -0
  383. data/ext/couchbase/core/operations/management/eventing_problem.hxx +32 -0
  384. data/ext/couchbase/core/operations/management/eventing_resume_function.cxx +55 -0
  385. data/ext/couchbase/core/operations/management/eventing_resume_function.hxx +52 -0
  386. data/ext/couchbase/core/operations/management/eventing_undeploy_function.cxx +55 -0
  387. data/ext/couchbase/core/operations/management/eventing_undeploy_function.hxx +52 -0
  388. data/ext/couchbase/core/operations/management/eventing_upsert_function.cxx +340 -0
  389. data/ext/couchbase/core/operations/management/eventing_upsert_function.hxx +52 -0
  390. data/ext/couchbase/core/operations/management/freeform.cxx +54 -0
  391. data/ext/couchbase/core/operations/management/freeform.hxx +55 -0
  392. data/ext/couchbase/core/operations/management/group_drop.cxx +50 -0
  393. data/ext/couchbase/core/operations/management/group_drop.hxx +49 -0
  394. data/ext/couchbase/core/operations/management/group_get.cxx +59 -0
  395. data/ext/couchbase/core/operations/management/group_get.hxx +50 -0
  396. data/ext/couchbase/core/operations/management/group_get_all.cxx +57 -0
  397. data/ext/couchbase/core/operations/management/group_get_all.hxx +49 -0
  398. data/ext/couchbase/core/operations/management/group_upsert.cxx +95 -0
  399. data/ext/couchbase/core/operations/management/group_upsert.hxx +51 -0
  400. data/ext/couchbase/core/operations/management/query.hxx +25 -0
  401. data/ext/couchbase/core/operations/management/query_index_build.cxx +92 -0
  402. data/ext/couchbase/core/operations/management/query_index_build.hxx +62 -0
  403. data/ext/couchbase/core/operations/management/query_index_build_deferred.hxx +116 -0
  404. data/ext/couchbase/core/operations/management/query_index_create.cxx +146 -0
  405. data/ext/couchbase/core/operations/management/query_index_create.hxx +67 -0
  406. data/ext/couchbase/core/operations/management/query_index_drop.cxx +127 -0
  407. data/ext/couchbase/core/operations/management/query_index_drop.hxx +63 -0
  408. data/ext/couchbase/core/operations/management/query_index_get_all.cxx +129 -0
  409. data/ext/couchbase/core/operations/management/query_index_get_all.hxx +56 -0
  410. data/ext/couchbase/core/operations/management/query_index_get_all_deferred.cxx +96 -0
  411. data/ext/couchbase/core/operations/management/query_index_get_all_deferred.hxx +57 -0
  412. data/ext/couchbase/core/operations/management/role_get_all.cxx +57 -0
  413. data/ext/couchbase/core/operations/management/role_get_all.hxx +49 -0
  414. data/ext/couchbase/core/operations/management/scope_create.cxx +74 -0
  415. data/ext/couchbase/core/operations/management/scope_create.hxx +51 -0
  416. data/ext/couchbase/core/operations/management/scope_drop.cxx +69 -0
  417. data/ext/couchbase/core/operations/management/scope_drop.hxx +51 -0
  418. data/ext/couchbase/core/operations/management/scope_get_all.cxx +61 -0
  419. data/ext/couchbase/core/operations/management/scope_get_all.hxx +51 -0
  420. data/ext/couchbase/core/operations/management/search.hxx +30 -0
  421. data/ext/couchbase/core/operations/management/search_get_stats.cxx +41 -0
  422. data/ext/couchbase/core/operations/management/search_get_stats.hxx +48 -0
  423. data/ext/couchbase/core/operations/management/search_index_analyze_document.cxx +84 -0
  424. data/ext/couchbase/core/operations/management/search_index_analyze_document.hxx +54 -0
  425. data/ext/couchbase/core/operations/management/search_index_control_ingest.cxx +72 -0
  426. data/ext/couchbase/core/operations/management/search_index_control_ingest.hxx +52 -0
  427. data/ext/couchbase/core/operations/management/search_index_control_plan_freeze.cxx +72 -0
  428. data/ext/couchbase/core/operations/management/search_index_control_plan_freeze.hxx +57 -0
  429. data/ext/couchbase/core/operations/management/search_index_control_query.cxx +72 -0
  430. data/ext/couchbase/core/operations/management/search_index_control_query.hxx +52 -0
  431. data/ext/couchbase/core/operations/management/search_index_drop.cxx +71 -0
  432. data/ext/couchbase/core/operations/management/search_index_drop.hxx +51 -0
  433. data/ext/couchbase/core/operations/management/search_index_get.cxx +74 -0
  434. data/ext/couchbase/core/operations/management/search_index_get.hxx +54 -0
  435. data/ext/couchbase/core/operations/management/search_index_get_all.cxx +66 -0
  436. data/ext/couchbase/core/operations/management/search_index_get_all.hxx +51 -0
  437. data/ext/couchbase/core/operations/management/search_index_get_documents_count.cxx +78 -0
  438. data/ext/couchbase/core/operations/management/search_index_get_documents_count.hxx +53 -0
  439. data/ext/couchbase/core/operations/management/search_index_get_stats.cxx +70 -0
  440. data/ext/couchbase/core/operations/management/search_index_get_stats.hxx +52 -0
  441. data/ext/couchbase/core/operations/management/search_index_upsert.cxx +114 -0
  442. data/ext/couchbase/core/operations/management/search_index_upsert.hxx +54 -0
  443. data/ext/couchbase/core/operations/management/user.hxx +29 -0
  444. data/ext/couchbase/core/operations/management/user_drop.cxx +51 -0
  445. data/ext/couchbase/core/operations/management/user_drop.hxx +51 -0
  446. data/ext/couchbase/core/operations/management/user_get.cxx +60 -0
  447. data/ext/couchbase/core/operations/management/user_get.hxx +52 -0
  448. data/ext/couchbase/core/operations/management/user_get_all.cxx +58 -0
  449. data/ext/couchbase/core/operations/management/user_get_all.hxx +51 -0
  450. data/ext/couchbase/core/operations/management/user_upsert.cxx +100 -0
  451. data/ext/couchbase/core/operations/management/user_upsert.hxx +52 -0
  452. data/ext/couchbase/core/operations/management/view.hxx +23 -0
  453. data/ext/couchbase/core/operations/management/view_index_drop.cxx +45 -0
  454. data/ext/couchbase/core/operations/management/view_index_drop.hxx +52 -0
  455. data/ext/couchbase/core/operations/management/view_index_get.cxx +73 -0
  456. data/ext/couchbase/core/operations/management/view_index_get.hxx +53 -0
  457. data/ext/couchbase/core/operations/management/view_index_get_all.cxx +107 -0
  458. data/ext/couchbase/core/operations/management/view_index_get_all.hxx +52 -0
  459. data/ext/couchbase/core/operations/management/view_index_upsert.cxx +70 -0
  460. data/ext/couchbase/core/operations/management/view_index_upsert.hxx +51 -0
  461. data/ext/couchbase/core/operations/mcbp_noop.cxx +38 -0
  462. data/ext/couchbase/core/operations/mcbp_noop.hxx +49 -0
  463. data/ext/couchbase/core/operations/operation_traits.hxx +31 -0
  464. data/ext/couchbase/core/operations.hxx +44 -0
  465. data/ext/couchbase/core/origin.hxx +195 -0
  466. data/ext/couchbase/core/pending_operation.hxx +26 -0
  467. data/ext/couchbase/core/ping_collector.hxx +32 -0
  468. data/ext/couchbase/core/ping_options.hxx +86 -0
  469. data/ext/couchbase/core/ping_reporter.hxx +30 -0
  470. data/ext/couchbase/core/platform/CMakeLists.txt +16 -0
  471. data/ext/couchbase/core/platform/backtrace.c +189 -0
  472. data/ext/couchbase/{couchbase → core}/platform/backtrace.h +0 -0
  473. data/ext/couchbase/core/platform/base64.cc +253 -0
  474. data/ext/couchbase/core/platform/base64.h +52 -0
  475. data/ext/couchbase/core/platform/dirutils.cc +123 -0
  476. data/ext/couchbase/core/platform/dirutils.h +43 -0
  477. data/ext/couchbase/core/platform/random.cc +120 -0
  478. data/ext/couchbase/core/platform/random.h +39 -0
  479. data/ext/couchbase/core/platform/string_hex.cc +101 -0
  480. data/ext/couchbase/core/platform/string_hex.h +50 -0
  481. data/ext/couchbase/core/platform/terminate_handler.cc +125 -0
  482. data/ext/couchbase/core/platform/terminate_handler.h +36 -0
  483. data/ext/couchbase/core/platform/uuid.cc +102 -0
  484. data/ext/couchbase/core/platform/uuid.h +56 -0
  485. data/ext/couchbase/core/protocol/client_opcode.hxx +369 -0
  486. data/ext/couchbase/core/protocol/client_opcode_fmt.hxx +325 -0
  487. data/ext/couchbase/core/protocol/client_request.cxx +38 -0
  488. data/ext/couchbase/core/protocol/client_request.hxx +167 -0
  489. data/ext/couchbase/core/protocol/client_response.cxx +75 -0
  490. data/ext/couchbase/core/protocol/client_response.hxx +210 -0
  491. data/ext/couchbase/core/protocol/cmd_append.cxx +74 -0
  492. data/ext/couchbase/core/protocol/cmd_append.hxx +107 -0
  493. data/ext/couchbase/core/protocol/cmd_cluster_map_change_notification.cxx +53 -0
  494. data/ext/couchbase/core/protocol/cmd_cluster_map_change_notification.hxx +57 -0
  495. data/ext/couchbase/core/protocol/cmd_decrement.cxx +96 -0
  496. data/ext/couchbase/core/protocol/cmd_decrement.hxx +130 -0
  497. data/ext/couchbase/core/protocol/cmd_get.cxx +59 -0
  498. data/ext/couchbase/core/protocol/cmd_get.hxx +96 -0
  499. data/ext/couchbase/core/protocol/cmd_get_and_lock.cxx +66 -0
  500. data/ext/couchbase/core/protocol/cmd_get_and_lock.hxx +112 -0
  501. data/ext/couchbase/core/protocol/cmd_get_and_touch.cxx +66 -0
  502. data/ext/couchbase/core/protocol/cmd_get_and_touch.hxx +112 -0
  503. data/ext/couchbase/core/protocol/cmd_get_cluster_config.cxx +85 -0
  504. data/ext/couchbase/core/protocol/cmd_get_cluster_config.hxx +89 -0
  505. data/ext/couchbase/core/protocol/cmd_get_collection_id.cxx +60 -0
  506. data/ext/couchbase/core/protocol/cmd_get_collection_id.hxx +95 -0
  507. data/ext/couchbase/core/protocol/cmd_get_collections_manifest.cxx +51 -0
  508. data/ext/couchbase/core/protocol/cmd_get_collections_manifest.hxx +84 -0
  509. data/ext/couchbase/core/protocol/cmd_get_error_map.cxx +61 -0
  510. data/ext/couchbase/core/protocol/cmd_get_error_map.hxx +103 -0
  511. data/ext/couchbase/core/protocol/cmd_get_meta.cxx +70 -0
  512. data/ext/couchbase/core/protocol/cmd_get_meta.hxx +117 -0
  513. data/ext/couchbase/core/protocol/cmd_get_replica.cxx +71 -0
  514. data/ext/couchbase/core/protocol/cmd_get_replica.hxx +88 -0
  515. data/ext/couchbase/core/protocol/cmd_hello.cxx +76 -0
  516. data/ext/couchbase/core/protocol/cmd_hello.hxx +140 -0
  517. data/ext/couchbase/core/protocol/cmd_increment.cxx +98 -0
  518. data/ext/couchbase/core/protocol/cmd_increment.hxx +130 -0
  519. data/ext/couchbase/core/protocol/cmd_info.hxx +30 -0
  520. data/ext/couchbase/core/protocol/cmd_insert.cxx +83 -0
  521. data/ext/couchbase/core/protocol/cmd_insert.hxx +124 -0
  522. data/ext/couchbase/core/protocol/cmd_lookup_in.cxx +108 -0
  523. data/ext/couchbase/core/protocol/cmd_lookup_in.hxx +139 -0
  524. data/ext/couchbase/core/protocol/cmd_mutate_in.cxx +163 -0
  525. data/ext/couchbase/core/protocol/cmd_mutate_in.hxx +216 -0
  526. data/ext/couchbase/core/protocol/cmd_noop.cxx +36 -0
  527. data/ext/couchbase/core/protocol/cmd_noop.hxx +75 -0
  528. data/ext/couchbase/core/protocol/cmd_observe_seqno.cxx +92 -0
  529. data/ext/couchbase/core/protocol/cmd_observe_seqno.hxx +132 -0
  530. data/ext/couchbase/core/protocol/cmd_prepend.cxx +73 -0
  531. data/ext/couchbase/core/protocol/cmd_prepend.hxx +103 -0
  532. data/ext/couchbase/core/protocol/cmd_remove.cxx +74 -0
  533. data/ext/couchbase/core/protocol/cmd_remove.hxx +94 -0
  534. data/ext/couchbase/core/protocol/cmd_replace.cxx +92 -0
  535. data/ext/couchbase/core/protocol/cmd_replace.hxx +131 -0
  536. data/ext/couchbase/core/protocol/cmd_sasl_auth.cxx +61 -0
  537. data/ext/couchbase/core/protocol/cmd_sasl_auth.hxx +91 -0
  538. data/ext/couchbase/core/protocol/cmd_sasl_list_mechs.cxx +53 -0
  539. data/ext/couchbase/core/protocol/cmd_sasl_list_mechs.hxx +82 -0
  540. data/ext/couchbase/core/protocol/cmd_sasl_step.cxx +61 -0
  541. data/ext/couchbase/core/protocol/cmd_sasl_step.hxx +91 -0
  542. data/ext/couchbase/core/protocol/cmd_select_bucket.cxx +45 -0
  543. data/ext/couchbase/core/protocol/cmd_select_bucket.hxx +79 -0
  544. data/ext/couchbase/core/protocol/cmd_touch.cxx +53 -0
  545. data/ext/couchbase/core/protocol/cmd_touch.hxx +84 -0
  546. data/ext/couchbase/core/protocol/cmd_unlock.cxx +44 -0
  547. data/ext/couchbase/core/protocol/cmd_unlock.hxx +81 -0
  548. data/ext/couchbase/core/protocol/cmd_upsert.cxx +92 -0
  549. data/ext/couchbase/core/protocol/cmd_upsert.hxx +126 -0
  550. data/ext/couchbase/core/protocol/datatype.hxx +48 -0
  551. data/ext/couchbase/core/protocol/enhanced_error_info.hxx +23 -0
  552. data/ext/couchbase/core/protocol/frame_info_id.hxx +142 -0
  553. data/ext/couchbase/core/protocol/frame_info_id_fmt.hxx +79 -0
  554. data/ext/couchbase/core/protocol/frame_info_utils.cxx +59 -0
  555. data/ext/couchbase/core/protocol/frame_info_utils.hxx +52 -0
  556. data/ext/couchbase/core/protocol/hello_feature.hxx +193 -0
  557. data/ext/couchbase/core/protocol/hello_feature_fmt.hxx +112 -0
  558. data/ext/couchbase/core/protocol/magic.hxx +53 -0
  559. data/ext/couchbase/core/protocol/magic_fmt.hxx +58 -0
  560. data/ext/couchbase/core/protocol/server_opcode.hxx +39 -0
  561. data/ext/couchbase/core/protocol/server_opcode_fmt.hxx +46 -0
  562. data/ext/couchbase/core/protocol/server_request.hxx +121 -0
  563. data/ext/couchbase/core/protocol/status.cxx +202 -0
  564. data/ext/couchbase/core/protocol/status.hxx +118 -0
  565. data/ext/couchbase/core/query_context.hxx +79 -0
  566. data/ext/couchbase/core/range_scan_options.cxx +57 -0
  567. data/ext/couchbase/core/range_scan_options.hxx +139 -0
  568. data/ext/couchbase/core/range_scan_orchestrator.cxx +495 -0
  569. data/ext/couchbase/core/range_scan_orchestrator.hxx +54 -0
  570. data/ext/couchbase/core/range_scan_orchestrator_options.hxx +54 -0
  571. data/ext/couchbase/core/resource_units.hxx +26 -0
  572. data/ext/couchbase/core/response_handler.hxx +49 -0
  573. data/ext/couchbase/core/retry_orchestrator.cxx +52 -0
  574. data/ext/couchbase/core/retry_orchestrator.hxx +35 -0
  575. data/ext/couchbase/core/sasl/CMakeLists.txt +16 -0
  576. data/ext/couchbase/core/sasl/client.cc +50 -0
  577. data/ext/couchbase/core/sasl/client.h +127 -0
  578. data/ext/couchbase/core/sasl/context.cc +34 -0
  579. data/ext/couchbase/core/sasl/context.h +52 -0
  580. data/ext/couchbase/core/sasl/error.h +28 -0
  581. data/ext/couchbase/core/sasl/error_fmt.h +70 -0
  582. data/ext/couchbase/core/sasl/mechanism.cc +45 -0
  583. data/ext/couchbase/core/sasl/mechanism.h +52 -0
  584. data/ext/couchbase/core/sasl/plain/plain.cc +39 -0
  585. data/ext/couchbase/core/sasl/plain/plain.h +54 -0
  586. data/ext/couchbase/core/sasl/scram-sha/scram-sha.cc +372 -0
  587. data/ext/couchbase/core/sasl/scram-sha/scram-sha.h +184 -0
  588. data/ext/couchbase/core/sasl/scram-sha/stringutils.cc +82 -0
  589. data/ext/couchbase/core/sasl/scram-sha/stringutils.h +48 -0
  590. data/ext/couchbase/core/scan_options.hxx +63 -0
  591. data/ext/couchbase/core/scan_result.cxx +71 -0
  592. data/ext/couchbase/core/scan_result.hxx +59 -0
  593. data/ext/couchbase/core/search_highlight_style.hxx +23 -0
  594. data/ext/couchbase/core/search_query_options.cxx +72 -0
  595. data/ext/couchbase/core/search_query_options.hxx +74 -0
  596. data/ext/couchbase/core/search_scan_consistency.hxx +23 -0
  597. data/ext/couchbase/core/seed_config.cxx +39 -0
  598. data/ext/couchbase/core/seed_config.hxx +39 -0
  599. data/ext/couchbase/core/service_type.hxx +31 -0
  600. data/ext/couchbase/core/service_type_fmt.hxx +61 -0
  601. data/ext/couchbase/core/stats_options.hxx +61 -0
  602. data/ext/couchbase/core/subdoc_options.hxx +124 -0
  603. data/ext/couchbase/core/timeout_defaults.hxx +45 -0
  604. data/ext/couchbase/core/topology/capabilities.hxx +43 -0
  605. data/ext/couchbase/core/topology/capabilities_fmt.hxx +106 -0
  606. data/ext/couchbase/core/topology/collections_manifest.hxx +43 -0
  607. data/ext/couchbase/core/topology/collections_manifest_fmt.hxx +52 -0
  608. data/ext/couchbase/core/topology/collections_manifest_json.hxx +53 -0
  609. data/ext/couchbase/core/topology/configuration.cxx +256 -0
  610. data/ext/couchbase/core/topology/configuration.hxx +144 -0
  611. data/ext/couchbase/core/topology/configuration_fmt.hxx +166 -0
  612. data/ext/couchbase/core/topology/configuration_json.hxx +259 -0
  613. data/ext/couchbase/core/topology/error_map.hxx +35 -0
  614. data/ext/couchbase/core/topology/error_map_fmt.hxx +94 -0
  615. data/ext/couchbase/core/topology/error_map_json.hxx +89 -0
  616. data/ext/couchbase/core/tracing/CMakeLists.txt +11 -0
  617. data/ext/couchbase/core/tracing/constants.hxx +286 -0
  618. data/ext/couchbase/core/tracing/noop_tracer.hxx +56 -0
  619. data/ext/couchbase/core/tracing/threshold_logging_options.hxx +68 -0
  620. data/ext/couchbase/core/tracing/threshold_logging_tracer.cxx +438 -0
  621. data/ext/couchbase/core/tracing/threshold_logging_tracer.hxx +52 -0
  622. data/ext/couchbase/core/transactions/active_transaction_record.hxx +180 -0
  623. data/ext/couchbase/core/transactions/async_attempt_context.hxx +175 -0
  624. data/ext/couchbase/core/transactions/atr_cleanup_entry.cxx +460 -0
  625. data/ext/couchbase/core/transactions/atr_ids.cxx +225 -0
  626. data/ext/couchbase/core/transactions/atr_ids.hxx +32 -0
  627. data/ext/couchbase/core/transactions/attempt_context.hxx +195 -0
  628. data/ext/couchbase/core/transactions/attempt_context_impl.cxx +2382 -0
  629. data/ext/couchbase/core/transactions/attempt_context_impl.hxx +608 -0
  630. data/ext/couchbase/core/transactions/attempt_context_testing_hooks.hxx +145 -0
  631. data/ext/couchbase/core/transactions/attempt_state.hxx +112 -0
  632. data/ext/couchbase/core/transactions/binary.cxx +26 -0
  633. data/ext/couchbase/core/transactions/cleanup_testing_hooks.hxx +69 -0
  634. data/ext/couchbase/core/transactions/document_metadata.hxx +106 -0
  635. data/ext/couchbase/core/transactions/durability_level.hxx +91 -0
  636. data/ext/couchbase/core/transactions/error_class.hxx +35 -0
  637. data/ext/couchbase/core/transactions/error_list.hxx +54 -0
  638. data/ext/couchbase/core/transactions/exceptions.cxx +160 -0
  639. data/ext/couchbase/core/transactions/exceptions.hxx +209 -0
  640. data/ext/couchbase/core/transactions/forward_compat.hxx +250 -0
  641. data/ext/couchbase/core/transactions/internal/atr_cleanup_entry.hxx +164 -0
  642. data/ext/couchbase/core/transactions/internal/atr_entry.hxx +178 -0
  643. data/ext/couchbase/core/transactions/internal/binary.hxx +26 -0
  644. data/ext/couchbase/core/transactions/internal/client_record.hxx +85 -0
  645. data/ext/couchbase/core/transactions/internal/doc_record.hxx +99 -0
  646. data/ext/couchbase/core/transactions/internal/exceptions_internal.hxx +393 -0
  647. data/ext/couchbase/core/transactions/internal/logging.hxx +62 -0
  648. data/ext/couchbase/core/transactions/internal/transaction_attempt.hxx +30 -0
  649. data/ext/couchbase/core/transactions/internal/transaction_context.hxx +197 -0
  650. data/ext/couchbase/core/transactions/internal/transaction_fields.hxx +71 -0
  651. data/ext/couchbase/core/transactions/internal/transactions_cleanup.hxx +159 -0
  652. data/ext/couchbase/core/transactions/internal/utils.hxx +311 -0
  653. data/ext/couchbase/core/transactions/result.cxx +79 -0
  654. data/ext/couchbase/core/transactions/result.hxx +296 -0
  655. data/ext/couchbase/core/transactions/staged_mutation.cxx +416 -0
  656. data/ext/couchbase/core/transactions/staged_mutation.hxx +126 -0
  657. data/ext/couchbase/core/transactions/transaction_attempt.cxx +29 -0
  658. data/ext/couchbase/core/transactions/transaction_context.cxx +307 -0
  659. data/ext/couchbase/core/transactions/transaction_get_result.cxx +218 -0
  660. data/ext/couchbase/core/transactions/transaction_get_result.hxx +289 -0
  661. data/ext/couchbase/core/transactions/transaction_links.cxx +27 -0
  662. data/ext/couchbase/core/transactions/transaction_links.hxx +252 -0
  663. data/ext/couchbase/core/transactions/transaction_options.cxx +38 -0
  664. data/ext/couchbase/core/transactions/transactions.cxx +184 -0
  665. data/ext/couchbase/core/transactions/transactions_cleanup.cxx +592 -0
  666. data/ext/couchbase/core/transactions/transactions_config.cxx +81 -0
  667. data/ext/couchbase/core/transactions/uid_generator.cxx +27 -0
  668. data/ext/couchbase/core/transactions/uid_generator.hxx +29 -0
  669. data/ext/couchbase/core/transactions/utils.cxx +123 -0
  670. data/ext/couchbase/core/transactions/waitable_op_list.hxx +189 -0
  671. data/ext/couchbase/core/transactions.hxx +255 -0
  672. data/ext/couchbase/core/utils/binary.cxx +27 -0
  673. data/ext/couchbase/core/utils/binary.hxx +57 -0
  674. data/ext/couchbase/core/utils/byteswap.hxx +49 -0
  675. data/ext/couchbase/core/utils/connection_string.cxx +430 -0
  676. data/ext/couchbase/core/utils/connection_string.hxx +76 -0
  677. data/ext/couchbase/core/utils/crc32.hxx +56 -0
  678. data/ext/couchbase/core/utils/duration_parser.cxx +193 -0
  679. data/ext/couchbase/core/utils/duration_parser.hxx +45 -0
  680. data/ext/couchbase/core/utils/join_strings.hxx +65 -0
  681. data/ext/couchbase/core/utils/json.cxx +291 -0
  682. data/ext/couchbase/core/utils/json.hxx +43 -0
  683. data/ext/couchbase/core/utils/json_stream_control.hxx +32 -0
  684. data/ext/couchbase/core/utils/json_streaming_lexer.cxx +398 -0
  685. data/ext/couchbase/core/utils/json_streaming_lexer.hxx +60 -0
  686. data/ext/couchbase/core/utils/keyspace.hxx +55 -0
  687. data/ext/couchbase/core/utils/movable_function.hxx +121 -0
  688. data/ext/couchbase/core/utils/mutation_token.cxx +33 -0
  689. data/ext/couchbase/core/utils/mutation_token.hxx +29 -0
  690. data/ext/couchbase/core/utils/name_codec.hxx +41 -0
  691. data/ext/couchbase/core/utils/split_string.cxx +35 -0
  692. data/ext/couchbase/core/utils/split_string.hxx +27 -0
  693. data/ext/couchbase/core/utils/unsigned_leb128.hxx +183 -0
  694. data/ext/couchbase/core/utils/url_codec.cxx +405 -0
  695. data/ext/couchbase/core/utils/url_codec.hxx +72 -0
  696. data/ext/couchbase/core/view_on_error.hxx +27 -0
  697. data/ext/couchbase/core/view_query_options.cxx +72 -0
  698. data/ext/couchbase/core/view_query_options.hxx +78 -0
  699. data/ext/couchbase/core/view_scan_consistency.hxx +27 -0
  700. data/ext/couchbase/core/view_sort_order.hxx +23 -0
  701. data/ext/couchbase/core/wait_until_ready_options.hxx +52 -0
  702. data/ext/couchbase/couchbase/append_options.hxx +123 -0
  703. data/ext/couchbase/couchbase/behavior_options.hxx +79 -0
  704. data/ext/couchbase/couchbase/best_effort_retry_strategy.hxx +64 -0
  705. data/ext/couchbase/couchbase/binary_collection.hxx +327 -0
  706. data/ext/couchbase/couchbase/bucket.hxx +55 -494
  707. data/ext/couchbase/couchbase/build_query_index_options.hxx +99 -0
  708. data/ext/couchbase/couchbase/cas.hxx +74 -8
  709. data/ext/couchbase/couchbase/certificate_authenticator.hxx +39 -0
  710. data/ext/couchbase/couchbase/cluster.hxx +156 -370
  711. data/ext/couchbase/couchbase/cluster_options.hxx +315 -51
  712. data/ext/couchbase/couchbase/codec/binary_noop_serializer.hxx +47 -0
  713. data/ext/couchbase/couchbase/codec/codec_flags.hxx +145 -0
  714. data/ext/couchbase/couchbase/codec/default_json_transcoder.hxx +36 -0
  715. data/ext/couchbase/couchbase/codec/encoded_value.hxx +31 -0
  716. data/ext/couchbase/couchbase/codec/json_transcoder.hxx +49 -0
  717. data/ext/couchbase/couchbase/codec/raw_binary_transcoder.hxx +54 -0
  718. data/ext/couchbase/couchbase/codec/serializer_traits.hxx +31 -0
  719. data/ext/couchbase/couchbase/codec/tao_json_serializer.hxx +81 -0
  720. data/ext/couchbase/couchbase/codec/transcoder_traits.hxx +31 -0
  721. data/ext/couchbase/couchbase/collection.hxx +1031 -0
  722. data/ext/couchbase/couchbase/collection_query_index_manager.hxx +218 -0
  723. data/ext/couchbase/couchbase/common_durability_options.hxx +108 -0
  724. data/ext/couchbase/couchbase/common_options.hxx +112 -0
  725. data/ext/couchbase/couchbase/compression_options.hxx +65 -0
  726. data/ext/couchbase/couchbase/configuration_profile.hxx +44 -0
  727. data/ext/couchbase/couchbase/configuration_profiles_registry.hxx +61 -0
  728. data/ext/couchbase/couchbase/counter_result.hxx +73 -0
  729. data/ext/couchbase/couchbase/create_primary_query_index_options.hxx +166 -0
  730. data/ext/couchbase/couchbase/create_query_index_options.hxx +172 -0
  731. data/ext/couchbase/couchbase/decrement_options.hxx +166 -0
  732. data/ext/couchbase/couchbase/dns_options.hxx +65 -0
  733. data/ext/couchbase/couchbase/drop_primary_query_index_options.hxx +129 -0
  734. data/ext/couchbase/couchbase/drop_query_index_options.hxx +116 -0
  735. data/ext/couchbase/couchbase/durability_level.hxx +64 -0
  736. data/ext/couchbase/couchbase/error_codes.hxx +1223 -0
  737. data/ext/couchbase/couchbase/error_context.hxx +173 -0
  738. data/ext/couchbase/couchbase/exists_options.hxx +97 -0
  739. data/ext/couchbase/couchbase/exists_result.hxx +72 -0
  740. data/ext/couchbase/couchbase/expiry.hxx +55 -0
  741. data/ext/couchbase/couchbase/fail_fast_retry_strategy.hxx +37 -0
  742. data/ext/couchbase/couchbase/fmt/cas.hxx +37 -0
  743. data/ext/couchbase/couchbase/fmt/durability_level.hxx +52 -0
  744. data/ext/couchbase/couchbase/fmt/key_value_extended_error_info.hxx +46 -0
  745. data/ext/couchbase/couchbase/fmt/key_value_status_code.hxx +258 -0
  746. data/ext/couchbase/couchbase/fmt/mutation_token.hxx +38 -0
  747. data/ext/couchbase/couchbase/fmt/query_scan_consistency.hxx +46 -0
  748. data/ext/couchbase/couchbase/fmt/query_status.hxx +70 -0
  749. data/ext/couchbase/couchbase/fmt/retry_reason.hxx +103 -0
  750. data/ext/couchbase/couchbase/fmt/tls_verify_mode.hxx +46 -0
  751. data/ext/couchbase/couchbase/get_all_query_indexes_options.hxx +100 -0
  752. data/ext/couchbase/couchbase/get_all_replicas_options.hxx +102 -0
  753. data/ext/couchbase/couchbase/get_and_lock_options.hxx +94 -0
  754. data/ext/couchbase/couchbase/get_and_touch_options.hxx +94 -0
  755. data/ext/couchbase/couchbase/get_any_replica_options.hxx +93 -0
  756. data/ext/couchbase/couchbase/get_options.hxx +137 -0
  757. data/ext/couchbase/couchbase/get_replica_result.hxx +117 -0
  758. data/ext/couchbase/couchbase/get_result.hxx +126 -0
  759. data/ext/couchbase/couchbase/increment_options.hxx +166 -0
  760. data/ext/couchbase/couchbase/insert_options.hxx +136 -0
  761. data/ext/couchbase/couchbase/ip_protocol.hxx +27 -0
  762. data/ext/couchbase/couchbase/key_value_error_context.hxx +224 -0
  763. data/ext/couchbase/couchbase/key_value_error_map_attribute.hxx +124 -0
  764. data/ext/couchbase/couchbase/key_value_error_map_info.hxx +138 -0
  765. data/ext/couchbase/couchbase/key_value_extended_error_info.hxx +86 -0
  766. data/ext/couchbase/couchbase/key_value_status_code.hxx +107 -0
  767. data/ext/couchbase/couchbase/lookup_in_options.hxx +119 -0
  768. data/ext/couchbase/couchbase/lookup_in_result.hxx +255 -0
  769. data/ext/couchbase/couchbase/lookup_in_specs.hxx +147 -0
  770. data/ext/couchbase/couchbase/manager_error_context.hxx +136 -0
  771. data/ext/couchbase/couchbase/metrics/meter.hxx +16 -0
  772. data/ext/couchbase/couchbase/metrics/otel_meter.hxx +131 -0
  773. data/ext/couchbase/couchbase/metrics_options.hxx +71 -0
  774. data/ext/couchbase/couchbase/mutate_in_options.hxx +233 -0
  775. data/ext/couchbase/couchbase/mutate_in_result.hxx +173 -0
  776. data/ext/couchbase/couchbase/mutate_in_specs.hxx +528 -0
  777. data/ext/couchbase/couchbase/mutation_result.hxx +73 -0
  778. data/ext/couchbase/couchbase/mutation_state.hxx +73 -0
  779. data/ext/couchbase/couchbase/mutation_token.hxx +93 -6
  780. data/ext/couchbase/couchbase/network_options.hxx +114 -0
  781. data/ext/couchbase/couchbase/password_authenticator.hxx +47 -0
  782. data/ext/couchbase/couchbase/persist_to.hxx +73 -0
  783. data/ext/couchbase/couchbase/prepend_options.hxx +124 -0
  784. data/ext/couchbase/couchbase/query_error_context.hxx +143 -0
  785. data/ext/couchbase/couchbase/query_index_manager.hxx +254 -0
  786. data/ext/couchbase/couchbase/query_meta_data.hxx +171 -0
  787. data/ext/couchbase/couchbase/query_metrics.hxx +179 -0
  788. data/ext/couchbase/couchbase/query_options.hxx +575 -0
  789. data/ext/couchbase/couchbase/query_profile.hxx +52 -0
  790. data/ext/couchbase/couchbase/query_result.hxx +102 -0
  791. data/ext/couchbase/couchbase/query_scan_consistency.hxx +25 -2
  792. data/ext/couchbase/couchbase/query_status.hxx +42 -0
  793. data/ext/couchbase/couchbase/query_warning.hxx +115 -0
  794. data/ext/couchbase/couchbase/remove_options.hxx +123 -0
  795. data/ext/couchbase/couchbase/replace_options.hxx +184 -0
  796. data/ext/couchbase/couchbase/replicate_to.hxx +55 -0
  797. data/ext/couchbase/couchbase/result.hxx +66 -0
  798. data/ext/couchbase/couchbase/retry_action.hxx +41 -0
  799. data/ext/couchbase/couchbase/retry_reason.hxx +107 -0
  800. data/ext/couchbase/couchbase/retry_request.hxx +39 -0
  801. data/ext/couchbase/couchbase/retry_strategy.hxx +35 -0
  802. data/ext/couchbase/couchbase/scope.hxx +149 -0
  803. data/ext/couchbase/couchbase/security_options.hxx +68 -0
  804. data/ext/couchbase/couchbase/store_semantics.hxx +63 -0
  805. data/ext/couchbase/couchbase/subdoc/array_add_unique.hxx +105 -0
  806. data/ext/couchbase/couchbase/subdoc/array_append.hxx +89 -0
  807. data/ext/couchbase/couchbase/subdoc/array_insert.hxx +90 -0
  808. data/ext/couchbase/couchbase/subdoc/array_prepend.hxx +90 -0
  809. data/ext/couchbase/couchbase/subdoc/count.hxx +70 -0
  810. data/ext/couchbase/couchbase/subdoc/counter.hxx +88 -0
  811. data/ext/couchbase/couchbase/subdoc/exists.hxx +70 -0
  812. data/ext/couchbase/couchbase/subdoc/fwd/command.hxx +25 -0
  813. data/ext/couchbase/couchbase/subdoc/fwd/command_bundle.hxx +25 -0
  814. data/ext/couchbase/couchbase/subdoc/get.hxx +78 -0
  815. data/ext/couchbase/couchbase/subdoc/insert.hxx +105 -0
  816. data/ext/couchbase/couchbase/subdoc/lookup_in_macro.hxx +66 -0
  817. data/ext/couchbase/couchbase/subdoc/mutate_in_macro.hxx +54 -0
  818. data/ext/couchbase/couchbase/subdoc/remove.hxx +70 -0
  819. data/ext/couchbase/couchbase/subdoc/replace.hxx +89 -0
  820. data/ext/couchbase/couchbase/subdoc/upsert.hxx +105 -0
  821. data/ext/couchbase/couchbase/subdocument_error_context.hxx +144 -0
  822. data/ext/couchbase/couchbase/timeout_options.hxx +141 -0
  823. data/ext/couchbase/couchbase/tls_verify_mode.hxx +26 -0
  824. data/ext/couchbase/couchbase/touch_options.hxx +94 -0
  825. data/ext/couchbase/couchbase/tracing/otel_tracer.hxx +85 -0
  826. data/ext/couchbase/couchbase/tracing/request_tracer.hxx +17 -2
  827. data/ext/couchbase/couchbase/tracing_options.hxx +174 -0
  828. data/ext/couchbase/couchbase/transaction_error_context.hxx +49 -0
  829. data/ext/couchbase/couchbase/transaction_op_error_context.hxx +76 -0
  830. data/ext/couchbase/couchbase/transactions/async_attempt_context.hxx +78 -0
  831. data/ext/couchbase/couchbase/transactions/attempt_context.hxx +79 -0
  832. data/ext/couchbase/couchbase/transactions/transaction_get_result.hxx +133 -0
  833. data/ext/couchbase/couchbase/transactions/transaction_keyspace.hxx +101 -0
  834. data/ext/couchbase/couchbase/transactions/transaction_options.hxx +115 -0
  835. data/ext/couchbase/couchbase/transactions/transaction_query_options.hxx +159 -0
  836. data/ext/couchbase/couchbase/transactions/transaction_query_result.hxx +36 -0
  837. data/ext/couchbase/couchbase/transactions/transaction_result.hxx +34 -0
  838. data/ext/couchbase/couchbase/transactions/transactions_cleanup_config.hxx +140 -0
  839. data/ext/couchbase/couchbase/transactions/transactions_config.hxx +255 -0
  840. data/ext/couchbase/couchbase/transactions/transactions_query_config.hxx +61 -0
  841. data/ext/couchbase/couchbase/transactions.hxx +43 -0
  842. data/ext/couchbase/couchbase/unlock_options.hxx +97 -0
  843. data/ext/couchbase/couchbase/upsert_options.hxx +158 -0
  844. data/ext/couchbase/couchbase/wan_development_configuration_profile.hxx +44 -0
  845. data/ext/couchbase/couchbase/watch_query_indexes_options.hxx +115 -0
  846. data/ext/couchbase/test/CMakeLists.txt +19 -0
  847. data/ext/couchbase/test/another_simple_object.hxx +50 -0
  848. data/ext/couchbase/test/benchmark_integration_get.cxx +5 -6
  849. data/ext/couchbase/test/profile.hxx +62 -0
  850. data/ext/couchbase/test/simple_object.hxx +53 -0
  851. data/ext/couchbase/test/test_helper.hxx +8 -0
  852. data/ext/couchbase/test/test_helper_integration.hxx +1 -1
  853. data/ext/couchbase/test/test_integration_analytics.cxx +261 -0
  854. data/ext/couchbase/test/test_integration_arithmetic.cxx +119 -20
  855. data/ext/couchbase/test/test_integration_binary_operations.cxx +26 -39
  856. data/ext/couchbase/test/test_integration_collections.cxx +43 -45
  857. data/ext/couchbase/test/test_integration_connect.cxx +35 -25
  858. data/ext/couchbase/test/test_integration_crud.cxx +403 -187
  859. data/ext/couchbase/test/test_integration_diagnostics.cxx +119 -48
  860. data/ext/couchbase/test/test_integration_durability.cxx +171 -26
  861. data/ext/couchbase/test/test_integration_management.cxx +1474 -849
  862. data/ext/couchbase/test/test_integration_meter.cxx +182 -0
  863. data/ext/couchbase/test/test_integration_query.cxx +266 -86
  864. data/ext/couchbase/test/test_integration_range_scan.cxx +1067 -0
  865. data/ext/couchbase/test/test_integration_read_replica.cxx +232 -0
  866. data/ext/couchbase/test/test_integration_subdoc.cxx +337 -306
  867. data/ext/couchbase/test/test_integration_tracer.cxx +306 -0
  868. data/ext/couchbase/test/test_integration_transcoders.cxx +588 -0
  869. data/ext/couchbase/test/test_transaction_transaction_context.cxx +550 -0
  870. data/ext/couchbase/test/test_transaction_transaction_public_async_api.cxx +393 -0
  871. data/ext/couchbase/test/test_transaction_transaction_public_blocking_api.cxx +653 -0
  872. data/ext/couchbase/test/test_transaction_transaction_simple.cxx +899 -0
  873. data/ext/couchbase/test/test_transaction_transaction_simple_async.cxx +972 -0
  874. data/ext/couchbase/test/test_unit_config_profiles.cxx +132 -0
  875. data/ext/couchbase/test/test_unit_connection_string.cxx +170 -165
  876. data/ext/couchbase/test/test_unit_json_streaming_lexer.cxx +129 -9
  877. data/ext/couchbase/test/test_unit_json_transcoder.cxx +212 -0
  878. data/ext/couchbase/test/test_unit_jsonsl.cxx +1 -1
  879. data/ext/couchbase/test/test_unit_options.cxx +57 -0
  880. data/ext/couchbase/test/test_unit_transaction_logging.cxx +130 -0
  881. data/ext/couchbase/test/test_unit_transaction_utils.cxx +261 -0
  882. data/ext/couchbase/test/test_unit_utils.cxx +166 -29
  883. data/ext/couchbase/test/test_unit_waitable_op_list.cxx +132 -0
  884. data/ext/couchbase/third_party/asio/asio/include/asio/any_io_executor.hpp +4 -2
  885. data/ext/couchbase/third_party/asio/asio/include/asio/append.hpp +78 -0
  886. data/ext/couchbase/third_party/asio/asio/include/asio/as_tuple.hpp +139 -0
  887. data/ext/couchbase/third_party/asio/asio/include/asio/associated_allocator.hpp +4 -4
  888. data/ext/couchbase/third_party/asio/asio/include/asio/associated_cancellation_slot.hpp +4 -3
  889. data/ext/couchbase/third_party/asio/asio/include/asio/associated_executor.hpp +4 -4
  890. data/ext/couchbase/third_party/asio/asio/include/asio/associator.hpp +1 -1
  891. data/ext/couchbase/third_party/asio/asio/include/asio/async_result.hpp +357 -1
  892. data/ext/couchbase/third_party/asio/asio/include/asio/awaitable.hpp +10 -1
  893. data/ext/couchbase/third_party/asio/asio/include/asio/basic_datagram_socket.hpp +208 -115
  894. data/ext/couchbase/third_party/asio/asio/include/asio/basic_deadline_timer.hpp +28 -16
  895. data/ext/couchbase/third_party/asio/asio/include/asio/basic_file.hpp +2 -2
  896. data/ext/couchbase/third_party/asio/asio/include/asio/basic_io_object.hpp +1 -1
  897. data/ext/couchbase/third_party/asio/asio/include/asio/basic_random_access_file.hpp +51 -27
  898. data/ext/couchbase/third_party/asio/asio/include/asio/basic_raw_socket.hpp +210 -117
  899. data/ext/couchbase/third_party/asio/asio/include/asio/basic_readable_pipe.hpp +127 -15
  900. data/ext/couchbase/third_party/asio/asio/include/asio/basic_seq_packet_socket.hpp +84 -47
  901. data/ext/couchbase/third_party/asio/asio/include/asio/basic_serial_port.hpp +120 -27
  902. data/ext/couchbase/third_party/asio/asio/include/asio/basic_signal_set.hpp +36 -14
  903. data/ext/couchbase/third_party/asio/asio/include/asio/basic_socket.hpp +50 -26
  904. data/ext/couchbase/third_party/asio/asio/include/asio/basic_socket_acceptor.hpp +295 -150
  905. data/ext/couchbase/third_party/asio/asio/include/asio/basic_socket_iostream.hpp +1 -1
  906. data/ext/couchbase/third_party/asio/asio/include/asio/basic_socket_streambuf.hpp +1 -1
  907. data/ext/couchbase/third_party/asio/asio/include/asio/basic_stream_file.hpp +51 -27
  908. data/ext/couchbase/third_party/asio/asio/include/asio/basic_stream_socket.hpp +153 -84
  909. data/ext/couchbase/third_party/asio/asio/include/asio/basic_streambuf.hpp +1 -1
  910. data/ext/couchbase/third_party/asio/asio/include/asio/basic_streambuf_fwd.hpp +1 -1
  911. data/ext/couchbase/third_party/asio/asio/include/asio/basic_waitable_timer.hpp +28 -16
  912. data/ext/couchbase/third_party/asio/asio/include/asio/basic_writable_pipe.hpp +127 -15
  913. data/ext/couchbase/third_party/asio/asio/include/asio/bind_allocator.hpp +722 -0
  914. data/ext/couchbase/third_party/asio/asio/include/asio/bind_cancellation_slot.hpp +11 -8
  915. data/ext/couchbase/third_party/asio/asio/include/asio/bind_executor.hpp +36 -20
  916. data/ext/couchbase/third_party/asio/asio/include/asio/buffer.hpp +222 -42
  917. data/ext/couchbase/third_party/asio/asio/include/asio/buffer_registration.hpp +2 -1
  918. data/ext/couchbase/third_party/asio/asio/include/asio/buffered_read_stream.hpp +38 -6
  919. data/ext/couchbase/third_party/asio/asio/include/asio/buffered_read_stream_fwd.hpp +1 -1
  920. data/ext/couchbase/third_party/asio/asio/include/asio/buffered_stream.hpp +34 -5
  921. data/ext/couchbase/third_party/asio/asio/include/asio/buffered_stream_fwd.hpp +1 -1
  922. data/ext/couchbase/third_party/asio/asio/include/asio/buffered_write_stream.hpp +38 -6
  923. data/ext/couchbase/third_party/asio/asio/include/asio/buffered_write_stream_fwd.hpp +1 -1
  924. data/ext/couchbase/third_party/asio/asio/include/asio/buffers_iterator.hpp +1 -1
  925. data/ext/couchbase/third_party/asio/asio/include/asio/cancellation_signal.hpp +1 -1
  926. data/ext/couchbase/third_party/asio/asio/include/asio/cancellation_state.hpp +1 -1
  927. data/ext/couchbase/third_party/asio/asio/include/asio/cancellation_type.hpp +1 -1
  928. data/ext/couchbase/third_party/asio/asio/include/asio/co_spawn.hpp +33 -9
  929. data/ext/couchbase/third_party/asio/asio/include/asio/completion_condition.hpp +1 -1
  930. data/ext/couchbase/third_party/asio/asio/include/asio/compose.hpp +682 -12
  931. data/ext/couchbase/third_party/asio/asio/include/asio/connect.hpp +132 -61
  932. data/ext/couchbase/third_party/asio/asio/include/asio/connect_pipe.hpp +1 -1
  933. data/ext/couchbase/third_party/asio/asio/include/asio/coroutine.hpp +1 -1
  934. data/ext/couchbase/third_party/asio/asio/include/asio/deadline_timer.hpp +1 -1
  935. data/ext/couchbase/third_party/asio/asio/include/asio/defer.hpp +128 -42
  936. data/ext/couchbase/third_party/asio/asio/include/asio/deferred.hpp +675 -0
  937. data/ext/couchbase/third_party/asio/asio/include/asio/detached.hpp +6 -5
  938. data/ext/couchbase/third_party/asio/asio/include/asio/detail/array.hpp +1 -1
  939. data/ext/couchbase/third_party/asio/asio/include/asio/detail/array_fwd.hpp +1 -1
  940. data/ext/couchbase/third_party/asio/asio/include/asio/detail/assert.hpp +1 -1
  941. data/ext/couchbase/third_party/asio/asio/include/asio/detail/atomic_count.hpp +1 -1
  942. data/ext/couchbase/third_party/asio/asio/include/asio/detail/base_from_cancellation_state.hpp +1 -1
  943. data/ext/couchbase/third_party/asio/asio/include/asio/detail/base_from_completion_cond.hpp +1 -1
  944. data/ext/couchbase/third_party/asio/asio/include/asio/detail/bind_handler.hpp +1 -1
  945. data/ext/couchbase/third_party/asio/asio/include/asio/detail/blocking_executor_op.hpp +1 -1
  946. data/ext/couchbase/third_party/asio/asio/include/asio/detail/buffer_resize_guard.hpp +1 -1
  947. data/ext/couchbase/third_party/asio/asio/include/asio/detail/buffer_sequence_adapter.hpp +1 -1
  948. data/ext/couchbase/third_party/asio/asio/include/asio/detail/buffered_stream_storage.hpp +1 -1
  949. data/ext/couchbase/third_party/asio/asio/include/asio/detail/bulk_executor_op.hpp +1 -1
  950. data/ext/couchbase/third_party/asio/asio/include/asio/detail/call_stack.hpp +1 -1
  951. data/ext/couchbase/third_party/asio/asio/include/asio/detail/chrono.hpp +1 -1
  952. data/ext/couchbase/third_party/asio/asio/include/asio/detail/chrono_time_traits.hpp +1 -1
  953. data/ext/couchbase/third_party/asio/asio/include/asio/detail/completion_handler.hpp +1 -1
  954. data/ext/couchbase/third_party/asio/asio/include/asio/detail/concurrency_hint.hpp +1 -1
  955. data/ext/couchbase/third_party/asio/asio/include/asio/detail/conditionally_enabled_event.hpp +1 -1
  956. data/ext/couchbase/third_party/asio/asio/include/asio/detail/conditionally_enabled_mutex.hpp +1 -1
  957. data/ext/couchbase/third_party/asio/asio/include/asio/detail/config.hpp +201 -11
  958. data/ext/couchbase/third_party/asio/asio/include/asio/detail/consuming_buffers.hpp +1 -1
  959. data/ext/couchbase/third_party/asio/asio/include/asio/detail/cstddef.hpp +1 -1
  960. data/ext/couchbase/third_party/asio/asio/include/asio/detail/cstdint.hpp +1 -1
  961. data/ext/couchbase/third_party/asio/asio/include/asio/detail/date_time_fwd.hpp +1 -1
  962. data/ext/couchbase/third_party/asio/asio/include/asio/detail/deadline_timer_service.hpp +1 -1
  963. data/ext/couchbase/third_party/asio/asio/include/asio/detail/dependent_type.hpp +1 -1
  964. data/ext/couchbase/third_party/asio/asio/include/asio/detail/descriptor_ops.hpp +2 -2
  965. data/ext/couchbase/third_party/asio/asio/include/asio/detail/descriptor_read_op.hpp +3 -1
  966. data/ext/couchbase/third_party/asio/asio/include/asio/detail/descriptor_write_op.hpp +3 -1
  967. data/ext/couchbase/third_party/asio/asio/include/asio/detail/dev_poll_reactor.hpp +1 -1
  968. data/ext/couchbase/third_party/asio/asio/include/asio/detail/epoll_reactor.hpp +1 -1
  969. data/ext/couchbase/third_party/asio/asio/include/asio/detail/event.hpp +1 -1
  970. data/ext/couchbase/third_party/asio/asio/include/asio/detail/eventfd_select_interrupter.hpp +1 -1
  971. data/ext/couchbase/third_party/asio/asio/include/asio/detail/exception.hpp +40 -0
  972. data/ext/couchbase/third_party/asio/asio/include/asio/detail/executor_function.hpp +1 -1
  973. data/ext/couchbase/third_party/asio/asio/include/asio/detail/executor_op.hpp +1 -1
  974. data/ext/couchbase/third_party/asio/asio/include/asio/detail/fd_set_adapter.hpp +1 -1
  975. data/ext/couchbase/third_party/asio/asio/include/asio/detail/fenced_block.hpp +1 -1
  976. data/ext/couchbase/third_party/asio/asio/include/asio/detail/functional.hpp +1 -1
  977. data/ext/couchbase/third_party/asio/asio/include/asio/detail/future.hpp +1 -1
  978. data/ext/couchbase/third_party/asio/asio/include/asio/detail/gcc_arm_fenced_block.hpp +1 -1
  979. data/ext/couchbase/third_party/asio/asio/include/asio/detail/gcc_hppa_fenced_block.hpp +1 -1
  980. data/ext/couchbase/third_party/asio/asio/include/asio/detail/gcc_sync_fenced_block.hpp +1 -1
  981. data/ext/couchbase/third_party/asio/asio/include/asio/detail/gcc_x86_fenced_block.hpp +2 -2
  982. data/ext/couchbase/third_party/asio/asio/include/asio/detail/global.hpp +1 -1
  983. data/ext/couchbase/third_party/asio/asio/include/asio/detail/handler_alloc_helpers.hpp +1 -1
  984. data/ext/couchbase/third_party/asio/asio/include/asio/detail/handler_cont_helpers.hpp +1 -1
  985. data/ext/couchbase/third_party/asio/asio/include/asio/detail/handler_invoke_helpers.hpp +1 -1
  986. data/ext/couchbase/third_party/asio/asio/include/asio/detail/handler_tracking.hpp +1 -1
  987. data/ext/couchbase/third_party/asio/asio/include/asio/detail/handler_type_requirements.hpp +1 -1
  988. data/ext/couchbase/third_party/asio/asio/include/asio/detail/handler_work.hpp +1 -1
  989. data/ext/couchbase/third_party/asio/asio/include/asio/detail/hash_map.hpp +1 -1
  990. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/buffer_sequence_adapter.ipp +1 -1
  991. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/descriptor_ops.ipp +9 -9
  992. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/dev_poll_reactor.hpp +1 -1
  993. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/dev_poll_reactor.ipp +1 -1
  994. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/epoll_reactor.hpp +1 -1
  995. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/epoll_reactor.ipp +1 -1
  996. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/eventfd_select_interrupter.ipp +1 -1
  997. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/handler_tracking.ipp +1 -1
  998. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/io_uring_descriptor_service.ipp +4 -1
  999. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/io_uring_file_service.ipp +10 -1
  1000. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/io_uring_service.hpp +1 -1
  1001. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/io_uring_service.ipp +8 -7
  1002. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/io_uring_socket_service_base.ipp +1 -1
  1003. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/kqueue_reactor.hpp +1 -1
  1004. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/kqueue_reactor.ipp +1 -1
  1005. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/null_event.ipp +1 -1
  1006. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/pipe_select_interrupter.ipp +1 -1
  1007. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/posix_event.ipp +1 -1
  1008. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/posix_mutex.ipp +1 -1
  1009. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/posix_serial_port_service.ipp +21 -2
  1010. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/posix_thread.ipp +1 -1
  1011. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/posix_tss_ptr.ipp +1 -1
  1012. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/reactive_descriptor_service.ipp +6 -1
  1013. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/reactive_socket_service_base.ipp +3 -3
  1014. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/resolver_service_base.ipp +1 -1
  1015. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/scheduler.ipp +1 -1
  1016. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/select_reactor.hpp +1 -1
  1017. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/select_reactor.ipp +36 -1
  1018. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/service_registry.hpp +1 -1
  1019. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/service_registry.ipp +1 -1
  1020. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/signal_set_service.ipp +28 -1
  1021. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/socket_ops.ipp +126 -121
  1022. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/socket_select_interrupter.ipp +4 -4
  1023. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/strand_executor_service.hpp +1 -1
  1024. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/strand_executor_service.ipp +1 -1
  1025. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/strand_service.hpp +1 -1
  1026. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/strand_service.ipp +1 -1
  1027. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/thread_context.ipp +1 -1
  1028. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/throw_error.ipp +13 -9
  1029. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/timer_queue_ptime.ipp +1 -1
  1030. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/timer_queue_set.ipp +1 -1
  1031. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/win_event.ipp +1 -1
  1032. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/win_iocp_file_service.ipp +21 -7
  1033. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/win_iocp_handle_service.ipp +94 -1
  1034. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/win_iocp_io_context.hpp +1 -1
  1035. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/win_iocp_io_context.ipp +1 -1
  1036. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/win_iocp_serial_port_service.ipp +9 -1
  1037. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/win_iocp_socket_service_base.ipp +11 -11
  1038. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/win_mutex.ipp +1 -1
  1039. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/win_object_handle_service.ipp +5 -1
  1040. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/win_static_mutex.ipp +1 -1
  1041. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/win_thread.ipp +1 -1
  1042. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/win_tss_ptr.ipp +1 -1
  1043. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/winrt_ssocket_service_base.ipp +4 -4
  1044. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/winrt_timer_scheduler.hpp +1 -1
  1045. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/winrt_timer_scheduler.ipp +1 -1
  1046. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/winsock_init.ipp +1 -1
  1047. data/ext/couchbase/third_party/asio/asio/include/asio/detail/io_control.hpp +1 -1
  1048. data/ext/couchbase/third_party/asio/asio/include/asio/detail/io_object_impl.hpp +11 -2
  1049. data/ext/couchbase/third_party/asio/asio/include/asio/detail/io_uring_descriptor_read_at_op.hpp +3 -1
  1050. data/ext/couchbase/third_party/asio/asio/include/asio/detail/io_uring_descriptor_read_op.hpp +3 -1
  1051. data/ext/couchbase/third_party/asio/asio/include/asio/detail/io_uring_descriptor_service.hpp +26 -8
  1052. data/ext/couchbase/third_party/asio/asio/include/asio/detail/io_uring_descriptor_write_at_op.hpp +3 -1
  1053. data/ext/couchbase/third_party/asio/asio/include/asio/detail/io_uring_descriptor_write_op.hpp +3 -1
  1054. data/ext/couchbase/third_party/asio/asio/include/asio/detail/io_uring_file_service.hpp +12 -1
  1055. data/ext/couchbase/third_party/asio/asio/include/asio/detail/io_uring_null_buffers_op.hpp +3 -1
  1056. data/ext/couchbase/third_party/asio/asio/include/asio/detail/io_uring_operation.hpp +1 -1
  1057. data/ext/couchbase/third_party/asio/asio/include/asio/detail/io_uring_service.hpp +2 -2
  1058. data/ext/couchbase/third_party/asio/asio/include/asio/detail/io_uring_socket_accept_op.hpp +5 -1
  1059. data/ext/couchbase/third_party/asio/asio/include/asio/detail/io_uring_socket_connect_op.hpp +3 -1
  1060. data/ext/couchbase/third_party/asio/asio/include/asio/detail/io_uring_socket_recv_op.hpp +3 -1
  1061. data/ext/couchbase/third_party/asio/asio/include/asio/detail/io_uring_socket_recvfrom_op.hpp +4 -2
  1062. data/ext/couchbase/third_party/asio/asio/include/asio/detail/io_uring_socket_recvmsg_op.hpp +3 -1
  1063. data/ext/couchbase/third_party/asio/asio/include/asio/detail/io_uring_socket_send_op.hpp +3 -1
  1064. data/ext/couchbase/third_party/asio/asio/include/asio/detail/io_uring_socket_sendto_op.hpp +3 -1
  1065. data/ext/couchbase/third_party/asio/asio/include/asio/detail/io_uring_socket_service.hpp +31 -13
  1066. data/ext/couchbase/third_party/asio/asio/include/asio/detail/io_uring_socket_service_base.hpp +1 -1
  1067. data/ext/couchbase/third_party/asio/asio/include/asio/detail/io_uring_wait_op.hpp +3 -1
  1068. data/ext/couchbase/third_party/asio/asio/include/asio/detail/is_buffer_sequence.hpp +1 -1
  1069. data/ext/couchbase/third_party/asio/asio/include/asio/detail/is_executor.hpp +1 -1
  1070. data/ext/couchbase/third_party/asio/asio/include/asio/detail/keyword_tss_ptr.hpp +1 -1
  1071. data/ext/couchbase/third_party/asio/asio/include/asio/detail/kqueue_reactor.hpp +1 -1
  1072. data/ext/couchbase/third_party/asio/asio/include/asio/detail/local_free_on_block_exit.hpp +1 -1
  1073. data/ext/couchbase/third_party/asio/asio/include/asio/detail/macos_fenced_block.hpp +1 -1
  1074. data/ext/couchbase/third_party/asio/asio/include/asio/detail/memory.hpp +17 -1
  1075. data/ext/couchbase/third_party/asio/asio/include/asio/detail/mutex.hpp +1 -1
  1076. data/ext/couchbase/third_party/asio/asio/include/asio/detail/non_const_lvalue.hpp +1 -1
  1077. data/ext/couchbase/third_party/asio/asio/include/asio/detail/noncopyable.hpp +1 -1
  1078. data/ext/couchbase/third_party/asio/asio/include/asio/detail/null_event.hpp +1 -1
  1079. data/ext/couchbase/third_party/asio/asio/include/asio/detail/null_fenced_block.hpp +1 -1
  1080. data/ext/couchbase/third_party/asio/asio/include/asio/detail/null_global.hpp +1 -1
  1081. data/ext/couchbase/third_party/asio/asio/include/asio/detail/null_mutex.hpp +1 -1
  1082. data/ext/couchbase/third_party/asio/asio/include/asio/detail/null_reactor.hpp +1 -1
  1083. data/ext/couchbase/third_party/asio/asio/include/asio/detail/null_signal_blocker.hpp +1 -1
  1084. data/ext/couchbase/third_party/asio/asio/include/asio/detail/null_socket_service.hpp +1 -1
  1085. data/ext/couchbase/third_party/asio/asio/include/asio/detail/null_static_mutex.hpp +1 -1
  1086. data/ext/couchbase/third_party/asio/asio/include/asio/detail/null_thread.hpp +1 -1
  1087. data/ext/couchbase/third_party/asio/asio/include/asio/detail/null_tss_ptr.hpp +1 -1
  1088. data/ext/couchbase/third_party/asio/asio/include/asio/detail/object_pool.hpp +1 -1
  1089. data/ext/couchbase/third_party/asio/asio/include/asio/detail/old_win_sdk_compat.hpp +1 -1
  1090. data/ext/couchbase/third_party/asio/asio/include/asio/detail/op_queue.hpp +1 -1
  1091. data/ext/couchbase/third_party/asio/asio/include/asio/detail/operation.hpp +1 -1
  1092. data/ext/couchbase/third_party/asio/asio/include/asio/detail/pipe_select_interrupter.hpp +1 -1
  1093. data/ext/couchbase/third_party/asio/asio/include/asio/detail/pop_options.hpp +5 -1
  1094. data/ext/couchbase/third_party/asio/asio/include/asio/detail/posix_event.hpp +1 -1
  1095. data/ext/couchbase/third_party/asio/asio/include/asio/detail/posix_fd_set_adapter.hpp +1 -1
  1096. data/ext/couchbase/third_party/asio/asio/include/asio/detail/posix_global.hpp +1 -1
  1097. data/ext/couchbase/third_party/asio/asio/include/asio/detail/posix_mutex.hpp +1 -1
  1098. data/ext/couchbase/third_party/asio/asio/include/asio/detail/posix_serial_port_service.hpp +2 -1
  1099. data/ext/couchbase/third_party/asio/asio/include/asio/detail/posix_signal_blocker.hpp +1 -1
  1100. data/ext/couchbase/third_party/asio/asio/include/asio/detail/posix_static_mutex.hpp +1 -1
  1101. data/ext/couchbase/third_party/asio/asio/include/asio/detail/posix_thread.hpp +1 -1
  1102. data/ext/couchbase/third_party/asio/asio/include/asio/detail/posix_tss_ptr.hpp +1 -1
  1103. data/ext/couchbase/third_party/asio/asio/include/asio/detail/push_options.hpp +11 -2
  1104. data/ext/couchbase/third_party/asio/asio/include/asio/detail/reactive_descriptor_service.hpp +26 -7
  1105. data/ext/couchbase/third_party/asio/asio/include/asio/detail/reactive_null_buffers_op.hpp +1 -1
  1106. data/ext/couchbase/third_party/asio/asio/include/asio/detail/reactive_socket_accept_op.hpp +5 -1
  1107. data/ext/couchbase/third_party/asio/asio/include/asio/detail/reactive_socket_connect_op.hpp +3 -1
  1108. data/ext/couchbase/third_party/asio/asio/include/asio/detail/reactive_socket_recv_op.hpp +3 -1
  1109. data/ext/couchbase/third_party/asio/asio/include/asio/detail/reactive_socket_recvfrom_op.hpp +3 -1
  1110. data/ext/couchbase/third_party/asio/asio/include/asio/detail/reactive_socket_recvmsg_op.hpp +3 -1
  1111. data/ext/couchbase/third_party/asio/asio/include/asio/detail/reactive_socket_send_op.hpp +3 -1
  1112. data/ext/couchbase/third_party/asio/asio/include/asio/detail/reactive_socket_sendto_op.hpp +3 -1
  1113. data/ext/couchbase/third_party/asio/asio/include/asio/detail/reactive_socket_service.hpp +38 -12
  1114. data/ext/couchbase/third_party/asio/asio/include/asio/detail/reactive_socket_service_base.hpp +2 -3
  1115. data/ext/couchbase/third_party/asio/asio/include/asio/detail/reactive_wait_op.hpp +1 -1
  1116. data/ext/couchbase/third_party/asio/asio/include/asio/detail/reactor.hpp +1 -1
  1117. data/ext/couchbase/third_party/asio/asio/include/asio/detail/reactor_op.hpp +1 -1
  1118. data/ext/couchbase/third_party/asio/asio/include/asio/detail/reactor_op_queue.hpp +1 -1
  1119. data/ext/couchbase/third_party/asio/asio/include/asio/detail/recycling_allocator.hpp +1 -1
  1120. data/ext/couchbase/third_party/asio/asio/include/asio/detail/regex_fwd.hpp +1 -1
  1121. data/ext/couchbase/third_party/asio/asio/include/asio/detail/resolve_endpoint_op.hpp +1 -1
  1122. data/ext/couchbase/third_party/asio/asio/include/asio/detail/resolve_op.hpp +1 -1
  1123. data/ext/couchbase/third_party/asio/asio/include/asio/detail/resolve_query_op.hpp +1 -1
  1124. data/ext/couchbase/third_party/asio/asio/include/asio/detail/resolver_service.hpp +3 -1
  1125. data/ext/couchbase/third_party/asio/asio/include/asio/detail/resolver_service_base.hpp +1 -1
  1126. data/ext/couchbase/third_party/asio/asio/include/asio/detail/scheduler.hpp +1 -1
  1127. data/ext/couchbase/third_party/asio/asio/include/asio/detail/scheduler_operation.hpp +1 -1
  1128. data/ext/couchbase/third_party/asio/asio/include/asio/detail/scheduler_task.hpp +1 -1
  1129. data/ext/couchbase/third_party/asio/asio/include/asio/detail/scheduler_thread_info.hpp +1 -1
  1130. data/ext/couchbase/third_party/asio/asio/include/asio/detail/scoped_lock.hpp +1 -1
  1131. data/ext/couchbase/third_party/asio/asio/include/asio/detail/scoped_ptr.hpp +1 -1
  1132. data/ext/couchbase/third_party/asio/asio/include/asio/detail/select_interrupter.hpp +1 -1
  1133. data/ext/couchbase/third_party/asio/asio/include/asio/detail/select_reactor.hpp +23 -1
  1134. data/ext/couchbase/third_party/asio/asio/include/asio/detail/service_registry.hpp +1 -1
  1135. data/ext/couchbase/third_party/asio/asio/include/asio/detail/signal_blocker.hpp +1 -1
  1136. data/ext/couchbase/third_party/asio/asio/include/asio/detail/signal_handler.hpp +1 -1
  1137. data/ext/couchbase/third_party/asio/asio/include/asio/detail/signal_init.hpp +1 -1
  1138. data/ext/couchbase/third_party/asio/asio/include/asio/detail/signal_op.hpp +5 -1
  1139. data/ext/couchbase/third_party/asio/asio/include/asio/detail/signal_set_service.hpp +43 -1
  1140. data/ext/couchbase/third_party/asio/asio/include/asio/detail/socket_holder.hpp +1 -1
  1141. data/ext/couchbase/third_party/asio/asio/include/asio/detail/socket_ops.hpp +37 -45
  1142. data/ext/couchbase/third_party/asio/asio/include/asio/detail/socket_option.hpp +1 -1
  1143. data/ext/couchbase/third_party/asio/asio/include/asio/detail/socket_select_interrupter.hpp +1 -1
  1144. data/ext/couchbase/third_party/asio/asio/include/asio/detail/socket_types.hpp +1 -1
  1145. data/ext/couchbase/third_party/asio/asio/include/asio/detail/solaris_fenced_block.hpp +1 -1
  1146. data/ext/couchbase/third_party/asio/asio/include/asio/detail/source_location.hpp +1 -1
  1147. data/ext/couchbase/third_party/asio/asio/include/asio/detail/static_mutex.hpp +1 -1
  1148. data/ext/couchbase/third_party/asio/asio/include/asio/detail/std_event.hpp +1 -1
  1149. data/ext/couchbase/third_party/asio/asio/include/asio/detail/std_fenced_block.hpp +1 -1
  1150. data/ext/couchbase/third_party/asio/asio/include/asio/detail/std_global.hpp +1 -1
  1151. data/ext/couchbase/third_party/asio/asio/include/asio/detail/std_mutex.hpp +1 -1
  1152. data/ext/couchbase/third_party/asio/asio/include/asio/detail/std_static_mutex.hpp +1 -1
  1153. data/ext/couchbase/third_party/asio/asio/include/asio/detail/std_thread.hpp +1 -1
  1154. data/ext/couchbase/third_party/asio/asio/include/asio/detail/strand_executor_service.hpp +1 -1
  1155. data/ext/couchbase/third_party/asio/asio/include/asio/detail/strand_service.hpp +1 -1
  1156. data/ext/couchbase/third_party/asio/asio/include/asio/detail/string_view.hpp +1 -1
  1157. data/ext/couchbase/third_party/asio/asio/include/asio/detail/thread.hpp +1 -1
  1158. data/ext/couchbase/third_party/asio/asio/include/asio/detail/thread_context.hpp +1 -1
  1159. data/ext/couchbase/third_party/asio/asio/include/asio/detail/thread_group.hpp +1 -1
  1160. data/ext/couchbase/third_party/asio/asio/include/asio/detail/thread_info_base.hpp +1 -1
  1161. data/ext/couchbase/third_party/asio/asio/include/asio/detail/throw_error.hpp +18 -9
  1162. data/ext/couchbase/third_party/asio/asio/include/asio/detail/throw_exception.hpp +7 -3
  1163. data/ext/couchbase/third_party/asio/asio/include/asio/detail/timer_queue.hpp +1 -1
  1164. data/ext/couchbase/third_party/asio/asio/include/asio/detail/timer_queue_base.hpp +1 -1
  1165. data/ext/couchbase/third_party/asio/asio/include/asio/detail/timer_queue_ptime.hpp +1 -1
  1166. data/ext/couchbase/third_party/asio/asio/include/asio/detail/timer_queue_set.hpp +1 -1
  1167. data/ext/couchbase/third_party/asio/asio/include/asio/detail/timer_scheduler.hpp +1 -1
  1168. data/ext/couchbase/third_party/asio/asio/include/asio/detail/timer_scheduler_fwd.hpp +1 -1
  1169. data/ext/couchbase/third_party/asio/asio/include/asio/detail/tss_ptr.hpp +1 -1
  1170. data/ext/couchbase/third_party/asio/asio/include/asio/detail/type_traits.hpp +9 -1
  1171. data/ext/couchbase/third_party/asio/asio/include/asio/detail/utility.hpp +84 -0
  1172. data/ext/couchbase/third_party/asio/asio/include/asio/detail/variadic_templates.hpp +1 -1
  1173. data/ext/couchbase/third_party/asio/asio/include/asio/detail/wait_handler.hpp +1 -1
  1174. data/ext/couchbase/third_party/asio/asio/include/asio/detail/wait_op.hpp +1 -1
  1175. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_event.hpp +1 -1
  1176. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_fd_set_adapter.hpp +1 -1
  1177. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_fenced_block.hpp +1 -1
  1178. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_global.hpp +1 -1
  1179. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_iocp_file_service.hpp +8 -1
  1180. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_iocp_handle_read_op.hpp +3 -1
  1181. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_iocp_handle_service.hpp +29 -1
  1182. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_iocp_handle_write_op.hpp +6 -2
  1183. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_iocp_io_context.hpp +1 -1
  1184. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_iocp_null_buffers_op.hpp +3 -1
  1185. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_iocp_operation.hpp +1 -1
  1186. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_iocp_overlapped_op.hpp +6 -2
  1187. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_iocp_overlapped_ptr.hpp +1 -1
  1188. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_iocp_serial_port_service.hpp +2 -1
  1189. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_iocp_socket_accept_op.hpp +5 -1
  1190. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_iocp_socket_connect_op.hpp +3 -1
  1191. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_iocp_socket_recv_op.hpp +3 -1
  1192. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_iocp_socket_recvfrom_op.hpp +3 -1
  1193. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_iocp_socket_recvmsg_op.hpp +3 -1
  1194. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_iocp_socket_send_op.hpp +3 -1
  1195. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_iocp_socket_service.hpp +32 -8
  1196. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_iocp_socket_service_base.hpp +6 -8
  1197. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_iocp_thread_info.hpp +1 -1
  1198. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_iocp_wait_op.hpp +3 -1
  1199. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_mutex.hpp +1 -1
  1200. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_object_handle_service.hpp +1 -1
  1201. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_static_mutex.hpp +1 -1
  1202. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_thread.hpp +1 -1
  1203. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_tss_ptr.hpp +1 -1
  1204. data/ext/couchbase/third_party/asio/asio/include/asio/detail/winapp_thread.hpp +1 -1
  1205. data/ext/couchbase/third_party/asio/asio/include/asio/detail/wince_thread.hpp +1 -1
  1206. data/ext/couchbase/third_party/asio/asio/include/asio/detail/winrt_async_manager.hpp +1 -1
  1207. data/ext/couchbase/third_party/asio/asio/include/asio/detail/winrt_async_op.hpp +1 -1
  1208. data/ext/couchbase/third_party/asio/asio/include/asio/detail/winrt_resolve_op.hpp +1 -1
  1209. data/ext/couchbase/third_party/asio/asio/include/asio/detail/winrt_resolver_service.hpp +1 -1
  1210. data/ext/couchbase/third_party/asio/asio/include/asio/detail/winrt_socket_connect_op.hpp +1 -1
  1211. data/ext/couchbase/third_party/asio/asio/include/asio/detail/winrt_socket_recv_op.hpp +1 -1
  1212. data/ext/couchbase/third_party/asio/asio/include/asio/detail/winrt_socket_send_op.hpp +1 -1
  1213. data/ext/couchbase/third_party/asio/asio/include/asio/detail/winrt_ssocket_service.hpp +1 -1
  1214. data/ext/couchbase/third_party/asio/asio/include/asio/detail/winrt_ssocket_service_base.hpp +1 -1
  1215. data/ext/couchbase/third_party/asio/asio/include/asio/detail/winrt_timer_scheduler.hpp +1 -1
  1216. data/ext/couchbase/third_party/asio/asio/include/asio/detail/winrt_utils.hpp +1 -1
  1217. data/ext/couchbase/third_party/asio/asio/include/asio/detail/winsock_init.hpp +1 -1
  1218. data/ext/couchbase/third_party/asio/asio/include/asio/detail/work_dispatcher.hpp +4 -2
  1219. data/ext/couchbase/third_party/asio/asio/include/asio/detail/wrapped_handler.hpp +1 -1
  1220. data/ext/couchbase/third_party/asio/asio/include/asio/dispatch.hpp +126 -42
  1221. data/ext/couchbase/third_party/asio/asio/include/asio/error.hpp +36 -1
  1222. data/ext/couchbase/third_party/asio/asio/include/asio/error_code.hpp +1 -1
  1223. data/ext/couchbase/third_party/asio/asio/include/asio/execution/allocator.hpp +1 -1
  1224. data/ext/couchbase/third_party/asio/asio/include/asio/execution/any_executor.hpp +1 -1
  1225. data/ext/couchbase/third_party/asio/asio/include/asio/execution/bad_executor.hpp +1 -1
  1226. data/ext/couchbase/third_party/asio/asio/include/asio/execution/blocking.hpp +1 -1
  1227. data/ext/couchbase/third_party/asio/asio/include/asio/execution/blocking_adaptation.hpp +1 -1
  1228. data/ext/couchbase/third_party/asio/asio/include/asio/execution/bulk_execute.hpp +1 -1
  1229. data/ext/couchbase/third_party/asio/asio/include/asio/execution/bulk_guarantee.hpp +1 -1
  1230. data/ext/couchbase/third_party/asio/asio/include/asio/execution/connect.hpp +1 -1
  1231. data/ext/couchbase/third_party/asio/asio/include/asio/execution/context.hpp +1 -1
  1232. data/ext/couchbase/third_party/asio/asio/include/asio/execution/context_as.hpp +1 -1
  1233. data/ext/couchbase/third_party/asio/asio/include/asio/execution/detail/as_invocable.hpp +1 -1
  1234. data/ext/couchbase/third_party/asio/asio/include/asio/execution/detail/as_operation.hpp +1 -1
  1235. data/ext/couchbase/third_party/asio/asio/include/asio/execution/detail/as_receiver.hpp +1 -1
  1236. data/ext/couchbase/third_party/asio/asio/include/asio/execution/detail/bulk_sender.hpp +1 -1
  1237. data/ext/couchbase/third_party/asio/asio/include/asio/execution/detail/submit_receiver.hpp +1 -1
  1238. data/ext/couchbase/third_party/asio/asio/include/asio/execution/detail/void_receiver.hpp +1 -1
  1239. data/ext/couchbase/third_party/asio/asio/include/asio/execution/execute.hpp +1 -1
  1240. data/ext/couchbase/third_party/asio/asio/include/asio/execution/executor.hpp +1 -1
  1241. data/ext/couchbase/third_party/asio/asio/include/asio/execution/impl/bad_executor.ipp +1 -1
  1242. data/ext/couchbase/third_party/asio/asio/include/asio/execution/impl/receiver_invocation_error.ipp +1 -1
  1243. data/ext/couchbase/third_party/asio/asio/include/asio/execution/invocable_archetype.hpp +1 -1
  1244. data/ext/couchbase/third_party/asio/asio/include/asio/execution/mapping.hpp +1 -1
  1245. data/ext/couchbase/third_party/asio/asio/include/asio/execution/occupancy.hpp +1 -1
  1246. data/ext/couchbase/third_party/asio/asio/include/asio/execution/operation_state.hpp +1 -1
  1247. data/ext/couchbase/third_party/asio/asio/include/asio/execution/outstanding_work.hpp +1 -1
  1248. data/ext/couchbase/third_party/asio/asio/include/asio/execution/prefer_only.hpp +1 -1
  1249. data/ext/couchbase/third_party/asio/asio/include/asio/execution/receiver.hpp +1 -1
  1250. data/ext/couchbase/third_party/asio/asio/include/asio/execution/receiver_invocation_error.hpp +1 -1
  1251. data/ext/couchbase/third_party/asio/asio/include/asio/execution/relationship.hpp +1 -1
  1252. data/ext/couchbase/third_party/asio/asio/include/asio/execution/schedule.hpp +1 -1
  1253. data/ext/couchbase/third_party/asio/asio/include/asio/execution/scheduler.hpp +1 -1
  1254. data/ext/couchbase/third_party/asio/asio/include/asio/execution/sender.hpp +1 -1
  1255. data/ext/couchbase/third_party/asio/asio/include/asio/execution/set_done.hpp +1 -1
  1256. data/ext/couchbase/third_party/asio/asio/include/asio/execution/set_error.hpp +1 -1
  1257. data/ext/couchbase/third_party/asio/asio/include/asio/execution/set_value.hpp +1 -1
  1258. data/ext/couchbase/third_party/asio/asio/include/asio/execution/start.hpp +1 -1
  1259. data/ext/couchbase/third_party/asio/asio/include/asio/execution/submit.hpp +1 -1
  1260. data/ext/couchbase/third_party/asio/asio/include/asio/execution.hpp +1 -1
  1261. data/ext/couchbase/third_party/asio/asio/include/asio/execution_context.hpp +1 -1
  1262. data/ext/couchbase/third_party/asio/asio/include/asio/executor.hpp +1 -1
  1263. data/ext/couchbase/third_party/asio/asio/include/asio/executor_work_guard.hpp +100 -32
  1264. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/append.hpp +6 -41
  1265. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/as_single.hpp +6 -5
  1266. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/as_tuple.hpp +6 -101
  1267. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/awaitable_operators.hpp +14 -14
  1268. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/basic_channel.hpp +78 -2
  1269. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/basic_concurrent_channel.hpp +69 -2
  1270. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/cancellation_condition.hpp +1 -1
  1271. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/channel.hpp +1 -1
  1272. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/channel_error.hpp +1 -1
  1273. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/channel_traits.hpp +1 -1
  1274. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/co_spawn.hpp +12 -16
  1275. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/concurrent_channel.hpp +1 -1
  1276. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/coro.hpp +4 -4
  1277. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/coro_traits.hpp +2 -2
  1278. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/deferred.hpp +6 -575
  1279. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/detail/channel_handler.hpp +1 -1
  1280. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/detail/channel_message.hpp +1 -1
  1281. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/detail/channel_operation.hpp +1 -1
  1282. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/detail/channel_payload.hpp +1 -1
  1283. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/detail/channel_receive_op.hpp +1 -1
  1284. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/detail/channel_send_functions.hpp +2 -1
  1285. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/detail/channel_send_op.hpp +1 -1
  1286. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/detail/channel_service.hpp +1 -1
  1287. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/detail/completion_handler_erasure.hpp +82 -46
  1288. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/detail/coro_promise_allocator.hpp +2 -2
  1289. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/detail/has_signature.hpp +1 -1
  1290. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/detail/impl/channel_service.hpp +6 -8
  1291. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/detail/partial_promise.hpp +2 -2
  1292. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/impl/as_single.hpp +1 -1
  1293. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/impl/channel_error.ipp +1 -1
  1294. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/impl/coro.hpp +47 -56
  1295. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/impl/parallel_group.hpp +14 -28
  1296. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/impl/promise.hpp +2 -2
  1297. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/impl/use_coro.hpp +3 -2
  1298. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/parallel_group.hpp +27 -37
  1299. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/prepend.hpp +6 -41
  1300. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/promise.hpp +23 -405
  1301. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/use_coro.hpp +5 -5
  1302. data/ext/couchbase/third_party/asio/asio/include/asio/file_base.hpp +9 -3
  1303. data/ext/couchbase/third_party/asio/asio/include/asio/generic/basic_endpoint.hpp +1 -1
  1304. data/ext/couchbase/third_party/asio/asio/include/asio/generic/datagram_protocol.hpp +1 -1
  1305. data/ext/couchbase/third_party/asio/asio/include/asio/generic/detail/endpoint.hpp +1 -1
  1306. data/ext/couchbase/third_party/asio/asio/include/asio/generic/detail/impl/endpoint.ipp +1 -1
  1307. data/ext/couchbase/third_party/asio/asio/include/asio/generic/raw_protocol.hpp +1 -1
  1308. data/ext/couchbase/third_party/asio/asio/include/asio/generic/seq_packet_protocol.hpp +1 -1
  1309. data/ext/couchbase/third_party/asio/asio/include/asio/generic/stream_protocol.hpp +1 -1
  1310. data/ext/couchbase/third_party/asio/asio/include/asio/handler_alloc_hook.hpp +1 -1
  1311. data/ext/couchbase/third_party/asio/asio/include/asio/handler_continuation_hook.hpp +1 -1
  1312. data/ext/couchbase/third_party/asio/asio/include/asio/handler_invoke_hook.hpp +1 -1
  1313. data/ext/couchbase/third_party/asio/asio/include/asio/high_resolution_timer.hpp +1 -1
  1314. data/ext/couchbase/third_party/asio/asio/include/asio/impl/any_io_executor.ipp +6 -1
  1315. data/ext/couchbase/third_party/asio/asio/include/asio/impl/append.hpp +216 -0
  1316. data/ext/couchbase/third_party/asio/asio/include/asio/impl/as_tuple.hpp +244 -0
  1317. data/ext/couchbase/third_party/asio/asio/include/asio/impl/awaitable.hpp +400 -5
  1318. data/ext/couchbase/third_party/asio/asio/include/asio/impl/buffered_read_stream.hpp +13 -3
  1319. data/ext/couchbase/third_party/asio/asio/include/asio/impl/buffered_write_stream.hpp +13 -3
  1320. data/ext/couchbase/third_party/asio/asio/include/asio/impl/cancellation_signal.ipp +1 -1
  1321. data/ext/couchbase/third_party/asio/asio/include/asio/impl/co_spawn.hpp +71 -7
  1322. data/ext/couchbase/third_party/asio/asio/include/asio/impl/connect.hpp +63 -31
  1323. data/ext/couchbase/third_party/asio/asio/include/asio/impl/connect_pipe.hpp +1 -1
  1324. data/ext/couchbase/third_party/asio/asio/include/asio/impl/connect_pipe.ipp +2 -2
  1325. data/ext/couchbase/third_party/asio/asio/include/asio/impl/defer.hpp +23 -13
  1326. data/ext/couchbase/third_party/asio/asio/include/asio/impl/deferred.hpp +95 -0
  1327. data/ext/couchbase/third_party/asio/asio/include/asio/impl/detached.hpp +1 -1
  1328. data/ext/couchbase/third_party/asio/asio/include/asio/impl/dispatch.hpp +23 -13
  1329. data/ext/couchbase/third_party/asio/asio/include/asio/impl/error.ipp +1 -1
  1330. data/ext/couchbase/third_party/asio/asio/include/asio/impl/error_code.ipp +1 -1
  1331. data/ext/couchbase/third_party/asio/asio/include/asio/impl/execution_context.hpp +1 -1
  1332. data/ext/couchbase/third_party/asio/asio/include/asio/impl/execution_context.ipp +1 -1
  1333. data/ext/couchbase/third_party/asio/asio/include/asio/impl/executor.hpp +1 -1
  1334. data/ext/couchbase/third_party/asio/asio/include/asio/impl/executor.ipp +1 -1
  1335. data/ext/couchbase/third_party/asio/asio/include/asio/impl/handler_alloc_hook.ipp +1 -1
  1336. data/ext/couchbase/third_party/asio/asio/include/asio/impl/io_context.hpp +9 -3
  1337. data/ext/couchbase/third_party/asio/asio/include/asio/impl/io_context.ipp +1 -1
  1338. data/ext/couchbase/third_party/asio/asio/include/asio/impl/multiple_exceptions.ipp +1 -1
  1339. data/ext/couchbase/third_party/asio/asio/include/asio/impl/post.hpp +23 -13
  1340. data/ext/couchbase/third_party/asio/asio/include/asio/impl/prepend.hpp +216 -0
  1341. data/ext/couchbase/third_party/asio/asio/include/asio/impl/read.hpp +97 -51
  1342. data/ext/couchbase/third_party/asio/asio/include/asio/impl/read_at.hpp +51 -31
  1343. data/ext/couchbase/third_party/asio/asio/include/asio/impl/read_until.hpp +119 -59
  1344. data/ext/couchbase/third_party/asio/asio/include/asio/impl/redirect_error.hpp +1 -1
  1345. data/ext/couchbase/third_party/asio/asio/include/asio/impl/serial_port_base.hpp +1 -1
  1346. data/ext/couchbase/third_party/asio/asio/include/asio/impl/serial_port_base.ipp +1 -1
  1347. data/ext/couchbase/third_party/asio/asio/include/asio/impl/spawn.hpp +1321 -277
  1348. data/ext/couchbase/third_party/asio/asio/include/asio/impl/src.hpp +1 -1
  1349. data/ext/couchbase/third_party/asio/asio/include/asio/impl/system_context.hpp +1 -1
  1350. data/ext/couchbase/third_party/asio/asio/include/asio/impl/system_context.ipp +1 -1
  1351. data/ext/couchbase/third_party/asio/asio/include/asio/impl/system_executor.hpp +1 -1
  1352. data/ext/couchbase/third_party/asio/asio/include/asio/impl/thread_pool.hpp +1 -1
  1353. data/ext/couchbase/third_party/asio/asio/include/asio/impl/thread_pool.ipp +1 -1
  1354. data/ext/couchbase/third_party/asio/asio/include/asio/impl/use_awaitable.hpp +18 -8
  1355. data/ext/couchbase/third_party/asio/asio/include/asio/impl/use_future.hpp +1 -1
  1356. data/ext/couchbase/third_party/asio/asio/include/asio/impl/write.hpp +95 -50
  1357. data/ext/couchbase/third_party/asio/asio/include/asio/impl/write_at.hpp +53 -31
  1358. data/ext/couchbase/third_party/asio/asio/include/asio/io_context.hpp +25 -38
  1359. data/ext/couchbase/third_party/asio/asio/include/asio/io_context_strand.hpp +15 -3
  1360. data/ext/couchbase/third_party/asio/asio/include/asio/io_service.hpp +1 -1
  1361. data/ext/couchbase/third_party/asio/asio/include/asio/io_service_strand.hpp +1 -1
  1362. data/ext/couchbase/third_party/asio/asio/include/asio/ip/address.hpp +1 -1
  1363. data/ext/couchbase/third_party/asio/asio/include/asio/ip/address_v4.hpp +75 -1
  1364. data/ext/couchbase/third_party/asio/asio/include/asio/ip/address_v4_iterator.hpp +1 -1
  1365. data/ext/couchbase/third_party/asio/asio/include/asio/ip/address_v4_range.hpp +1 -1
  1366. data/ext/couchbase/third_party/asio/asio/include/asio/ip/address_v6.hpp +35 -1
  1367. data/ext/couchbase/third_party/asio/asio/include/asio/ip/address_v6_iterator.hpp +1 -1
  1368. data/ext/couchbase/third_party/asio/asio/include/asio/ip/address_v6_range.hpp +1 -1
  1369. data/ext/couchbase/third_party/asio/asio/include/asio/ip/bad_address_cast.hpp +1 -1
  1370. data/ext/couchbase/third_party/asio/asio/include/asio/ip/basic_endpoint.hpp +1 -1
  1371. data/ext/couchbase/third_party/asio/asio/include/asio/ip/basic_resolver.hpp +130 -64
  1372. data/ext/couchbase/third_party/asio/asio/include/asio/ip/basic_resolver_entry.hpp +1 -1
  1373. data/ext/couchbase/third_party/asio/asio/include/asio/ip/basic_resolver_iterator.hpp +1 -1
  1374. data/ext/couchbase/third_party/asio/asio/include/asio/ip/basic_resolver_query.hpp +1 -1
  1375. data/ext/couchbase/third_party/asio/asio/include/asio/ip/basic_resolver_results.hpp +1 -1
  1376. data/ext/couchbase/third_party/asio/asio/include/asio/ip/detail/endpoint.hpp +1 -1
  1377. data/ext/couchbase/third_party/asio/asio/include/asio/ip/detail/impl/endpoint.ipp +1 -1
  1378. data/ext/couchbase/third_party/asio/asio/include/asio/ip/detail/socket_option.hpp +1 -1
  1379. data/ext/couchbase/third_party/asio/asio/include/asio/ip/host_name.hpp +1 -1
  1380. data/ext/couchbase/third_party/asio/asio/include/asio/ip/icmp.hpp +1 -1
  1381. data/ext/couchbase/third_party/asio/asio/include/asio/ip/impl/address.hpp +1 -1
  1382. data/ext/couchbase/third_party/asio/asio/include/asio/ip/impl/address.ipp +1 -1
  1383. data/ext/couchbase/third_party/asio/asio/include/asio/ip/impl/address_v4.hpp +1 -1
  1384. data/ext/couchbase/third_party/asio/asio/include/asio/ip/impl/address_v4.ipp +1 -1
  1385. data/ext/couchbase/third_party/asio/asio/include/asio/ip/impl/address_v6.hpp +1 -1
  1386. data/ext/couchbase/third_party/asio/asio/include/asio/ip/impl/address_v6.ipp +1 -1
  1387. data/ext/couchbase/third_party/asio/asio/include/asio/ip/impl/basic_endpoint.hpp +1 -1
  1388. data/ext/couchbase/third_party/asio/asio/include/asio/ip/impl/host_name.ipp +1 -1
  1389. data/ext/couchbase/third_party/asio/asio/include/asio/ip/impl/network_v4.hpp +1 -1
  1390. data/ext/couchbase/third_party/asio/asio/include/asio/ip/impl/network_v4.ipp +1 -1
  1391. data/ext/couchbase/third_party/asio/asio/include/asio/ip/impl/network_v6.hpp +1 -1
  1392. data/ext/couchbase/third_party/asio/asio/include/asio/ip/impl/network_v6.ipp +1 -1
  1393. data/ext/couchbase/third_party/asio/asio/include/asio/ip/multicast.hpp +1 -1
  1394. data/ext/couchbase/third_party/asio/asio/include/asio/ip/network_v4.hpp +1 -1
  1395. data/ext/couchbase/third_party/asio/asio/include/asio/ip/network_v6.hpp +1 -1
  1396. data/ext/couchbase/third_party/asio/asio/include/asio/ip/resolver_base.hpp +1 -1
  1397. data/ext/couchbase/third_party/asio/asio/include/asio/ip/resolver_query_base.hpp +1 -1
  1398. data/ext/couchbase/third_party/asio/asio/include/asio/ip/tcp.hpp +1 -1
  1399. data/ext/couchbase/third_party/asio/asio/include/asio/ip/udp.hpp +1 -1
  1400. data/ext/couchbase/third_party/asio/asio/include/asio/ip/unicast.hpp +1 -1
  1401. data/ext/couchbase/third_party/asio/asio/include/asio/ip/v6_only.hpp +2 -2
  1402. data/ext/couchbase/third_party/asio/asio/include/asio/is_applicable_property.hpp +1 -1
  1403. data/ext/couchbase/third_party/asio/asio/include/asio/is_contiguous_iterator.hpp +45 -0
  1404. data/ext/couchbase/third_party/asio/asio/include/asio/is_executor.hpp +1 -1
  1405. data/ext/couchbase/third_party/asio/asio/include/asio/is_read_buffered.hpp +1 -1
  1406. data/ext/couchbase/third_party/asio/asio/include/asio/is_write_buffered.hpp +1 -1
  1407. data/ext/couchbase/third_party/asio/asio/include/asio/local/basic_endpoint.hpp +1 -1
  1408. data/ext/couchbase/third_party/asio/asio/include/asio/local/connect_pair.hpp +1 -1
  1409. data/ext/couchbase/third_party/asio/asio/include/asio/local/datagram_protocol.hpp +1 -1
  1410. data/ext/couchbase/third_party/asio/asio/include/asio/local/detail/endpoint.hpp +1 -1
  1411. data/ext/couchbase/third_party/asio/asio/include/asio/local/detail/impl/endpoint.ipp +1 -1
  1412. data/ext/couchbase/third_party/asio/asio/include/asio/local/stream_protocol.hpp +1 -1
  1413. data/ext/couchbase/third_party/asio/asio/include/asio/multiple_exceptions.hpp +1 -1
  1414. data/ext/couchbase/third_party/asio/asio/include/asio/packaged_task.hpp +1 -1
  1415. data/ext/couchbase/third_party/asio/asio/include/asio/placeholders.hpp +1 -1
  1416. data/ext/couchbase/third_party/asio/asio/include/asio/posix/basic_descriptor.hpp +74 -13
  1417. data/ext/couchbase/third_party/asio/asio/include/asio/posix/basic_stream_descriptor.hpp +95 -27
  1418. data/ext/couchbase/third_party/asio/asio/include/asio/posix/descriptor.hpp +1 -1
  1419. data/ext/couchbase/third_party/asio/asio/include/asio/posix/descriptor_base.hpp +1 -1
  1420. data/ext/couchbase/third_party/asio/asio/include/asio/posix/stream_descriptor.hpp +1 -1
  1421. data/ext/couchbase/third_party/asio/asio/include/asio/post.hpp +128 -42
  1422. data/ext/couchbase/third_party/asio/asio/include/asio/prefer.hpp +1 -1
  1423. data/ext/couchbase/third_party/asio/asio/include/asio/prepend.hpp +78 -0
  1424. data/ext/couchbase/third_party/asio/asio/include/asio/query.hpp +1 -1
  1425. data/ext/couchbase/third_party/asio/asio/include/asio/random_access_file.hpp +1 -1
  1426. data/ext/couchbase/third_party/asio/asio/include/asio/read.hpp +245 -153
  1427. data/ext/couchbase/third_party/asio/asio/include/asio/read_at.hpp +110 -53
  1428. data/ext/couchbase/third_party/asio/asio/include/asio/read_until.hpp +301 -166
  1429. data/ext/couchbase/third_party/asio/asio/include/asio/readable_pipe.hpp +1 -1
  1430. data/ext/couchbase/third_party/asio/asio/include/asio/recycling_allocator.hpp +138 -0
  1431. data/ext/couchbase/third_party/asio/asio/include/asio/redirect_error.hpp +3 -3
  1432. data/ext/couchbase/third_party/asio/asio/include/asio/registered_buffer.hpp +1 -1
  1433. data/ext/couchbase/third_party/asio/asio/include/asio/require.hpp +1 -1
  1434. data/ext/couchbase/third_party/asio/asio/include/asio/require_concept.hpp +1 -1
  1435. data/ext/couchbase/third_party/asio/asio/include/asio/serial_port.hpp +1 -1
  1436. data/ext/couchbase/third_party/asio/asio/include/asio/serial_port_base.hpp +1 -1
  1437. data/ext/couchbase/third_party/asio/asio/include/asio/signal_set.hpp +1 -1
  1438. data/ext/couchbase/third_party/asio/asio/include/asio/socket_base.hpp +1 -1
  1439. data/ext/couchbase/third_party/asio/asio/include/asio/spawn.hpp +647 -87
  1440. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/context.hpp +4 -1
  1441. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/context_base.hpp +1 -1
  1442. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/detail/buffered_handshake_op.hpp +1 -1
  1443. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/detail/engine.hpp +4 -1
  1444. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/detail/handshake_op.hpp +1 -1
  1445. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/detail/impl/engine.ipp +19 -1
  1446. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/detail/impl/openssl_init.ipp +7 -3
  1447. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/detail/io.hpp +1 -1
  1448. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/detail/openssl_init.hpp +1 -1
  1449. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/detail/openssl_types.hpp +1 -1
  1450. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/detail/password_callback.hpp +1 -1
  1451. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/detail/read_op.hpp +1 -1
  1452. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/detail/shutdown_op.hpp +1 -1
  1453. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/detail/stream_core.hpp +16 -1
  1454. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/detail/verify_callback.hpp +1 -1
  1455. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/detail/write_op.hpp +1 -1
  1456. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/error.hpp +1 -1
  1457. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/host_name_verification.hpp +1 -1
  1458. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/impl/context.hpp +1 -1
  1459. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/impl/context.ipp +140 -64
  1460. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/impl/error.ipp +25 -3
  1461. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/impl/host_name_verification.ipp +1 -1
  1462. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/impl/rfc2818_verification.ipp +1 -1
  1463. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/impl/src.hpp +1 -1
  1464. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/rfc2818_verification.hpp +1 -1
  1465. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/stream.hpp +154 -53
  1466. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/stream_base.hpp +1 -1
  1467. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/verify_context.hpp +1 -1
  1468. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/verify_mode.hpp +1 -1
  1469. data/ext/couchbase/third_party/asio/asio/include/asio/ssl.hpp +1 -1
  1470. data/ext/couchbase/third_party/asio/asio/include/asio/static_thread_pool.hpp +1 -1
  1471. data/ext/couchbase/third_party/asio/asio/include/asio/steady_timer.hpp +1 -1
  1472. data/ext/couchbase/third_party/asio/asio/include/asio/strand.hpp +12 -1
  1473. data/ext/couchbase/third_party/asio/asio/include/asio/stream_file.hpp +1 -1
  1474. data/ext/couchbase/third_party/asio/asio/include/asio/streambuf.hpp +1 -1
  1475. data/ext/couchbase/third_party/asio/asio/include/asio/system_context.hpp +1 -1
  1476. data/ext/couchbase/third_party/asio/asio/include/asio/system_error.hpp +1 -1
  1477. data/ext/couchbase/third_party/asio/asio/include/asio/system_executor.hpp +1 -1
  1478. data/ext/couchbase/third_party/asio/asio/include/asio/system_timer.hpp +1 -1
  1479. data/ext/couchbase/third_party/asio/asio/include/asio/this_coro.hpp +4 -4
  1480. data/ext/couchbase/third_party/asio/asio/include/asio/thread.hpp +1 -1
  1481. data/ext/couchbase/third_party/asio/asio/include/asio/thread_pool.hpp +1 -1
  1482. data/ext/couchbase/third_party/asio/asio/include/asio/time_traits.hpp +1 -1
  1483. data/ext/couchbase/third_party/asio/asio/include/asio/traits/bulk_execute_free.hpp +1 -1
  1484. data/ext/couchbase/third_party/asio/asio/include/asio/traits/bulk_execute_member.hpp +1 -1
  1485. data/ext/couchbase/third_party/asio/asio/include/asio/traits/connect_free.hpp +1 -1
  1486. data/ext/couchbase/third_party/asio/asio/include/asio/traits/connect_member.hpp +1 -1
  1487. data/ext/couchbase/third_party/asio/asio/include/asio/traits/equality_comparable.hpp +1 -1
  1488. data/ext/couchbase/third_party/asio/asio/include/asio/traits/execute_free.hpp +1 -1
  1489. data/ext/couchbase/third_party/asio/asio/include/asio/traits/execute_member.hpp +1 -1
  1490. data/ext/couchbase/third_party/asio/asio/include/asio/traits/prefer_free.hpp +1 -1
  1491. data/ext/couchbase/third_party/asio/asio/include/asio/traits/prefer_member.hpp +1 -1
  1492. data/ext/couchbase/third_party/asio/asio/include/asio/traits/query_free.hpp +1 -1
  1493. data/ext/couchbase/third_party/asio/asio/include/asio/traits/query_member.hpp +1 -1
  1494. data/ext/couchbase/third_party/asio/asio/include/asio/traits/query_static_constexpr_member.hpp +1 -1
  1495. data/ext/couchbase/third_party/asio/asio/include/asio/traits/require_concept_free.hpp +1 -1
  1496. data/ext/couchbase/third_party/asio/asio/include/asio/traits/require_concept_member.hpp +1 -1
  1497. data/ext/couchbase/third_party/asio/asio/include/asio/traits/require_free.hpp +1 -1
  1498. data/ext/couchbase/third_party/asio/asio/include/asio/traits/require_member.hpp +1 -1
  1499. data/ext/couchbase/third_party/asio/asio/include/asio/traits/schedule_free.hpp +1 -1
  1500. data/ext/couchbase/third_party/asio/asio/include/asio/traits/schedule_member.hpp +1 -1
  1501. data/ext/couchbase/third_party/asio/asio/include/asio/traits/set_done_free.hpp +1 -1
  1502. data/ext/couchbase/third_party/asio/asio/include/asio/traits/set_done_member.hpp +1 -1
  1503. data/ext/couchbase/third_party/asio/asio/include/asio/traits/set_error_free.hpp +1 -1
  1504. data/ext/couchbase/third_party/asio/asio/include/asio/traits/set_error_member.hpp +1 -1
  1505. data/ext/couchbase/third_party/asio/asio/include/asio/traits/set_value_free.hpp +1 -1
  1506. data/ext/couchbase/third_party/asio/asio/include/asio/traits/set_value_member.hpp +1 -1
  1507. data/ext/couchbase/third_party/asio/asio/include/asio/traits/start_free.hpp +1 -1
  1508. data/ext/couchbase/third_party/asio/asio/include/asio/traits/start_member.hpp +1 -1
  1509. data/ext/couchbase/third_party/asio/asio/include/asio/traits/static_query.hpp +1 -1
  1510. data/ext/couchbase/third_party/asio/asio/include/asio/traits/static_require.hpp +1 -1
  1511. data/ext/couchbase/third_party/asio/asio/include/asio/traits/static_require_concept.hpp +1 -1
  1512. data/ext/couchbase/third_party/asio/asio/include/asio/traits/submit_free.hpp +1 -1
  1513. data/ext/couchbase/third_party/asio/asio/include/asio/traits/submit_member.hpp +1 -1
  1514. data/ext/couchbase/third_party/asio/asio/include/asio/ts/buffer.hpp +1 -1
  1515. data/ext/couchbase/third_party/asio/asio/include/asio/ts/executor.hpp +1 -1
  1516. data/ext/couchbase/third_party/asio/asio/include/asio/ts/internet.hpp +1 -1
  1517. data/ext/couchbase/third_party/asio/asio/include/asio/ts/io_context.hpp +1 -1
  1518. data/ext/couchbase/third_party/asio/asio/include/asio/ts/net.hpp +1 -1
  1519. data/ext/couchbase/third_party/asio/asio/include/asio/ts/netfwd.hpp +1 -1
  1520. data/ext/couchbase/third_party/asio/asio/include/asio/ts/socket.hpp +1 -1
  1521. data/ext/couchbase/third_party/asio/asio/include/asio/ts/timer.hpp +1 -1
  1522. data/ext/couchbase/third_party/asio/asio/include/asio/unyield.hpp +1 -1
  1523. data/ext/couchbase/third_party/asio/asio/include/asio/use_awaitable.hpp +4 -3
  1524. data/ext/couchbase/third_party/asio/asio/include/asio/use_future.hpp +10 -7
  1525. data/ext/couchbase/third_party/asio/asio/include/asio/uses_executor.hpp +1 -1
  1526. data/ext/couchbase/third_party/asio/asio/include/asio/version.hpp +2 -2
  1527. data/ext/couchbase/third_party/asio/asio/include/asio/wait_traits.hpp +1 -1
  1528. data/ext/couchbase/third_party/asio/asio/include/asio/windows/basic_object_handle.hpp +70 -12
  1529. data/ext/couchbase/third_party/asio/asio/include/asio/windows/basic_overlapped_handle.hpp +100 -1
  1530. data/ext/couchbase/third_party/asio/asio/include/asio/windows/basic_random_access_handle.hpp +98 -29
  1531. data/ext/couchbase/third_party/asio/asio/include/asio/windows/basic_stream_handle.hpp +95 -28
  1532. data/ext/couchbase/third_party/asio/asio/include/asio/windows/object_handle.hpp +1 -1
  1533. data/ext/couchbase/third_party/asio/asio/include/asio/windows/overlapped_handle.hpp +1 -1
  1534. data/ext/couchbase/third_party/asio/asio/include/asio/windows/overlapped_ptr.hpp +1 -1
  1535. data/ext/couchbase/third_party/asio/asio/include/asio/windows/random_access_handle.hpp +1 -1
  1536. data/ext/couchbase/third_party/asio/asio/include/asio/windows/stream_handle.hpp +1 -1
  1537. data/ext/couchbase/third_party/asio/asio/include/asio/writable_pipe.hpp +1 -1
  1538. data/ext/couchbase/third_party/asio/asio/include/asio/write.hpp +242 -150
  1539. data/ext/couchbase/third_party/asio/asio/include/asio/write_at.hpp +112 -53
  1540. data/ext/couchbase/third_party/asio/asio/include/asio/yield.hpp +1 -1
  1541. data/ext/couchbase/third_party/asio/asio/include/asio.hpp +8 -1
  1542. data/ext/couchbase/third_party/expected/COPYING +121 -0
  1543. data/ext/couchbase/third_party/expected/include/tl/expected.hpp +2571 -0
  1544. data/ext/couchbase/third_party/json/CMakeLists.txt +3 -0
  1545. data/ext/couchbase/third_party/json/external/PEGTL/LICENSE +1 -1
  1546. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/apply_mode.hpp +1 -1
  1547. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/argv_input.hpp +1 -1
  1548. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/ascii.hpp +1 -1
  1549. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/buffer_input.hpp +2 -2
  1550. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/change_action.hpp +1 -1
  1551. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/change_action_and_state.hpp +1 -1
  1552. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/change_action_and_states.hpp +1 -1
  1553. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/change_control.hpp +1 -1
  1554. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/change_state.hpp +1 -1
  1555. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/change_states.hpp +1 -1
  1556. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/config.hpp +1 -1
  1557. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/abnf.hpp +1 -1
  1558. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/add_state.hpp +1 -1
  1559. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/alphabet.hpp +1 -1
  1560. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/analyze.hpp +1 -1
  1561. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/analyze_traits.hpp +1 -1
  1562. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/check_bytes.hpp +1 -1
  1563. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/control_action.hpp +13 -1
  1564. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/coverage.hpp +1 -1
  1565. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/forward.hpp +1 -1
  1566. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/function.hpp +1 -1
  1567. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/http.hpp +1 -1
  1568. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/icu/internal.hpp +1 -1
  1569. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/icu/utf16.hpp +1 -1
  1570. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/icu/utf32.hpp +1 -1
  1571. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/icu/utf8.hpp +1 -1
  1572. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/if_then.hpp +1 -1
  1573. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/instantiate.hpp +1 -1
  1574. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/integer.hpp +1 -1
  1575. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/internal/endian.hpp +1 -1
  1576. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/internal/endian_gcc.hpp +1 -1
  1577. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/internal/endian_win.hpp +1 -1
  1578. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/internal/peek_mask_uint.hpp +1 -1
  1579. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/internal/peek_mask_uint8.hpp +1 -1
  1580. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/internal/peek_uint.hpp +1 -1
  1581. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/internal/peek_uint8.hpp +1 -1
  1582. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/internal/peek_utf16.hpp +1 -1
  1583. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/internal/peek_utf32.hpp +1 -1
  1584. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/internal/read_uint.hpp +1 -1
  1585. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/internal/set_stack_guard.hpp +1 -1
  1586. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/internal/vector_stack_guard.hpp +1 -1
  1587. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/iri.hpp +1 -1
  1588. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/json.hpp +1 -1
  1589. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/json_pointer.hpp +1 -1
  1590. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/limit_bytes.hpp +1 -1
  1591. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/limit_depth.hpp +1 -1
  1592. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/parse_tree.hpp +17 -8
  1593. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/parse_tree_to_dot.hpp +1 -1
  1594. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/peg.hpp +1 -1
  1595. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/predicates.hpp +1 -1
  1596. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/print.hpp +1 -1
  1597. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/print_coverage.hpp +1 -1
  1598. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/proto3.hpp +1 -1
  1599. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/raw_string.hpp +1 -1
  1600. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/remove_first_state.hpp +1 -1
  1601. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/remove_last_states.hpp +1 -1
  1602. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/rep_one_min_max.hpp +1 -1
  1603. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/rep_string.hpp +1 -1
  1604. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/separated_seq.hpp +1 -1
  1605. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/shuffle_states.hpp +1 -1
  1606. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/state_control.hpp +1 -1
  1607. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/to_string.hpp +1 -1
  1608. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/trace.hpp +1 -1
  1609. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/uint16.hpp +1 -1
  1610. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/uint32.hpp +1 -1
  1611. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/uint64.hpp +1 -1
  1612. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/uint8.hpp +1 -1
  1613. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/unescape.hpp +1 -1
  1614. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/uri.hpp +1 -1
  1615. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/utf16.hpp +1 -1
  1616. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/utf32.hpp +1 -1
  1617. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/cstream_input.hpp +1 -1
  1618. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/demangle.hpp +19 -11
  1619. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/disable_action.hpp +1 -1
  1620. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/discard_input.hpp +1 -1
  1621. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/discard_input_on_failure.hpp +1 -1
  1622. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/discard_input_on_success.hpp +1 -1
  1623. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/enable_action.hpp +1 -1
  1624. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/eol.hpp +1 -1
  1625. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/eol_pair.hpp +1 -1
  1626. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/file_input.hpp +1 -1
  1627. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/action.hpp +1 -1
  1628. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/action_input.hpp +1 -1
  1629. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/any.hpp +1 -1
  1630. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/apply.hpp +1 -1
  1631. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/apply0.hpp +1 -1
  1632. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/apply0_single.hpp +1 -1
  1633. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/apply_single.hpp +1 -1
  1634. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/at.hpp +1 -1
  1635. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/bof.hpp +1 -1
  1636. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/bol.hpp +1 -1
  1637. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/bump.hpp +1 -1
  1638. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/bump_help.hpp +1 -1
  1639. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/bytes.hpp +1 -1
  1640. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/control.hpp +1 -1
  1641. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/cr_crlf_eol.hpp +1 -1
  1642. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/cr_eol.hpp +1 -1
  1643. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/crlf_eol.hpp +1 -1
  1644. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/cstream_reader.hpp +1 -1
  1645. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/cstring_reader.hpp +1 -1
  1646. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/dependent_false.hpp +1 -1
  1647. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/disable.hpp +1 -1
  1648. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/discard.hpp +1 -1
  1649. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/enable.hpp +1 -1
  1650. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/enable_control.hpp +1 -1
  1651. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/eof.hpp +1 -1
  1652. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/eol.hpp +1 -1
  1653. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/eolf.hpp +1 -1
  1654. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/failure.hpp +1 -1
  1655. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/file_mapper_posix.hpp +1 -1
  1656. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/file_mapper_win32.hpp +1 -1
  1657. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/file_reader.hpp +1 -1
  1658. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/filesystem.hpp +1 -1
  1659. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/has_apply.hpp +1 -1
  1660. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/has_apply0.hpp +1 -1
  1661. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/has_match.hpp +1 -1
  1662. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/has_unwind.hpp +1 -1
  1663. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/identifier.hpp +1 -1
  1664. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/if_apply.hpp +1 -1
  1665. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/if_must.hpp +1 -1
  1666. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/if_must_else.hpp +1 -1
  1667. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/if_then_else.hpp +1 -1
  1668. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/input_pair.hpp +1 -1
  1669. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/istream_reader.hpp +1 -1
  1670. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/istring.hpp +1 -1
  1671. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/iterator.hpp +1 -1
  1672. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/lf_crlf_eol.hpp +1 -1
  1673. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/lf_eol.hpp +1 -1
  1674. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/list.hpp +1 -1
  1675. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/list_must.hpp +1 -1
  1676. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/list_tail.hpp +1 -1
  1677. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/list_tail_pad.hpp +1 -1
  1678. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/marker.hpp +1 -1
  1679. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/minus.hpp +1 -1
  1680. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/missing_apply.hpp +1 -1
  1681. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/missing_apply0.hpp +1 -1
  1682. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/must.hpp +1 -1
  1683. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/not_at.hpp +1 -1
  1684. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/one.hpp +1 -1
  1685. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/opt.hpp +1 -1
  1686. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/pad.hpp +1 -1
  1687. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/pad_opt.hpp +1 -1
  1688. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/path_to_string.hpp +1 -1
  1689. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/peek_char.hpp +1 -1
  1690. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/peek_utf8.hpp +1 -1
  1691. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/pegtl_string.hpp +1 -1
  1692. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/plus.hpp +1 -1
  1693. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/raise.hpp +1 -1
  1694. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/range.hpp +1 -1
  1695. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/ranges.hpp +1 -1
  1696. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/rematch.hpp +1 -1
  1697. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/rep.hpp +1 -1
  1698. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/rep_min.hpp +1 -1
  1699. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/rep_min_max.hpp +1 -1
  1700. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/rep_opt.hpp +1 -1
  1701. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/require.hpp +1 -1
  1702. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/result_on_found.hpp +1 -1
  1703. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/rules.hpp +1 -1
  1704. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/seq.hpp +1 -1
  1705. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/sor.hpp +1 -1
  1706. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/star.hpp +1 -1
  1707. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/star_must.hpp +1 -1
  1708. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/state.hpp +1 -1
  1709. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/string.hpp +1 -1
  1710. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/success.hpp +1 -1
  1711. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/try_catch_type.hpp +1 -1
  1712. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/until.hpp +1 -1
  1713. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/istream_input.hpp +1 -1
  1714. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/match.hpp +1 -1
  1715. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/memory_input.hpp +1 -1
  1716. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/mmap_input.hpp +1 -1
  1717. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/must_if.hpp +1 -1
  1718. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/normal.hpp +1 -1
  1719. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/nothing.hpp +1 -1
  1720. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/parse.hpp +1 -1
  1721. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/parse_error.hpp +1 -1
  1722. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/position.hpp +1 -1
  1723. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/read_input.hpp +1 -1
  1724. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/require_apply.hpp +1 -1
  1725. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/require_apply0.hpp +1 -1
  1726. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/rewind_mode.hpp +1 -1
  1727. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/rules.hpp +1 -1
  1728. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/string_input.hpp +1 -1
  1729. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/tracking_mode.hpp +1 -1
  1730. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/type_list.hpp +1 -1
  1731. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/utf8.hpp +1 -1
  1732. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/version.hpp +2 -2
  1733. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/visit.hpp +1 -1
  1734. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl.hpp +1 -1
  1735. data/ext/couchbase/third_party/json/include/tao/json/binary_view.hpp +14 -0
  1736. data/ext/couchbase/third_party/json/include/tao/json/contrib/from_nlohmann.hpp +67 -0
  1737. data/ext/couchbase/third_party/json/include/tao/json/contrib/to_nlohmann.hpp +122 -0
  1738. data/ext/couchbase/third_party/json/include/tao/json/events/capture.hpp +482 -0
  1739. data/ext/couchbase/third_party/json/include/tao/json/events/from_value.hpp +3 -3
  1740. data/ext/couchbase/third_party/json/include/tao/json/events/produce.hpp +3 -95
  1741. data/ext/couchbase/third_party/json/include/tao/json/events/set_value.hpp +142 -0
  1742. data/ext/couchbase/third_party/json/include/tao/json/events/to_value.hpp +5 -112
  1743. data/ext/couchbase/third_party/json/include/tao/json/events/virtualize.hpp +27 -0
  1744. data/ext/couchbase/third_party/json/include/tao/json/events.hpp +3 -0
  1745. data/ext/couchbase/third_party/json/include/tao/json/traits.hpp +1 -1
  1746. data/ext/couchbase.cxx +2391 -1597
  1747. data/ext/extconf.rb +2 -0
  1748. data/ext/revisions.rb +2 -2
  1749. data/lib/couchbase/bucket.rb +2 -2
  1750. data/lib/couchbase/cluster.rb +12 -6
  1751. data/lib/couchbase/cluster_registry.rb +44 -0
  1752. data/lib/couchbase/collection.rb +61 -35
  1753. data/lib/couchbase/collection_options.rb +51 -95
  1754. data/lib/couchbase/config_profiles.rb +55 -0
  1755. data/lib/couchbase/logger.rb +44 -1
  1756. data/lib/couchbase/management/analytics_index_manager.rb +12 -12
  1757. data/lib/couchbase/management/query_index_manager.rb +5 -7
  1758. data/lib/couchbase/management/user_manager.rb +19 -0
  1759. data/lib/couchbase/options.rb +404 -56
  1760. data/lib/couchbase/query_options.rb +4 -4
  1761. data/lib/couchbase/scope.rb +3 -3
  1762. data/lib/couchbase/search_options.rb +7 -8
  1763. data/lib/couchbase/utils/generic_logger_adapter.rb +38 -0
  1764. data/lib/couchbase/utils/stdlib_logger_adapter.rb +65 -0
  1765. data/lib/couchbase/utils/time.rb +6 -6
  1766. data/lib/couchbase/version.rb +4 -18
  1767. metadata +880 -464
  1768. data/ext/couchbase/couchbase/analytics_scan_consistency.hxx +0 -26
  1769. data/ext/couchbase/couchbase/capella_ca.hxx +0 -43
  1770. data/ext/couchbase/couchbase/cas_fmt.hxx +0 -37
  1771. data/ext/couchbase/couchbase/cluster.cxx +0 -111
  1772. data/ext/couchbase/couchbase/cluster_options.cxx +0 -45
  1773. data/ext/couchbase/couchbase/crypto/CMakeLists.txt +0 -12
  1774. data/ext/couchbase/couchbase/crypto/cbcrypto.cc +0 -887
  1775. data/ext/couchbase/couchbase/crypto/cbcrypto.h +0 -88
  1776. data/ext/couchbase/couchbase/design_document_namespace.hxx +0 -26
  1777. data/ext/couchbase/couchbase/design_document_namespace_fmt.hxx +0 -47
  1778. data/ext/couchbase/couchbase/diagnostics.hxx +0 -97
  1779. data/ext/couchbase/couchbase/diagnostics_fmt.hxx +0 -113
  1780. data/ext/couchbase/couchbase/diagnostics_json.hxx +0 -100
  1781. data/ext/couchbase/couchbase/document_id.cxx +0 -89
  1782. data/ext/couchbase/couchbase/document_id.hxx +0 -102
  1783. data/ext/couchbase/couchbase/document_id_fmt.hxx +0 -37
  1784. data/ext/couchbase/couchbase/error_context/analytics.hxx +0 -51
  1785. data/ext/couchbase/couchbase/error_context/http.hxx +0 -47
  1786. data/ext/couchbase/couchbase/error_context/key_value.hxx +0 -50
  1787. data/ext/couchbase/couchbase/error_context/query.hxx +0 -51
  1788. data/ext/couchbase/couchbase/error_context/search.hxx +0 -50
  1789. data/ext/couchbase/couchbase/error_context/view.hxx +0 -51
  1790. data/ext/couchbase/couchbase/errors.hxx +0 -1038
  1791. data/ext/couchbase/couchbase/io/CMakeLists.txt +0 -12
  1792. data/ext/couchbase/couchbase/io/dns_client.hxx +0 -217
  1793. data/ext/couchbase/couchbase/io/dns_codec.hxx +0 -206
  1794. data/ext/couchbase/couchbase/io/dns_config.hxx +0 -115
  1795. data/ext/couchbase/couchbase/io/dns_message.hxx +0 -555
  1796. data/ext/couchbase/couchbase/io/http_command.hxx +0 -174
  1797. data/ext/couchbase/couchbase/io/http_context.hxx +0 -40
  1798. data/ext/couchbase/couchbase/io/http_message.hxx +0 -116
  1799. data/ext/couchbase/couchbase/io/http_parser.cxx +0 -141
  1800. data/ext/couchbase/couchbase/io/http_parser.hxx +0 -55
  1801. data/ext/couchbase/couchbase/io/http_session.hxx +0 -544
  1802. data/ext/couchbase/couchbase/io/http_session_manager.hxx +0 -377
  1803. data/ext/couchbase/couchbase/io/http_traits.hxx +0 -30
  1804. data/ext/couchbase/couchbase/io/ip_protocol.hxx +0 -28
  1805. data/ext/couchbase/couchbase/io/mcbp_command.hxx +0 -300
  1806. data/ext/couchbase/couchbase/io/mcbp_context.hxx +0 -39
  1807. data/ext/couchbase/couchbase/io/mcbp_message.cxx +0 -39
  1808. data/ext/couchbase/couchbase/io/mcbp_message.hxx +0 -55
  1809. data/ext/couchbase/couchbase/io/mcbp_parser.cxx +0 -86
  1810. data/ext/couchbase/couchbase/io/mcbp_parser.hxx +0 -45
  1811. data/ext/couchbase/couchbase/io/mcbp_session.hxx +0 -1317
  1812. data/ext/couchbase/couchbase/io/mcbp_traits.hxx +0 -30
  1813. data/ext/couchbase/couchbase/io/query_cache.hxx +0 -61
  1814. data/ext/couchbase/couchbase/io/retry_action.hxx +0 -30
  1815. data/ext/couchbase/couchbase/io/retry_context.hxx +0 -38
  1816. data/ext/couchbase/couchbase/io/retry_orchestrator.hxx +0 -112
  1817. data/ext/couchbase/couchbase/io/retry_reason.hxx +0 -158
  1818. data/ext/couchbase/couchbase/io/retry_reason_fmt.hxx +0 -103
  1819. data/ext/couchbase/couchbase/io/retry_strategy.hxx +0 -152
  1820. data/ext/couchbase/couchbase/io/streams.hxx +0 -253
  1821. data/ext/couchbase/couchbase/json_string.hxx +0 -48
  1822. data/ext/couchbase/couchbase/logger/CMakeLists.txt +0 -9
  1823. data/ext/couchbase/couchbase/logger/configuration.hxx +0 -52
  1824. data/ext/couchbase/couchbase/logger/custom_rotating_file_sink.cxx +0 -157
  1825. data/ext/couchbase/couchbase/logger/logger.cxx +0 -337
  1826. data/ext/couchbase/couchbase/logger/logger.hxx +0 -235
  1827. data/ext/couchbase/couchbase/management/CMakeLists.txt +0 -13
  1828. data/ext/couchbase/couchbase/management/analytics_dataset.hxx +0 -30
  1829. data/ext/couchbase/couchbase/management/analytics_index.hxx +0 -30
  1830. data/ext/couchbase/couchbase/management/analytics_link.hxx +0 -22
  1831. data/ext/couchbase/couchbase/management/analytics_link_azure_blob_external.cxx +0 -67
  1832. data/ext/couchbase/couchbase/management/analytics_link_azure_blob_external.hxx +0 -76
  1833. data/ext/couchbase/couchbase/management/analytics_link_azure_blob_external_json.hxx +0 -52
  1834. data/ext/couchbase/couchbase/management/analytics_link_couchbase_remote.cxx +0 -104
  1835. data/ext/couchbase/couchbase/management/analytics_link_couchbase_remote.hxx +0 -107
  1836. data/ext/couchbase/couchbase/management/analytics_link_couchbase_remote_json.hxx +0 -63
  1837. data/ext/couchbase/couchbase/management/analytics_link_s3_external.cxx +0 -57
  1838. data/ext/couchbase/couchbase/management/analytics_link_s3_external.hxx +0 -69
  1839. data/ext/couchbase/couchbase/management/analytics_link_s3_external_json.hxx +0 -47
  1840. data/ext/couchbase/couchbase/management/bucket_settings.hxx +0 -134
  1841. data/ext/couchbase/couchbase/management/bucket_settings_json.hxx +0 -123
  1842. data/ext/couchbase/couchbase/management/design_document.hxx +0 -41
  1843. data/ext/couchbase/couchbase/management/eventing_function.hxx +0 -188
  1844. data/ext/couchbase/couchbase/management/eventing_function_json.hxx +0 -212
  1845. data/ext/couchbase/couchbase/management/eventing_status.hxx +0 -84
  1846. data/ext/couchbase/couchbase/management/eventing_status_json.hxx +0 -77
  1847. data/ext/couchbase/couchbase/management/rbac.hxx +0 -77
  1848. data/ext/couchbase/couchbase/management/rbac_fmt.hxx +0 -49
  1849. data/ext/couchbase/couchbase/management/rbac_json.hxx +0 -179
  1850. data/ext/couchbase/couchbase/management/search_index.hxx +0 -38
  1851. data/ext/couchbase/couchbase/management/search_index_json.hxx +0 -58
  1852. data/ext/couchbase/couchbase/meta/CMakeLists.txt +0 -15
  1853. data/ext/couchbase/couchbase/meta/version.cxx +0 -181
  1854. data/ext/couchbase/couchbase/meta/version.hxx +0 -45
  1855. data/ext/couchbase/couchbase/metrics/CMakeLists.txt +0 -11
  1856. data/ext/couchbase/couchbase/metrics/logging_meter.cxx +0 -194
  1857. data/ext/couchbase/couchbase/metrics/logging_meter.hxx +0 -74
  1858. data/ext/couchbase/couchbase/metrics/logging_meter_options.hxx +0 -28
  1859. data/ext/couchbase/couchbase/metrics/noop_meter.hxx +0 -47
  1860. data/ext/couchbase/couchbase/mutation_token_fmt.hxx +0 -37
  1861. data/ext/couchbase/couchbase/operations/CMakeLists.txt +0 -35
  1862. data/ext/couchbase/couchbase/operations/document_analytics.cxx +0 -195
  1863. data/ext/couchbase/couchbase/operations/document_analytics.hxx +0 -92
  1864. data/ext/couchbase/couchbase/operations/document_append.cxx +0 -46
  1865. data/ext/couchbase/couchbase/operations/document_append.hxx +0 -63
  1866. data/ext/couchbase/couchbase/operations/document_decrement.cxx +0 -57
  1867. data/ext/couchbase/couchbase/operations/document_decrement.hxx +0 -67
  1868. data/ext/couchbase/couchbase/operations/document_exists.cxx +0 -49
  1869. data/ext/couchbase/couchbase/operations/document_exists.hxx +0 -61
  1870. data/ext/couchbase/couchbase/operations/document_get.cxx +0 -44
  1871. data/ext/couchbase/couchbase/operations/document_get.hxx +0 -53
  1872. data/ext/couchbase/couchbase/operations/document_get_and_lock.cxx +0 -45
  1873. data/ext/couchbase/couchbase/operations/document_get_and_lock.hxx +0 -54
  1874. data/ext/couchbase/couchbase/operations/document_get_and_touch.cxx +0 -45
  1875. data/ext/couchbase/couchbase/operations/document_get_and_touch.hxx +0 -54
  1876. data/ext/couchbase/couchbase/operations/document_get_projected.cxx +0 -227
  1877. data/ext/couchbase/couchbase/operations/document_get_projected.hxx +0 -58
  1878. data/ext/couchbase/couchbase/operations/document_increment.cxx +0 -57
  1879. data/ext/couchbase/couchbase/operations/document_increment.hxx +0 -67
  1880. data/ext/couchbase/couchbase/operations/document_insert.cxx +0 -48
  1881. data/ext/couchbase/couchbase/operations/document_insert.hxx +0 -65
  1882. data/ext/couchbase/couchbase/operations/document_lookup_in.cxx +0 -81
  1883. data/ext/couchbase/couchbase/operations/document_lookup_in.hxx +0 -64
  1884. data/ext/couchbase/couchbase/operations/document_mutate_in.cxx +0 -104
  1885. data/ext/couchbase/couchbase/operations/document_mutate_in.hxx +0 -82
  1886. data/ext/couchbase/couchbase/operations/document_prepend.cxx +0 -46
  1887. data/ext/couchbase/couchbase/operations/document_prepend.hxx +0 -63
  1888. data/ext/couchbase/couchbase/operations/document_query.cxx +0 -370
  1889. data/ext/couchbase/couchbase/operations/document_query.hxx +0 -123
  1890. data/ext/couchbase/couchbase/operations/document_remove.cxx +0 -46
  1891. data/ext/couchbase/couchbase/operations/document_remove.hxx +0 -63
  1892. data/ext/couchbase/couchbase/operations/document_replace.cxx +0 -52
  1893. data/ext/couchbase/couchbase/operations/document_replace.hxx +0 -67
  1894. data/ext/couchbase/couchbase/operations/document_search.cxx +0 -311
  1895. data/ext/couchbase/couchbase/operations/document_search.hxx +0 -153
  1896. data/ext/couchbase/couchbase/operations/document_touch.cxx +0 -43
  1897. data/ext/couchbase/couchbase/operations/document_touch.hxx +0 -52
  1898. data/ext/couchbase/couchbase/operations/document_unlock.cxx +0 -43
  1899. data/ext/couchbase/couchbase/operations/document_unlock.hxx +0 -52
  1900. data/ext/couchbase/couchbase/operations/document_upsert.cxx +0 -52
  1901. data/ext/couchbase/couchbase/operations/document_upsert.hxx +0 -66
  1902. data/ext/couchbase/couchbase/operations/document_view.cxx +0 -183
  1903. data/ext/couchbase/couchbase/operations/document_view.hxx +0 -97
  1904. data/ext/couchbase/couchbase/operations/http_noop.cxx +0 -60
  1905. data/ext/couchbase/couchbase/operations/http_noop.hxx +0 -48
  1906. data/ext/couchbase/couchbase/operations/management/CMakeLists.txt +0 -79
  1907. data/ext/couchbase/couchbase/operations/management/analytics.hxx +0 -34
  1908. data/ext/couchbase/couchbase/operations/management/analytics_dataset_create.cxx +0 -94
  1909. data/ext/couchbase/couchbase/operations/management/analytics_dataset_create.hxx +0 -57
  1910. data/ext/couchbase/couchbase/operations/management/analytics_dataset_drop.cxx +0 -83
  1911. data/ext/couchbase/couchbase/operations/management/analytics_dataset_drop.hxx +0 -54
  1912. data/ext/couchbase/couchbase/operations/management/analytics_dataset_get_all.cxx +0 -80
  1913. data/ext/couchbase/couchbase/operations/management/analytics_dataset_get_all.hxx +0 -52
  1914. data/ext/couchbase/couchbase/operations/management/analytics_dataverse_create.cxx +0 -82
  1915. data/ext/couchbase/couchbase/operations/management/analytics_dataverse_create.hxx +0 -53
  1916. data/ext/couchbase/couchbase/operations/management/analytics_dataverse_drop.cxx +0 -82
  1917. data/ext/couchbase/couchbase/operations/management/analytics_dataverse_drop.hxx +0 -53
  1918. data/ext/couchbase/couchbase/operations/management/analytics_get_pending_mutations.cxx +0 -70
  1919. data/ext/couchbase/couchbase/operations/management/analytics_get_pending_mutations.hxx +0 -52
  1920. data/ext/couchbase/couchbase/operations/management/analytics_index_create.cxx +0 -106
  1921. data/ext/couchbase/couchbase/operations/management/analytics_index_create.hxx +0 -56
  1922. data/ext/couchbase/couchbase/operations/management/analytics_index_drop.cxx +0 -90
  1923. data/ext/couchbase/couchbase/operations/management/analytics_index_drop.hxx +0 -55
  1924. data/ext/couchbase/couchbase/operations/management/analytics_index_get_all.cxx +0 -80
  1925. data/ext/couchbase/couchbase/operations/management/analytics_index_get_all.hxx +0 -52
  1926. data/ext/couchbase/couchbase/operations/management/analytics_link_connect.cxx +0 -82
  1927. data/ext/couchbase/couchbase/operations/management/analytics_link_connect.hxx +0 -57
  1928. data/ext/couchbase/couchbase/operations/management/analytics_link_create.cxx +0 -87
  1929. data/ext/couchbase/couchbase/operations/management/analytics_link_create.hxx +0 -77
  1930. data/ext/couchbase/couchbase/operations/management/analytics_link_disconnect.cxx +0 -80
  1931. data/ext/couchbase/couchbase/operations/management/analytics_link_disconnect.hxx +0 -56
  1932. data/ext/couchbase/couchbase/operations/management/analytics_link_drop.cxx +0 -103
  1933. data/ext/couchbase/couchbase/operations/management/analytics_link_drop.hxx +0 -56
  1934. data/ext/couchbase/couchbase/operations/management/analytics_link_get_all.cxx +0 -130
  1935. data/ext/couchbase/couchbase/operations/management/analytics_link_get_all.hxx +0 -63
  1936. data/ext/couchbase/couchbase/operations/management/analytics_link_replace.cxx +0 -87
  1937. data/ext/couchbase/couchbase/operations/management/analytics_link_replace.hxx +0 -78
  1938. data/ext/couchbase/couchbase/operations/management/analytics_link_utils.hxx +0 -37
  1939. data/ext/couchbase/couchbase/operations/management/analytics_problem.hxx +0 -30
  1940. data/ext/couchbase/couchbase/operations/management/bucket.hxx +0 -25
  1941. data/ext/couchbase/couchbase/operations/management/bucket_create.cxx +0 -171
  1942. data/ext/couchbase/couchbase/operations/management/bucket_create.hxx +0 -52
  1943. data/ext/couchbase/couchbase/operations/management/bucket_describe.cxx +0 -67
  1944. data/ext/couchbase/couchbase/operations/management/bucket_describe.hxx +0 -61
  1945. data/ext/couchbase/couchbase/operations/management/bucket_drop.cxx +0 -52
  1946. data/ext/couchbase/couchbase/operations/management/bucket_drop.hxx +0 -49
  1947. data/ext/couchbase/couchbase/operations/management/bucket_flush.cxx +0 -59
  1948. data/ext/couchbase/couchbase/operations/management/bucket_flush.hxx +0 -49
  1949. data/ext/couchbase/couchbase/operations/management/bucket_get.cxx +0 -59
  1950. data/ext/couchbase/couchbase/operations/management/bucket_get.hxx +0 -51
  1951. data/ext/couchbase/couchbase/operations/management/bucket_get_all.cxx +0 -59
  1952. data/ext/couchbase/couchbase/operations/management/bucket_get_all.hxx +0 -49
  1953. data/ext/couchbase/couchbase/operations/management/bucket_update.cxx +0 -130
  1954. data/ext/couchbase/couchbase/operations/management/bucket_update.hxx +0 -52
  1955. data/ext/couchbase/couchbase/operations/management/cluster_describe.cxx +0 -90
  1956. data/ext/couchbase/couchbase/operations/management/cluster_describe.hxx +0 -72
  1957. data/ext/couchbase/couchbase/operations/management/cluster_developer_preview_enable.cxx +0 -44
  1958. data/ext/couchbase/couchbase/operations/management/cluster_developer_preview_enable.hxx +0 -48
  1959. data/ext/couchbase/couchbase/operations/management/collection_create.cxx +0 -83
  1960. data/ext/couchbase/couchbase/operations/management/collection_create.hxx +0 -53
  1961. data/ext/couchbase/couchbase/operations/management/collection_drop.cxx +0 -73
  1962. data/ext/couchbase/couchbase/operations/management/collection_drop.hxx +0 -52
  1963. data/ext/couchbase/couchbase/operations/management/collections.hxx +0 -25
  1964. data/ext/couchbase/couchbase/operations/management/collections_manifest_get.cxx +0 -40
  1965. data/ext/couchbase/couchbase/operations/management/collections_manifest_get.hxx +0 -53
  1966. data/ext/couchbase/couchbase/operations/management/error_utils.cxx +0 -265
  1967. data/ext/couchbase/couchbase/operations/management/error_utils.hxx +0 -48
  1968. data/ext/couchbase/couchbase/operations/management/eventing.hxx +0 -28
  1969. data/ext/couchbase/couchbase/operations/management/eventing_deploy_function.cxx +0 -56
  1970. data/ext/couchbase/couchbase/operations/management/eventing_deploy_function.hxx +0 -52
  1971. data/ext/couchbase/couchbase/operations/management/eventing_drop_function.cxx +0 -57
  1972. data/ext/couchbase/couchbase/operations/management/eventing_drop_function.hxx +0 -52
  1973. data/ext/couchbase/couchbase/operations/management/eventing_get_all_functions.cxx +0 -64
  1974. data/ext/couchbase/couchbase/operations/management/eventing_get_all_functions.hxx +0 -51
  1975. data/ext/couchbase/couchbase/operations/management/eventing_get_function.cxx +0 -56
  1976. data/ext/couchbase/couchbase/operations/management/eventing_get_function.hxx +0 -53
  1977. data/ext/couchbase/couchbase/operations/management/eventing_get_status.cxx +0 -56
  1978. data/ext/couchbase/couchbase/operations/management/eventing_get_status.hxx +0 -53
  1979. data/ext/couchbase/couchbase/operations/management/eventing_pause_function.cxx +0 -56
  1980. data/ext/couchbase/couchbase/operations/management/eventing_pause_function.hxx +0 -52
  1981. data/ext/couchbase/couchbase/operations/management/eventing_problem.hxx +0 -31
  1982. data/ext/couchbase/couchbase/operations/management/eventing_resume_function.cxx +0 -56
  1983. data/ext/couchbase/couchbase/operations/management/eventing_resume_function.hxx +0 -52
  1984. data/ext/couchbase/couchbase/operations/management/eventing_undeploy_function.cxx +0 -56
  1985. data/ext/couchbase/couchbase/operations/management/eventing_undeploy_function.hxx +0 -52
  1986. data/ext/couchbase/couchbase/operations/management/eventing_upsert_function.cxx +0 -341
  1987. data/ext/couchbase/couchbase/operations/management/eventing_upsert_function.hxx +0 -52
  1988. data/ext/couchbase/couchbase/operations/management/freeform.cxx +0 -55
  1989. data/ext/couchbase/couchbase/operations/management/freeform.hxx +0 -55
  1990. data/ext/couchbase/couchbase/operations/management/group_drop.cxx +0 -51
  1991. data/ext/couchbase/couchbase/operations/management/group_drop.hxx +0 -49
  1992. data/ext/couchbase/couchbase/operations/management/group_get.cxx +0 -60
  1993. data/ext/couchbase/couchbase/operations/management/group_get.hxx +0 -50
  1994. data/ext/couchbase/couchbase/operations/management/group_get_all.cxx +0 -58
  1995. data/ext/couchbase/couchbase/operations/management/group_get_all.hxx +0 -49
  1996. data/ext/couchbase/couchbase/operations/management/group_upsert.cxx +0 -96
  1997. data/ext/couchbase/couchbase/operations/management/group_upsert.hxx +0 -51
  1998. data/ext/couchbase/couchbase/operations/management/query.hxx +0 -23
  1999. data/ext/couchbase/couchbase/operations/management/query_index_build_deferred.cxx +0 -88
  2000. data/ext/couchbase/couchbase/operations/management/query_index_build_deferred.hxx +0 -61
  2001. data/ext/couchbase/couchbase/operations/management/query_index_create.cxx +0 -149
  2002. data/ext/couchbase/couchbase/operations/management/query_index_create.hxx +0 -65
  2003. data/ext/couchbase/couchbase/operations/management/query_index_drop.cxx +0 -128
  2004. data/ext/couchbase/couchbase/operations/management/query_index_drop.hxx +0 -61
  2005. data/ext/couchbase/couchbase/operations/management/query_index_get_all.cxx +0 -126
  2006. data/ext/couchbase/couchbase/operations/management/query_index_get_all.hxx +0 -54
  2007. data/ext/couchbase/couchbase/operations/management/role_get_all.cxx +0 -58
  2008. data/ext/couchbase/couchbase/operations/management/role_get_all.hxx +0 -49
  2009. data/ext/couchbase/couchbase/operations/management/scope_create.cxx +0 -75
  2010. data/ext/couchbase/couchbase/operations/management/scope_create.hxx +0 -51
  2011. data/ext/couchbase/couchbase/operations/management/scope_drop.cxx +0 -70
  2012. data/ext/couchbase/couchbase/operations/management/scope_drop.hxx +0 -51
  2013. data/ext/couchbase/couchbase/operations/management/scope_get_all.cxx +0 -62
  2014. data/ext/couchbase/couchbase/operations/management/scope_get_all.hxx +0 -51
  2015. data/ext/couchbase/couchbase/operations/management/search.hxx +0 -30
  2016. data/ext/couchbase/couchbase/operations/management/search_get_stats.cxx +0 -41
  2017. data/ext/couchbase/couchbase/operations/management/search_get_stats.hxx +0 -48
  2018. data/ext/couchbase/couchbase/operations/management/search_index_analyze_document.cxx +0 -85
  2019. data/ext/couchbase/couchbase/operations/management/search_index_analyze_document.hxx +0 -54
  2020. data/ext/couchbase/couchbase/operations/management/search_index_control_ingest.cxx +0 -73
  2021. data/ext/couchbase/couchbase/operations/management/search_index_control_ingest.hxx +0 -52
  2022. data/ext/couchbase/couchbase/operations/management/search_index_control_plan_freeze.cxx +0 -73
  2023. data/ext/couchbase/couchbase/operations/management/search_index_control_plan_freeze.hxx +0 -57
  2024. data/ext/couchbase/couchbase/operations/management/search_index_control_query.cxx +0 -73
  2025. data/ext/couchbase/couchbase/operations/management/search_index_control_query.hxx +0 -52
  2026. data/ext/couchbase/couchbase/operations/management/search_index_drop.cxx +0 -72
  2027. data/ext/couchbase/couchbase/operations/management/search_index_drop.hxx +0 -51
  2028. data/ext/couchbase/couchbase/operations/management/search_index_get.cxx +0 -75
  2029. data/ext/couchbase/couchbase/operations/management/search_index_get.hxx +0 -54
  2030. data/ext/couchbase/couchbase/operations/management/search_index_get_all.cxx +0 -67
  2031. data/ext/couchbase/couchbase/operations/management/search_index_get_all.hxx +0 -51
  2032. data/ext/couchbase/couchbase/operations/management/search_index_get_documents_count.cxx +0 -79
  2033. data/ext/couchbase/couchbase/operations/management/search_index_get_documents_count.hxx +0 -53
  2034. data/ext/couchbase/couchbase/operations/management/search_index_get_stats.cxx +0 -71
  2035. data/ext/couchbase/couchbase/operations/management/search_index_get_stats.hxx +0 -52
  2036. data/ext/couchbase/couchbase/operations/management/search_index_upsert.cxx +0 -108
  2037. data/ext/couchbase/couchbase/operations/management/search_index_upsert.hxx +0 -52
  2038. data/ext/couchbase/couchbase/operations/management/user.hxx +0 -28
  2039. data/ext/couchbase/couchbase/operations/management/user_drop.cxx +0 -52
  2040. data/ext/couchbase/couchbase/operations/management/user_drop.hxx +0 -51
  2041. data/ext/couchbase/couchbase/operations/management/user_get.cxx +0 -61
  2042. data/ext/couchbase/couchbase/operations/management/user_get.hxx +0 -52
  2043. data/ext/couchbase/couchbase/operations/management/user_get_all.cxx +0 -59
  2044. data/ext/couchbase/couchbase/operations/management/user_get_all.hxx +0 -51
  2045. data/ext/couchbase/couchbase/operations/management/user_upsert.cxx +0 -101
  2046. data/ext/couchbase/couchbase/operations/management/user_upsert.hxx +0 -52
  2047. data/ext/couchbase/couchbase/operations/management/view.hxx +0 -23
  2048. data/ext/couchbase/couchbase/operations/management/view_index_drop.cxx +0 -46
  2049. data/ext/couchbase/couchbase/operations/management/view_index_drop.hxx +0 -52
  2050. data/ext/couchbase/couchbase/operations/management/view_index_get.cxx +0 -74
  2051. data/ext/couchbase/couchbase/operations/management/view_index_get.hxx +0 -53
  2052. data/ext/couchbase/couchbase/operations/management/view_index_get_all.cxx +0 -108
  2053. data/ext/couchbase/couchbase/operations/management/view_index_get_all.hxx +0 -52
  2054. data/ext/couchbase/couchbase/operations/management/view_index_upsert.cxx +0 -71
  2055. data/ext/couchbase/couchbase/operations/management/view_index_upsert.hxx +0 -51
  2056. data/ext/couchbase/couchbase/operations/mcbp_noop.cxx +0 -38
  2057. data/ext/couchbase/couchbase/operations/mcbp_noop.hxx +0 -49
  2058. data/ext/couchbase/couchbase/operations.hxx +0 -42
  2059. data/ext/couchbase/couchbase/origin.hxx +0 -185
  2060. data/ext/couchbase/couchbase/platform/CMakeLists.txt +0 -16
  2061. data/ext/couchbase/couchbase/platform/backtrace.c +0 -189
  2062. data/ext/couchbase/couchbase/platform/base64.cc +0 -234
  2063. data/ext/couchbase/couchbase/platform/base64.h +0 -44
  2064. data/ext/couchbase/couchbase/platform/dirutils.cc +0 -123
  2065. data/ext/couchbase/couchbase/platform/dirutils.h +0 -43
  2066. data/ext/couchbase/couchbase/platform/random.cc +0 -120
  2067. data/ext/couchbase/couchbase/platform/random.h +0 -39
  2068. data/ext/couchbase/couchbase/platform/string_hex.cc +0 -99
  2069. data/ext/couchbase/couchbase/platform/string_hex.h +0 -50
  2070. data/ext/couchbase/couchbase/platform/terminate_handler.cc +0 -125
  2071. data/ext/couchbase/couchbase/platform/terminate_handler.h +0 -36
  2072. data/ext/couchbase/couchbase/platform/uuid.cc +0 -98
  2073. data/ext/couchbase/couchbase/platform/uuid.h +0 -56
  2074. data/ext/couchbase/couchbase/protocol/CMakeLists.txt +0 -42
  2075. data/ext/couchbase/couchbase/protocol/client_opcode.hxx +0 -359
  2076. data/ext/couchbase/couchbase/protocol/client_opcode_fmt.hxx +0 -316
  2077. data/ext/couchbase/couchbase/protocol/client_request.cxx +0 -37
  2078. data/ext/couchbase/couchbase/protocol/client_request.hxx +0 -157
  2079. data/ext/couchbase/couchbase/protocol/client_response.cxx +0 -74
  2080. data/ext/couchbase/couchbase/protocol/client_response.hxx +0 -211
  2081. data/ext/couchbase/couchbase/protocol/cmd_append.cxx +0 -82
  2082. data/ext/couchbase/couchbase/protocol/cmd_append.hxx +0 -107
  2083. data/ext/couchbase/couchbase/protocol/cmd_cluster_map_change_notification.cxx +0 -51
  2084. data/ext/couchbase/couchbase/protocol/cmd_cluster_map_change_notification.hxx +0 -57
  2085. data/ext/couchbase/couchbase/protocol/cmd_decrement.cxx +0 -112
  2086. data/ext/couchbase/couchbase/protocol/cmd_decrement.hxx +0 -131
  2087. data/ext/couchbase/couchbase/protocol/cmd_exists.cxx +0 -92
  2088. data/ext/couchbase/couchbase/protocol/cmd_exists.hxx +0 -121
  2089. data/ext/couchbase/couchbase/protocol/cmd_get.cxx +0 -63
  2090. data/ext/couchbase/couchbase/protocol/cmd_get.hxx +0 -101
  2091. data/ext/couchbase/couchbase/protocol/cmd_get_and_lock.cxx +0 -68
  2092. data/ext/couchbase/couchbase/protocol/cmd_get_and_lock.hxx +0 -117
  2093. data/ext/couchbase/couchbase/protocol/cmd_get_and_touch.cxx +0 -70
  2094. data/ext/couchbase/couchbase/protocol/cmd_get_and_touch.hxx +0 -117
  2095. data/ext/couchbase/couchbase/protocol/cmd_get_cluster_config.cxx +0 -84
  2096. data/ext/couchbase/couchbase/protocol/cmd_get_cluster_config.hxx +0 -89
  2097. data/ext/couchbase/couchbase/protocol/cmd_get_collection_id.cxx +0 -50
  2098. data/ext/couchbase/couchbase/protocol/cmd_get_collection_id.hxx +0 -98
  2099. data/ext/couchbase/couchbase/protocol/cmd_get_collections_manifest.cxx +0 -44
  2100. data/ext/couchbase/couchbase/protocol/cmd_get_collections_manifest.hxx +0 -84
  2101. data/ext/couchbase/couchbase/protocol/cmd_get_error_map.cxx +0 -59
  2102. data/ext/couchbase/couchbase/protocol/cmd_get_error_map.hxx +0 -103
  2103. data/ext/couchbase/couchbase/protocol/cmd_get_meta.cxx +0 -74
  2104. data/ext/couchbase/couchbase/protocol/cmd_get_meta.hxx +0 -119
  2105. data/ext/couchbase/couchbase/protocol/cmd_hello.cxx +0 -66
  2106. data/ext/couchbase/couchbase/protocol/cmd_hello.hxx +0 -144
  2107. data/ext/couchbase/couchbase/protocol/cmd_increment.cxx +0 -117
  2108. data/ext/couchbase/couchbase/protocol/cmd_increment.hxx +0 -131
  2109. data/ext/couchbase/couchbase/protocol/cmd_info.hxx +0 -29
  2110. data/ext/couchbase/couchbase/protocol/cmd_insert.cxx +0 -92
  2111. data/ext/couchbase/couchbase/protocol/cmd_insert.hxx +0 -123
  2112. data/ext/couchbase/couchbase/protocol/cmd_lookup_in.cxx +0 -109
  2113. data/ext/couchbase/couchbase/protocol/cmd_lookup_in.hxx +0 -165
  2114. data/ext/couchbase/couchbase/protocol/cmd_mutate_in.cxx +0 -174
  2115. data/ext/couchbase/couchbase/protocol/cmd_mutate_in.hxx +0 -311
  2116. data/ext/couchbase/couchbase/protocol/cmd_noop.cxx +0 -36
  2117. data/ext/couchbase/couchbase/protocol/cmd_noop.hxx +0 -75
  2118. data/ext/couchbase/couchbase/protocol/cmd_prepend.cxx +0 -82
  2119. data/ext/couchbase/couchbase/protocol/cmd_prepend.hxx +0 -102
  2120. data/ext/couchbase/couchbase/protocol/cmd_remove.cxx +0 -83
  2121. data/ext/couchbase/couchbase/protocol/cmd_remove.hxx +0 -93
  2122. data/ext/couchbase/couchbase/protocol/cmd_replace.cxx +0 -105
  2123. data/ext/couchbase/couchbase/protocol/cmd_replace.hxx +0 -130
  2124. data/ext/couchbase/couchbase/protocol/cmd_sasl_auth.cxx +0 -40
  2125. data/ext/couchbase/couchbase/protocol/cmd_sasl_auth.hxx +0 -97
  2126. data/ext/couchbase/couchbase/protocol/cmd_sasl_list_mechs.cxx +0 -48
  2127. data/ext/couchbase/couchbase/protocol/cmd_sasl_list_mechs.hxx +0 -82
  2128. data/ext/couchbase/couchbase/protocol/cmd_sasl_step.cxx +0 -40
  2129. data/ext/couchbase/couchbase/protocol/cmd_sasl_step.hxx +0 -97
  2130. data/ext/couchbase/couchbase/protocol/cmd_select_bucket.cxx +0 -36
  2131. data/ext/couchbase/couchbase/protocol/cmd_select_bucket.hxx +0 -82
  2132. data/ext/couchbase/couchbase/protocol/cmd_touch.cxx +0 -57
  2133. data/ext/couchbase/couchbase/protocol/cmd_touch.hxx +0 -84
  2134. data/ext/couchbase/couchbase/protocol/cmd_unlock.cxx +0 -48
  2135. data/ext/couchbase/couchbase/protocol/cmd_unlock.hxx +0 -81
  2136. data/ext/couchbase/couchbase/protocol/cmd_upsert.cxx +0 -104
  2137. data/ext/couchbase/couchbase/protocol/cmd_upsert.hxx +0 -125
  2138. data/ext/couchbase/couchbase/protocol/datatype.hxx +0 -48
  2139. data/ext/couchbase/couchbase/protocol/durability_level.hxx +0 -59
  2140. data/ext/couchbase/couchbase/protocol/durability_level_fmt.hxx +0 -52
  2141. data/ext/couchbase/couchbase/protocol/enhanced_error_info.hxx +0 -28
  2142. data/ext/couchbase/couchbase/protocol/enhanced_error_info_fmt.hxx +0 -44
  2143. data/ext/couchbase/couchbase/protocol/frame_info_id.hxx +0 -142
  2144. data/ext/couchbase/couchbase/protocol/frame_info_id_fmt.hxx +0 -79
  2145. data/ext/couchbase/couchbase/protocol/hello_feature.hxx +0 -186
  2146. data/ext/couchbase/couchbase/protocol/hello_feature_fmt.hxx +0 -106
  2147. data/ext/couchbase/couchbase/protocol/magic.hxx +0 -53
  2148. data/ext/couchbase/couchbase/protocol/magic_fmt.hxx +0 -58
  2149. data/ext/couchbase/couchbase/protocol/server_opcode.hxx +0 -39
  2150. data/ext/couchbase/couchbase/protocol/server_opcode_fmt.hxx +0 -46
  2151. data/ext/couchbase/couchbase/protocol/server_request.hxx +0 -121
  2152. data/ext/couchbase/couchbase/protocol/status.cxx +0 -187
  2153. data/ext/couchbase/couchbase/protocol/status.hxx +0 -180
  2154. data/ext/couchbase/couchbase/protocol/status_fmt.hxx +0 -241
  2155. data/ext/couchbase/couchbase/query_profile_mode.hxx +0 -27
  2156. data/ext/couchbase/couchbase/sasl/CMakeLists.txt +0 -16
  2157. data/ext/couchbase/couchbase/sasl/client.cc +0 -50
  2158. data/ext/couchbase/couchbase/sasl/client.h +0 -128
  2159. data/ext/couchbase/couchbase/sasl/context.cc +0 -34
  2160. data/ext/couchbase/couchbase/sasl/context.h +0 -52
  2161. data/ext/couchbase/couchbase/sasl/error.h +0 -28
  2162. data/ext/couchbase/couchbase/sasl/error_fmt.h +0 -70
  2163. data/ext/couchbase/couchbase/sasl/mechanism.cc +0 -45
  2164. data/ext/couchbase/couchbase/sasl/mechanism.h +0 -52
  2165. data/ext/couchbase/couchbase/sasl/plain/plain.cc +0 -39
  2166. data/ext/couchbase/couchbase/sasl/plain/plain.h +0 -54
  2167. data/ext/couchbase/couchbase/sasl/scram-sha/scram-sha.cc +0 -372
  2168. data/ext/couchbase/couchbase/sasl/scram-sha/scram-sha.h +0 -184
  2169. data/ext/couchbase/couchbase/sasl/scram-sha/stringutils.cc +0 -82
  2170. data/ext/couchbase/couchbase/sasl/scram-sha/stringutils.h +0 -48
  2171. data/ext/couchbase/couchbase/search_highlight_style.hxx +0 -23
  2172. data/ext/couchbase/couchbase/search_scan_consistency.hxx +0 -23
  2173. data/ext/couchbase/couchbase/service_type.hxx +0 -31
  2174. data/ext/couchbase/couchbase/service_type_fmt.hxx +0 -61
  2175. data/ext/couchbase/couchbase/timeout_defaults.hxx +0 -42
  2176. data/ext/couchbase/couchbase/topology/CMakeLists.txt +0 -9
  2177. data/ext/couchbase/couchbase/topology/capabilities.hxx +0 -43
  2178. data/ext/couchbase/couchbase/topology/capabilities_fmt.hxx +0 -106
  2179. data/ext/couchbase/couchbase/topology/collections_manifest.hxx +0 -42
  2180. data/ext/couchbase/couchbase/topology/collections_manifest_fmt.hxx +0 -52
  2181. data/ext/couchbase/couchbase/topology/collections_manifest_json.hxx +0 -50
  2182. data/ext/couchbase/couchbase/topology/configuration.cxx +0 -223
  2183. data/ext/couchbase/couchbase/topology/configuration.hxx +0 -120
  2184. data/ext/couchbase/couchbase/topology/configuration_fmt.hxx +0 -166
  2185. data/ext/couchbase/couchbase/topology/configuration_json.hxx +0 -259
  2186. data/ext/couchbase/couchbase/topology/error_map.hxx +0 -149
  2187. data/ext/couchbase/couchbase/topology/error_map_fmt.hxx +0 -94
  2188. data/ext/couchbase/couchbase/topology/error_map_json.hxx +0 -88
  2189. data/ext/couchbase/couchbase/tracing/CMakeLists.txt +0 -9
  2190. data/ext/couchbase/couchbase/tracing/constants.hxx +0 -274
  2191. data/ext/couchbase/couchbase/tracing/noop_tracer.hxx +0 -55
  2192. data/ext/couchbase/couchbase/tracing/threshold_logging_options.hxx +0 -68
  2193. data/ext/couchbase/couchbase/tracing/threshold_logging_tracer.cxx +0 -422
  2194. data/ext/couchbase/couchbase/tracing/threshold_logging_tracer.hxx +0 -49
  2195. data/ext/couchbase/couchbase/utils/CMakeLists.txt +0 -17
  2196. data/ext/couchbase/couchbase/utils/byteswap.cxx +0 -45
  2197. data/ext/couchbase/couchbase/utils/byteswap.hxx +0 -49
  2198. data/ext/couchbase/couchbase/utils/connection_string.cxx +0 -420
  2199. data/ext/couchbase/couchbase/utils/connection_string.hxx +0 -76
  2200. data/ext/couchbase/couchbase/utils/crc32.hxx +0 -48
  2201. data/ext/couchbase/couchbase/utils/duration_parser.cxx +0 -193
  2202. data/ext/couchbase/couchbase/utils/duration_parser.hxx +0 -45
  2203. data/ext/couchbase/couchbase/utils/join_strings.hxx +0 -65
  2204. data/ext/couchbase/couchbase/utils/json.cxx +0 -71
  2205. data/ext/couchbase/couchbase/utils/json.hxx +0 -37
  2206. data/ext/couchbase/couchbase/utils/json_stream_control.hxx +0 -32
  2207. data/ext/couchbase/couchbase/utils/json_streaming_lexer.cxx +0 -394
  2208. data/ext/couchbase/couchbase/utils/json_streaming_lexer.hxx +0 -58
  2209. data/ext/couchbase/couchbase/utils/movable_function.hxx +0 -110
  2210. data/ext/couchbase/couchbase/utils/name_codec.hxx +0 -41
  2211. data/ext/couchbase/couchbase/utils/unsigned_leb128.hxx +0 -181
  2212. data/ext/couchbase/couchbase/utils/url_codec.cxx +0 -404
  2213. data/ext/couchbase/couchbase/utils/url_codec.hxx +0 -72
  2214. data/ext/couchbase/couchbase/view_scan_consistency.hxx +0 -27
  2215. data/ext/couchbase/couchbase/view_sort_order.hxx +0 -23
  2216. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/impl/append.hpp +0 -217
  2217. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/impl/as_tuple.hpp +0 -246
  2218. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/impl/deferred.hpp +0 -104
  2219. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/impl/prepend.hpp +0 -217
  2220. data/ext/couchbase/third_party/asio/asio/include/asio/impl/compose.hpp +0 -707
  2221. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/dependent_true.hpp +0 -16
@@ -2,7 +2,7 @@
2
2
  // basic_datagram_socket.hpp
3
3
  // ~~~~~~~~~~~~~~~~~~~~~~~~~
4
4
  //
5
- // Copyright (c) 2003-2021 Christopher M. Kohlhoff (chris at kohlhoff dot com)
5
+ // Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
6
6
  //
7
7
  // Distributed under the Boost Software License, Version 1.0. (See accompanying
8
8
  // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -46,17 +46,23 @@ class basic_datagram_socket;
46
46
  * @e Distinct @e objects: Safe.@n
47
47
  * @e Shared @e objects: Unsafe.
48
48
  *
49
- * Synchronous @c send, @c send_to, @c receive, @c receive_from, and @c connect
50
- * operations are thread safe with respect to each other, if the underlying
51
- * operating system calls are also thread safe. This means that it is permitted
52
- * to perform concurrent calls to these synchronous operations on a single
53
- * socket object. Other synchronous operations, such as @c open or @c close, are
54
- * not thread safe.
49
+ * Synchronous @c send, @c send_to, @c receive, @c receive_from, @c connect,
50
+ * and @c shutdown operations are thread safe with respect to each other, if
51
+ * the underlying operating system calls are also thread safe. This means that
52
+ * it is permitted to perform concurrent calls to these synchronous operations
53
+ * on a single socket object. Other synchronous operations, such as @c open or
54
+ * @c close, are not thread safe.
55
55
  */
56
56
  template <typename Protocol, typename Executor>
57
57
  class basic_datagram_socket
58
58
  : public basic_socket<Protocol, Executor>
59
59
  {
60
+ private:
61
+ class initiate_async_send;
62
+ class initiate_async_send_to;
63
+ class initiate_async_receive;
64
+ class initiate_async_receive_from;
65
+
60
66
  public:
61
67
  /// The type of the executor associated with the object.
62
68
  typedef Executor executor_type;
@@ -423,25 +429,31 @@ public:
423
429
  /// Start an asynchronous send on a connected socket.
424
430
  /**
425
431
  * This function is used to asynchronously send data on the datagram socket.
426
- * The function call always returns immediately.
432
+ * It is an initiating function for an @ref asynchronous_operation, and always
433
+ * returns immediately.
427
434
  *
428
435
  * @param buffers One or more data buffers to be sent on the socket. Although
429
436
  * the buffers object may be copied as necessary, ownership of the underlying
430
437
  * memory blocks is retained by the caller, which must guarantee that they
431
- * remain valid until the handler is called.
438
+ * remain valid until the completion handler is called.
432
439
  *
433
- * @param handler The handler to be called when the send operation completes.
434
- * Copies will be made of the handler as required. The function signature of
435
- * the handler must be:
440
+ * @param token The @ref completion_token that will be used to produce a
441
+ * completion handler, which will be called when the send completes. Potential
442
+ * completion tokens include @ref use_future, @ref use_awaitable, @ref
443
+ * yield_context, or a function object with the correct completion signature.
444
+ * The function signature of the completion handler must be:
436
445
  * @code void handler(
437
446
  * const asio::error_code& error, // Result of operation.
438
- * std::size_t bytes_transferred // Number of bytes sent.
447
+ * std::size_t bytes_transferred // Number of bytes sent.
439
448
  * ); @endcode
440
449
  * Regardless of whether the asynchronous operation completes immediately or
441
- * not, the handler will not be invoked from within this function. On
442
- * immediate completion, invocation of the handler will be performed in a
450
+ * not, the completion handler will not be invoked from within this function.
451
+ * On immediate completion, invocation of the handler will be performed in a
443
452
  * manner equivalent to using asio::post().
444
453
  *
454
+ * @par Completion Signature
455
+ * @code void(asio::error_code, std::size_t) @endcode
456
+ *
445
457
  * @note The async_send operation can only be used with a connected socket.
446
458
  * Use the async_send_to function to send data on an unconnected datagram
447
459
  * socket.
@@ -467,44 +479,55 @@ public:
467
479
  */
468
480
  template <typename ConstBufferSequence,
469
481
  ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
470
- std::size_t)) WriteHandler
482
+ std::size_t)) WriteToken
471
483
  ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(executor_type)>
472
- ASIO_INITFN_AUTO_RESULT_TYPE(WriteHandler,
484
+ ASIO_INITFN_AUTO_RESULT_TYPE_PREFIX(WriteToken,
473
485
  void (asio::error_code, std::size_t))
474
486
  async_send(const ConstBufferSequence& buffers,
475
- ASIO_MOVE_ARG(WriteHandler) handler
487
+ ASIO_MOVE_ARG(WriteToken) token
476
488
  ASIO_DEFAULT_COMPLETION_TOKEN(executor_type))
489
+ ASIO_INITFN_AUTO_RESULT_TYPE_SUFFIX((
490
+ async_initiate<WriteToken,
491
+ void (asio::error_code, std::size_t)>(
492
+ declval<initiate_async_send>(), token,
493
+ buffers, socket_base::message_flags(0))))
477
494
  {
478
- return async_initiate<WriteHandler,
495
+ return async_initiate<WriteToken,
479
496
  void (asio::error_code, std::size_t)>(
480
- initiate_async_send(this), handler,
497
+ initiate_async_send(this), token,
481
498
  buffers, socket_base::message_flags(0));
482
499
  }
483
500
 
484
501
  /// Start an asynchronous send on a connected socket.
485
502
  /**
486
503
  * This function is used to asynchronously send data on the datagram socket.
487
- * The function call always returns immediately.
504
+ * It is an initiating function for an @ref asynchronous_operation, and always
505
+ * returns immediately.
488
506
  *
489
507
  * @param buffers One or more data buffers to be sent on the socket. Although
490
508
  * the buffers object may be copied as necessary, ownership of the underlying
491
509
  * memory blocks is retained by the caller, which must guarantee that they
492
- * remain valid until the handler is called.
510
+ * remain valid until the completion handler is called.
493
511
  *
494
512
  * @param flags Flags specifying how the send call is to be made.
495
513
  *
496
- * @param handler The handler to be called when the send operation completes.
497
- * Copies will be made of the handler as required. The function signature of
498
- * the handler must be:
514
+ * @param token The @ref completion_token that will be used to produce a
515
+ * completion handler, which will be called when the send completes. Potential
516
+ * completion tokens include @ref use_future, @ref use_awaitable, @ref
517
+ * yield_context, or a function object with the correct completion signature.
518
+ * The function signature of the completion handler must be:
499
519
  * @code void handler(
500
520
  * const asio::error_code& error, // Result of operation.
501
- * std::size_t bytes_transferred // Number of bytes sent.
521
+ * std::size_t bytes_transferred // Number of bytes sent.
502
522
  * ); @endcode
503
523
  * Regardless of whether the asynchronous operation completes immediately or
504
- * not, the handler will not be invoked from within this function. On
505
- * immediate completion, invocation of the handler will be performed in a
524
+ * not, the completion handler will not be invoked from within this function.
525
+ * On immediate completion, invocation of the handler will be performed in a
506
526
  * manner equivalent to using asio::post().
507
527
  *
528
+ * @par Completion Signature
529
+ * @code void(asio::error_code, std::size_t) @endcode
530
+ *
508
531
  * @note The async_send operation can only be used with a connected socket.
509
532
  * Use the async_send_to function to send data on an unconnected datagram
510
533
  * socket.
@@ -521,18 +544,22 @@ public:
521
544
  */
522
545
  template <typename ConstBufferSequence,
523
546
  ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
524
- std::size_t)) WriteHandler
547
+ std::size_t)) WriteToken
525
548
  ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(executor_type)>
526
- ASIO_INITFN_AUTO_RESULT_TYPE(WriteHandler,
549
+ ASIO_INITFN_AUTO_RESULT_TYPE_PREFIX(WriteToken,
527
550
  void (asio::error_code, std::size_t))
528
551
  async_send(const ConstBufferSequence& buffers,
529
552
  socket_base::message_flags flags,
530
- ASIO_MOVE_ARG(WriteHandler) handler
553
+ ASIO_MOVE_ARG(WriteToken) token
531
554
  ASIO_DEFAULT_COMPLETION_TOKEN(executor_type))
555
+ ASIO_INITFN_AUTO_RESULT_TYPE_SUFFIX((
556
+ async_initiate<WriteToken,
557
+ void (asio::error_code, std::size_t)>(
558
+ declval<initiate_async_send>(), token, buffers, flags)))
532
559
  {
533
- return async_initiate<WriteHandler,
560
+ return async_initiate<WriteToken,
534
561
  void (asio::error_code, std::size_t)>(
535
- initiate_async_send(this), handler, buffers, flags);
562
+ initiate_async_send(this), token, buffers, flags);
536
563
  }
537
564
 
538
565
  /// Send a datagram to the specified endpoint.
@@ -626,28 +653,34 @@ public:
626
653
  /// Start an asynchronous send.
627
654
  /**
628
655
  * This function is used to asynchronously send a datagram to the specified
629
- * remote endpoint. The function call always returns immediately.
656
+ * remote endpoint. It is an initiating function for an @ref
657
+ * asynchronous_operation, and always returns immediately.
630
658
  *
631
659
  * @param buffers One or more data buffers to be sent to the remote endpoint.
632
660
  * Although the buffers object may be copied as necessary, ownership of the
633
661
  * underlying memory blocks is retained by the caller, which must guarantee
634
- * that they remain valid until the handler is called.
662
+ * that they remain valid until the completion handler is called.
635
663
  *
636
664
  * @param destination The remote endpoint to which the data will be sent.
637
665
  * Copies will be made of the endpoint as required.
638
666
  *
639
- * @param handler The handler to be called when the send operation completes.
640
- * Copies will be made of the handler as required. The function signature of
641
- * the handler must be:
667
+ * @param token The @ref completion_token that will be used to produce a
668
+ * completion handler, which will be called when the send completes. Potential
669
+ * completion tokens include @ref use_future, @ref use_awaitable, @ref
670
+ * yield_context, or a function object with the correct completion signature.
671
+ * The function signature of the completion handler must be:
642
672
  * @code void handler(
643
673
  * const asio::error_code& error, // Result of operation.
644
- * std::size_t bytes_transferred // Number of bytes sent.
674
+ * std::size_t bytes_transferred // Number of bytes sent.
645
675
  * ); @endcode
646
676
  * Regardless of whether the asynchronous operation completes immediately or
647
- * not, the handler will not be invoked from within this function. On
648
- * immediate completion, invocation of the handler will be performed in a
677
+ * not, the completion handler will not be invoked from within this function.
678
+ * On immediate completion, invocation of the handler will be performed in a
649
679
  * manner equivalent to using asio::post().
650
680
  *
681
+ * @par Completion Signature
682
+ * @code void(asio::error_code, std::size_t) @endcode
683
+ *
651
684
  * @par Example
652
685
  * To send a single data buffer use the @ref buffer function as follows:
653
686
  * @code
@@ -672,48 +705,59 @@ public:
672
705
  */
673
706
  template <typename ConstBufferSequence,
674
707
  ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
675
- std::size_t)) WriteHandler
708
+ std::size_t)) WriteToken
676
709
  ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(executor_type)>
677
- ASIO_INITFN_AUTO_RESULT_TYPE(WriteHandler,
710
+ ASIO_INITFN_AUTO_RESULT_TYPE_PREFIX(WriteToken,
678
711
  void (asio::error_code, std::size_t))
679
712
  async_send_to(const ConstBufferSequence& buffers,
680
713
  const endpoint_type& destination,
681
- ASIO_MOVE_ARG(WriteHandler) handler
714
+ ASIO_MOVE_ARG(WriteToken) token
682
715
  ASIO_DEFAULT_COMPLETION_TOKEN(executor_type))
716
+ ASIO_INITFN_AUTO_RESULT_TYPE_SUFFIX((
717
+ async_initiate<WriteToken,
718
+ void (asio::error_code, std::size_t)>(
719
+ declval<initiate_async_send_to>(), token, buffers,
720
+ destination, socket_base::message_flags(0))))
683
721
  {
684
- return async_initiate<WriteHandler,
722
+ return async_initiate<WriteToken,
685
723
  void (asio::error_code, std::size_t)>(
686
- initiate_async_send_to(this), handler, buffers,
724
+ initiate_async_send_to(this), token, buffers,
687
725
  destination, socket_base::message_flags(0));
688
726
  }
689
727
 
690
728
  /// Start an asynchronous send.
691
729
  /**
692
730
  * This function is used to asynchronously send a datagram to the specified
693
- * remote endpoint. The function call always returns immediately.
731
+ * remote endpoint. It is an initiating function for an @ref
732
+ * asynchronous_operation, and always returns immediately.
694
733
  *
695
734
  * @param buffers One or more data buffers to be sent to the remote endpoint.
696
735
  * Although the buffers object may be copied as necessary, ownership of the
697
736
  * underlying memory blocks is retained by the caller, which must guarantee
698
- * that they remain valid until the handler is called.
737
+ * that they remain valid until the completion handler is called.
699
738
  *
700
739
  * @param flags Flags specifying how the send call is to be made.
701
740
  *
702
741
  * @param destination The remote endpoint to which the data will be sent.
703
742
  * Copies will be made of the endpoint as required.
704
743
  *
705
- * @param handler The handler to be called when the send operation completes.
706
- * Copies will be made of the handler as required. The function signature of
707
- * the handler must be:
744
+ * @param token The @ref completion_token that will be used to produce a
745
+ * completion handler, which will be called when the send completes. Potential
746
+ * completion tokens include @ref use_future, @ref use_awaitable, @ref
747
+ * yield_context, or a function object with the correct completion signature.
748
+ * The function signature of the completion handler must be:
708
749
  * @code void handler(
709
750
  * const asio::error_code& error, // Result of operation.
710
- * std::size_t bytes_transferred // Number of bytes sent.
751
+ * std::size_t bytes_transferred // Number of bytes sent.
711
752
  * ); @endcode
712
753
  * Regardless of whether the asynchronous operation completes immediately or
713
- * not, the handler will not be invoked from within this function. On
714
- * immediate completion, invocation of the handler will be performed in a
754
+ * not, the completion handler will not be invoked from within this function.
755
+ * On immediate completion, invocation of the handler will be performed in a
715
756
  * manner equivalent to using asio::post().
716
757
  *
758
+ * @par Completion Signature
759
+ * @code void(asio::error_code, std::size_t) @endcode
760
+ *
717
761
  * @par Per-Operation Cancellation
718
762
  * On POSIX or Windows operating systems, this asynchronous operation supports
719
763
  * cancellation for the following asio::cancellation_type values:
@@ -726,18 +770,24 @@ public:
726
770
  */
727
771
  template <typename ConstBufferSequence,
728
772
  ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
729
- std::size_t)) WriteHandler
773
+ std::size_t)) WriteToken
730
774
  ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(executor_type)>
731
- ASIO_INITFN_AUTO_RESULT_TYPE(WriteHandler,
775
+ ASIO_INITFN_AUTO_RESULT_TYPE_PREFIX(WriteToken,
732
776
  void (asio::error_code, std::size_t))
733
777
  async_send_to(const ConstBufferSequence& buffers,
734
778
  const endpoint_type& destination, socket_base::message_flags flags,
735
- ASIO_MOVE_ARG(WriteHandler) handler
779
+ ASIO_MOVE_ARG(WriteToken) token
736
780
  ASIO_DEFAULT_COMPLETION_TOKEN(executor_type))
781
+ ASIO_INITFN_AUTO_RESULT_TYPE_SUFFIX((
782
+ async_initiate<WriteToken,
783
+ void (asio::error_code, std::size_t)>(
784
+ declval<initiate_async_send_to>(), token,
785
+ buffers, destination, flags)))
737
786
  {
738
- return async_initiate<WriteHandler,
787
+ return async_initiate<WriteToken,
739
788
  void (asio::error_code, std::size_t)>(
740
- initiate_async_send_to(this), handler, buffers, destination, flags);
789
+ initiate_async_send_to(this), token,
790
+ buffers, destination, flags);
741
791
  }
742
792
 
743
793
  /// Receive some data on a connected socket.
@@ -832,25 +882,31 @@ public:
832
882
  /// Start an asynchronous receive on a connected socket.
833
883
  /**
834
884
  * This function is used to asynchronously receive data from the datagram
835
- * socket. The function call always returns immediately.
885
+ * socket. It is an initiating function for an @ref asynchronous_operation,
886
+ * and always returns immediately.
836
887
  *
837
888
  * @param buffers One or more buffers into which the data will be received.
838
889
  * Although the buffers object may be copied as necessary, ownership of the
839
890
  * underlying memory blocks is retained by the caller, which must guarantee
840
- * that they remain valid until the handler is called.
891
+ * that they remain valid until the completion handler is called.
841
892
  *
842
- * @param handler The handler to be called when the receive operation
843
- * completes. Copies will be made of the handler as required. The function
844
- * signature of the handler must be:
893
+ * @param token The @ref completion_token that will be used to produce a
894
+ * completion handler, which will be called when the receive completes.
895
+ * Potential completion tokens include @ref use_future, @ref use_awaitable,
896
+ * @ref yield_context, or a function object with the correct completion
897
+ * signature. The function signature of the completion handler must be:
845
898
  * @code void handler(
846
899
  * const asio::error_code& error, // Result of operation.
847
- * std::size_t bytes_transferred // Number of bytes received.
900
+ * std::size_t bytes_transferred // Number of bytes received.
848
901
  * ); @endcode
849
902
  * Regardless of whether the asynchronous operation completes immediately or
850
- * not, the handler will not be invoked from within this function. On
851
- * immediate completion, invocation of the handler will be performed in a
903
+ * not, the completion handler will not be invoked from within this function.
904
+ * On immediate completion, invocation of the handler will be performed in a
852
905
  * manner equivalent to using asio::post().
853
906
  *
907
+ * @par Completion Signature
908
+ * @code void(asio::error_code, std::size_t) @endcode
909
+ *
854
910
  * @note The async_receive operation can only be used with a connected socket.
855
911
  * Use the async_receive_from function to receive data on an unconnected
856
912
  * datagram socket.
@@ -877,44 +933,55 @@ public:
877
933
  */
878
934
  template <typename MutableBufferSequence,
879
935
  ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
880
- std::size_t)) ReadHandler
936
+ std::size_t)) ReadToken
881
937
  ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(executor_type)>
882
- ASIO_INITFN_AUTO_RESULT_TYPE(ReadHandler,
938
+ ASIO_INITFN_AUTO_RESULT_TYPE_PREFIX(ReadToken,
883
939
  void (asio::error_code, std::size_t))
884
940
  async_receive(const MutableBufferSequence& buffers,
885
- ASIO_MOVE_ARG(ReadHandler) handler
941
+ ASIO_MOVE_ARG(ReadToken) token
886
942
  ASIO_DEFAULT_COMPLETION_TOKEN(executor_type))
943
+ ASIO_INITFN_AUTO_RESULT_TYPE_SUFFIX((
944
+ async_initiate<ReadToken,
945
+ void (asio::error_code, std::size_t)>(
946
+ declval<initiate_async_receive>(), token,
947
+ buffers, socket_base::message_flags(0))))
887
948
  {
888
- return async_initiate<ReadHandler,
949
+ return async_initiate<ReadToken,
889
950
  void (asio::error_code, std::size_t)>(
890
- initiate_async_receive(this), handler,
951
+ initiate_async_receive(this), token,
891
952
  buffers, socket_base::message_flags(0));
892
953
  }
893
954
 
894
955
  /// Start an asynchronous receive on a connected socket.
895
956
  /**
896
957
  * This function is used to asynchronously receive data from the datagram
897
- * socket. The function call always returns immediately.
958
+ * socket. It is an initiating function for an @ref asynchronous_operation,
959
+ * and always returns immediately.
898
960
  *
899
961
  * @param buffers One or more buffers into which the data will be received.
900
962
  * Although the buffers object may be copied as necessary, ownership of the
901
963
  * underlying memory blocks is retained by the caller, which must guarantee
902
- * that they remain valid until the handler is called.
964
+ * that they remain valid until the completion handler is called.
903
965
  *
904
966
  * @param flags Flags specifying how the receive call is to be made.
905
967
  *
906
- * @param handler The handler to be called when the receive operation
907
- * completes. Copies will be made of the handler as required. The function
908
- * signature of the handler must be:
968
+ * @param token The @ref completion_token that will be used to produce a
969
+ * completion handler, which will be called when the receive completes.
970
+ * Potential completion tokens include @ref use_future, @ref use_awaitable,
971
+ * @ref yield_context, or a function object with the correct completion
972
+ * signature. The function signature of the completion handler must be:
909
973
  * @code void handler(
910
974
  * const asio::error_code& error, // Result of operation.
911
- * std::size_t bytes_transferred // Number of bytes received.
975
+ * std::size_t bytes_transferred // Number of bytes received.
912
976
  * ); @endcode
913
977
  * Regardless of whether the asynchronous operation completes immediately or
914
- * not, the handler will not be invoked from within this function. On
915
- * immediate completion, invocation of the handler will be performed in a
978
+ * not, the completion handler will not be invoked from within this function.
979
+ * On immediate completion, invocation of the handler will be performed in a
916
980
  * manner equivalent to using asio::post().
917
981
  *
982
+ * @par Completion Signature
983
+ * @code void(asio::error_code, std::size_t) @endcode
984
+ *
918
985
  * @note The async_receive operation can only be used with a connected socket.
919
986
  * Use the async_receive_from function to receive data on an unconnected
920
987
  * datagram socket.
@@ -931,18 +998,22 @@ public:
931
998
  */
932
999
  template <typename MutableBufferSequence,
933
1000
  ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
934
- std::size_t)) ReadHandler
1001
+ std::size_t)) ReadToken
935
1002
  ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(executor_type)>
936
- ASIO_INITFN_AUTO_RESULT_TYPE(ReadHandler,
1003
+ ASIO_INITFN_AUTO_RESULT_TYPE_PREFIX(ReadToken,
937
1004
  void (asio::error_code, std::size_t))
938
1005
  async_receive(const MutableBufferSequence& buffers,
939
1006
  socket_base::message_flags flags,
940
- ASIO_MOVE_ARG(ReadHandler) handler
1007
+ ASIO_MOVE_ARG(ReadToken) token
941
1008
  ASIO_DEFAULT_COMPLETION_TOKEN(executor_type))
1009
+ ASIO_INITFN_AUTO_RESULT_TYPE_SUFFIX((
1010
+ async_initiate<ReadToken,
1011
+ void (asio::error_code, std::size_t)>(
1012
+ declval<initiate_async_receive>(), token, buffers, flags)))
942
1013
  {
943
- return async_initiate<ReadHandler,
1014
+ return async_initiate<ReadToken,
944
1015
  void (asio::error_code, std::size_t)>(
945
- initiate_async_receive(this), handler, buffers, flags);
1016
+ initiate_async_receive(this), token, buffers, flags);
946
1017
  }
947
1018
 
948
1019
  /// Receive a datagram with the endpoint of the sender.
@@ -1036,31 +1107,37 @@ public:
1036
1107
 
1037
1108
  /// Start an asynchronous receive.
1038
1109
  /**
1039
- * This function is used to asynchronously receive a datagram. The function
1040
- * call always returns immediately.
1110
+ * This function is used to asynchronously receive a datagram. It is an
1111
+ * initiating function for an @ref asynchronous_operation, and always returns
1112
+ * immediately.
1041
1113
  *
1042
1114
  * @param buffers One or more buffers into which the data will be received.
1043
1115
  * Although the buffers object may be copied as necessary, ownership of the
1044
1116
  * underlying memory blocks is retained by the caller, which must guarantee
1045
- * that they remain valid until the handler is called.
1117
+ * that they remain valid until the completion handler is called.
1046
1118
  *
1047
1119
  * @param sender_endpoint An endpoint object that receives the endpoint of
1048
1120
  * the remote sender of the datagram. Ownership of the sender_endpoint object
1049
1121
  * is retained by the caller, which must guarantee that it is valid until the
1050
- * handler is called.
1122
+ * completion handler is called.
1051
1123
  *
1052
- * @param handler The handler to be called when the receive operation
1053
- * completes. Copies will be made of the handler as required. The function
1054
- * signature of the handler must be:
1124
+ * @param token The @ref completion_token that will be used to produce a
1125
+ * completion handler, which will be called when the receive completes.
1126
+ * Potential completion tokens include @ref use_future, @ref use_awaitable,
1127
+ * @ref yield_context, or a function object with the correct completion
1128
+ * signature. The function signature of the completion handler must be:
1055
1129
  * @code void handler(
1056
1130
  * const asio::error_code& error, // Result of operation.
1057
- * std::size_t bytes_transferred // Number of bytes received.
1131
+ * std::size_t bytes_transferred // Number of bytes received.
1058
1132
  * ); @endcode
1059
1133
  * Regardless of whether the asynchronous operation completes immediately or
1060
- * not, the handler will not be invoked from within this function. On
1061
- * immediate completion, invocation of the handler will be performed in a
1134
+ * not, the completion handler will not be invoked from within this function.
1135
+ * On immediate completion, invocation of the handler will be performed in a
1062
1136
  * manner equivalent to using asio::post().
1063
1137
  *
1138
+ * @par Completion Signature
1139
+ * @code void(asio::error_code, std::size_t) @endcode
1140
+ *
1064
1141
  * @par Example
1065
1142
  * To receive into a single data buffer use the @ref buffer function as
1066
1143
  * follows:
@@ -1082,50 +1159,61 @@ public:
1082
1159
  */
1083
1160
  template <typename MutableBufferSequence,
1084
1161
  ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
1085
- std::size_t)) ReadHandler
1162
+ std::size_t)) ReadToken
1086
1163
  ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(executor_type)>
1087
- ASIO_INITFN_AUTO_RESULT_TYPE(ReadHandler,
1164
+ ASIO_INITFN_AUTO_RESULT_TYPE_PREFIX(ReadToken,
1088
1165
  void (asio::error_code, std::size_t))
1089
1166
  async_receive_from(const MutableBufferSequence& buffers,
1090
1167
  endpoint_type& sender_endpoint,
1091
- ASIO_MOVE_ARG(ReadHandler) handler
1168
+ ASIO_MOVE_ARG(ReadToken) token
1092
1169
  ASIO_DEFAULT_COMPLETION_TOKEN(executor_type))
1170
+ ASIO_INITFN_AUTO_RESULT_TYPE_SUFFIX((
1171
+ async_initiate<ReadToken,
1172
+ void (asio::error_code, std::size_t)>(
1173
+ declval<initiate_async_receive_from>(), token, buffers,
1174
+ &sender_endpoint, socket_base::message_flags(0))))
1093
1175
  {
1094
- return async_initiate<ReadHandler,
1176
+ return async_initiate<ReadToken,
1095
1177
  void (asio::error_code, std::size_t)>(
1096
- initiate_async_receive_from(this), handler, buffers,
1178
+ initiate_async_receive_from(this), token, buffers,
1097
1179
  &sender_endpoint, socket_base::message_flags(0));
1098
1180
  }
1099
1181
 
1100
1182
  /// Start an asynchronous receive.
1101
1183
  /**
1102
- * This function is used to asynchronously receive a datagram. The function
1103
- * call always returns immediately.
1184
+ * This function is used to asynchronously receive a datagram. It is an
1185
+ * initiating function for an @ref asynchronous_operation, and always returns
1186
+ * immediately.
1104
1187
  *
1105
1188
  * @param buffers One or more buffers into which the data will be received.
1106
1189
  * Although the buffers object may be copied as necessary, ownership of the
1107
1190
  * underlying memory blocks is retained by the caller, which must guarantee
1108
- * that they remain valid until the handler is called.
1191
+ * that they remain valid until the completion handler is called.
1109
1192
  *
1110
1193
  * @param sender_endpoint An endpoint object that receives the endpoint of
1111
1194
  * the remote sender of the datagram. Ownership of the sender_endpoint object
1112
1195
  * is retained by the caller, which must guarantee that it is valid until the
1113
- * handler is called.
1196
+ * completion handler is called.
1114
1197
  *
1115
1198
  * @param flags Flags specifying how the receive call is to be made.
1116
1199
  *
1117
- * @param handler The handler to be called when the receive operation
1118
- * completes. Copies will be made of the handler as required. The function
1119
- * signature of the handler must be:
1200
+ * @param token The @ref completion_token that will be used to produce a
1201
+ * completion handler, which will be called when the receive completes.
1202
+ * Potential completion tokens include @ref use_future, @ref use_awaitable,
1203
+ * @ref yield_context, or a function object with the correct completion
1204
+ * signature. The function signature of the completion handler must be:
1120
1205
  * @code void handler(
1121
1206
  * const asio::error_code& error, // Result of operation.
1122
- * std::size_t bytes_transferred // Number of bytes received.
1207
+ * std::size_t bytes_transferred // Number of bytes received.
1123
1208
  * ); @endcode
1124
1209
  * Regardless of whether the asynchronous operation completes immediately or
1125
- * not, the handler will not be invoked from within this function. On
1126
- * immediate completion, invocation of the handler will be performed in a
1210
+ * not, the completion handler will not be invoked from within this function.
1211
+ * On immediate completion, invocation of the handler will be performed in a
1127
1212
  * manner equivalent to using asio::post().
1128
1213
  *
1214
+ * @par Completion Signature
1215
+ * @code void(asio::error_code, std::size_t) @endcode
1216
+ *
1129
1217
  * @par Per-Operation Cancellation
1130
1218
  * On POSIX or Windows operating systems, this asynchronous operation supports
1131
1219
  * cancellation for the following asio::cancellation_type values:
@@ -1138,18 +1226,23 @@ public:
1138
1226
  */
1139
1227
  template <typename MutableBufferSequence,
1140
1228
  ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
1141
- std::size_t)) ReadHandler
1229
+ std::size_t)) ReadToken
1142
1230
  ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(executor_type)>
1143
- ASIO_INITFN_AUTO_RESULT_TYPE(ReadHandler,
1231
+ ASIO_INITFN_AUTO_RESULT_TYPE_PREFIX(ReadToken,
1144
1232
  void (asio::error_code, std::size_t))
1145
1233
  async_receive_from(const MutableBufferSequence& buffers,
1146
1234
  endpoint_type& sender_endpoint, socket_base::message_flags flags,
1147
- ASIO_MOVE_ARG(ReadHandler) handler
1235
+ ASIO_MOVE_ARG(ReadToken) token
1148
1236
  ASIO_DEFAULT_COMPLETION_TOKEN(executor_type))
1237
+ ASIO_INITFN_AUTO_RESULT_TYPE_SUFFIX((
1238
+ async_initiate<ReadToken,
1239
+ void (asio::error_code, std::size_t)>(
1240
+ declval<initiate_async_receive_from>(), token,
1241
+ buffers, &sender_endpoint, flags)))
1149
1242
  {
1150
- return async_initiate<ReadHandler,
1243
+ return async_initiate<ReadToken,
1151
1244
  void (asio::error_code, std::size_t)>(
1152
- initiate_async_receive_from(this), handler,
1245
+ initiate_async_receive_from(this), token,
1153
1246
  buffers, &sender_endpoint, flags);
1154
1247
  }
1155
1248