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_raw_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_raw_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_raw_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;
@@ -414,26 +420,32 @@ public:
414
420
 
415
421
  /// Start an asynchronous send on a connected socket.
416
422
  /**
417
- * This function is used to send data on the raw socket. The function call
418
- * will block until the data has been sent successfully or an error occurs.
423
+ * This function is used to asynchronously send data on the raw socket. It is
424
+ * an initiating function for an @ref asynchronous_operation, and always
425
+ * returns immediately.
419
426
  *
420
427
  * @param buffers One or more data buffers to be sent on the socket. Although
421
428
  * the buffers object may be copied as necessary, ownership of the underlying
422
429
  * memory blocks is retained by the caller, which must guarantee that they
423
- * remain valid until the handler is called.
430
+ * remain valid until the completion handler is called.
424
431
  *
425
- * @param handler The handler to be called when the send operation completes.
426
- * Copies will be made of the handler as required. The function signature of
427
- * the handler must be:
432
+ * @param token The @ref completion_token that will be used to produce a
433
+ * completion handler, which will be called when the send completes.
434
+ * Potential completion tokens include @ref use_future, @ref use_awaitable,
435
+ * @ref yield_context, or a function object with the correct completion
436
+ * signature. The function signature of the completion handler must be:
428
437
  * @code void handler(
429
438
  * const asio::error_code& error, // Result of operation.
430
- * std::size_t bytes_transferred // Number of bytes sent.
439
+ * std::size_t bytes_transferred // Number of bytes sent.
431
440
  * ); @endcode
432
441
  * Regardless of whether the asynchronous operation completes immediately or
433
- * not, the handler will not be invoked from within this function. On
434
- * immediate completion, invocation of the handler will be performed in a
442
+ * not, the completion handler will not be invoked from within this function.
443
+ * On immediate completion, invocation of the handler will be performed in a
435
444
  * manner equivalent to using asio::post().
436
445
  *
446
+ * @par Completion Signature
447
+ * @code void(asio::error_code, std::size_t) @endcode
448
+ *
437
449
  * @note The async_send operation can only be used with a connected socket.
438
450
  * Use the async_send_to function to send data on an unconnected raw
439
451
  * socket.
@@ -459,44 +471,55 @@ public:
459
471
  */
460
472
  template <typename ConstBufferSequence,
461
473
  ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
462
- std::size_t)) WriteHandler
474
+ std::size_t)) WriteToken
463
475
  ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(executor_type)>
464
- ASIO_INITFN_AUTO_RESULT_TYPE(WriteHandler,
476
+ ASIO_INITFN_AUTO_RESULT_TYPE_PREFIX(WriteToken,
465
477
  void (asio::error_code, std::size_t))
466
478
  async_send(const ConstBufferSequence& buffers,
467
- ASIO_MOVE_ARG(WriteHandler) handler
479
+ ASIO_MOVE_ARG(WriteToken) token
468
480
  ASIO_DEFAULT_COMPLETION_TOKEN(executor_type))
481
+ ASIO_INITFN_AUTO_RESULT_TYPE_SUFFIX((
482
+ async_initiate<WriteToken,
483
+ void (asio::error_code, std::size_t)>(
484
+ declval<initiate_async_send>(), token,
485
+ buffers, socket_base::message_flags(0))))
469
486
  {
470
- return async_initiate<WriteHandler,
487
+ return async_initiate<WriteToken,
471
488
  void (asio::error_code, std::size_t)>(
472
- initiate_async_send(this), handler,
489
+ initiate_async_send(this), token,
473
490
  buffers, socket_base::message_flags(0));
474
491
  }
475
492
 
476
493
  /// Start an asynchronous send on a connected socket.
477
494
  /**
478
- * This function is used to send data on the raw socket. The function call
479
- * will block until the data has been sent successfully or an error occurs.
495
+ * This function is used to asynchronously send data on the raw socket. It is
496
+ * an initiating function for an @ref asynchronous_operation, and always
497
+ * returns immediately.
480
498
  *
481
499
  * @param buffers One or more data buffers to be sent on the socket. Although
482
500
  * the buffers object may be copied as necessary, ownership of the underlying
483
501
  * memory blocks is retained by the caller, which must guarantee that they
484
- * remain valid until the handler is called.
502
+ * remain valid until the completion handler is called.
485
503
  *
486
504
  * @param flags Flags specifying how the send call is to be made.
487
505
  *
488
- * @param handler The handler to be called when the send operation completes.
489
- * Copies will be made of the handler as required. The function signature of
490
- * the handler must be:
506
+ * @param token The @ref completion_token that will be used to produce a
507
+ * completion handler, which will be called when the send completes.
508
+ * Potential completion tokens include @ref use_future, @ref use_awaitable,
509
+ * @ref yield_context, or a function object with the correct completion
510
+ * signature. The function signature of the completion handler must be:
491
511
  * @code void handler(
492
512
  * const asio::error_code& error, // Result of operation.
493
- * std::size_t bytes_transferred // Number of bytes sent.
513
+ * std::size_t bytes_transferred // Number of bytes sent.
494
514
  * ); @endcode
495
515
  * Regardless of whether the asynchronous operation completes immediately or
496
- * not, the handler will not be invoked from within this function. On
497
- * immediate completion, invocation of the handler will be performed in a
516
+ * not, the completion handler will not be invoked from within this function.
517
+ * On immediate completion, invocation of the handler will be performed in a
498
518
  * manner equivalent to using asio::post().
499
519
  *
520
+ * @par Completion Signature
521
+ * @code void(asio::error_code, std::size_t) @endcode
522
+ *
500
523
  * @note The async_send operation can only be used with a connected socket.
501
524
  * Use the async_send_to function to send data on an unconnected raw
502
525
  * socket.
@@ -513,18 +536,22 @@ public:
513
536
  */
514
537
  template <typename ConstBufferSequence,
515
538
  ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
516
- std::size_t)) WriteHandler
539
+ std::size_t)) WriteToken
517
540
  ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(executor_type)>
518
- ASIO_INITFN_AUTO_RESULT_TYPE(WriteHandler,
541
+ ASIO_INITFN_AUTO_RESULT_TYPE_PREFIX(WriteToken,
519
542
  void (asio::error_code, std::size_t))
520
543
  async_send(const ConstBufferSequence& buffers,
521
544
  socket_base::message_flags flags,
522
- ASIO_MOVE_ARG(WriteHandler) handler
545
+ ASIO_MOVE_ARG(WriteToken) token
523
546
  ASIO_DEFAULT_COMPLETION_TOKEN(executor_type))
547
+ ASIO_INITFN_AUTO_RESULT_TYPE_SUFFIX((
548
+ async_initiate<WriteToken,
549
+ void (asio::error_code, std::size_t)>(
550
+ declval<initiate_async_send>(), token, buffers, flags)))
524
551
  {
525
- return async_initiate<WriteHandler,
552
+ return async_initiate<WriteToken,
526
553
  void (asio::error_code, std::size_t)>(
527
- initiate_async_send(this), handler, buffers, flags);
554
+ initiate_async_send(this), token, buffers, flags);
528
555
  }
529
556
 
530
557
  /// Send raw data to the specified endpoint.
@@ -618,28 +645,34 @@ public:
618
645
  /// Start an asynchronous send.
619
646
  /**
620
647
  * This function is used to asynchronously send raw data to the specified
621
- * remote endpoint. The function call always returns immediately.
648
+ * remote endpoint. It is an initiating function for an @ref
649
+ * asynchronous_operation, and always returns immediately.
622
650
  *
623
651
  * @param buffers One or more data buffers to be sent to the remote endpoint.
624
652
  * Although the buffers object may be copied as necessary, ownership of the
625
653
  * underlying memory blocks is retained by the caller, which must guarantee
626
- * that they remain valid until the handler is called.
654
+ * that they remain valid until the completion handler is called.
627
655
  *
628
656
  * @param destination The remote endpoint to which the data will be sent.
629
657
  * Copies will be made of the endpoint as required.
630
658
  *
631
- * @param handler The handler to be called when the send operation completes.
632
- * Copies will be made of the handler as required. The function signature of
633
- * the handler must be:
659
+ * @param token The @ref completion_token that will be used to produce a
660
+ * completion handler, which will be called when the send completes.
661
+ * Potential completion tokens include @ref use_future, @ref use_awaitable,
662
+ * @ref yield_context, or a function object with the correct completion
663
+ * signature. The function signature of the completion handler must be:
634
664
  * @code void handler(
635
665
  * const asio::error_code& error, // Result of operation.
636
- * std::size_t bytes_transferred // Number of bytes sent.
666
+ * std::size_t bytes_transferred // Number of bytes sent.
637
667
  * ); @endcode
638
668
  * Regardless of whether the asynchronous operation completes immediately or
639
- * not, the handler will not be invoked from within this function. On
640
- * immediate completion, invocation of the handler will be performed in a
669
+ * not, the completion handler will not be invoked from within this function.
670
+ * On immediate completion, invocation of the handler will be performed in a
641
671
  * manner equivalent to using asio::post().
642
672
  *
673
+ * @par Completion Signature
674
+ * @code void(asio::error_code, std::size_t) @endcode
675
+ *
643
676
  * @par Example
644
677
  * To send a single data buffer use the @ref buffer function as follows:
645
678
  * @code
@@ -664,48 +697,59 @@ public:
664
697
  */
665
698
  template <typename ConstBufferSequence,
666
699
  ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
667
- std::size_t)) WriteHandler
700
+ std::size_t)) WriteToken
668
701
  ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(executor_type)>
669
- ASIO_INITFN_AUTO_RESULT_TYPE(WriteHandler,
702
+ ASIO_INITFN_AUTO_RESULT_TYPE_PREFIX(WriteToken,
670
703
  void (asio::error_code, std::size_t))
671
704
  async_send_to(const ConstBufferSequence& buffers,
672
705
  const endpoint_type& destination,
673
- ASIO_MOVE_ARG(WriteHandler) handler
706
+ ASIO_MOVE_ARG(WriteToken) token
674
707
  ASIO_DEFAULT_COMPLETION_TOKEN(executor_type))
708
+ ASIO_INITFN_AUTO_RESULT_TYPE_SUFFIX((
709
+ async_initiate<WriteToken,
710
+ void (asio::error_code, std::size_t)>(
711
+ declval<initiate_async_send_to>(), token, buffers,
712
+ destination, socket_base::message_flags(0))))
675
713
  {
676
- return async_initiate<WriteHandler,
714
+ return async_initiate<WriteToken,
677
715
  void (asio::error_code, std::size_t)>(
678
- initiate_async_send_to(this), handler, buffers,
716
+ initiate_async_send_to(this), token, buffers,
679
717
  destination, socket_base::message_flags(0));
680
718
  }
681
719
 
682
720
  /// Start an asynchronous send.
683
721
  /**
684
722
  * This function is used to asynchronously send raw data to the specified
685
- * remote endpoint. The function call always returns immediately.
723
+ * remote endpoint. It is an initiating function for an @ref
724
+ * asynchronous_operation, and always returns immediately.
686
725
  *
687
726
  * @param buffers One or more data buffers to be sent to the remote endpoint.
688
727
  * Although the buffers object may be copied as necessary, ownership of the
689
728
  * underlying memory blocks is retained by the caller, which must guarantee
690
- * that they remain valid until the handler is called.
729
+ * that they remain valid until the completion handler is called.
691
730
  *
692
731
  * @param flags Flags specifying how the send call is to be made.
693
732
  *
694
733
  * @param destination The remote endpoint to which the data will be sent.
695
734
  * Copies will be made of the endpoint as required.
696
735
  *
697
- * @param handler The handler to be called when the send operation completes.
698
- * Copies will be made of the handler as required. The function signature of
699
- * the handler must be:
736
+ * @param token The @ref completion_token that will be used to produce a
737
+ * completion handler, which will be called when the send completes.
738
+ * Potential completion tokens include @ref use_future, @ref use_awaitable,
739
+ * @ref yield_context, or a function object with the correct completion
740
+ * signature. The function signature of the completion handler must be:
700
741
  * @code void handler(
701
742
  * const asio::error_code& error, // Result of operation.
702
- * std::size_t bytes_transferred // Number of bytes sent.
743
+ * std::size_t bytes_transferred // Number of bytes sent.
703
744
  * ); @endcode
704
745
  * Regardless of whether the asynchronous operation completes immediately or
705
- * not, the handler will not be invoked from within this function. On
706
- * immediate completion, invocation of the handler will be performed in a
746
+ * not, the completion handler will not be invoked from within this function.
747
+ * On immediate completion, invocation of the handler will be performed in a
707
748
  * manner equivalent to using asio::post().
708
749
  *
750
+ * @par Completion Signature
751
+ * @code void(asio::error_code, std::size_t) @endcode
752
+ *
709
753
  * @par Per-Operation Cancellation
710
754
  * On POSIX or Windows operating systems, this asynchronous operation supports
711
755
  * cancellation for the following asio::cancellation_type values:
@@ -718,18 +762,24 @@ public:
718
762
  */
719
763
  template <typename ConstBufferSequence,
720
764
  ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
721
- std::size_t)) WriteHandler
765
+ std::size_t)) WriteToken
722
766
  ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(executor_type)>
723
- ASIO_INITFN_AUTO_RESULT_TYPE(WriteHandler,
767
+ ASIO_INITFN_AUTO_RESULT_TYPE_PREFIX(WriteToken,
724
768
  void (asio::error_code, std::size_t))
725
769
  async_send_to(const ConstBufferSequence& buffers,
726
770
  const endpoint_type& destination, socket_base::message_flags flags,
727
- ASIO_MOVE_ARG(WriteHandler) handler
771
+ ASIO_MOVE_ARG(WriteToken) token
728
772
  ASIO_DEFAULT_COMPLETION_TOKEN(executor_type))
773
+ ASIO_INITFN_AUTO_RESULT_TYPE_SUFFIX((
774
+ async_initiate<WriteToken,
775
+ void (asio::error_code, std::size_t)>(
776
+ declval<initiate_async_send_to>(), token,
777
+ buffers, destination, flags)))
729
778
  {
730
- return async_initiate<WriteHandler,
779
+ return async_initiate<WriteToken,
731
780
  void (asio::error_code, std::size_t)>(
732
- initiate_async_send_to(this), handler, buffers, destination, flags);
781
+ initiate_async_send_to(this), token,
782
+ buffers, destination, flags);
733
783
  }
734
784
 
735
785
  /// Receive some data on a connected socket.
@@ -824,25 +874,31 @@ public:
824
874
  /// Start an asynchronous receive on a connected socket.
825
875
  /**
826
876
  * This function is used to asynchronously receive data from the raw
827
- * socket. The function call always returns immediately.
877
+ * socket. It is an initiating function for an @ref asynchronous_operation,
878
+ * and always returns immediately.
828
879
  *
829
880
  * @param buffers One or more buffers into which the data will be received.
830
881
  * Although the buffers object may be copied as necessary, ownership of the
831
882
  * underlying memory blocks is retained by the caller, which must guarantee
832
- * that they remain valid until the handler is called.
883
+ * that they remain valid until the completion handler is called.
833
884
  *
834
- * @param handler The handler to be called when the receive operation
835
- * completes. Copies will be made of the handler as required. The function
836
- * signature of the handler must be:
885
+ * @param token The @ref completion_token that will be used to produce a
886
+ * completion handler, which will be called when the receive completes.
887
+ * Potential completion tokens include @ref use_future, @ref use_awaitable,
888
+ * @ref yield_context, or a function object with the correct completion
889
+ * signature. The function signature of the completion handler must be:
837
890
  * @code void handler(
838
891
  * const asio::error_code& error, // Result of operation.
839
- * std::size_t bytes_transferred // Number of bytes received.
892
+ * std::size_t bytes_transferred // Number of bytes received.
840
893
  * ); @endcode
841
894
  * Regardless of whether the asynchronous operation completes immediately or
842
- * not, the handler will not be invoked from within this function. On
843
- * immediate completion, invocation of the handler will be performed in a
895
+ * not, the completion handler will not be invoked from within this function.
896
+ * On immediate completion, invocation of the handler will be performed in a
844
897
  * manner equivalent to using asio::post().
845
898
  *
899
+ * @par Completion Signature
900
+ * @code void(asio::error_code, std::size_t) @endcode
901
+ *
846
902
  * @note The async_receive operation can only be used with a connected socket.
847
903
  * Use the async_receive_from function to receive data on an unconnected
848
904
  * raw socket.
@@ -869,44 +925,55 @@ public:
869
925
  */
870
926
  template <typename MutableBufferSequence,
871
927
  ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
872
- std::size_t)) ReadHandler
928
+ std::size_t)) ReadToken
873
929
  ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(executor_type)>
874
- ASIO_INITFN_AUTO_RESULT_TYPE(ReadHandler,
930
+ ASIO_INITFN_AUTO_RESULT_TYPE_PREFIX(ReadToken,
875
931
  void (asio::error_code, std::size_t))
876
932
  async_receive(const MutableBufferSequence& buffers,
877
- ASIO_MOVE_ARG(ReadHandler) handler
933
+ ASIO_MOVE_ARG(ReadToken) token
878
934
  ASIO_DEFAULT_COMPLETION_TOKEN(executor_type))
935
+ ASIO_INITFN_AUTO_RESULT_TYPE_SUFFIX((
936
+ async_initiate<ReadToken,
937
+ void (asio::error_code, std::size_t)>(
938
+ declval<initiate_async_receive>(), token,
939
+ buffers, socket_base::message_flags(0))))
879
940
  {
880
- return async_initiate<ReadHandler,
941
+ return async_initiate<ReadToken,
881
942
  void (asio::error_code, std::size_t)>(
882
- initiate_async_receive(this), handler,
943
+ initiate_async_receive(this), token,
883
944
  buffers, socket_base::message_flags(0));
884
945
  }
885
946
 
886
947
  /// Start an asynchronous receive on a connected socket.
887
948
  /**
888
949
  * This function is used to asynchronously receive data from the raw
889
- * socket. The function call always returns immediately.
950
+ * socket. It is an initiating function for an @ref asynchronous_operation,
951
+ * and always returns immediately.
890
952
  *
891
953
  * @param buffers One or more buffers into which the data will be received.
892
954
  * Although the buffers object may be copied as necessary, ownership of the
893
955
  * underlying memory blocks is retained by the caller, which must guarantee
894
- * that they remain valid until the handler is called.
956
+ * that they remain valid until the completion handler is called.
895
957
  *
896
958
  * @param flags Flags specifying how the receive call is to be made.
897
959
  *
898
- * @param handler The handler to be called when the receive operation
899
- * completes. Copies will be made of the handler as required. The function
900
- * signature of the handler must be:
960
+ * @param token The @ref completion_token that will be used to produce a
961
+ * completion handler, which will be called when the receive completes.
962
+ * Potential completion tokens include @ref use_future, @ref use_awaitable,
963
+ * @ref yield_context, or a function object with the correct completion
964
+ * signature. The function signature of the completion handler must be:
901
965
  * @code void handler(
902
966
  * const asio::error_code& error, // Result of operation.
903
- * std::size_t bytes_transferred // Number of bytes received.
967
+ * std::size_t bytes_transferred // Number of bytes received.
904
968
  * ); @endcode
905
969
  * Regardless of whether the asynchronous operation completes immediately or
906
- * not, the handler will not be invoked from within this function. On
907
- * immediate completion, invocation of the handler will be performed in a
970
+ * not, the completion handler will not be invoked from within this function.
971
+ * On immediate completion, invocation of the handler will be performed in a
908
972
  * manner equivalent to using asio::post().
909
973
  *
974
+ * @par Completion Signature
975
+ * @code void(asio::error_code, std::size_t) @endcode
976
+ *
910
977
  * @note The async_receive operation can only be used with a connected socket.
911
978
  * Use the async_receive_from function to receive data on an unconnected
912
979
  * raw socket.
@@ -923,18 +990,22 @@ public:
923
990
  */
924
991
  template <typename MutableBufferSequence,
925
992
  ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
926
- std::size_t)) ReadHandler
993
+ std::size_t)) ReadToken
927
994
  ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(executor_type)>
928
- ASIO_INITFN_AUTO_RESULT_TYPE(ReadHandler,
995
+ ASIO_INITFN_AUTO_RESULT_TYPE_PREFIX(ReadToken,
929
996
  void (asio::error_code, std::size_t))
930
997
  async_receive(const MutableBufferSequence& buffers,
931
998
  socket_base::message_flags flags,
932
- ASIO_MOVE_ARG(ReadHandler) handler
999
+ ASIO_MOVE_ARG(ReadToken) token
933
1000
  ASIO_DEFAULT_COMPLETION_TOKEN(executor_type))
1001
+ ASIO_INITFN_AUTO_RESULT_TYPE_SUFFIX((
1002
+ async_initiate<ReadToken,
1003
+ void (asio::error_code, std::size_t)>(
1004
+ declval<initiate_async_receive>(), token, buffers, flags)))
934
1005
  {
935
- return async_initiate<ReadHandler,
1006
+ return async_initiate<ReadToken,
936
1007
  void (asio::error_code, std::size_t)>(
937
- initiate_async_receive(this), handler, buffers, flags);
1008
+ initiate_async_receive(this), token, buffers, flags);
938
1009
  }
939
1010
 
940
1011
  /// Receive raw data with the endpoint of the sender.
@@ -1028,31 +1099,37 @@ public:
1028
1099
 
1029
1100
  /// Start an asynchronous receive.
1030
1101
  /**
1031
- * This function is used to asynchronously receive raw data. The function
1032
- * call always returns immediately.
1102
+ * This function is used to asynchronously receive raw data. It is an
1103
+ * initiating function for an @ref asynchronous_operation, and always returns
1104
+ * immediately.
1033
1105
  *
1034
1106
  * @param buffers One or more buffers into which the data will be received.
1035
1107
  * Although the buffers object may be copied as necessary, ownership of the
1036
1108
  * underlying memory blocks is retained by the caller, which must guarantee
1037
- * that they remain valid until the handler is called.
1109
+ * that they remain valid until the completion handler is called.
1038
1110
  *
1039
1111
  * @param sender_endpoint An endpoint object that receives the endpoint of
1040
1112
  * the remote sender of the data. Ownership of the sender_endpoint object
1041
1113
  * is retained by the caller, which must guarantee that it is valid until the
1042
- * handler is called.
1114
+ * completion handler is called.
1043
1115
  *
1044
- * @param handler The handler to be called when the receive operation
1045
- * completes. Copies will be made of the handler as required. The function
1046
- * signature of the handler must be:
1116
+ * @param token The @ref completion_token that will be used to produce a
1117
+ * completion handler, which will be called when the receive completes.
1118
+ * Potential completion tokens include @ref use_future, @ref use_awaitable,
1119
+ * @ref yield_context, or a function object with the correct completion
1120
+ * signature. The function signature of the completion handler must be:
1047
1121
  * @code void handler(
1048
1122
  * const asio::error_code& error, // Result of operation.
1049
- * std::size_t bytes_transferred // Number of bytes received.
1123
+ * std::size_t bytes_transferred // Number of bytes received.
1050
1124
  * ); @endcode
1051
1125
  * Regardless of whether the asynchronous operation completes immediately or
1052
- * not, the handler will not be invoked from within this function. On
1053
- * immediate completion, invocation of the handler will be performed in a
1126
+ * not, the completion handler will not be invoked from within this function.
1127
+ * On immediate completion, invocation of the handler will be performed in a
1054
1128
  * manner equivalent to using asio::post().
1055
1129
  *
1130
+ * @par Completion Signature
1131
+ * @code void(asio::error_code, std::size_t) @endcode
1132
+ *
1056
1133
  * @par Example
1057
1134
  * To receive into a single data buffer use the @ref buffer function as
1058
1135
  * follows:
@@ -1074,50 +1151,61 @@ public:
1074
1151
  */
1075
1152
  template <typename MutableBufferSequence,
1076
1153
  ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
1077
- std::size_t)) ReadHandler
1154
+ std::size_t)) ReadToken
1078
1155
  ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(executor_type)>
1079
- ASIO_INITFN_AUTO_RESULT_TYPE(ReadHandler,
1156
+ ASIO_INITFN_AUTO_RESULT_TYPE_PREFIX(ReadToken,
1080
1157
  void (asio::error_code, std::size_t))
1081
1158
  async_receive_from(const MutableBufferSequence& buffers,
1082
1159
  endpoint_type& sender_endpoint,
1083
- ASIO_MOVE_ARG(ReadHandler) handler
1160
+ ASIO_MOVE_ARG(ReadToken) token
1084
1161
  ASIO_DEFAULT_COMPLETION_TOKEN(executor_type))
1162
+ ASIO_INITFN_AUTO_RESULT_TYPE_SUFFIX((
1163
+ async_initiate<ReadToken,
1164
+ void (asio::error_code, std::size_t)>(
1165
+ declval<initiate_async_receive_from>(), token, buffers,
1166
+ &sender_endpoint, socket_base::message_flags(0))))
1085
1167
  {
1086
- return async_initiate<ReadHandler,
1168
+ return async_initiate<ReadToken,
1087
1169
  void (asio::error_code, std::size_t)>(
1088
- initiate_async_receive_from(this), handler, buffers,
1170
+ initiate_async_receive_from(this), token, buffers,
1089
1171
  &sender_endpoint, socket_base::message_flags(0));
1090
1172
  }
1091
1173
 
1092
1174
  /// Start an asynchronous receive.
1093
1175
  /**
1094
- * This function is used to asynchronously receive raw data. The function
1095
- * call always returns immediately.
1176
+ * This function is used to asynchronously receive raw data. It is an
1177
+ * initiating function for an @ref asynchronous_operation, and always returns
1178
+ * immediately.
1096
1179
  *
1097
1180
  * @param buffers One or more buffers into which the data will be received.
1098
1181
  * Although the buffers object may be copied as necessary, ownership of the
1099
1182
  * underlying memory blocks is retained by the caller, which must guarantee
1100
- * that they remain valid until the handler is called.
1183
+ * that they remain valid until the completion handler is called.
1101
1184
  *
1102
1185
  * @param sender_endpoint An endpoint object that receives the endpoint of
1103
1186
  * the remote sender of the data. Ownership of the sender_endpoint object
1104
1187
  * is retained by the caller, which must guarantee that it is valid until the
1105
- * handler is called.
1188
+ * completion handler is called.
1106
1189
  *
1107
1190
  * @param flags Flags specifying how the receive call is to be made.
1108
1191
  *
1109
- * @param handler The handler to be called when the receive operation
1110
- * completes. Copies will be made of the handler as required. The function
1111
- * signature of the handler must be:
1192
+ * @param token The @ref completion_token that will be used to produce a
1193
+ * completion handler, which will be called when the receive completes.
1194
+ * Potential completion tokens include @ref use_future, @ref use_awaitable,
1195
+ * @ref yield_context, or a function object with the correct completion
1196
+ * signature. The function signature of the completion handler must be:
1112
1197
  * @code void handler(
1113
1198
  * const asio::error_code& error, // Result of operation.
1114
- * std::size_t bytes_transferred // Number of bytes received.
1199
+ * std::size_t bytes_transferred // Number of bytes received.
1115
1200
  * ); @endcode
1116
1201
  * Regardless of whether the asynchronous operation completes immediately or
1117
- * not, the handler will not be invoked from within this function. On
1118
- * immediate completion, invocation of the handler will be performed in a
1202
+ * not, the completion handler will not be invoked from within this function.
1203
+ * On immediate completion, invocation of the handler will be performed in a
1119
1204
  * manner equivalent to using asio::post().
1120
1205
  *
1206
+ * @par Completion Signature
1207
+ * @code void(asio::error_code, std::size_t) @endcode
1208
+ *
1121
1209
  * @par Per-Operation Cancellation
1122
1210
  * On POSIX or Windows operating systems, this asynchronous operation supports
1123
1211
  * cancellation for the following asio::cancellation_type values:
@@ -1130,18 +1218,23 @@ public:
1130
1218
  */
1131
1219
  template <typename MutableBufferSequence,
1132
1220
  ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
1133
- std::size_t)) ReadHandler
1221
+ std::size_t)) ReadToken
1134
1222
  ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(executor_type)>
1135
- ASIO_INITFN_AUTO_RESULT_TYPE(ReadHandler,
1223
+ ASIO_INITFN_AUTO_RESULT_TYPE_PREFIX(ReadToken,
1136
1224
  void (asio::error_code, std::size_t))
1137
1225
  async_receive_from(const MutableBufferSequence& buffers,
1138
1226
  endpoint_type& sender_endpoint, socket_base::message_flags flags,
1139
- ASIO_MOVE_ARG(ReadHandler) handler
1227
+ ASIO_MOVE_ARG(ReadToken) token
1140
1228
  ASIO_DEFAULT_COMPLETION_TOKEN(executor_type))
1229
+ ASIO_INITFN_AUTO_RESULT_TYPE_SUFFIX((
1230
+ async_initiate<ReadToken,
1231
+ void (asio::error_code, std::size_t)>(
1232
+ declval<initiate_async_receive_from>(), token,
1233
+ buffers, &sender_endpoint, flags)))
1141
1234
  {
1142
- return async_initiate<ReadHandler,
1235
+ return async_initiate<ReadToken,
1143
1236
  void (asio::error_code, std::size_t)>(
1144
- initiate_async_receive_from(this), handler,
1237
+ initiate_async_receive_from(this), token,
1145
1238
  buffers, &sender_endpoint, flags);
1146
1239
  }
1147
1240