couchbase 4.2.0 → 4.2.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1937) hide show
  1. package/CMakeLists.txt +1 -0
  2. package/deps/couchbase-cxx-client/.github/workflows/tests.yml +10 -6
  3. package/deps/couchbase-cxx-client/.github/workflows/windows.yml +3 -0
  4. package/deps/couchbase-cxx-client/.gitmodules +3 -0
  5. package/deps/couchbase-cxx-client/.idea/misc.xml +2 -0
  6. package/deps/couchbase-cxx-client/.idea/vcs.xml +1 -0
  7. package/deps/couchbase-cxx-client/CMakeLists.txt +351 -292
  8. package/deps/couchbase-cxx-client/README.md +3 -3
  9. package/deps/couchbase-cxx-client/bin/build-tests +7 -6
  10. package/deps/couchbase-cxx-client/bin/build-tests.rb +1 -0
  11. package/deps/couchbase-cxx-client/bin/{run-transactions-tests → run-transaction-tests} +2 -1
  12. package/deps/couchbase-cxx-client/bin/run-unit-tests +47 -1
  13. package/deps/couchbase-cxx-client/cmake/CompilerWarnings.cmake +4 -1
  14. package/deps/couchbase-cxx-client/cmake/ThirdPartyDependencies.cmake +1 -0
  15. package/deps/couchbase-cxx-client/cmake/VersionInfo.cmake +13 -1
  16. package/deps/couchbase-cxx-client/cmake/build_version.hxx.in +3 -0
  17. package/deps/couchbase-cxx-client/core/CMakeLists.txt +0 -0
  18. package/deps/couchbase-cxx-client/core/agent.cxx +556 -0
  19. package/deps/couchbase-cxx-client/core/agent.hxx +165 -0
  20. package/deps/couchbase-cxx-client/core/agent_config.cxx +36 -0
  21. package/deps/couchbase-cxx-client/core/agent_config.hxx +44 -0
  22. package/deps/couchbase-cxx-client/core/agent_group.cxx +219 -0
  23. package/deps/couchbase-cxx-client/core/agent_group.hxx +79 -0
  24. package/deps/couchbase-cxx-client/core/agent_group_config.cxx +35 -0
  25. package/deps/couchbase-cxx-client/core/agent_group_config.hxx +45 -0
  26. package/deps/couchbase-cxx-client/core/agent_unit_test_api.hxx +37 -0
  27. package/deps/couchbase-cxx-client/core/analytics_query_options.cxx +72 -0
  28. package/deps/couchbase-cxx-client/core/analytics_query_options.hxx +74 -0
  29. package/deps/couchbase-cxx-client/core/bucket.cxx +891 -0
  30. package/deps/couchbase-cxx-client/core/bucket.hxx +85 -484
  31. package/deps/couchbase-cxx-client/core/cluster.cxx +69 -12
  32. package/deps/couchbase-cxx-client/core/cluster.hxx +67 -45
  33. package/deps/couchbase-cxx-client/core/cluster_agent.cxx +36 -0
  34. package/deps/couchbase-cxx-client/core/cluster_agent.hxx +34 -0
  35. package/deps/couchbase-cxx-client/core/cluster_agent_config.cxx +35 -0
  36. package/deps/couchbase-cxx-client/core/cluster_agent_config.hxx +43 -0
  37. package/deps/couchbase-cxx-client/core/cluster_options.hxx +9 -2
  38. package/deps/couchbase-cxx-client/core/cluster_state.hxx +25 -0
  39. package/deps/couchbase-cxx-client/core/collection_id_cache_entry.hxx +37 -0
  40. package/deps/couchbase-cxx-client/core/collections_component.cxx +439 -0
  41. package/deps/couchbase-cxx-client/core/collections_component.hxx +81 -0
  42. package/deps/couchbase-cxx-client/core/collections_component_unit_test_api.hxx +36 -0
  43. package/deps/couchbase-cxx-client/core/collections_options.hxx +87 -0
  44. package/deps/couchbase-cxx-client/core/core_sdk_shim.cxx +28 -0
  45. package/deps/couchbase-cxx-client/core/core_sdk_shim.hxx +30 -0
  46. package/deps/couchbase-cxx-client/core/crud_component.cxx +367 -0
  47. package/deps/couchbase-cxx-client/core/crud_component.hxx +60 -0
  48. package/deps/couchbase-cxx-client/core/crud_options.hxx +574 -0
  49. package/deps/couchbase-cxx-client/core/diagntostics_options.hxx +55 -0
  50. package/deps/couchbase-cxx-client/core/dispatcher.cxx +37 -0
  51. package/deps/couchbase-cxx-client/core/dispatcher.hxx +43 -0
  52. package/deps/couchbase-cxx-client/core/durability_options.hxx +110 -0
  53. package/deps/couchbase-cxx-client/core/error_context/analytics.hxx +1 -1
  54. package/deps/couchbase-cxx-client/core/error_context/http.hxx +1 -1
  55. package/deps/couchbase-cxx-client/core/error_context/key_value.hxx +2 -2
  56. package/deps/couchbase-cxx-client/core/error_context/query.hxx +1 -1
  57. package/deps/couchbase-cxx-client/core/error_context/search.hxx +1 -1
  58. package/deps/couchbase-cxx-client/core/error_context/view.hxx +1 -1
  59. package/deps/couchbase-cxx-client/core/free_form_http_request.cxx +81 -0
  60. package/deps/couchbase-cxx-client/core/free_form_http_request.hxx +90 -0
  61. package/deps/couchbase-cxx-client/core/impl/append.cxx +4 -1
  62. package/deps/couchbase-cxx-client/core/impl/best_effort_retry_strategy.cxx +109 -0
  63. package/deps/couchbase-cxx-client/core/impl/bootstrap_state_listener.hxx +1 -0
  64. package/deps/couchbase-cxx-client/core/impl/build_deferred_query_indexes.cxx +17 -6
  65. package/deps/couchbase-cxx-client/core/impl/cluster.cxx +21 -3
  66. package/deps/couchbase-cxx-client/core/impl/collection_query_index_manager.cxx +93 -0
  67. package/deps/couchbase-cxx-client/core/impl/configuration_profiles_registry.cxx +11 -0
  68. package/deps/couchbase-cxx-client/core/impl/create_query_index.cxx +119 -0
  69. package/deps/couchbase-cxx-client/core/impl/decrement.cxx +10 -1
  70. package/deps/couchbase-cxx-client/core/impl/dns_srv_tracker.cxx +13 -9
  71. package/deps/couchbase-cxx-client/core/impl/drop_query_index.cxx +108 -0
  72. package/deps/couchbase-cxx-client/core/impl/exists.cxx +1 -0
  73. package/deps/couchbase-cxx-client/core/impl/fail_fast_retry_strategy.cxx +41 -0
  74. package/deps/couchbase-cxx-client/core/impl/get.cxx +3 -1
  75. package/deps/couchbase-cxx-client/core/impl/get_all_query_indexes.cxx +76 -0
  76. package/deps/couchbase-cxx-client/core/impl/get_all_replicas.cxx +6 -0
  77. package/deps/couchbase-cxx-client/core/impl/get_and_lock.cxx +1 -0
  78. package/deps/couchbase-cxx-client/core/impl/get_and_touch.cxx +1 -0
  79. package/deps/couchbase-cxx-client/core/impl/get_replica.hxx +1 -1
  80. package/deps/couchbase-cxx-client/core/impl/increment.cxx +10 -1
  81. package/deps/couchbase-cxx-client/core/impl/insert.cxx +2 -1
  82. package/deps/couchbase-cxx-client/core/impl/key_value_error_category.cxx +6 -0
  83. package/deps/couchbase-cxx-client/core/impl/lookup_in.cxx +1 -0
  84. package/deps/couchbase-cxx-client/core/impl/mutate_in.cxx +2 -2
  85. package/deps/couchbase-cxx-client/core/impl/network_error_category.cxx +14 -0
  86. package/deps/couchbase-cxx-client/core/impl/observe_seqno.hxx +1 -1
  87. package/deps/couchbase-cxx-client/core/impl/prepend.cxx +4 -1
  88. package/deps/couchbase-cxx-client/core/impl/query.cxx +52 -11
  89. package/deps/couchbase-cxx-client/core/impl/remove.cxx +4 -1
  90. package/deps/couchbase-cxx-client/core/impl/replace.cxx +12 -3
  91. package/deps/couchbase-cxx-client/core/impl/retry_action.cxx +39 -0
  92. package/deps/couchbase-cxx-client/core/{io/retry_reason.hxx → impl/retry_reason.cxx} +28 -29
  93. package/deps/couchbase-cxx-client/core/impl/touch.cxx +1 -0
  94. package/deps/couchbase-cxx-client/core/impl/unlock.cxx +1 -0
  95. package/deps/couchbase-cxx-client/core/impl/upsert.cxx +11 -2
  96. package/deps/couchbase-cxx-client/core/impl/watch_query_indexes.cxx +168 -0
  97. package/deps/couchbase-cxx-client/core/io/dns_config.cxx +82 -3
  98. package/deps/couchbase-cxx-client/core/io/http_command.hxx +19 -15
  99. package/deps/couchbase-cxx-client/core/io/http_session.hxx +19 -18
  100. package/deps/couchbase-cxx-client/core/io/http_session_manager.hxx +8 -6
  101. package/deps/couchbase-cxx-client/core/io/mcbp_command.hxx +62 -51
  102. package/deps/couchbase-cxx-client/core/io/mcbp_context.hxx +1 -0
  103. package/deps/couchbase-cxx-client/core/io/mcbp_message.hxx +5 -0
  104. package/deps/couchbase-cxx-client/core/io/mcbp_parser.cxx +18 -18
  105. package/deps/couchbase-cxx-client/core/io/mcbp_parser.hxx +1 -1
  106. package/deps/couchbase-cxx-client/core/io/mcbp_session.cxx +1690 -0
  107. package/deps/couchbase-cxx-client/core/io/mcbp_session.hxx +82 -1325
  108. package/deps/couchbase-cxx-client/core/io/retry_context.hxx +59 -8
  109. package/deps/couchbase-cxx-client/core/io/retry_orchestrator.hxx +27 -42
  110. package/deps/couchbase-cxx-client/core/key_value_config.cxx +35 -0
  111. package/deps/couchbase-cxx-client/core/key_value_config.hxx +40 -0
  112. package/deps/couchbase-cxx-client/core/logger/configuration.hxx +3 -0
  113. package/deps/couchbase-cxx-client/core/logger/level.hxx +21 -0
  114. package/deps/couchbase-cxx-client/core/logger/logger.hxx +16 -18
  115. package/deps/couchbase-cxx-client/core/management/rbac_json.hxx +1 -1
  116. package/deps/couchbase-cxx-client/core/mcbp/barrier_frame.hxx +27 -0
  117. package/deps/couchbase-cxx-client/core/mcbp/big_endian.cxx +73 -0
  118. package/deps/couchbase-cxx-client/core/mcbp/big_endian.hxx +46 -0
  119. package/deps/couchbase-cxx-client/core/mcbp/buffer_writer.cxx +78 -0
  120. package/deps/couchbase-cxx-client/core/mcbp/buffer_writer.hxx +38 -0
  121. package/deps/couchbase-cxx-client/core/mcbp/codec.cxx +501 -0
  122. package/deps/couchbase-cxx-client/core/mcbp/codec.hxx +52 -0
  123. package/deps/couchbase-cxx-client/core/mcbp/command_code.cxx +77 -0
  124. package/deps/couchbase-cxx-client/core/mcbp/command_code.hxx +33 -0
  125. package/deps/couchbase-cxx-client/core/mcbp/completion_token.hxx +69 -0
  126. package/deps/couchbase-cxx-client/core/mcbp/datatype.hxx +40 -0
  127. package/deps/couchbase-cxx-client/core/mcbp/durability_level.hxx +35 -0
  128. package/deps/couchbase-cxx-client/core/mcbp/durability_level_frame.hxx +28 -0
  129. package/deps/couchbase-cxx-client/core/mcbp/durability_timeout_frame.hxx +29 -0
  130. package/deps/couchbase-cxx-client/core/mcbp/frame_type.hxx +41 -0
  131. package/deps/couchbase-cxx-client/core/mcbp/open_tracing_frame.hxx +29 -0
  132. package/deps/couchbase-cxx-client/core/mcbp/operation_consumer.cxx +47 -0
  133. package/deps/couchbase-cxx-client/core/mcbp/operation_consumer.hxx +42 -0
  134. package/deps/couchbase-cxx-client/core/mcbp/operation_queue.cxx +158 -0
  135. package/deps/couchbase-cxx-client/core/mcbp/operation_queue.hxx +57 -0
  136. package/deps/couchbase-cxx-client/core/mcbp/packet.cxx +92 -0
  137. package/deps/couchbase-cxx-client/core/mcbp/packet.hxx +71 -0
  138. package/deps/couchbase-cxx-client/core/mcbp/preserve_expiry_frame.hxx +26 -0
  139. package/deps/couchbase-cxx-client/core/mcbp/queue_callback.hxx +34 -0
  140. package/deps/couchbase-cxx-client/core/mcbp/queue_request.cxx +174 -0
  141. package/deps/couchbase-cxx-client/core/mcbp/queue_request.hxx +120 -0
  142. package/deps/couchbase-cxx-client/core/mcbp/queue_request_connection_info.hxx +29 -0
  143. package/deps/couchbase-cxx-client/core/mcbp/queue_response.hxx +37 -0
  144. package/deps/couchbase-cxx-client/core/mcbp/read_units_frame.hxx +28 -0
  145. package/deps/couchbase-cxx-client/core/mcbp/server_duration.cxx +40 -0
  146. package/deps/couchbase-cxx-client/core/mcbp/server_duration.hxx +32 -0
  147. package/deps/couchbase-cxx-client/core/mcbp/server_duration_frame.hxx +28 -0
  148. package/deps/couchbase-cxx-client/core/mcbp/stream_id_frame.hxx +28 -0
  149. package/deps/couchbase-cxx-client/core/mcbp/unsupported_frame.hxx +32 -0
  150. package/deps/couchbase-cxx-client/core/mcbp/user_impersonation_frame.hxx +30 -0
  151. package/deps/couchbase-cxx-client/core/mcbp/write_units_frame.hxx +29 -0
  152. package/deps/couchbase-cxx-client/core/meta/CMakeLists.txt +4 -2
  153. package/deps/couchbase-cxx-client/core/meta/features.hxx +31 -0
  154. package/deps/couchbase-cxx-client/core/meta/version.cxx +76 -5
  155. package/deps/couchbase-cxx-client/core/meta/version.hxx +12 -1
  156. package/deps/couchbase-cxx-client/core/metrics/CMakeLists.txt +4 -1
  157. package/deps/couchbase-cxx-client/core/metrics/logging_meter.cxx +47 -6
  158. package/deps/couchbase-cxx-client/core/metrics/logging_meter.hxx +10 -26
  159. package/deps/couchbase-cxx-client/core/n1ql_query_options.cxx +94 -0
  160. package/deps/couchbase-cxx-client/core/n1ql_query_options.hxx +78 -0
  161. package/deps/couchbase-cxx-client/core/operation_map.hxx +36 -0
  162. package/deps/couchbase-cxx-client/core/operations/document_analytics.cxx +5 -5
  163. package/deps/couchbase-cxx-client/core/operations/document_append.hxx +1 -1
  164. package/deps/couchbase-cxx-client/core/operations/document_decrement.hxx +1 -1
  165. package/deps/couchbase-cxx-client/core/operations/document_exists.hxx +1 -1
  166. package/deps/couchbase-cxx-client/core/operations/document_get.hxx +1 -1
  167. package/deps/couchbase-cxx-client/core/operations/document_get_and_lock.hxx +1 -1
  168. package/deps/couchbase-cxx-client/core/operations/document_get_and_touch.hxx +1 -1
  169. package/deps/couchbase-cxx-client/core/operations/document_get_projected.cxx +3 -2
  170. package/deps/couchbase-cxx-client/core/operations/document_get_projected.hxx +1 -1
  171. package/deps/couchbase-cxx-client/core/operations/document_increment.hxx +1 -1
  172. package/deps/couchbase-cxx-client/core/operations/document_insert.hxx +1 -1
  173. package/deps/couchbase-cxx-client/core/operations/document_lookup_in.hxx +1 -1
  174. package/deps/couchbase-cxx-client/core/operations/document_mutate_in.hxx +1 -1
  175. package/deps/couchbase-cxx-client/core/operations/document_prepend.hxx +1 -1
  176. package/deps/couchbase-cxx-client/core/operations/document_query.cxx +21 -20
  177. package/deps/couchbase-cxx-client/core/operations/document_query.hxx +1 -3
  178. package/deps/couchbase-cxx-client/core/operations/document_remove.hxx +1 -1
  179. package/deps/couchbase-cxx-client/core/operations/document_replace.hxx +1 -1
  180. package/deps/couchbase-cxx-client/core/operations/document_search.cxx +2 -2
  181. package/deps/couchbase-cxx-client/core/operations/document_touch.hxx +1 -1
  182. package/deps/couchbase-cxx-client/core/operations/document_unlock.hxx +1 -1
  183. package/deps/couchbase-cxx-client/core/operations/document_upsert.hxx +1 -1
  184. package/deps/couchbase-cxx-client/core/operations/management/CMakeLists.txt +1 -0
  185. package/deps/couchbase-cxx-client/core/operations/management/bucket_describe.cxx +32 -0
  186. package/deps/couchbase-cxx-client/core/operations/management/bucket_describe.hxx +3 -0
  187. package/deps/couchbase-cxx-client/core/operations/management/change_password.cxx +55 -0
  188. package/deps/couchbase-cxx-client/core/operations/management/change_password.hxx +50 -0
  189. package/deps/couchbase-cxx-client/core/operations/management/collections_manifest_get.hxx +1 -1
  190. package/deps/couchbase-cxx-client/core/operations/management/query_index_build.cxx +7 -8
  191. package/deps/couchbase-cxx-client/core/operations/management/query_index_build.hxx +3 -1
  192. package/deps/couchbase-cxx-client/core/operations/management/query_index_build_deferred.hxx +17 -8
  193. package/deps/couchbase-cxx-client/core/operations/management/query_index_create.cxx +7 -9
  194. package/deps/couchbase-cxx-client/core/operations/management/query_index_create.hxx +2 -0
  195. package/deps/couchbase-cxx-client/core/operations/management/query_index_drop.cxx +11 -12
  196. package/deps/couchbase-cxx-client/core/operations/management/query_index_drop.hxx +2 -0
  197. package/deps/couchbase-cxx-client/core/operations/management/query_index_get_all.cxx +7 -3
  198. package/deps/couchbase-cxx-client/core/operations/management/query_index_get_all.hxx +5 -3
  199. package/deps/couchbase-cxx-client/core/operations/management/query_index_get_all_deferred.cxx +22 -5
  200. package/deps/couchbase-cxx-client/core/operations/management/query_index_get_all_deferred.hxx +4 -2
  201. package/deps/couchbase-cxx-client/core/operations/management/user.hxx +1 -0
  202. package/deps/couchbase-cxx-client/core/operations/mcbp_noop.hxx +1 -1
  203. package/deps/couchbase-cxx-client/core/origin.hxx +1 -1
  204. package/deps/couchbase-cxx-client/core/pending_operation.hxx +26 -0
  205. package/deps/couchbase-cxx-client/core/ping_collector.hxx +32 -0
  206. package/deps/couchbase-cxx-client/core/ping_options.hxx +86 -0
  207. package/deps/couchbase-cxx-client/core/{io/retry_action.hxx → ping_reporter.hxx} +8 -8
  208. package/deps/couchbase-cxx-client/core/platform/base64.cc +52 -34
  209. package/deps/couchbase-cxx-client/core/platform/base64.h +10 -2
  210. package/deps/couchbase-cxx-client/core/platform/terminate_handler.cc +5 -5
  211. package/deps/couchbase-cxx-client/core/platform/uuid.cc +24 -20
  212. package/deps/couchbase-cxx-client/core/protocol/client_opcode.hxx +10 -1
  213. package/deps/couchbase-cxx-client/core/protocol/client_opcode_fmt.hxx +10 -1
  214. package/deps/couchbase-cxx-client/core/protocol/client_request.hxx +3 -4
  215. package/deps/couchbase-cxx-client/core/protocol/cmd_get_cluster_config.cxx +1 -1
  216. package/deps/couchbase-cxx-client/core/protocol/cmd_get_collections_manifest.cxx +1 -1
  217. package/deps/couchbase-cxx-client/core/protocol/cmd_get_error_map.cxx +1 -1
  218. package/deps/couchbase-cxx-client/core/protocol/cmd_hello.hxx +5 -1
  219. package/deps/couchbase-cxx-client/core/protocol/hello_feature.hxx +8 -1
  220. package/deps/couchbase-cxx-client/core/protocol/hello_feature_fmt.hxx +6 -0
  221. package/deps/couchbase-cxx-client/core/protocol/status.cxx +11 -1
  222. package/deps/couchbase-cxx-client/core/protocol/status.hxx +7 -1
  223. package/deps/couchbase-cxx-client/core/query_context.hxx +79 -0
  224. package/deps/couchbase-cxx-client/core/range_scan_options.cxx +57 -0
  225. package/deps/couchbase-cxx-client/core/range_scan_options.hxx +139 -0
  226. package/deps/couchbase-cxx-client/core/range_scan_orchestrator.cxx +495 -0
  227. package/deps/couchbase-cxx-client/core/range_scan_orchestrator.hxx +54 -0
  228. package/deps/couchbase-cxx-client/core/range_scan_orchestrator_options.hxx +54 -0
  229. package/deps/couchbase-cxx-client/core/resource_units.hxx +26 -0
  230. package/deps/couchbase-cxx-client/core/response_handler.hxx +49 -0
  231. package/deps/couchbase-cxx-client/core/retry_orchestrator.cxx +52 -0
  232. package/deps/couchbase-cxx-client/core/retry_orchestrator.hxx +35 -0
  233. package/deps/couchbase-cxx-client/core/sasl/scram-sha/scram-sha.cc +12 -12
  234. package/deps/couchbase-cxx-client/core/scan_options.hxx +63 -0
  235. package/deps/couchbase-cxx-client/core/scan_result.cxx +71 -0
  236. package/deps/couchbase-cxx-client/core/scan_result.hxx +59 -0
  237. package/deps/couchbase-cxx-client/core/search_query_options.cxx +72 -0
  238. package/deps/couchbase-cxx-client/core/search_query_options.hxx +74 -0
  239. package/deps/couchbase-cxx-client/core/seed_config.cxx +39 -0
  240. package/deps/couchbase-cxx-client/core/seed_config.hxx +39 -0
  241. package/deps/couchbase-cxx-client/core/stats_options.hxx +61 -0
  242. package/deps/couchbase-cxx-client/core/subdoc_options.hxx +124 -0
  243. package/deps/couchbase-cxx-client/core/timeout_defaults.hxx +3 -1
  244. package/deps/couchbase-cxx-client/core/topology/configuration.cxx +10 -9
  245. package/deps/couchbase-cxx-client/core/topology/configuration.hxx +12 -1
  246. package/deps/couchbase-cxx-client/core/topology/error_map_json.hxx +1 -1
  247. package/deps/couchbase-cxx-client/core/tracing/CMakeLists.txt +3 -1
  248. package/deps/couchbase-cxx-client/core/tracing/constants.hxx +13 -1
  249. package/deps/couchbase-cxx-client/core/tracing/threshold_logging_tracer.cxx +21 -6
  250. package/deps/couchbase-cxx-client/core/tracing/threshold_logging_tracer.hxx +2 -2
  251. package/deps/couchbase-cxx-client/core/transactions/active_transaction_record.hxx +2 -2
  252. package/deps/couchbase-cxx-client/core/transactions/async_attempt_context.hxx +14 -7
  253. package/deps/couchbase-cxx-client/core/transactions/atr_cleanup_entry.cxx +60 -71
  254. package/deps/couchbase-cxx-client/core/transactions/attempt_context.hxx +14 -3
  255. package/deps/couchbase-cxx-client/core/transactions/attempt_context_impl.cxx +598 -431
  256. package/deps/couchbase-cxx-client/core/transactions/attempt_context_impl.hxx +97 -52
  257. package/deps/couchbase-cxx-client/core/transactions/attempt_context_testing_hooks.hxx +6 -1
  258. package/deps/couchbase-cxx-client/core/transactions/cleanup_testing_hooks.hxx +9 -2
  259. package/deps/couchbase-cxx-client/core/transactions/durability_level.hxx +1 -1
  260. package/deps/couchbase-cxx-client/core/transactions/error_class.hxx +35 -0
  261. package/deps/couchbase-cxx-client/core/transactions/exceptions.cxx +13 -0
  262. package/deps/couchbase-cxx-client/core/transactions/exceptions.hxx +36 -25
  263. package/deps/couchbase-cxx-client/core/transactions/forward_compat.hxx +6 -5
  264. package/deps/couchbase-cxx-client/core/transactions/internal/atr_cleanup_entry.hxx +51 -13
  265. package/deps/couchbase-cxx-client/core/transactions/internal/client_record.hxx +26 -1
  266. package/deps/couchbase-cxx-client/core/transactions/internal/doc_record.hxx +21 -0
  267. package/deps/couchbase-cxx-client/core/transactions/internal/exceptions_internal.hxx +1 -15
  268. package/deps/couchbase-cxx-client/core/transactions/internal/logging.hxx +40 -18
  269. package/deps/couchbase-cxx-client/core/transactions/internal/transaction_context.hxx +13 -11
  270. package/deps/couchbase-cxx-client/core/transactions/internal/transactions_cleanup.hxx +21 -9
  271. package/deps/couchbase-cxx-client/core/transactions/internal/utils.hxx +16 -8
  272. package/deps/couchbase-cxx-client/core/transactions/result.hxx +26 -0
  273. package/deps/couchbase-cxx-client/core/transactions/staged_mutation.cxx +51 -47
  274. package/deps/couchbase-cxx-client/core/transactions/staged_mutation.hxx +6 -6
  275. package/deps/couchbase-cxx-client/core/transactions/transaction_context.cxx +51 -27
  276. package/deps/couchbase-cxx-client/core/transactions/transaction_get_result.hxx +18 -2
  277. package/deps/couchbase-cxx-client/core/transactions/transaction_links.hxx +25 -2
  278. package/deps/couchbase-cxx-client/core/transactions/transaction_options.cxx +38 -0
  279. package/deps/couchbase-cxx-client/core/transactions/transactions.cxx +20 -16
  280. package/deps/couchbase-cxx-client/core/transactions/transactions_cleanup.cxx +158 -164
  281. package/deps/couchbase-cxx-client/core/transactions/transactions_config.cxx +81 -0
  282. package/deps/couchbase-cxx-client/core/transactions/utils.cxx +11 -0
  283. package/deps/couchbase-cxx-client/core/transactions/waitable_op_list.hxx +7 -3
  284. package/deps/couchbase-cxx-client/core/transactions.hxx +15 -26
  285. package/deps/couchbase-cxx-client/core/utils/binary.hxx +1 -1
  286. package/deps/couchbase-cxx-client/core/utils/connection_string.cxx +17 -8
  287. package/deps/couchbase-cxx-client/core/utils/crc32.hxx +6 -0
  288. package/deps/couchbase-cxx-client/core/utils/json.cxx +2 -2
  289. package/deps/couchbase-cxx-client/core/utils/keyspace.hxx +55 -0
  290. package/deps/couchbase-cxx-client/core/utils/unsigned_leb128.hxx +19 -17
  291. package/deps/couchbase-cxx-client/core/utils/url_codec.cxx +1 -1
  292. package/deps/couchbase-cxx-client/core/view_query_options.cxx +72 -0
  293. package/deps/couchbase-cxx-client/core/view_query_options.hxx +78 -0
  294. package/deps/couchbase-cxx-client/core/wait_until_ready_options.hxx +52 -0
  295. package/deps/couchbase-cxx-client/couchbase/append_options.hxx +2 -2
  296. package/deps/couchbase-cxx-client/couchbase/best_effort_retry_strategy.hxx +64 -0
  297. package/deps/couchbase-cxx-client/couchbase/build_query_index_options.hxx +12 -45
  298. package/deps/couchbase-cxx-client/couchbase/cluster.hxx +24 -5
  299. package/deps/couchbase-cxx-client/couchbase/cluster_options.hxx +45 -8
  300. package/deps/couchbase-cxx-client/couchbase/codec/json_transcoder.hxx +1 -1
  301. package/deps/couchbase-cxx-client/couchbase/collection.hxx +8 -0
  302. package/deps/couchbase-cxx-client/couchbase/collection_query_index_manager.hxx +218 -0
  303. package/deps/couchbase-cxx-client/couchbase/common_options.hxx +21 -1
  304. package/deps/couchbase-cxx-client/couchbase/configuration_profile.hxx +13 -1
  305. package/deps/couchbase-cxx-client/couchbase/configuration_profiles_registry.hxx +26 -0
  306. package/deps/couchbase-cxx-client/couchbase/create_primary_query_index_options.hxx +166 -0
  307. package/deps/couchbase-cxx-client/couchbase/create_query_index_options.hxx +172 -0
  308. package/deps/couchbase-cxx-client/couchbase/decrement_options.hxx +2 -1
  309. package/deps/couchbase-cxx-client/couchbase/drop_primary_query_index_options.hxx +129 -0
  310. package/deps/couchbase-cxx-client/couchbase/drop_query_index_options.hxx +116 -0
  311. package/deps/couchbase-cxx-client/couchbase/error_codes.hxx +46 -0
  312. package/deps/couchbase-cxx-client/couchbase/error_context.hxx +3 -3
  313. package/deps/couchbase-cxx-client/couchbase/fail_fast_retry_strategy.hxx +37 -0
  314. package/deps/couchbase-cxx-client/couchbase/fmt/cas.hxx +1 -1
  315. package/deps/couchbase-cxx-client/couchbase/fmt/key_value_status_code.hxx +16 -0
  316. package/deps/couchbase-cxx-client/couchbase/fmt/query_scan_consistency.hxx +46 -0
  317. package/deps/couchbase-cxx-client/couchbase/fmt/query_status.hxx +70 -0
  318. package/deps/couchbase-cxx-client/couchbase/fmt/retry_reason.hxx +7 -7
  319. package/deps/couchbase-cxx-client/couchbase/fmt/tls_verify_mode.hxx +46 -0
  320. package/deps/couchbase-cxx-client/couchbase/get_all_query_indexes_options.hxx +100 -0
  321. package/deps/couchbase-cxx-client/couchbase/increment_options.hxx +2 -1
  322. package/deps/couchbase-cxx-client/couchbase/insert_options.hxx +2 -1
  323. package/deps/couchbase-cxx-client/couchbase/key_value_error_context.hxx +2 -2
  324. package/deps/couchbase-cxx-client/couchbase/key_value_status_code.hxx +15 -1
  325. package/deps/couchbase-cxx-client/couchbase/lookup_in_options.hxx +2 -1
  326. package/deps/couchbase-cxx-client/{core → couchbase}/management/query_index.hxx +2 -2
  327. package/deps/couchbase-cxx-client/couchbase/manager_error_context.hxx +2 -2
  328. package/deps/couchbase-cxx-client/couchbase/metrics/meter.hxx +16 -0
  329. package/deps/couchbase-cxx-client/couchbase/mutate_in_options.hxx +2 -3
  330. package/deps/couchbase-cxx-client/couchbase/prepend_options.hxx +2 -1
  331. package/deps/couchbase-cxx-client/couchbase/query_error_context.hxx +1 -1
  332. package/deps/couchbase-cxx-client/couchbase/query_index_manager.hxx +178 -6
  333. package/deps/couchbase-cxx-client/couchbase/query_options.hxx +21 -18
  334. package/deps/couchbase-cxx-client/couchbase/query_result.hxx +0 -1
  335. package/deps/couchbase-cxx-client/couchbase/remove_options.hxx +2 -1
  336. package/deps/couchbase-cxx-client/couchbase/replace_options.hxx +2 -1
  337. package/deps/couchbase-cxx-client/couchbase/retry_action.hxx +41 -0
  338. package/deps/couchbase-cxx-client/couchbase/retry_reason.hxx +14 -8
  339. package/deps/couchbase-cxx-client/couchbase/retry_request.hxx +39 -0
  340. package/deps/couchbase-cxx-client/couchbase/retry_strategy.hxx +35 -0
  341. package/deps/couchbase-cxx-client/couchbase/scope.hxx +5 -2
  342. package/deps/couchbase-cxx-client/couchbase/subdocument_error_context.hxx +1 -1
  343. package/deps/couchbase-cxx-client/couchbase/tracing/request_tracer.hxx +16 -0
  344. package/deps/couchbase-cxx-client/couchbase/transaction_op_error_context.hxx +33 -7
  345. package/deps/couchbase-cxx-client/couchbase/transactions/async_attempt_context.hxx +24 -6
  346. package/deps/couchbase-cxx-client/couchbase/transactions/attempt_context.hxx +18 -6
  347. package/deps/couchbase-cxx-client/couchbase/transactions/transaction_keyspace.hxx +50 -1
  348. package/deps/couchbase-cxx-client/couchbase/transactions/{per_transaction_config.hxx → transaction_options.hxx} +30 -33
  349. package/deps/couchbase-cxx-client/{core → couchbase}/transactions/transaction_query_options.hxx +51 -35
  350. package/deps/couchbase-cxx-client/couchbase/transactions/transaction_query_result.hxx +55 -0
  351. package/deps/couchbase-cxx-client/couchbase/transactions/transactions_cleanup_config.hxx +140 -0
  352. package/deps/couchbase-cxx-client/couchbase/transactions/transactions_config.hxx +255 -0
  353. package/deps/couchbase-cxx-client/couchbase/transactions/transactions_query_config.hxx +61 -0
  354. package/deps/couchbase-cxx-client/couchbase/transactions.hxx +3 -3
  355. package/deps/couchbase-cxx-client/couchbase/upsert_options.hxx +2 -1
  356. package/deps/couchbase-cxx-client/couchbase/watch_query_indexes_options.hxx +115 -0
  357. package/deps/couchbase-cxx-client/examples/CMakeLists.txt +10 -0
  358. package/deps/couchbase-cxx-client/examples/async_game_server.cxx +314 -0
  359. package/deps/couchbase-cxx-client/examples/channels.cxx +50 -0
  360. package/deps/couchbase-cxx-client/examples/distributed_mutex.cxx +186 -0
  361. package/deps/couchbase-cxx-client/examples/game_server.cxx +81 -102
  362. package/deps/couchbase-cxx-client/examples/minimal.cxx +3 -1
  363. package/deps/couchbase-cxx-client/test/CMakeLists.txt +1 -0
  364. package/deps/couchbase-cxx-client/test/test_helper.hxx +5 -0
  365. package/deps/couchbase-cxx-client/test/test_integration_analytics.cxx +3 -3
  366. package/deps/couchbase-cxx-client/test/test_integration_collections.cxx +2 -2
  367. package/deps/couchbase-cxx-client/test/test_integration_connect.cxx +12 -6
  368. package/deps/couchbase-cxx-client/test/test_integration_crud.cxx +79 -5
  369. package/deps/couchbase-cxx-client/test/test_integration_management.cxx +795 -320
  370. package/deps/couchbase-cxx-client/test/test_integration_query.cxx +89 -8
  371. package/deps/couchbase-cxx-client/test/test_integration_range_scan.cxx +1067 -0
  372. package/deps/couchbase-cxx-client/test/test_integration_transcoders.cxx +14 -0
  373. package/deps/couchbase-cxx-client/test/test_transaction_transaction_context.cxx +236 -110
  374. package/deps/couchbase-cxx-client/test/test_transaction_transaction_public_async_api.cxx +217 -76
  375. package/deps/couchbase-cxx-client/test/test_transaction_transaction_public_blocking_api.cxx +538 -147
  376. package/deps/couchbase-cxx-client/test/test_transaction_transaction_simple.cxx +467 -514
  377. package/deps/couchbase-cxx-client/test/test_transaction_transaction_simple_async.cxx +415 -330
  378. package/deps/couchbase-cxx-client/test/test_unit_connection_string.cxx +4 -0
  379. package/deps/couchbase-cxx-client/test/test_unit_transaction_logging.cxx +66 -29
  380. package/deps/couchbase-cxx-client/test/test_unit_transaction_utils.cxx +0 -2
  381. package/deps/couchbase-cxx-client/test/test_unit_utils.cxx +124 -8
  382. package/deps/couchbase-cxx-client/test/tools/tool_kv_loader.cxx +140 -65
  383. package/deps/couchbase-cxx-client/test/utils/integration_shortcuts.cxx +3 -3
  384. package/deps/couchbase-cxx-client/test/utils/integration_test_guard.cxx +47 -10
  385. package/deps/couchbase-cxx-client/test/utils/integration_test_guard.hxx +13 -3
  386. package/deps/couchbase-cxx-client/test/utils/test_context.cxx +8 -0
  387. package/deps/couchbase-cxx-client/test/utils/test_context.hxx +2 -0
  388. package/deps/couchbase-cxx-client/test/utils/wait_until.cxx +37 -1
  389. package/deps/couchbase-cxx-client/test/utils/wait_until.hxx +8 -1
  390. package/deps/couchbase-cxx-client/third_party/asio/.cirrus.yml +2 -2
  391. package/deps/couchbase-cxx-client/third_party/asio/asio/COPYING +1 -1
  392. package/deps/couchbase-cxx-client/third_party/asio/asio/Makefile.am +2 -0
  393. package/deps/couchbase-cxx-client/third_party/asio/asio/README +2 -2
  394. package/deps/couchbase-cxx-client/third_party/asio/asio/asio.manifest +373 -102
  395. package/deps/couchbase-cxx-client/third_party/asio/asio/asio.pc.in +11 -0
  396. package/deps/couchbase-cxx-client/third_party/asio/asio/boost_asio.manifest +440 -104
  397. package/deps/couchbase-cxx-client/third_party/asio/asio/boostify.pl +37 -3
  398. package/deps/couchbase-cxx-client/third_party/asio/asio/configure.ac +6 -2
  399. package/deps/couchbase-cxx-client/third_party/asio/asio/include/Makefile.am +13 -5
  400. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/any_io_executor.hpp +4 -2
  401. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/append.hpp +78 -0
  402. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/as_tuple.hpp +139 -0
  403. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/associated_allocator.hpp +4 -4
  404. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/associated_cancellation_slot.hpp +4 -3
  405. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/associated_executor.hpp +4 -4
  406. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/associator.hpp +1 -1
  407. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/async_result.hpp +357 -1
  408. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/awaitable.hpp +10 -1
  409. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/basic_datagram_socket.hpp +208 -115
  410. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/basic_deadline_timer.hpp +28 -16
  411. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/basic_file.hpp +2 -2
  412. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/basic_io_object.hpp +1 -1
  413. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/basic_random_access_file.hpp +51 -27
  414. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/basic_raw_socket.hpp +210 -117
  415. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/basic_readable_pipe.hpp +127 -15
  416. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/basic_seq_packet_socket.hpp +84 -47
  417. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/basic_serial_port.hpp +120 -27
  418. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/basic_signal_set.hpp +36 -14
  419. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/basic_socket.hpp +50 -26
  420. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/basic_socket_acceptor.hpp +295 -150
  421. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/basic_socket_iostream.hpp +1 -1
  422. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/basic_socket_streambuf.hpp +1 -1
  423. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/basic_stream_file.hpp +51 -27
  424. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/basic_stream_socket.hpp +153 -84
  425. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/basic_streambuf.hpp +1 -1
  426. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/basic_streambuf_fwd.hpp +1 -1
  427. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/basic_waitable_timer.hpp +28 -16
  428. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/basic_writable_pipe.hpp +127 -15
  429. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/bind_allocator.hpp +722 -0
  430. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/bind_cancellation_slot.hpp +11 -8
  431. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/bind_executor.hpp +36 -20
  432. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/buffer.hpp +222 -42
  433. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/buffer_registration.hpp +2 -1
  434. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/buffered_read_stream.hpp +38 -6
  435. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/buffered_read_stream_fwd.hpp +1 -1
  436. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/buffered_stream.hpp +34 -5
  437. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/buffered_stream_fwd.hpp +1 -1
  438. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/buffered_write_stream.hpp +38 -6
  439. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/buffered_write_stream_fwd.hpp +1 -1
  440. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/buffers_iterator.hpp +1 -1
  441. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/cancellation_signal.hpp +1 -1
  442. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/cancellation_state.hpp +1 -1
  443. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/cancellation_type.hpp +1 -1
  444. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/co_spawn.hpp +33 -9
  445. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/completion_condition.hpp +1 -1
  446. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/compose.hpp +682 -12
  447. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/connect.hpp +132 -61
  448. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/connect_pipe.hpp +1 -1
  449. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/coroutine.hpp +1 -1
  450. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/deadline_timer.hpp +1 -1
  451. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/defer.hpp +128 -42
  452. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/deferred.hpp +675 -0
  453. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detached.hpp +6 -5
  454. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/array.hpp +1 -1
  455. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/array_fwd.hpp +1 -1
  456. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/assert.hpp +1 -1
  457. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/atomic_count.hpp +1 -1
  458. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/base_from_cancellation_state.hpp +1 -1
  459. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/base_from_completion_cond.hpp +1 -1
  460. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/bind_handler.hpp +1 -1
  461. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/blocking_executor_op.hpp +1 -1
  462. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/buffer_resize_guard.hpp +1 -1
  463. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/buffer_sequence_adapter.hpp +1 -1
  464. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/buffered_stream_storage.hpp +1 -1
  465. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/bulk_executor_op.hpp +1 -1
  466. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/call_stack.hpp +1 -1
  467. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/chrono.hpp +1 -1
  468. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/chrono_time_traits.hpp +1 -1
  469. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/completion_handler.hpp +1 -1
  470. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/concurrency_hint.hpp +1 -1
  471. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/conditionally_enabled_event.hpp +1 -1
  472. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/conditionally_enabled_mutex.hpp +1 -1
  473. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/config.hpp +201 -11
  474. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/consuming_buffers.hpp +1 -1
  475. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/cstddef.hpp +1 -1
  476. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/cstdint.hpp +1 -1
  477. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/date_time_fwd.hpp +1 -1
  478. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/deadline_timer_service.hpp +1 -1
  479. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/dependent_type.hpp +1 -1
  480. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/descriptor_ops.hpp +2 -2
  481. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/descriptor_read_op.hpp +3 -1
  482. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/descriptor_write_op.hpp +3 -1
  483. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/dev_poll_reactor.hpp +1 -1
  484. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/epoll_reactor.hpp +1 -1
  485. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/event.hpp +1 -1
  486. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/eventfd_select_interrupter.hpp +1 -1
  487. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/exception.hpp +40 -0
  488. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/executor_function.hpp +1 -1
  489. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/executor_op.hpp +1 -1
  490. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/fd_set_adapter.hpp +1 -1
  491. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/fenced_block.hpp +1 -1
  492. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/functional.hpp +1 -1
  493. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/future.hpp +1 -1
  494. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/gcc_arm_fenced_block.hpp +1 -1
  495. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/gcc_hppa_fenced_block.hpp +1 -1
  496. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/gcc_sync_fenced_block.hpp +1 -1
  497. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/gcc_x86_fenced_block.hpp +2 -2
  498. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/global.hpp +1 -1
  499. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/handler_alloc_helpers.hpp +1 -1
  500. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/handler_cont_helpers.hpp +1 -1
  501. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/handler_invoke_helpers.hpp +1 -1
  502. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/handler_tracking.hpp +1 -1
  503. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/handler_type_requirements.hpp +1 -1
  504. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/handler_work.hpp +1 -1
  505. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/hash_map.hpp +1 -1
  506. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/buffer_sequence_adapter.ipp +1 -1
  507. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/descriptor_ops.ipp +9 -9
  508. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/dev_poll_reactor.hpp +1 -1
  509. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/dev_poll_reactor.ipp +1 -1
  510. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/epoll_reactor.hpp +1 -1
  511. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/epoll_reactor.ipp +1 -1
  512. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/eventfd_select_interrupter.ipp +1 -1
  513. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/handler_tracking.ipp +1 -1
  514. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/io_uring_descriptor_service.ipp +4 -1
  515. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/io_uring_file_service.ipp +10 -1
  516. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/io_uring_service.hpp +1 -1
  517. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/io_uring_service.ipp +8 -7
  518. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/io_uring_socket_service_base.ipp +1 -1
  519. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/kqueue_reactor.hpp +1 -1
  520. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/kqueue_reactor.ipp +1 -1
  521. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/null_event.ipp +1 -1
  522. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/pipe_select_interrupter.ipp +1 -1
  523. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/posix_event.ipp +1 -1
  524. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/posix_mutex.ipp +1 -1
  525. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/posix_serial_port_service.ipp +21 -2
  526. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/posix_thread.ipp +1 -1
  527. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/posix_tss_ptr.ipp +1 -1
  528. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/reactive_descriptor_service.ipp +6 -1
  529. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/reactive_socket_service_base.ipp +3 -3
  530. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/resolver_service_base.ipp +1 -1
  531. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/scheduler.ipp +1 -1
  532. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/select_reactor.hpp +1 -1
  533. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/select_reactor.ipp +36 -1
  534. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/service_registry.hpp +1 -1
  535. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/service_registry.ipp +1 -1
  536. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/signal_set_service.ipp +28 -1
  537. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/socket_ops.ipp +126 -121
  538. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/socket_select_interrupter.ipp +4 -4
  539. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/strand_executor_service.hpp +1 -1
  540. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/strand_executor_service.ipp +1 -1
  541. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/strand_service.hpp +1 -1
  542. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/strand_service.ipp +1 -1
  543. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/thread_context.ipp +1 -1
  544. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/throw_error.ipp +13 -9
  545. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/timer_queue_ptime.ipp +1 -1
  546. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/timer_queue_set.ipp +1 -1
  547. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/win_event.ipp +1 -1
  548. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/win_iocp_file_service.ipp +21 -7
  549. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/win_iocp_handle_service.ipp +94 -1
  550. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/win_iocp_io_context.hpp +1 -1
  551. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/win_iocp_io_context.ipp +1 -1
  552. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/win_iocp_serial_port_service.ipp +9 -1
  553. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/win_iocp_socket_service_base.ipp +11 -11
  554. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/win_mutex.ipp +1 -1
  555. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/win_object_handle_service.ipp +5 -1
  556. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/win_static_mutex.ipp +1 -1
  557. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/win_thread.ipp +1 -1
  558. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/win_tss_ptr.ipp +1 -1
  559. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/winrt_ssocket_service_base.ipp +4 -4
  560. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/winrt_timer_scheduler.hpp +1 -1
  561. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/winrt_timer_scheduler.ipp +1 -1
  562. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/winsock_init.ipp +1 -1
  563. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/io_control.hpp +1 -1
  564. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/io_object_impl.hpp +11 -2
  565. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/io_uring_descriptor_read_at_op.hpp +3 -1
  566. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/io_uring_descriptor_read_op.hpp +3 -1
  567. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/io_uring_descriptor_service.hpp +26 -8
  568. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/io_uring_descriptor_write_at_op.hpp +3 -1
  569. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/io_uring_descriptor_write_op.hpp +3 -1
  570. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/io_uring_file_service.hpp +12 -1
  571. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/io_uring_null_buffers_op.hpp +3 -1
  572. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/io_uring_operation.hpp +1 -1
  573. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/io_uring_service.hpp +2 -2
  574. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/io_uring_socket_accept_op.hpp +5 -1
  575. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/io_uring_socket_connect_op.hpp +3 -1
  576. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/io_uring_socket_recv_op.hpp +3 -1
  577. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/io_uring_socket_recvfrom_op.hpp +4 -2
  578. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/io_uring_socket_recvmsg_op.hpp +3 -1
  579. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/io_uring_socket_send_op.hpp +3 -1
  580. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/io_uring_socket_sendto_op.hpp +3 -1
  581. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/io_uring_socket_service.hpp +31 -13
  582. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/io_uring_socket_service_base.hpp +1 -1
  583. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/io_uring_wait_op.hpp +3 -1
  584. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/is_buffer_sequence.hpp +1 -1
  585. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/is_executor.hpp +1 -1
  586. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/keyword_tss_ptr.hpp +1 -1
  587. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/kqueue_reactor.hpp +1 -1
  588. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/local_free_on_block_exit.hpp +1 -1
  589. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/macos_fenced_block.hpp +1 -1
  590. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/memory.hpp +17 -1
  591. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/mutex.hpp +1 -1
  592. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/non_const_lvalue.hpp +1 -1
  593. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/noncopyable.hpp +1 -1
  594. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/null_event.hpp +1 -1
  595. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/null_fenced_block.hpp +1 -1
  596. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/null_global.hpp +1 -1
  597. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/null_mutex.hpp +1 -1
  598. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/null_reactor.hpp +1 -1
  599. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/null_signal_blocker.hpp +1 -1
  600. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/null_socket_service.hpp +1 -1
  601. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/null_static_mutex.hpp +1 -1
  602. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/null_thread.hpp +1 -1
  603. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/null_tss_ptr.hpp +1 -1
  604. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/object_pool.hpp +1 -1
  605. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/old_win_sdk_compat.hpp +1 -1
  606. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/op_queue.hpp +1 -1
  607. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/operation.hpp +1 -1
  608. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/pipe_select_interrupter.hpp +1 -1
  609. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/pop_options.hpp +5 -1
  610. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/posix_event.hpp +1 -1
  611. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/posix_fd_set_adapter.hpp +1 -1
  612. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/posix_global.hpp +1 -1
  613. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/posix_mutex.hpp +1 -1
  614. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/posix_serial_port_service.hpp +2 -1
  615. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/posix_signal_blocker.hpp +1 -1
  616. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/posix_static_mutex.hpp +1 -1
  617. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/posix_thread.hpp +1 -1
  618. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/posix_tss_ptr.hpp +1 -1
  619. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/push_options.hpp +11 -2
  620. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/reactive_descriptor_service.hpp +26 -7
  621. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/reactive_null_buffers_op.hpp +1 -1
  622. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/reactive_socket_accept_op.hpp +5 -1
  623. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/reactive_socket_connect_op.hpp +3 -1
  624. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/reactive_socket_recv_op.hpp +3 -1
  625. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/reactive_socket_recvfrom_op.hpp +3 -1
  626. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/reactive_socket_recvmsg_op.hpp +3 -1
  627. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/reactive_socket_send_op.hpp +3 -1
  628. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/reactive_socket_sendto_op.hpp +3 -1
  629. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/reactive_socket_service.hpp +38 -12
  630. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/reactive_socket_service_base.hpp +2 -3
  631. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/reactive_wait_op.hpp +1 -1
  632. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/reactor.hpp +1 -1
  633. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/reactor_op.hpp +1 -1
  634. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/reactor_op_queue.hpp +1 -1
  635. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/recycling_allocator.hpp +1 -1
  636. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/regex_fwd.hpp +1 -1
  637. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/resolve_endpoint_op.hpp +1 -1
  638. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/resolve_op.hpp +1 -1
  639. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/resolve_query_op.hpp +1 -1
  640. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/resolver_service.hpp +3 -1
  641. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/resolver_service_base.hpp +1 -1
  642. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/scheduler.hpp +1 -1
  643. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/scheduler_operation.hpp +1 -1
  644. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/scheduler_task.hpp +1 -1
  645. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/scheduler_thread_info.hpp +1 -1
  646. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/scoped_lock.hpp +1 -1
  647. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/scoped_ptr.hpp +1 -1
  648. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/select_interrupter.hpp +1 -1
  649. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/select_reactor.hpp +23 -1
  650. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/service_registry.hpp +1 -1
  651. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/signal_blocker.hpp +1 -1
  652. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/signal_handler.hpp +1 -1
  653. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/signal_init.hpp +1 -1
  654. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/signal_op.hpp +5 -1
  655. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/signal_set_service.hpp +43 -1
  656. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/socket_holder.hpp +1 -1
  657. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/socket_ops.hpp +37 -45
  658. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/socket_option.hpp +1 -1
  659. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/socket_select_interrupter.hpp +1 -1
  660. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/socket_types.hpp +1 -1
  661. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/solaris_fenced_block.hpp +1 -1
  662. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/source_location.hpp +1 -1
  663. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/static_mutex.hpp +1 -1
  664. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/std_event.hpp +1 -1
  665. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/std_fenced_block.hpp +1 -1
  666. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/std_global.hpp +1 -1
  667. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/std_mutex.hpp +1 -1
  668. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/std_static_mutex.hpp +1 -1
  669. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/std_thread.hpp +1 -1
  670. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/strand_executor_service.hpp +1 -1
  671. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/strand_service.hpp +1 -1
  672. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/string_view.hpp +1 -1
  673. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/thread.hpp +1 -1
  674. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/thread_context.hpp +1 -1
  675. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/thread_group.hpp +1 -1
  676. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/thread_info_base.hpp +1 -1
  677. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/throw_error.hpp +18 -9
  678. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/throw_exception.hpp +7 -3
  679. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/timer_queue.hpp +1 -1
  680. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/timer_queue_base.hpp +1 -1
  681. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/timer_queue_ptime.hpp +1 -1
  682. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/timer_queue_set.hpp +1 -1
  683. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/timer_scheduler.hpp +1 -1
  684. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/timer_scheduler_fwd.hpp +1 -1
  685. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/tss_ptr.hpp +1 -1
  686. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/type_traits.hpp +9 -1
  687. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/utility.hpp +84 -0
  688. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/variadic_templates.hpp +1 -1
  689. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/wait_handler.hpp +1 -1
  690. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/wait_op.hpp +1 -1
  691. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/win_event.hpp +1 -1
  692. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/win_fd_set_adapter.hpp +1 -1
  693. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/win_fenced_block.hpp +1 -1
  694. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/win_global.hpp +1 -1
  695. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/win_iocp_file_service.hpp +8 -1
  696. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/win_iocp_handle_read_op.hpp +3 -1
  697. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/win_iocp_handle_service.hpp +29 -1
  698. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/win_iocp_handle_write_op.hpp +6 -2
  699. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/win_iocp_io_context.hpp +1 -1
  700. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/win_iocp_null_buffers_op.hpp +3 -1
  701. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/win_iocp_operation.hpp +1 -1
  702. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/win_iocp_overlapped_op.hpp +6 -2
  703. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/win_iocp_overlapped_ptr.hpp +1 -1
  704. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/win_iocp_serial_port_service.hpp +2 -1
  705. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/win_iocp_socket_accept_op.hpp +5 -1
  706. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/win_iocp_socket_connect_op.hpp +3 -1
  707. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/win_iocp_socket_recv_op.hpp +3 -1
  708. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/win_iocp_socket_recvfrom_op.hpp +3 -1
  709. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/win_iocp_socket_recvmsg_op.hpp +3 -1
  710. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/win_iocp_socket_send_op.hpp +3 -1
  711. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/win_iocp_socket_service.hpp +32 -8
  712. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/win_iocp_socket_service_base.hpp +6 -8
  713. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/win_iocp_thread_info.hpp +1 -1
  714. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/win_iocp_wait_op.hpp +3 -1
  715. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/win_mutex.hpp +1 -1
  716. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/win_object_handle_service.hpp +1 -1
  717. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/win_static_mutex.hpp +1 -1
  718. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/win_thread.hpp +1 -1
  719. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/win_tss_ptr.hpp +1 -1
  720. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/winapp_thread.hpp +1 -1
  721. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/wince_thread.hpp +1 -1
  722. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/winrt_async_manager.hpp +1 -1
  723. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/winrt_async_op.hpp +1 -1
  724. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/winrt_resolve_op.hpp +1 -1
  725. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/winrt_resolver_service.hpp +1 -1
  726. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/winrt_socket_connect_op.hpp +1 -1
  727. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/winrt_socket_recv_op.hpp +1 -1
  728. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/winrt_socket_send_op.hpp +1 -1
  729. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/winrt_ssocket_service.hpp +1 -1
  730. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/winrt_ssocket_service_base.hpp +1 -1
  731. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/winrt_timer_scheduler.hpp +1 -1
  732. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/winrt_utils.hpp +1 -1
  733. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/winsock_init.hpp +1 -1
  734. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/work_dispatcher.hpp +4 -2
  735. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/wrapped_handler.hpp +1 -1
  736. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/dispatch.hpp +126 -42
  737. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/error.hpp +36 -1
  738. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/error_code.hpp +1 -1
  739. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/execution/allocator.hpp +1 -1
  740. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/execution/any_executor.hpp +1 -1
  741. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/execution/bad_executor.hpp +1 -1
  742. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/execution/blocking.hpp +1 -1
  743. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/execution/blocking_adaptation.hpp +1 -1
  744. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/execution/bulk_execute.hpp +1 -1
  745. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/execution/bulk_guarantee.hpp +1 -1
  746. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/execution/connect.hpp +1 -1
  747. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/execution/context.hpp +1 -1
  748. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/execution/context_as.hpp +1 -1
  749. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/execution/detail/as_invocable.hpp +1 -1
  750. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/execution/detail/as_operation.hpp +1 -1
  751. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/execution/detail/as_receiver.hpp +1 -1
  752. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/execution/detail/bulk_sender.hpp +1 -1
  753. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/execution/detail/submit_receiver.hpp +1 -1
  754. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/execution/detail/void_receiver.hpp +1 -1
  755. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/execution/execute.hpp +1 -1
  756. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/execution/executor.hpp +1 -1
  757. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/execution/impl/bad_executor.ipp +1 -1
  758. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/execution/impl/receiver_invocation_error.ipp +1 -1
  759. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/execution/invocable_archetype.hpp +1 -1
  760. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/execution/mapping.hpp +1 -1
  761. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/execution/occupancy.hpp +1 -1
  762. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/execution/operation_state.hpp +1 -1
  763. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/execution/outstanding_work.hpp +1 -1
  764. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/execution/prefer_only.hpp +1 -1
  765. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/execution/receiver.hpp +1 -1
  766. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/execution/receiver_invocation_error.hpp +1 -1
  767. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/execution/relationship.hpp +1 -1
  768. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/execution/schedule.hpp +1 -1
  769. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/execution/scheduler.hpp +1 -1
  770. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/execution/sender.hpp +1 -1
  771. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/execution/set_done.hpp +1 -1
  772. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/execution/set_error.hpp +1 -1
  773. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/execution/set_value.hpp +1 -1
  774. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/execution/start.hpp +1 -1
  775. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/execution/submit.hpp +1 -1
  776. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/execution.hpp +1 -1
  777. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/execution_context.hpp +1 -1
  778. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/executor.hpp +1 -1
  779. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/executor_work_guard.hpp +100 -32
  780. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/experimental/append.hpp +6 -41
  781. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/experimental/as_single.hpp +6 -5
  782. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/experimental/as_tuple.hpp +6 -101
  783. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/experimental/awaitable_operators.hpp +14 -14
  784. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/experimental/basic_channel.hpp +78 -2
  785. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/experimental/basic_concurrent_channel.hpp +69 -2
  786. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/experimental/cancellation_condition.hpp +1 -1
  787. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/experimental/channel.hpp +1 -1
  788. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/experimental/channel_error.hpp +1 -1
  789. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/experimental/channel_traits.hpp +1 -1
  790. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/experimental/co_spawn.hpp +12 -16
  791. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/experimental/concurrent_channel.hpp +1 -1
  792. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/experimental/coro.hpp +4 -4
  793. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/experimental/coro_traits.hpp +2 -2
  794. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/experimental/deferred.hpp +6 -575
  795. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/experimental/detail/channel_handler.hpp +1 -1
  796. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/experimental/detail/channel_message.hpp +1 -1
  797. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/experimental/detail/channel_operation.hpp +1 -1
  798. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/experimental/detail/channel_payload.hpp +1 -1
  799. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/experimental/detail/channel_receive_op.hpp +1 -1
  800. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/experimental/detail/channel_send_functions.hpp +2 -1
  801. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/experimental/detail/channel_send_op.hpp +1 -1
  802. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/experimental/detail/channel_service.hpp +1 -1
  803. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/experimental/detail/completion_handler_erasure.hpp +82 -46
  804. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/experimental/detail/coro_promise_allocator.hpp +2 -2
  805. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/experimental/detail/has_signature.hpp +1 -1
  806. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/experimental/detail/impl/channel_service.hpp +6 -8
  807. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/experimental/detail/partial_promise.hpp +2 -2
  808. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/experimental/impl/as_single.hpp +1 -1
  809. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/experimental/impl/channel_error.ipp +1 -1
  810. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/experimental/impl/coro.hpp +47 -56
  811. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/experimental/impl/parallel_group.hpp +14 -28
  812. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/experimental/impl/promise.hpp +2 -2
  813. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/experimental/impl/use_coro.hpp +3 -2
  814. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/experimental/parallel_group.hpp +27 -37
  815. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/experimental/prepend.hpp +6 -41
  816. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/experimental/promise.hpp +23 -405
  817. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/experimental/use_coro.hpp +5 -5
  818. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/file_base.hpp +9 -3
  819. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/generic/basic_endpoint.hpp +1 -1
  820. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/generic/datagram_protocol.hpp +1 -1
  821. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/generic/detail/endpoint.hpp +1 -1
  822. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/generic/detail/impl/endpoint.ipp +1 -1
  823. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/generic/raw_protocol.hpp +1 -1
  824. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/generic/seq_packet_protocol.hpp +1 -1
  825. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/generic/stream_protocol.hpp +1 -1
  826. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/handler_alloc_hook.hpp +1 -1
  827. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/handler_continuation_hook.hpp +1 -1
  828. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/handler_invoke_hook.hpp +1 -1
  829. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/high_resolution_timer.hpp +1 -1
  830. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/impl/any_io_executor.ipp +6 -1
  831. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/{experimental/impl → impl}/append.hpp +18 -19
  832. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/{experimental/impl → impl}/as_tuple.hpp +13 -15
  833. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/impl/awaitable.hpp +400 -5
  834. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/impl/buffered_read_stream.hpp +13 -3
  835. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/impl/buffered_write_stream.hpp +13 -3
  836. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/impl/cancellation_signal.ipp +1 -1
  837. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/impl/co_spawn.hpp +71 -7
  838. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/impl/connect.hpp +63 -31
  839. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/impl/connect_pipe.hpp +1 -1
  840. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/impl/connect_pipe.ipp +2 -2
  841. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/impl/defer.hpp +23 -13
  842. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/{experimental/impl → impl}/deferred.hpp +31 -40
  843. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/impl/detached.hpp +1 -1
  844. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/impl/dispatch.hpp +23 -13
  845. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/impl/error.ipp +1 -1
  846. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/impl/error_code.ipp +1 -1
  847. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/impl/execution_context.hpp +1 -1
  848. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/impl/execution_context.ipp +1 -1
  849. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/impl/executor.hpp +1 -1
  850. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/impl/executor.ipp +1 -1
  851. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/impl/handler_alloc_hook.ipp +1 -1
  852. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/impl/io_context.hpp +9 -3
  853. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/impl/io_context.ipp +1 -1
  854. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/impl/multiple_exceptions.ipp +1 -1
  855. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/impl/post.hpp +23 -13
  856. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/{experimental/impl → impl}/prepend.hpp +16 -17
  857. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/impl/read.hpp +97 -51
  858. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/impl/read_at.hpp +51 -31
  859. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/impl/read_until.hpp +119 -59
  860. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/impl/redirect_error.hpp +1 -1
  861. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/impl/serial_port_base.hpp +1 -1
  862. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/impl/serial_port_base.ipp +1 -1
  863. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/impl/spawn.hpp +1321 -277
  864. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/impl/src.hpp +1 -1
  865. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/impl/system_context.hpp +1 -1
  866. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/impl/system_context.ipp +1 -1
  867. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/impl/system_executor.hpp +1 -1
  868. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/impl/thread_pool.hpp +1 -1
  869. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/impl/thread_pool.ipp +1 -1
  870. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/impl/use_awaitable.hpp +18 -8
  871. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/impl/use_future.hpp +1 -1
  872. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/impl/write.hpp +95 -50
  873. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/impl/write_at.hpp +53 -31
  874. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/io_context.hpp +25 -38
  875. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/io_context_strand.hpp +15 -3
  876. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/io_service.hpp +1 -1
  877. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/io_service_strand.hpp +1 -1
  878. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ip/address.hpp +1 -1
  879. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ip/address_v4.hpp +75 -1
  880. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ip/address_v4_iterator.hpp +1 -1
  881. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ip/address_v4_range.hpp +1 -1
  882. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ip/address_v6.hpp +35 -1
  883. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ip/address_v6_iterator.hpp +1 -1
  884. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ip/address_v6_range.hpp +1 -1
  885. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ip/bad_address_cast.hpp +1 -1
  886. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ip/basic_endpoint.hpp +1 -1
  887. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ip/basic_resolver.hpp +130 -64
  888. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ip/basic_resolver_entry.hpp +1 -1
  889. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ip/basic_resolver_iterator.hpp +1 -1
  890. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ip/basic_resolver_query.hpp +1 -1
  891. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ip/basic_resolver_results.hpp +1 -1
  892. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ip/detail/endpoint.hpp +1 -1
  893. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ip/detail/impl/endpoint.ipp +1 -1
  894. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ip/detail/socket_option.hpp +1 -1
  895. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ip/host_name.hpp +1 -1
  896. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ip/icmp.hpp +1 -1
  897. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ip/impl/address.hpp +1 -1
  898. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ip/impl/address.ipp +1 -1
  899. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ip/impl/address_v4.hpp +1 -1
  900. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ip/impl/address_v4.ipp +1 -1
  901. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ip/impl/address_v6.hpp +1 -1
  902. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ip/impl/address_v6.ipp +1 -1
  903. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ip/impl/basic_endpoint.hpp +1 -1
  904. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ip/impl/host_name.ipp +1 -1
  905. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ip/impl/network_v4.hpp +1 -1
  906. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ip/impl/network_v4.ipp +1 -1
  907. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ip/impl/network_v6.hpp +1 -1
  908. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ip/impl/network_v6.ipp +1 -1
  909. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ip/multicast.hpp +1 -1
  910. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ip/network_v4.hpp +1 -1
  911. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ip/network_v6.hpp +1 -1
  912. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ip/resolver_base.hpp +1 -1
  913. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ip/resolver_query_base.hpp +1 -1
  914. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ip/tcp.hpp +1 -1
  915. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ip/udp.hpp +1 -1
  916. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ip/unicast.hpp +1 -1
  917. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ip/v6_only.hpp +2 -2
  918. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/is_applicable_property.hpp +1 -1
  919. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/is_contiguous_iterator.hpp +45 -0
  920. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/is_executor.hpp +1 -1
  921. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/is_read_buffered.hpp +1 -1
  922. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/is_write_buffered.hpp +1 -1
  923. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/local/basic_endpoint.hpp +1 -1
  924. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/local/connect_pair.hpp +1 -1
  925. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/local/datagram_protocol.hpp +1 -1
  926. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/local/detail/endpoint.hpp +1 -1
  927. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/local/detail/impl/endpoint.ipp +1 -1
  928. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/local/stream_protocol.hpp +1 -1
  929. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/multiple_exceptions.hpp +1 -1
  930. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/packaged_task.hpp +1 -1
  931. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/placeholders.hpp +1 -1
  932. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/posix/basic_descriptor.hpp +74 -13
  933. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/posix/basic_stream_descriptor.hpp +95 -27
  934. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/posix/descriptor.hpp +1 -1
  935. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/posix/descriptor_base.hpp +1 -1
  936. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/posix/stream_descriptor.hpp +1 -1
  937. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/post.hpp +128 -42
  938. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/prefer.hpp +1 -1
  939. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/prepend.hpp +78 -0
  940. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/query.hpp +1 -1
  941. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/random_access_file.hpp +1 -1
  942. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/read.hpp +245 -153
  943. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/read_at.hpp +110 -53
  944. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/read_until.hpp +301 -166
  945. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/readable_pipe.hpp +1 -1
  946. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/recycling_allocator.hpp +138 -0
  947. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/redirect_error.hpp +3 -3
  948. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/registered_buffer.hpp +1 -1
  949. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/require.hpp +1 -1
  950. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/require_concept.hpp +1 -1
  951. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/serial_port.hpp +1 -1
  952. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/serial_port_base.hpp +1 -1
  953. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/signal_set.hpp +1 -1
  954. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/socket_base.hpp +1 -1
  955. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/spawn.hpp +647 -87
  956. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ssl/context.hpp +4 -1
  957. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ssl/context_base.hpp +1 -1
  958. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ssl/detail/buffered_handshake_op.hpp +1 -1
  959. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ssl/detail/engine.hpp +4 -1
  960. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ssl/detail/handshake_op.hpp +1 -1
  961. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ssl/detail/impl/engine.ipp +19 -1
  962. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ssl/detail/impl/openssl_init.ipp +7 -3
  963. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ssl/detail/io.hpp +1 -1
  964. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ssl/detail/openssl_init.hpp +1 -1
  965. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ssl/detail/openssl_types.hpp +1 -1
  966. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ssl/detail/password_callback.hpp +1 -1
  967. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ssl/detail/read_op.hpp +1 -1
  968. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ssl/detail/shutdown_op.hpp +1 -1
  969. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ssl/detail/stream_core.hpp +16 -1
  970. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ssl/detail/verify_callback.hpp +1 -1
  971. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ssl/detail/write_op.hpp +1 -1
  972. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ssl/error.hpp +1 -1
  973. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ssl/host_name_verification.hpp +1 -1
  974. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ssl/impl/context.hpp +1 -1
  975. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ssl/impl/context.ipp +140 -64
  976. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ssl/impl/error.ipp +25 -3
  977. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ssl/impl/host_name_verification.ipp +1 -1
  978. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ssl/impl/rfc2818_verification.ipp +1 -1
  979. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ssl/impl/src.hpp +1 -1
  980. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ssl/rfc2818_verification.hpp +1 -1
  981. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ssl/stream.hpp +154 -53
  982. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ssl/stream_base.hpp +1 -1
  983. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ssl/verify_context.hpp +1 -1
  984. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ssl/verify_mode.hpp +1 -1
  985. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ssl.hpp +1 -1
  986. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/static_thread_pool.hpp +1 -1
  987. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/steady_timer.hpp +1 -1
  988. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/strand.hpp +12 -1
  989. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/stream_file.hpp +1 -1
  990. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/streambuf.hpp +1 -1
  991. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/system_context.hpp +1 -1
  992. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/system_error.hpp +1 -1
  993. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/system_executor.hpp +1 -1
  994. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/system_timer.hpp +1 -1
  995. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/this_coro.hpp +4 -4
  996. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/thread.hpp +1 -1
  997. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/thread_pool.hpp +1 -1
  998. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/time_traits.hpp +1 -1
  999. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/traits/bulk_execute_free.hpp +1 -1
  1000. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/traits/bulk_execute_member.hpp +1 -1
  1001. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/traits/connect_free.hpp +1 -1
  1002. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/traits/connect_member.hpp +1 -1
  1003. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/traits/equality_comparable.hpp +1 -1
  1004. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/traits/execute_free.hpp +1 -1
  1005. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/traits/execute_member.hpp +1 -1
  1006. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/traits/prefer_free.hpp +1 -1
  1007. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/traits/prefer_member.hpp +1 -1
  1008. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/traits/query_free.hpp +1 -1
  1009. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/traits/query_member.hpp +1 -1
  1010. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/traits/query_static_constexpr_member.hpp +1 -1
  1011. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/traits/require_concept_free.hpp +1 -1
  1012. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/traits/require_concept_member.hpp +1 -1
  1013. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/traits/require_free.hpp +1 -1
  1014. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/traits/require_member.hpp +1 -1
  1015. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/traits/schedule_free.hpp +1 -1
  1016. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/traits/schedule_member.hpp +1 -1
  1017. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/traits/set_done_free.hpp +1 -1
  1018. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/traits/set_done_member.hpp +1 -1
  1019. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/traits/set_error_free.hpp +1 -1
  1020. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/traits/set_error_member.hpp +1 -1
  1021. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/traits/set_value_free.hpp +1 -1
  1022. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/traits/set_value_member.hpp +1 -1
  1023. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/traits/start_free.hpp +1 -1
  1024. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/traits/start_member.hpp +1 -1
  1025. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/traits/static_query.hpp +1 -1
  1026. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/traits/static_require.hpp +1 -1
  1027. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/traits/static_require_concept.hpp +1 -1
  1028. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/traits/submit_free.hpp +1 -1
  1029. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/traits/submit_member.hpp +1 -1
  1030. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ts/buffer.hpp +1 -1
  1031. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ts/executor.hpp +1 -1
  1032. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ts/internet.hpp +1 -1
  1033. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ts/io_context.hpp +1 -1
  1034. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ts/net.hpp +1 -1
  1035. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ts/netfwd.hpp +1 -1
  1036. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ts/socket.hpp +1 -1
  1037. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ts/timer.hpp +1 -1
  1038. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/unyield.hpp +1 -1
  1039. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/use_awaitable.hpp +4 -3
  1040. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/use_future.hpp +10 -7
  1041. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/uses_executor.hpp +1 -1
  1042. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/version.hpp +2 -2
  1043. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/wait_traits.hpp +1 -1
  1044. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/windows/basic_object_handle.hpp +70 -12
  1045. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/windows/basic_overlapped_handle.hpp +100 -1
  1046. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/windows/basic_random_access_handle.hpp +98 -29
  1047. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/windows/basic_stream_handle.hpp +95 -28
  1048. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/windows/object_handle.hpp +1 -1
  1049. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/windows/overlapped_handle.hpp +1 -1
  1050. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/windows/overlapped_ptr.hpp +1 -1
  1051. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/windows/random_access_handle.hpp +1 -1
  1052. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/windows/stream_handle.hpp +1 -1
  1053. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/writable_pipe.hpp +1 -1
  1054. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/write.hpp +242 -150
  1055. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/write_at.hpp +112 -53
  1056. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/yield.hpp +1 -1
  1057. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio.hpp +8 -1
  1058. package/deps/couchbase-cxx-client/third_party/asio/asio/src/Makefile.am +18 -2
  1059. package/deps/couchbase-cxx-client/third_party/asio/asio/src/Makefile.msc +6 -0
  1060. package/deps/couchbase-cxx-client/third_party/asio/asio/src/asio.cpp +1 -1
  1061. package/deps/couchbase-cxx-client/third_party/asio/asio/src/asio_ssl.cpp +1 -1
  1062. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/Jamfile.v2 +20 -1
  1063. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/asio.qbk +4 -3
  1064. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/asioref.xsl +1 -1
  1065. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/doxy2qbk.pl +1 -1
  1066. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/examples.qbk +69 -3
  1067. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/history.qbk +398 -17
  1068. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/index.xml +1 -1
  1069. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/makepdf.pl +1 -1
  1070. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/net_ts.qbk +1 -1
  1071. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/allocation.qbk +13 -7
  1072. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/async.qbk +1 -1
  1073. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/basics.qbk +1 -1
  1074. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/bsd_sockets.qbk +1 -1
  1075. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/buffers.qbk +1 -1
  1076. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/cancellation.qbk +5 -3
  1077. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/channels.qbk +56 -0
  1078. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/compose.qbk +101 -0
  1079. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/concurrency_hint.qbk +9 -4
  1080. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/coro.qbk +72 -10
  1081. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/coroutine.qbk +2 -2
  1082. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/cpp2011.qbk +1 -36
  1083. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/cpp20_coroutines.qbk +70 -58
  1084. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/deferred.qbk +54 -0
  1085. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/files.qbk +49 -0
  1086. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/futures.qbk +41 -0
  1087. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/handler_tracking.qbk +1 -1
  1088. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/implementation.qbk +1 -1
  1089. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/iostreams.qbk +1 -1
  1090. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/line_based.qbk +1 -1
  1091. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/model/allocators.qbk +65 -0
  1092. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/model/associators.qbk +78 -0
  1093. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/model/async_agent_chain.png +0 -0
  1094. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/model/async_agent_model.png +0 -0
  1095. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/model/async_agents.qbk +35 -0
  1096. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/model/async_child_agent_chain.png +0 -0
  1097. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/model/async_op_init_complete.png +0 -0
  1098. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/model/async_op_model.png +0 -0
  1099. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/model/async_op_phases.png +0 -0
  1100. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/model/async_op_trivial_chain.png +0 -0
  1101. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/model/async_ops.qbk +81 -0
  1102. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/model/cancellation.qbk +33 -0
  1103. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/model/child_agents.qbk +56 -0
  1104. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/model/completion_token_model.png +0 -0
  1105. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/model/completion_token_transform.png +0 -0
  1106. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/model/completion_tokens.qbk +239 -0
  1107. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/model/executors.qbk +55 -0
  1108. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/model/higher_level_model.png +0 -0
  1109. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/model/higher_levels.qbk +40 -0
  1110. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/model/library_elements.qbk +102 -0
  1111. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/model.qbk +40 -0
  1112. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/other_protocols.qbk +1 -1
  1113. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/parallel_group.qbk +65 -0
  1114. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/pipes.qbk +38 -0
  1115. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/posix.qbk +1 -1
  1116. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/promises.qbk +96 -0
  1117. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/protocols.qbk +1 -1
  1118. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/rationale.qbk +1 -1
  1119. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/reactor.qbk +1 -1
  1120. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/serial_ports.qbk +1 -1
  1121. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/signals.qbk +1 -1
  1122. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/spawn.qbk +7 -10
  1123. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/ssl.qbk +1 -1
  1124. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/strands.qbk +1 -1
  1125. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/streams.qbk +1 -1
  1126. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/threads.qbk +1 -1
  1127. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/timers.qbk +14 -13
  1128. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/token_adapters.qbk +210 -0
  1129. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/windows.qbk +1 -1
  1130. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview.qbk +54 -13
  1131. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/platform_macros.pl +6 -3
  1132. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/platform_macros.qbk +100 -9
  1133. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/quickref.xml +29 -10
  1134. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/reference.dox +4 -0
  1135. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/reference.qbk +10930 -3915
  1136. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/reference.xsl +52 -5
  1137. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/AcceptHandler.qbk +1 -58
  1138. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/AcceptToken.qbk +99 -0
  1139. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/AcceptableProtocol.qbk +1 -1
  1140. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/AsyncRandomAccessReadDevice.qbk +1 -1
  1141. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/AsyncRandomAccessWriteDevice.qbk +1 -1
  1142. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/AsyncReadStream.qbk +1 -1
  1143. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/AsyncWriteStream.qbk +1 -1
  1144. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/BufferedHandshakeHandler.qbk +1 -41
  1145. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/BufferedHandshakeToken.qbk +111 -0
  1146. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/CancellationHandler.qbk +1 -1
  1147. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/CancellationSlot.qbk +1 -1
  1148. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/CompletionCondition.qbk +1 -1
  1149. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/ConnectCondition.qbk +1 -1
  1150. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/ConnectHandler.qbk +1 -58
  1151. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/ConnectToken.qbk +99 -0
  1152. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/ConstBufferSequence.qbk +1 -1
  1153. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/DynamicBuffer.qbk +1 -1
  1154. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/DynamicBuffer_v1.qbk +1 -1
  1155. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/DynamicBuffer_v2.qbk +1 -1
  1156. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/Endpoint.qbk +1 -1
  1157. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/EndpointSequence.qbk +1 -1
  1158. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/ExecutionContext.qbk +1 -1
  1159. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/Executor.qbk +1 -1
  1160. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/GettableSerialPortOption.qbk +1 -1
  1161. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/GettableSocketOption.qbk +1 -1
  1162. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/Handler.qbk +8 -53
  1163. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/HandshakeHandler.qbk +1 -58
  1164. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/HandshakeToken.qbk +99 -0
  1165. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/InternetProtocol.qbk +1 -1
  1166. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/IoControlCommand.qbk +1 -1
  1167. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/IoObjectService.qbk +1 -1
  1168. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/IteratorConnectHandler.qbk +2 -67
  1169. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/IteratorConnectToken.qbk +113 -0
  1170. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/LegacyCompletionHandler.qbk +1 -1
  1171. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/MoveAcceptHandler.qbk +1 -46
  1172. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/MoveAcceptToken.qbk +94 -0
  1173. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/MutableBufferSequence.qbk +1 -1
  1174. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/NullaryToken.qbk +79 -0
  1175. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/OperationState.qbk +1 -1
  1176. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/ProtoAllocator.qbk +1 -1
  1177. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/Protocol.qbk +1 -1
  1178. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/RangeConnectHandler.qbk +2 -68
  1179. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/RangeConnectToken.qbk +114 -0
  1180. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/ReadHandler.qbk +1 -65
  1181. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/ReadToken.qbk +110 -0
  1182. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/Receiver.qbk +1 -1
  1183. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/ResolveHandler.qbk +1 -65
  1184. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/ResolveToken.qbk +112 -0
  1185. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/Scheduler.qbk +1 -1
  1186. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/Sender.qbk +1 -1
  1187. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/Service.qbk +1 -1
  1188. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/SettableSerialPortOption.qbk +1 -1
  1189. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/SettableSocketOption.qbk +1 -1
  1190. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/ShutdownHandler.qbk +1 -58
  1191. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/ShutdownToken.qbk +99 -0
  1192. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/SignalHandler.qbk +1 -65
  1193. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/SignalToken.qbk +109 -0
  1194. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/SyncRandomAccessReadDevice.qbk +1 -1
  1195. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/SyncRandomAccessWriteDevice.qbk +1 -1
  1196. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/SyncReadStream.qbk +1 -1
  1197. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/SyncWriteStream.qbk +1 -1
  1198. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/TimeTraits.qbk +1 -1
  1199. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/WaitHandler.qbk +1 -58
  1200. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/WaitToken.qbk +99 -0
  1201. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/WaitTraits.qbk +1 -1
  1202. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/WriteHandler.qbk +1 -65
  1203. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/WriteToken.qbk +110 -0
  1204. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/asynchronous_operations.qbk +128 -61
  1205. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/asynchronous_socket_operations.qbk +1 -1
  1206. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/read_write_operations.qbk +1 -1
  1207. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/synchronous_socket_operations.qbk +1 -1
  1208. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/std_executors.qbk +1 -1
  1209. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/tutorial.qbk +53 -49
  1210. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/tutorial.xsl +12 -2
  1211. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/using.qbk +1 -6
  1212. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/Makefile.am +1 -1
  1213. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/allocation/server.cpp +7 -50
  1214. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/buffers/reference_counted.cpp +1 -1
  1215. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/chat/chat_client.cpp +1 -1
  1216. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/chat/chat_message.hpp +6 -3
  1217. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/chat/chat_server.cpp +1 -1
  1218. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/chat/posix_chat_client.cpp +1 -1
  1219. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/echo/async_tcp_echo_server.cpp +1 -1
  1220. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/echo/async_udp_echo_server.cpp +1 -1
  1221. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/echo/blocking_tcp_echo_client.cpp +1 -1
  1222. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/echo/blocking_tcp_echo_server.cpp +1 -1
  1223. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/echo/blocking_udp_echo_client.cpp +1 -1
  1224. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/echo/blocking_udp_echo_server.cpp +1 -1
  1225. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/fork/daemon.cpp +1 -1
  1226. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/fork/process_per_connection.cpp +1 -1
  1227. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/client/async_client.cpp +1 -1
  1228. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/client/sync_client.cpp +1 -1
  1229. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/doc_root/data_1K.html +1 -1
  1230. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/doc_root/data_2K.html +1 -1
  1231. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/doc_root/data_4K.html +1 -1
  1232. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/doc_root/data_8K.html +1 -1
  1233. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server/connection.cpp +1 -1
  1234. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server/connection.hpp +1 -1
  1235. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server/connection_manager.cpp +1 -1
  1236. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server/connection_manager.hpp +1 -1
  1237. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server/header.hpp +1 -1
  1238. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server/main.cpp +1 -1
  1239. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server/mime_types.cpp +1 -1
  1240. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server/mime_types.hpp +1 -1
  1241. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server/reply.cpp +1 -1
  1242. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server/reply.hpp +1 -1
  1243. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server/request.hpp +1 -1
  1244. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server/request_handler.cpp +1 -1
  1245. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server/request_handler.hpp +1 -1
  1246. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server/request_parser.cpp +1 -1
  1247. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server/request_parser.hpp +1 -1
  1248. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server/server.cpp +1 -1
  1249. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server/server.hpp +1 -1
  1250. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server2/connection.cpp +1 -1
  1251. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server2/connection.hpp +1 -1
  1252. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server2/header.hpp +1 -1
  1253. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server2/io_context_pool.cpp +2 -3
  1254. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server2/io_context_pool.hpp +5 -3
  1255. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server2/main.cpp +1 -1
  1256. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server2/mime_types.cpp +1 -1
  1257. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server2/mime_types.hpp +1 -1
  1258. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server2/reply.cpp +1 -1
  1259. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server2/reply.hpp +1 -1
  1260. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server2/request.hpp +1 -1
  1261. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server2/request_handler.cpp +1 -1
  1262. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server2/request_handler.hpp +1 -1
  1263. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server2/request_parser.cpp +1 -1
  1264. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server2/request_parser.hpp +1 -1
  1265. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server2/server.cpp +1 -1
  1266. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server2/server.hpp +1 -1
  1267. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server3/connection.cpp +1 -1
  1268. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server3/connection.hpp +1 -1
  1269. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server3/header.hpp +1 -1
  1270. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server3/main.cpp +1 -1
  1271. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server3/mime_types.cpp +1 -1
  1272. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server3/mime_types.hpp +1 -1
  1273. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server3/reply.cpp +1 -1
  1274. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server3/reply.hpp +1 -1
  1275. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server3/request.hpp +1 -1
  1276. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server3/request_handler.cpp +1 -1
  1277. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server3/request_handler.hpp +1 -1
  1278. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server3/request_parser.cpp +1 -1
  1279. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server3/request_parser.hpp +1 -1
  1280. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server3/server.cpp +1 -1
  1281. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server3/server.hpp +1 -1
  1282. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server4/file_handler.cpp +1 -1
  1283. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server4/file_handler.hpp +1 -1
  1284. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server4/header.hpp +1 -1
  1285. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server4/main.cpp +1 -1
  1286. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server4/mime_types.cpp +1 -1
  1287. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server4/mime_types.hpp +1 -1
  1288. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server4/reply.cpp +1 -1
  1289. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server4/reply.hpp +1 -1
  1290. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server4/request.hpp +1 -1
  1291. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server4/request_parser.cpp +1 -1
  1292. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server4/request_parser.hpp +1 -1
  1293. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server4/server.cpp +1 -1
  1294. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server4/server.hpp +1 -1
  1295. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/icmp/icmp_header.hpp +1 -1
  1296. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/icmp/ipv4_header.hpp +1 -1
  1297. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/icmp/ping.cpp +1 -1
  1298. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/invocation/prioritised_handlers.cpp +1 -1
  1299. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/iostreams/daytime_client.cpp +1 -1
  1300. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/iostreams/daytime_server.cpp +1 -1
  1301. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/iostreams/http_client.cpp +1 -1
  1302. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/local/connect_pair.cpp +1 -1
  1303. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/local/iostream_client.cpp +1 -1
  1304. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/local/stream_client.cpp +1 -1
  1305. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/local/stream_server.cpp +1 -1
  1306. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/multicast/receiver.cpp +1 -1
  1307. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/multicast/sender.cpp +1 -1
  1308. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/nonblocking/third_party_lib.cpp +1 -1
  1309. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/porthopper/client.cpp +1 -1
  1310. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/porthopper/protocol.hpp +1 -1
  1311. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/porthopper/server.cpp +1 -1
  1312. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/serialization/client.cpp +1 -1
  1313. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/serialization/connection.hpp +1 -1
  1314. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/serialization/server.cpp +1 -1
  1315. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/serialization/stock.hpp +1 -1
  1316. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/services/basic_logger.hpp +1 -1
  1317. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/services/daytime_client.cpp +1 -1
  1318. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/services/logger.hpp +1 -1
  1319. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/services/logger_service.cpp +1 -1
  1320. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/services/logger_service.hpp +8 -8
  1321. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/socks4/socks4.hpp +1 -1
  1322. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/socks4/sync_client.cpp +1 -1
  1323. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/spawn/echo_server.cpp +9 -5
  1324. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/spawn/parallel_grep.cpp +7 -3
  1325. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/ssl/README +1 -1
  1326. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/ssl/ca.pem +48 -47
  1327. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/ssl/client.cpp +1 -1
  1328. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/ssl/dh4096.pem +25 -0
  1329. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/ssl/server.cpp +2 -2
  1330. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/ssl/server.pem +91 -63
  1331. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/timeouts/async_tcp_client.cpp +1 -1
  1332. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/timeouts/blocking_tcp_client.cpp +1 -1
  1333. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/timeouts/blocking_token_tcp_client.cpp +1 -1
  1334. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/timeouts/blocking_udp_client.cpp +1 -1
  1335. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/timeouts/server.cpp +1 -1
  1336. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/timers/time_t_timer.cpp +1 -1
  1337. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/tutorial/daytime1/client.cpp +1 -1
  1338. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/tutorial/daytime2/server.cpp +1 -1
  1339. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/tutorial/daytime3/server.cpp +1 -1
  1340. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/tutorial/daytime4/client.cpp +1 -1
  1341. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/tutorial/daytime5/server.cpp +1 -1
  1342. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/tutorial/daytime6/server.cpp +1 -1
  1343. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/tutorial/daytime7/server.cpp +1 -1
  1344. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/tutorial/daytime_dox.txt +1 -1
  1345. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/tutorial/index_dox.txt +1 -1
  1346. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/tutorial/timer1/timer.cpp +1 -1
  1347. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/tutorial/timer2/timer.cpp +1 -1
  1348. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/tutorial/timer3/timer.cpp +1 -1
  1349. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/tutorial/timer4/timer.cpp +1 -1
  1350. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/tutorial/timer5/timer.cpp +1 -1
  1351. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/tutorial/timer_dox.txt +37 -33
  1352. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/windows/transmit_file.cpp +1 -1
  1353. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/Makefile.am +23 -2
  1354. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/allocation/server.cpp +5 -43
  1355. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/buffers/reference_counted.cpp +1 -1
  1356. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/chat/chat_client.cpp +1 -1
  1357. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/chat/chat_message.hpp +3 -3
  1358. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/chat/chat_server.cpp +1 -1
  1359. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/deferred/deferred_1.cpp +35 -0
  1360. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/deferred/deferred_2.cpp +44 -0
  1361. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/echo/async_tcp_echo_server.cpp +1 -1
  1362. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/echo/async_udp_echo_server.cpp +1 -1
  1363. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/echo/blocking_tcp_echo_client.cpp +1 -1
  1364. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/echo/blocking_tcp_echo_server.cpp +1 -1
  1365. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/echo/blocking_udp_echo_client.cpp +1 -1
  1366. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/echo/blocking_udp_echo_server.cpp +1 -1
  1367. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/files/async_file_copy.cpp +1 -1
  1368. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/files/blocking_file_copy.cpp +1 -1
  1369. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/fork/daemon.cpp +1 -1
  1370. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/fork/process_per_connection.cpp +1 -1
  1371. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/futures/daytime_client.cpp +2 -3
  1372. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/handler_tracking/async_tcp_echo_server.cpp +1 -1
  1373. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/handler_tracking/custom_tracking.hpp +1 -1
  1374. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/http/server/connection.cpp +1 -1
  1375. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/http/server/connection.hpp +1 -1
  1376. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/http/server/connection_manager.cpp +1 -1
  1377. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/http/server/connection_manager.hpp +1 -1
  1378. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/http/server/header.hpp +1 -1
  1379. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/http/server/main.cpp +1 -1
  1380. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/http/server/mime_types.cpp +1 -1
  1381. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/http/server/mime_types.hpp +1 -1
  1382. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/http/server/reply.cpp +1 -1
  1383. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/http/server/reply.hpp +1 -1
  1384. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/http/server/request.hpp +1 -1
  1385. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/http/server/request_handler.cpp +1 -1
  1386. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/http/server/request_handler.hpp +1 -1
  1387. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/http/server/request_parser.cpp +1 -1
  1388. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/http/server/request_parser.hpp +1 -1
  1389. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/http/server/server.cpp +1 -1
  1390. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/http/server/server.hpp +1 -1
  1391. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/invocation/prioritised_handlers.cpp +1 -1
  1392. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/iostreams/http_client.cpp +1 -1
  1393. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/local/connect_pair.cpp +1 -1
  1394. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/local/fd_passing_stream_client.cpp +102 -0
  1395. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/local/fd_passing_stream_server.cpp +160 -0
  1396. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/local/iostream_client.cpp +1 -1
  1397. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/local/stream_client.cpp +1 -1
  1398. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/local/stream_server.cpp +1 -1
  1399. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/multicast/receiver.cpp +1 -1
  1400. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/multicast/sender.cpp +1 -1
  1401. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/nonblocking/third_party_lib.cpp +1 -1
  1402. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/operations/composed_1.cpp +55 -9
  1403. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/operations/composed_2.cpp +130 -32
  1404. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/operations/composed_3.cpp +55 -9
  1405. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/operations/composed_4.cpp +54 -9
  1406. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/operations/composed_5.cpp +55 -9
  1407. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/operations/composed_6.cpp +61 -14
  1408. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/operations/composed_7.cpp +55 -9
  1409. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/operations/composed_8.cpp +55 -9
  1410. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/parallel_group/wait_for_all.cpp +62 -0
  1411. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/parallel_group/wait_for_one.cpp +62 -0
  1412. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/parallel_group/wait_for_one_error.cpp +62 -0
  1413. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/parallel_group/wait_for_one_success.cpp +62 -0
  1414. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/socks4/socks4.hpp +1 -1
  1415. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/socks4/sync_client.cpp +1 -1
  1416. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/spawn/echo_server.cpp +5 -4
  1417. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/spawn/parallel_grep.cpp +4 -2
  1418. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/ssl/README +1 -1
  1419. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/ssl/ca.pem +48 -47
  1420. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/ssl/client.cpp +1 -1
  1421. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/ssl/dh4096.pem +25 -0
  1422. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/ssl/server.cpp +2 -2
  1423. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/ssl/server.pem +91 -63
  1424. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/timeouts/async_tcp_client.cpp +1 -1
  1425. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/timeouts/blocking_tcp_client.cpp +1 -1
  1426. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/timeouts/blocking_token_tcp_client.cpp +26 -53
  1427. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/timeouts/blocking_udp_client.cpp +1 -1
  1428. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/timeouts/server.cpp +1 -1
  1429. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/timers/time_t_timer.cpp +1 -1
  1430. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp14/Makefile.am +5 -0
  1431. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp14/deferred/deferred_1.cpp +2 -3
  1432. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp14/deferred/deferred_2.cpp +2 -3
  1433. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp14/deferred/deferred_3.cpp +2 -3
  1434. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp14/deferred/deferred_4.cpp +2 -3
  1435. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp14/deferred/deferred_5.cpp +2 -3
  1436. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp14/deferred/deferred_6.cpp +3 -5
  1437. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp14/deferred/deferred_7.cpp +3 -5
  1438. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp14/echo/async_tcp_echo_server.cpp +1 -1
  1439. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp14/echo/async_udp_echo_server.cpp +1 -1
  1440. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp14/echo/blocking_tcp_echo_client.cpp +1 -1
  1441. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp14/echo/blocking_tcp_echo_server.cpp +1 -1
  1442. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp14/echo/blocking_udp_echo_client.cpp +1 -1
  1443. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp14/echo/blocking_udp_echo_server.cpp +1 -1
  1444. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp14/iostreams/http_client.cpp +1 -1
  1445. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp14/operations/c_callback_wrapper.cpp +230 -0
  1446. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp14/operations/callback_wrapper.cpp +152 -0
  1447. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp14/operations/composed_1.cpp +49 -7
  1448. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp14/operations/composed_2.cpp +117 -29
  1449. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp14/operations/composed_3.cpp +48 -6
  1450. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp14/operations/composed_4.cpp +47 -6
  1451. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp14/operations/composed_5.cpp +48 -6
  1452. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp14/operations/composed_6.cpp +53 -11
  1453. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp14/operations/composed_7.cpp +49 -7
  1454. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp14/operations/composed_8.cpp +49 -7
  1455. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp14/parallel_group/parallel_sort.cpp +2 -3
  1456. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp14/parallel_group/wait_for_all.cpp +1 -1
  1457. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp14/parallel_group/wait_for_one.cpp +1 -1
  1458. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp14/parallel_group/wait_for_one_error.cpp +1 -1
  1459. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp14/parallel_group/wait_for_one_success.cpp +1 -1
  1460. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp17/coroutines_ts/chat_server.cpp +1 -1
  1461. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp17/coroutines_ts/echo_server.cpp +1 -1
  1462. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp17/coroutines_ts/echo_server_with_as_single_default.cpp +1 -1
  1463. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp17/coroutines_ts/echo_server_with_as_tuple_default.cpp +3 -3
  1464. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp17/coroutines_ts/echo_server_with_default.cpp +1 -1
  1465. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp17/coroutines_ts/range_based_for.cpp +1 -1
  1466. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp17/coroutines_ts/refactored_echo_server.cpp +1 -1
  1467. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp20/Makefile.am +66 -0
  1468. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp20/channels/throttling_proxy.cpp +134 -0
  1469. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp20/coroutines/chat_server.cpp +222 -0
  1470. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp20/coroutines/echo_server.cpp +76 -0
  1471. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp20/coroutines/echo_server_with_as_single_default.cpp +71 -0
  1472. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp20/coroutines/echo_server_with_as_tuple_default.cpp +71 -0
  1473. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp20/coroutines/echo_server_with_default.cpp +73 -0
  1474. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp20/coroutines/echo_server_with_deferred.cpp +72 -0
  1475. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp20/coroutines/echo_server_with_deferred_default.cpp +74 -0
  1476. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp20/coroutines/refactored_echo_server.cpp +80 -0
  1477. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp20/coroutines/timeout.cpp +66 -0
  1478. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp20/operations/c_callback_wrapper.cpp +232 -0
  1479. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp20/operations/callback_wrapper.cpp +154 -0
  1480. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp20/operations/composed_1.cpp +157 -0
  1481. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp20/operations/composed_2.cpp +225 -0
  1482. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp20/operations/composed_3.cpp +232 -0
  1483. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp20/operations/composed_4.cpp +247 -0
  1484. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp20/operations/composed_5.cpp +284 -0
  1485. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp20/operations/composed_6.cpp +345 -0
  1486. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp20/operations/composed_7.cpp +262 -0
  1487. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp20/operations/composed_8.cpp +255 -0
  1488. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/Makefile.am +18 -14
  1489. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/latency/allocator.hpp +1 -1
  1490. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/latency/high_res_clock.hpp +1 -1
  1491. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/latency/tcp_client.cpp +1 -1
  1492. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/latency/tcp_server.cpp +1 -1
  1493. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/latency/udp_client.cpp +1 -1
  1494. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/latency/udp_server.cpp +1 -1
  1495. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/performance/client.cpp +1 -1
  1496. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/performance/handler_allocator.hpp +1 -1
  1497. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/performance/server.cpp +1 -1
  1498. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_prefer_free_prefer.cpp +1 -1
  1499. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_prefer_free_require.cpp +1 -1
  1500. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_prefer_member_prefer.cpp +1 -1
  1501. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_prefer_member_require.cpp +1 -1
  1502. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_prefer_not_applicable_free_prefer.cpp +1 -1
  1503. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_prefer_not_applicable_free_require.cpp +1 -1
  1504. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_prefer_not_applicable_member_prefer.cpp +1 -1
  1505. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_prefer_not_applicable_member_require.cpp +1 -1
  1506. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_prefer_not_applicable_static.cpp +1 -1
  1507. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_prefer_not_applicable_unsupported.cpp +1 -1
  1508. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_prefer_not_preferable_free_prefer.cpp +1 -1
  1509. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_prefer_not_preferable_free_require.cpp +1 -1
  1510. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_prefer_not_preferable_member_prefer.cpp +1 -1
  1511. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_prefer_not_preferable_member_require.cpp +1 -1
  1512. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_prefer_not_preferable_static.cpp +1 -1
  1513. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_prefer_not_preferable_unsupported.cpp +1 -1
  1514. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_prefer_static.cpp +1 -1
  1515. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_prefer_unsupported.cpp +1 -1
  1516. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_query_free.cpp +1 -1
  1517. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_query_member.cpp +1 -1
  1518. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_query_not_applicable_free.cpp +1 -1
  1519. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_query_not_applicable_member.cpp +1 -1
  1520. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_query_not_applicable_static.cpp +1 -1
  1521. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_query_not_applicable_unsupported.cpp +1 -1
  1522. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_query_static.cpp +1 -1
  1523. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_query_unsupported.cpp +1 -1
  1524. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_require_concept_free.cpp +1 -1
  1525. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_require_concept_member.cpp +1 -1
  1526. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_require_concept_not_applicable_free.cpp +1 -1
  1527. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_require_concept_not_applicable_member.cpp +1 -1
  1528. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_require_concept_not_applicable_static.cpp +1 -1
  1529. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_require_concept_not_applicable_unsupported.cpp +1 -1
  1530. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_require_concept_static.cpp +1 -1
  1531. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_require_concept_unsupported.cpp +1 -1
  1532. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_require_free.cpp +1 -1
  1533. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_require_member.cpp +1 -1
  1534. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_require_not_applicable_free.cpp +1 -1
  1535. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_require_not_applicable_member.cpp +1 -1
  1536. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_require_not_applicable_static.cpp +1 -1
  1537. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_require_not_applicable_unsupported.cpp +1 -1
  1538. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_require_static.cpp +1 -1
  1539. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_require_unsupported.cpp +1 -1
  1540. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/prefer_free_prefer.cpp +1 -1
  1541. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/prefer_free_require.cpp +1 -1
  1542. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/prefer_member_prefer.cpp +1 -1
  1543. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/prefer_member_require.cpp +1 -1
  1544. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/prefer_static.cpp +1 -1
  1545. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/prefer_unsupported.cpp +1 -1
  1546. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/query_free.cpp +1 -1
  1547. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/query_member.cpp +1 -1
  1548. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/query_static.cpp +1 -1
  1549. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/require_concept_free.cpp +1 -1
  1550. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/require_concept_member.cpp +1 -1
  1551. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/require_concept_static.cpp +1 -1
  1552. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/require_free.cpp +1 -1
  1553. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/require_member.cpp +1 -1
  1554. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/require_static.cpp +1 -1
  1555. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_prefer_free_prefer.cpp +1 -1
  1556. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_prefer_free_require.cpp +1 -1
  1557. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_prefer_member_prefer.cpp +1 -1
  1558. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_prefer_member_require.cpp +1 -1
  1559. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_prefer_not_applicable_free_prefer.cpp +1 -1
  1560. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_prefer_not_applicable_free_require.cpp +1 -1
  1561. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_prefer_not_applicable_member_prefer.cpp +1 -1
  1562. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_prefer_not_applicable_member_require.cpp +1 -1
  1563. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_prefer_not_applicable_static.cpp +1 -1
  1564. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_prefer_not_applicable_unsupported.cpp +1 -1
  1565. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_prefer_not_preferable_free_prefer.cpp +1 -1
  1566. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_prefer_not_preferable_free_require.cpp +1 -1
  1567. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_prefer_not_preferable_member_prefer.cpp +1 -1
  1568. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_prefer_not_preferable_member_require.cpp +1 -1
  1569. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_prefer_not_preferable_static.cpp +1 -1
  1570. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_prefer_not_preferable_unsupported.cpp +1 -1
  1571. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_prefer_static.cpp +1 -1
  1572. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_prefer_unsupported.cpp +1 -1
  1573. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_query_free.cpp +1 -1
  1574. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_query_member.cpp +1 -1
  1575. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_query_not_applicable_free.cpp +1 -1
  1576. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_query_not_applicable_member.cpp +1 -1
  1577. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_query_not_applicable_static.cpp +1 -1
  1578. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_query_not_applicable_unsupported.cpp +1 -1
  1579. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_query_static.cpp +1 -1
  1580. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_query_unsupported.cpp +1 -1
  1581. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_require_concept_free.cpp +1 -1
  1582. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_require_concept_member.cpp +1 -1
  1583. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_require_concept_not_applicable_free.cpp +1 -1
  1584. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_require_concept_not_applicable_member.cpp +1 -1
  1585. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_require_concept_not_applicable_static.cpp +1 -1
  1586. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_require_concept_not_applicable_unsupported.cpp +1 -1
  1587. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_require_concept_static.cpp +1 -1
  1588. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_require_concept_unsupported.cpp +1 -1
  1589. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_require_free.cpp +1 -1
  1590. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_require_member.cpp +1 -1
  1591. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_require_not_applicable_free.cpp +1 -1
  1592. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_require_not_applicable_member.cpp +1 -1
  1593. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_require_not_applicable_static.cpp +1 -1
  1594. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_require_not_applicable_unsupported.cpp +1 -1
  1595. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_require_static.cpp +1 -1
  1596. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_require_unsupported.cpp +1 -1
  1597. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/prefer_free_prefer.cpp +1 -1
  1598. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/prefer_free_require.cpp +1 -1
  1599. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/prefer_member_prefer.cpp +1 -1
  1600. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/prefer_member_require.cpp +1 -1
  1601. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/prefer_static.cpp +1 -1
  1602. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/prefer_unsupported.cpp +1 -1
  1603. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/query_free.cpp +1 -1
  1604. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/query_member.cpp +1 -1
  1605. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/query_static.cpp +1 -1
  1606. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/require_concept_free.cpp +1 -1
  1607. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/require_concept_member.cpp +1 -1
  1608. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/require_concept_static.cpp +1 -1
  1609. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/require_free.cpp +1 -1
  1610. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/require_member.cpp +1 -1
  1611. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/require_static.cpp +1 -1
  1612. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_prefer_free_prefer.cpp +1 -1
  1613. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_prefer_free_require.cpp +1 -1
  1614. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_prefer_member_prefer.cpp +1 -1
  1615. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_prefer_member_require.cpp +1 -1
  1616. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_prefer_not_applicable_free_prefer.cpp +1 -1
  1617. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_prefer_not_applicable_free_require.cpp +1 -1
  1618. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_prefer_not_applicable_member_prefer.cpp +1 -1
  1619. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_prefer_not_applicable_member_require.cpp +1 -1
  1620. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_prefer_not_applicable_static.cpp +1 -1
  1621. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_prefer_not_applicable_unsupported.cpp +1 -1
  1622. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_prefer_not_preferable_free_prefer.cpp +1 -1
  1623. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_prefer_not_preferable_free_require.cpp +1 -1
  1624. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_prefer_not_preferable_member_prefer.cpp +1 -1
  1625. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_prefer_not_preferable_member_require.cpp +1 -1
  1626. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_prefer_not_preferable_static.cpp +1 -1
  1627. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_prefer_not_preferable_unsupported.cpp +1 -1
  1628. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_prefer_static.cpp +1 -1
  1629. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_prefer_unsupported.cpp +1 -1
  1630. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_query_free.cpp +1 -1
  1631. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_query_member.cpp +1 -1
  1632. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_query_not_applicable_free.cpp +1 -1
  1633. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_query_not_applicable_member.cpp +1 -1
  1634. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_query_not_applicable_static.cpp +1 -1
  1635. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_query_not_applicable_unsupported.cpp +1 -1
  1636. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_query_static.cpp +1 -1
  1637. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_query_unsupported.cpp +1 -1
  1638. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_require_concept_free.cpp +1 -1
  1639. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_require_concept_member.cpp +1 -1
  1640. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_require_concept_not_applicable_free.cpp +1 -1
  1641. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_require_concept_not_applicable_member.cpp +1 -1
  1642. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_require_concept_not_applicable_static.cpp +1 -1
  1643. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_require_concept_not_applicable_unsupported.cpp +1 -1
  1644. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_require_concept_static.cpp +1 -1
  1645. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_require_concept_unsupported.cpp +1 -1
  1646. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_require_free.cpp +1 -1
  1647. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_require_member.cpp +1 -1
  1648. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_require_not_applicable_free.cpp +1 -1
  1649. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_require_not_applicable_member.cpp +1 -1
  1650. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_require_not_applicable_static.cpp +1 -1
  1651. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_require_not_applicable_unsupported.cpp +1 -1
  1652. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_require_static.cpp +1 -1
  1653. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_require_unsupported.cpp +1 -1
  1654. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/prefer_free_prefer.cpp +1 -1
  1655. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/prefer_free_require.cpp +1 -1
  1656. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/prefer_member_prefer.cpp +1 -1
  1657. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/prefer_member_require.cpp +1 -1
  1658. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/prefer_static.cpp +1 -1
  1659. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/prefer_unsupported.cpp +1 -1
  1660. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/query_free.cpp +1 -1
  1661. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/query_member.cpp +1 -1
  1662. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/query_static.cpp +1 -1
  1663. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/require_concept_free.cpp +1 -1
  1664. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/require_concept_member.cpp +1 -1
  1665. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/require_concept_static.cpp +1 -1
  1666. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/require_free.cpp +1 -1
  1667. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/require_member.cpp +1 -1
  1668. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/require_static.cpp +1 -1
  1669. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/append.cpp +62 -0
  1670. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/archetypes/async_ops.hpp +1 -1
  1671. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/archetypes/async_result.hpp +1 -1
  1672. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/archetypes/gettable_socket_option.hpp +1 -1
  1673. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/archetypes/io_control_command.hpp +1 -1
  1674. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/archetypes/settable_socket_option.hpp +1 -1
  1675. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/as_tuple.cpp +60 -0
  1676. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/associated_allocator.cpp +1 -1
  1677. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/associated_cancellation_slot.cpp +1 -1
  1678. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/associated_executor.cpp +1 -1
  1679. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/associator.cpp +1 -1
  1680. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/async_result.cpp +1 -1
  1681. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/awaitable.cpp +1 -1
  1682. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/basic_datagram_socket.cpp +1 -1
  1683. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/basic_deadline_timer.cpp +1 -1
  1684. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/basic_file.cpp +1 -1
  1685. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/basic_random_access_file.cpp +1 -1
  1686. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/basic_raw_socket.cpp +1 -1
  1687. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/basic_readable_pipe.cpp +1 -1
  1688. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/basic_seq_packet_socket.cpp +1 -1
  1689. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/basic_serial_port.cpp +1 -1
  1690. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/basic_signal_set.cpp +1 -1
  1691. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/basic_socket.cpp +1 -1
  1692. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/basic_socket_acceptor.cpp +1 -1
  1693. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/basic_stream_file.cpp +1 -1
  1694. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/basic_stream_socket.cpp +1 -1
  1695. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/basic_streambuf.cpp +1 -1
  1696. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/basic_waitable_timer.cpp +1 -1
  1697. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/basic_writable_pipe.cpp +1 -1
  1698. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/bind_allocator.cpp +253 -0
  1699. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/bind_cancellation_slot.cpp +66 -10
  1700. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/bind_executor.cpp +60 -10
  1701. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/buffer.cpp +49 -1
  1702. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/buffer_registration.cpp +1 -1
  1703. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/buffered_read_stream.cpp +2 -2
  1704. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/buffered_stream.cpp +2 -2
  1705. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/buffered_write_stream.cpp +2 -2
  1706. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/buffers_iterator.cpp +2 -2
  1707. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/cancellation_signal.cpp +1 -1
  1708. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/cancellation_state.cpp +1 -1
  1709. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/cancellation_type.cpp +1 -1
  1710. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/co_spawn.cpp +1 -1
  1711. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/completion_condition.cpp +1 -1
  1712. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/compose.cpp +1 -1
  1713. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/connect.cpp +1 -1
  1714. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/connect_pipe.cpp +2 -2
  1715. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/coroutine.cpp +1 -1
  1716. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/deadline_timer.cpp +1 -1
  1717. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/defer.cpp +1 -1
  1718. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/{experimental/deferred.cpp → deferred.cpp} +5 -5
  1719. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/detached.cpp +1 -1
  1720. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/dispatch.cpp +1 -1
  1721. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/error.cpp +1 -1
  1722. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/execution/any_executor.cpp +1 -1
  1723. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/execution/blocking.cpp +1 -1
  1724. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/execution/blocking_adaptation.cpp +1 -1
  1725. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/execution/bulk_execute.cpp +1 -1
  1726. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/execution/bulk_guarantee.cpp +1 -1
  1727. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/execution/connect.cpp +1 -1
  1728. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/execution/context_as.cpp +1 -1
  1729. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/execution/execute.cpp +1 -1
  1730. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/execution/executor.cpp +1 -1
  1731. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/execution/invocable_archetype.cpp +1 -1
  1732. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/execution/mapping.cpp +1 -1
  1733. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/execution/operation_state.cpp +1 -1
  1734. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/execution/outstanding_work.cpp +1 -1
  1735. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/execution/prefer_only.cpp +1 -1
  1736. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/execution/receiver.cpp +1 -1
  1737. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/execution/relationship.cpp +1 -1
  1738. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/execution/schedule.cpp +1 -1
  1739. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/execution/scheduler.cpp +1 -1
  1740. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/execution/sender.cpp +1 -1
  1741. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/execution/set_done.cpp +1 -1
  1742. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/execution/set_error.cpp +1 -1
  1743. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/execution/set_value.cpp +1 -1
  1744. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/execution/start.cpp +1 -1
  1745. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/execution/submit.cpp +1 -1
  1746. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/execution_context.cpp +1 -1
  1747. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/executor.cpp +1 -1
  1748. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/executor_work_guard.cpp +1 -1
  1749. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/experimental/awaitable_operators.cpp +1 -1
  1750. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/experimental/basic_channel.cpp +1 -1
  1751. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/experimental/basic_concurrent_channel.cpp +1 -1
  1752. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/experimental/channel.cpp +1 -1
  1753. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/experimental/channel_traits.cpp +1 -1
  1754. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/experimental/concurrent_channel.cpp +1 -1
  1755. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/experimental/coro/cancel.cpp +2 -2
  1756. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/experimental/coro/co_spawn.cpp +2 -2
  1757. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/experimental/coro/exception.cpp +2 -2
  1758. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/experimental/coro/executor.cpp +3 -3
  1759. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/experimental/coro/partial.cpp +2 -2
  1760. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/experimental/coro/simple_test.cpp +2 -2
  1761. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/experimental/coro/stack_test.cpp +2 -2
  1762. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/experimental/coro/use_coro.cpp +2 -2
  1763. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/experimental/promise.cpp +22 -248
  1764. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/file_base.cpp +1 -1
  1765. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/generic/basic_endpoint.cpp +1 -1
  1766. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/generic/datagram_protocol.cpp +2 -2
  1767. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/generic/raw_protocol.cpp +2 -2
  1768. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/generic/seq_packet_protocol.cpp +2 -2
  1769. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/generic/stream_protocol.cpp +2 -2
  1770. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/high_resolution_timer.cpp +1 -1
  1771. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/io_context.cpp +1 -1
  1772. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/io_context_strand.cpp +1 -1
  1773. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/ip/address.cpp +2 -2
  1774. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/ip/basic_endpoint.cpp +1 -1
  1775. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/ip/basic_resolver.cpp +1 -1
  1776. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/ip/basic_resolver_entry.cpp +1 -1
  1777. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/ip/basic_resolver_iterator.cpp +1 -1
  1778. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/ip/basic_resolver_query.cpp +1 -1
  1779. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/ip/host_name.cpp +2 -2
  1780. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/ip/icmp.cpp +3 -3
  1781. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/ip/multicast.cpp +2 -2
  1782. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/ip/network_v4.cpp +2 -2
  1783. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/ip/network_v6.cpp +2 -2
  1784. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/ip/resolver_query_base.cpp +1 -1
  1785. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/ip/tcp.cpp +7 -7
  1786. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/ip/udp.cpp +3 -3
  1787. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/ip/unicast.cpp +2 -2
  1788. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/ip/v6_only.cpp +2 -2
  1789. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/is_read_buffered.cpp +1 -1
  1790. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/is_write_buffered.cpp +1 -1
  1791. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/local/basic_endpoint.cpp +1 -1
  1792. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/local/connect_pair.cpp +2 -2
  1793. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/local/datagram_protocol.cpp +2 -2
  1794. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/local/stream_protocol.cpp +2 -2
  1795. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/packaged_task.cpp +1 -1
  1796. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/placeholders.cpp +1 -1
  1797. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/posix/basic_descriptor.cpp +1 -1
  1798. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/posix/basic_stream_descriptor.cpp +1 -1
  1799. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/posix/descriptor.cpp +1 -1
  1800. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/posix/descriptor_base.cpp +1 -1
  1801. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/posix/stream_descriptor.cpp +8 -4
  1802. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/post.cpp +1 -1
  1803. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/prepend.cpp +62 -0
  1804. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/random_access_file.cpp +10 -1
  1805. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/read.cpp +1 -1
  1806. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/read_at.cpp +1 -1
  1807. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/read_until.cpp +1 -1
  1808. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/readable_pipe.cpp +12 -3
  1809. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/recycling_allocator.cpp +82 -0
  1810. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/redirect_error.cpp +1 -1
  1811. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/registered_buffer.cpp +1 -1
  1812. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/serial_port.cpp +8 -4
  1813. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/serial_port_base.cpp +2 -2
  1814. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/signal_set.cpp +2 -2
  1815. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/socket_base.cpp +2 -2
  1816. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/ssl/context.cpp +1 -1
  1817. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/ssl/context_base.cpp +1 -1
  1818. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/ssl/error.cpp +1 -1
  1819. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/ssl/host_name_verification.cpp +1 -1
  1820. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/ssl/rfc2818_verification.cpp +1 -1
  1821. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/ssl/stream.cpp +2 -2
  1822. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/ssl/stream_base.cpp +1 -1
  1823. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/static_thread_pool.cpp +1 -1
  1824. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/steady_timer.cpp +1 -1
  1825. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/strand.cpp +1 -1
  1826. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/stream_file.cpp +10 -1
  1827. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/streambuf.cpp +1 -1
  1828. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/system_context.cpp +1 -1
  1829. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/system_executor.cpp +1 -1
  1830. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/system_timer.cpp +1 -1
  1831. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/this_coro.cpp +1 -1
  1832. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/thread.cpp +1 -1
  1833. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/thread_pool.cpp +1 -1
  1834. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/time_traits.cpp +1 -1
  1835. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/ts/buffer.cpp +1 -1
  1836. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/ts/executor.cpp +1 -1
  1837. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/ts/internet.cpp +1 -1
  1838. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/ts/io_context.cpp +1 -1
  1839. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/ts/net.cpp +1 -1
  1840. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/ts/netfwd.cpp +1 -1
  1841. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/ts/socket.cpp +1 -1
  1842. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/ts/timer.cpp +1 -1
  1843. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/unit_test.hpp +1 -1
  1844. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/use_awaitable.cpp +1 -1
  1845. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/use_future.cpp +1 -1
  1846. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/uses_executor.cpp +1 -1
  1847. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/wait_traits.cpp +1 -1
  1848. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/windows/basic_object_handle.cpp +1 -1
  1849. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/windows/basic_overlapped_handle.cpp +1 -1
  1850. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/windows/basic_random_access_handle.cpp +1 -1
  1851. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/windows/basic_stream_handle.cpp +1 -1
  1852. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/windows/object_handle.cpp +8 -4
  1853. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/windows/overlapped_handle.cpp +1 -1
  1854. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/windows/overlapped_ptr.cpp +2 -2
  1855. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/windows/random_access_handle.cpp +16 -5
  1856. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/windows/stream_handle.cpp +16 -5
  1857. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/writable_pipe.cpp +12 -3
  1858. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/write.cpp +1 -1
  1859. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/write_at.cpp +1 -1
  1860. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tools/handlerlive.pl +1 -1
  1861. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tools/handlertree.pl +1 -1
  1862. package/deps/couchbase-cxx-client/third_party/asio/asio/src/tools/handlerviz.pl +1 -1
  1863. package/deps/couchbase-cxx-client/third_party/docopt/.travis.yml +103 -0
  1864. package/deps/couchbase-cxx-client/third_party/docopt/CMakeLists.txt +129 -0
  1865. package/deps/couchbase-cxx-client/third_party/docopt/LICENSE-Boost-1.0 +23 -0
  1866. package/deps/couchbase-cxx-client/third_party/docopt/LICENSE-MIT +23 -0
  1867. package/deps/couchbase-cxx-client/third_party/docopt/README.rst +479 -0
  1868. package/deps/couchbase-cxx-client/third_party/docopt/docopt-config.cmake +1 -0
  1869. package/deps/couchbase-cxx-client/third_party/docopt/docopt.cpp +687 -0
  1870. package/deps/couchbase-cxx-client/third_party/docopt/docopt.h +98 -0
  1871. package/deps/couchbase-cxx-client/third_party/docopt/docopt.pc.in +9 -0
  1872. package/deps/couchbase-cxx-client/third_party/docopt/docopt_private.h +676 -0
  1873. package/deps/couchbase-cxx-client/third_party/docopt/docopt_util.h +122 -0
  1874. package/deps/couchbase-cxx-client/third_party/docopt/docopt_value.h +341 -0
  1875. package/deps/couchbase-cxx-client/third_party/docopt/examples/naval_fate.cpp +36 -0
  1876. package/deps/couchbase-cxx-client/third_party/docopt/main.cpp +16 -0
  1877. package/deps/couchbase-cxx-client/third_party/docopt/run_testcase.cpp +40 -0
  1878. package/deps/couchbase-cxx-client/third_party/docopt/run_tests.py +72 -0
  1879. package/deps/couchbase-cxx-client/third_party/docopt/testcases.docopt +957 -0
  1880. package/deps/couchbase-cxx-client/third_party/expected/COPYING +121 -0
  1881. package/deps/couchbase-cxx-client/third_party/expected/include/tl/expected.hpp +2571 -0
  1882. package/deps/couchbase-cxx-client/tools/CMakeLists.txt +14 -0
  1883. package/deps/couchbase-cxx-client/tools/cbc.cxx +65 -0
  1884. package/deps/couchbase-cxx-client/{core/transactions/internal/get_and_open_buckets.hxx → tools/command.hxx} +11 -10
  1885. package/deps/couchbase-cxx-client/tools/command_registry.cxx +43 -0
  1886. package/deps/couchbase-cxx-client/tools/command_registry.hxx +39 -0
  1887. package/deps/couchbase-cxx-client/tools/get.cxx +267 -0
  1888. package/deps/couchbase-cxx-client/tools/get.hxx +26 -0
  1889. package/deps/couchbase-cxx-client/tools/query.cxx +441 -0
  1890. package/deps/couchbase-cxx-client/tools/query.hxx +26 -0
  1891. package/deps/couchbase-cxx-client/tools/utils.cxx +418 -0
  1892. package/deps/couchbase-cxx-client/tools/utils.hxx +150 -0
  1893. package/deps/couchbase-cxx-client/tools/version.cxx +82 -0
  1894. package/deps/couchbase-cxx-client/tools/version.hxx +26 -0
  1895. package/dist/authenticators.d.ts +2 -2
  1896. package/dist/authenticators.js +1 -2
  1897. package/dist/binding.d.ts +132 -24
  1898. package/dist/binding.js +4 -1
  1899. package/dist/bindingutilities.js +2 -2
  1900. package/dist/cluster.d.ts +7 -12
  1901. package/dist/cluster.js +17 -37
  1902. package/dist/collection.d.ts +6 -0
  1903. package/dist/collection.js +18 -5
  1904. package/dist/configProfile.js +7 -7
  1905. package/dist/crudoptypes.d.ts +4 -0
  1906. package/dist/crudoptypes.js +1 -0
  1907. package/dist/queryexecutor.js +2 -2
  1908. package/dist/queryindexmanager.d.ts +100 -4
  1909. package/dist/queryindexmanager.js +344 -118
  1910. package/dist/searchexecutor.js +5 -1
  1911. package/dist/transactions.js +6 -8
  1912. package/dist/usermanager.d.ts +17 -0
  1913. package/dist/usermanager.js +35 -0
  1914. package/package.json +1 -1
  1915. package/src/connection.cpp +2 -0
  1916. package/src/connection.hpp +1 -0
  1917. package/src/connection_autogen.cpp +16 -0
  1918. package/src/constants.cpp +49 -13
  1919. package/src/jstocbpp_autogen.hpp +510 -23
  1920. package/src/jstocbpp_basic.hpp +25 -2
  1921. package/src/jstocbpp_transactions.hpp +28 -41
  1922. package/src/transaction.cpp +17 -18
  1923. package/src/transactions.cpp +1 -1
  1924. package/tools/gen-bindings-js.js +66 -6
  1925. package/tools/gen-bindings-json.py +43 -7
  1926. package/deps/couchbase-cxx-client/core/io/CMakeLists.txt +0 -12
  1927. package/deps/couchbase-cxx-client/core/io/retry_strategy.hxx +0 -152
  1928. package/deps/couchbase-cxx-client/core/transactions/get_and_open_buckets.cxx +0 -59
  1929. package/deps/couchbase-cxx-client/core/transactions/logging.cxx +0 -107
  1930. package/deps/couchbase-cxx-client/core/transactions/transaction_config.cxx +0 -76
  1931. package/deps/couchbase-cxx-client/core/transactions/transaction_query_options.cxx +0 -39
  1932. package/deps/couchbase-cxx-client/couchbase/transactions/transaction_config.hxx +0 -265
  1933. package/deps/couchbase-cxx-client/test/utils/transactions_env.h +0 -327
  1934. package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/impl/compose.hpp +0 -707
  1935. package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/CompletionHandler.qbk +0 -63
  1936. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/ssl/dh2048.pem +0 -8
  1937. package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/ssl/dh2048.pem +0 -8
@@ -41,6 +41,9 @@ static const std::string KV_REPLACE{ "EXECUTE __update" };
41
41
  static const std::string KV_REMOVE{ "EXECUTE __delete" };
42
42
  static const tao::json::value KV_TXDATA{ { "kv", true } };
43
43
 
44
+ // the config may have nullptr for attempt context hooks, so we use the noop here in that case
45
+ static auto noop_hooks = attempt_context_testing_hooks{};
46
+
44
47
  std::shared_ptr<core::cluster>
45
48
  attempt_context_impl::cluster_ref()
46
49
  {
@@ -50,18 +53,18 @@ attempt_context_impl::cluster_ref()
50
53
  attempt_context_impl::attempt_context_impl(transaction_context& transaction_ctx)
51
54
  : overall_(transaction_ctx)
52
55
  , staged_mutations_(std::make_unique<staged_mutation_queue>())
53
- , hooks_(overall_.config().attempt_context_hooks())
56
+ , hooks_(overall_.config().attempt_context_hooks ? *overall_.config().attempt_context_hooks : noop_hooks)
54
57
  {
55
58
  // put a new transaction_attempt in the context...
56
59
  overall_.add_attempt();
57
- trace("added new attempt, state {}, expiration in {}ms",
58
- attempt_state_name(state()),
59
- std::chrono::duration_cast<std::chrono::milliseconds>(overall_.remaining()).count());
60
+ CB_ATTEMPT_CTX_LOG_TRACE(this,
61
+ "added new attempt, state {}, expiration in {}ms",
62
+ attempt_state_name(state()),
63
+ std::chrono::duration_cast<std::chrono::milliseconds>(overall_.remaining()).count());
60
64
  }
61
65
 
62
66
  attempt_context_impl::~attempt_context_impl() = default;
63
67
 
64
- // not a member of attempt_context_impl, as forward_compat is internal.
65
68
  template<typename Handler>
66
69
  void
67
70
  attempt_context_impl::check_and_handle_blocking_transactions(const transaction_get_result& doc, forward_compat_stage stage, Handler&& cb)
@@ -71,22 +74,23 @@ attempt_context_impl::check_and_handle_blocking_transactions(const transaction_g
71
74
  // Check not just writing the same doc twice in the same transaction
72
75
  // NOTE: we check the transaction rather than attempt id. This is to handle [RETRY-ERR-AMBIG-REPLACE].
73
76
  if (doc.links().staged_transaction_id().value() == transaction_id()) {
74
- debug("doc {} has been written by this transaction, ok to continue", doc.id());
77
+ CB_ATTEMPT_CTX_LOG_DEBUG(this, "doc {} has been written by this transaction, ok to continue", doc.id());
75
78
  return cb(std::nullopt);
76
79
  }
77
80
  if (doc.links().atr_id() && doc.links().atr_bucket_name() && doc.links().staged_attempt_id()) {
78
- debug("doc {} in another txn, checking atr...", doc.id());
81
+ CB_ATTEMPT_CTX_LOG_DEBUG(this, "doc {} in another txn, checking atr...", doc.id());
79
82
  auto err = forward_compat::check(stage, doc.links().forward_compat());
80
83
  if (err) {
81
84
  return cb(err);
82
85
  }
83
86
  exp_delay delay(std::chrono::milliseconds(50), std::chrono::milliseconds(500), std::chrono::seconds(1));
84
- return check_atr_entry_for_blocking_document(doc, delay, cb);
87
+ return check_atr_entry_for_blocking_document(doc, delay, std::move(cb));
85
88
  }
86
- debug("doc {} is in another transaction {}, but doesn't have enough info to check the atr. "
87
- "probably a bug, proceeding to overwrite",
88
- doc.id(),
89
- *doc.links().staged_attempt_id());
89
+ CB_ATTEMPT_CTX_LOG_DEBUG(this,
90
+ "doc {} is in another transaction {}, but doesn't have enough info to check the atr. "
91
+ "probably a bug, proceeding to overwrite",
92
+ doc.id(),
93
+ *doc.links().staged_attempt_id());
90
94
  }
91
95
  return cb(std::nullopt);
92
96
  }
@@ -111,7 +115,7 @@ attempt_context_impl::get(const core::document_id& id, Callback&& cb)
111
115
  if (op_list_.get_mode().is_query()) {
112
116
  return get_with_query(id, false, std::move(cb));
113
117
  }
114
- cache_error_async(std::move(cb), [&]() mutable {
118
+ cache_error_async(cb, [&]() mutable {
115
119
  check_if_done(cb);
116
120
  do_get(
117
121
  id,
@@ -176,54 +180,62 @@ attempt_context_impl::get_optional(const core::document_id& id)
176
180
  void
177
181
  attempt_context_impl::get_optional(const core::document_id& id, Callback&& cb)
178
182
  {
183
+
179
184
  if (op_list_.get_mode().is_query()) {
180
185
  return get_with_query(id, true, std::move(cb));
181
186
  }
182
- cache_error_async(std::move(cb), [&]() {
183
- check_if_done(cb);
184
- do_get(
185
- id,
186
- std::nullopt,
187
- [this, id, cb = std::move(cb)](
188
- std::optional<error_class> ec, std::optional<std::string> err_message, std::optional<transaction_get_result> res) mutable {
189
- if (!ec) {
190
- ec = hooks_.after_get_complete(this, id.key());
191
- }
192
- if (ec) {
193
- switch (*ec) {
194
- case FAIL_EXPIRY:
195
- return op_completed_with_error(
196
- std::move(cb),
197
- transaction_operation_failed(*ec, fmt::format("transaction expired during get {}", err_message.value_or("")))
198
- .expired());
199
- case FAIL_DOC_NOT_FOUND:
200
- return op_completed_with_callback(std::move(cb), std::optional<transaction_get_result>());
201
- case FAIL_TRANSIENT:
202
- return op_completed_with_error(
203
- std::move(cb),
204
- transaction_operation_failed(*ec, fmt::format("transient failure in get {}", err_message.value_or("")))
205
- .retry());
206
- case FAIL_HARD:
207
- return op_completed_with_error(
208
- std::move(cb),
209
- transaction_operation_failed(*ec, fmt::format("fail hard in get {}", err_message.value_or(""))).no_rollback());
210
- default: {
211
- return op_completed_with_error(
212
- std::move(cb),
213
- transaction_operation_failed(FAIL_OTHER,
214
- fmt::format("error getting {} {}", id.key(), err_message.value_or(""))));
215
- }
216
- }
217
- } else {
218
- if (res) {
219
- auto err = forward_compat::check(forward_compat_stage::GETS, res->links().forward_compat());
220
- if (err) {
221
- return op_completed_with_error(std::move(cb), *err);
222
- }
223
- }
224
- return op_completed_with_callback(std::move(cb), res);
225
- }
226
- });
187
+ cache_error_async(cb, [&]() {
188
+ ensure_open_bucket(id.bucket(), [this, id, cb = std::move(cb)](std::error_code ec) mutable {
189
+ if (ec) {
190
+ return op_completed_with_error(std::move(cb), transaction_operation_failed(FAIL_OTHER, ec.message()));
191
+ }
192
+ check_if_done(cb);
193
+ do_get(id,
194
+ std::nullopt,
195
+ [this, id, cb = std::move(cb)](std::optional<error_class> ec,
196
+ std::optional<std::string> err_message,
197
+ std::optional<transaction_get_result> res) mutable {
198
+ if (!ec) {
199
+ ec = hooks_.after_get_complete(this, id.key());
200
+ }
201
+ if (ec) {
202
+ switch (*ec) {
203
+ case FAIL_EXPIRY:
204
+ return op_completed_with_error(
205
+ std::move(cb),
206
+ transaction_operation_failed(
207
+ *ec, fmt::format("transaction expired during get {}", err_message.value_or("")))
208
+ .expired());
209
+ case FAIL_DOC_NOT_FOUND:
210
+ return op_completed_with_callback(std::move(cb), std::optional<transaction_get_result>());
211
+ case FAIL_TRANSIENT:
212
+ return op_completed_with_error(
213
+ std::move(cb),
214
+ transaction_operation_failed(*ec, fmt::format("transient failure in get {}", err_message.value_or("")))
215
+ .retry());
216
+ case FAIL_HARD:
217
+ return op_completed_with_error(
218
+ std::move(cb),
219
+ transaction_operation_failed(*ec, fmt::format("fail hard in get {}", err_message.value_or("")))
220
+ .no_rollback());
221
+ default: {
222
+ return op_completed_with_error(
223
+ std::move(cb),
224
+ transaction_operation_failed(FAIL_OTHER,
225
+ fmt::format("error getting {} {}", id.key(), err_message.value_or(""))));
226
+ }
227
+ }
228
+ } else {
229
+ if (res) {
230
+ auto err = forward_compat::check(forward_compat_stage::GETS, res->links().forward_compat());
231
+ if (err) {
232
+ return op_completed_with_error(std::move(cb), *err);
233
+ }
234
+ }
235
+ return op_completed_with_callback(std::move(cb), res);
236
+ }
237
+ });
238
+ });
227
239
  });
228
240
  }
229
241
 
@@ -274,62 +286,76 @@ attempt_context_impl::create_staging_request(const core::document_id& id,
274
286
  void
275
287
  attempt_context_impl::replace_raw(const transaction_get_result& document, const std::vector<std::byte>& content, Callback&& cb)
276
288
  {
289
+
277
290
  if (op_list_.get_mode().is_query()) {
278
291
  return replace_raw_with_query(document, content, std::move(cb));
279
292
  }
280
- return cache_error_async(std::move(cb), [&]() {
281
- try {
282
- trace("replacing {} with {}", document, to_string(content));
283
- check_if_done(cb);
284
- staged_mutation* existing_sm = staged_mutations_->find_any(document.id());
285
- if (existing_sm != nullptr && existing_sm->type() == staged_mutation_type::REMOVE) {
286
- debug("found existing REMOVE of {} while replacing", document);
287
- return op_completed_with_error(
288
- std::move(cb),
289
- transaction_operation_failed(FAIL_DOC_NOT_FOUND,
290
- "cannot replace a document that has been removed in the same transaction")
291
- .cause(external_exception::DOCUMENT_NOT_FOUND_EXCEPTION));
292
- }
293
- if (check_expiry_pre_commit(STAGE_REPLACE, document.id().key())) {
294
- return op_completed_with_error(std::move(cb), transaction_operation_failed(FAIL_EXPIRY, "transaction expired").expired());
293
+ return cache_error_async(cb, [&]() {
294
+ ensure_open_bucket(document.bucket(), [this, cb = std::move(cb), document, content](std::error_code ec) mutable {
295
+ if (ec) {
296
+ return op_completed_with_error(std::move(cb), transaction_operation_failed(FAIL_OTHER, ec.message()));
295
297
  }
296
- check_and_handle_blocking_transactions(
297
- document,
298
- forward_compat_stage::WWC_REPLACING,
299
- [this, existing_sm = std::move(existing_sm), document = std::move(document), cb = std::move(cb), content](
300
- std::optional<transaction_operation_failed> e1) mutable {
301
- if (e1) {
302
- return op_completed_with_error(std::move(cb), *e1);
303
- }
304
- auto tmp_doc =
305
- document_id{ document.id().bucket(), document.id().scope(), document.id().collection(), document.id().key() };
306
- select_atr_if_needed_unlocked(
307
- tmp_doc,
308
- [this, existing_sm = std::move(existing_sm), document = std::move(document), cb = std::move(cb), content](
309
- std::optional<transaction_operation_failed> e2) mutable {
310
- if (e2) {
311
- return op_completed_with_error(std::move(cb), *e2);
312
- }
313
- if (existing_sm != nullptr && existing_sm->type() == staged_mutation_type::INSERT) {
314
- debug("found existing INSERT of {} while replacing", document);
315
- exp_delay delay(
316
- std::chrono::milliseconds(5), std::chrono::milliseconds(300), overall_.config().expiration_time());
317
- create_staged_insert(document.id(), content, existing_sm->doc().cas().value(), delay, std::move(cb));
318
- return;
319
- }
320
- create_staged_replace(document, content, std::move(cb));
321
- });
322
- });
323
- } catch (const client_error& e) {
324
- error_class ec = e.ec();
325
- switch (ec) {
326
- case FAIL_EXPIRY:
327
- expiry_overtime_mode_ = true;
328
- throw transaction_operation_failed(ec, e.what()).expired();
329
- default:
330
- throw transaction_operation_failed(ec, e.what());
298
+ try {
299
+ // a get can return a 'empty' doc, so check for that and short-circuit the eventual error that will occur...
300
+ if (document.key().empty() || document.bucket().empty()) {
301
+ return op_completed_with_error(std::move(cb),
302
+ transaction_operation_failed(FAIL_DOC_NOT_FOUND, "can't replace empty doc")
303
+ .cause(external_exception::DOCUMENT_NOT_FOUND_EXCEPTION));
304
+ }
305
+ CB_ATTEMPT_CTX_LOG_TRACE(this, "replacing {} with {}", document, to_string(content));
306
+ check_if_done(cb);
307
+ staged_mutation* existing_sm = staged_mutations_->find_any(document.id());
308
+ if (existing_sm != nullptr && existing_sm->type() == staged_mutation_type::REMOVE) {
309
+ CB_ATTEMPT_CTX_LOG_DEBUG(this, "found existing REMOVE of {} while replacing", document);
310
+ return op_completed_with_error(
311
+ std::move(cb),
312
+ transaction_operation_failed(FAIL_DOC_NOT_FOUND,
313
+ "cannot replace a document that has been removed in the same transaction")
314
+ .cause(external_exception::DOCUMENT_NOT_FOUND_EXCEPTION));
315
+ }
316
+ if (check_expiry_pre_commit(STAGE_REPLACE, document.id().key())) {
317
+ return op_completed_with_error(std::move(cb),
318
+ transaction_operation_failed(FAIL_EXPIRY, "transaction expired").expired());
319
+ }
320
+
321
+ check_and_handle_blocking_transactions(
322
+ document,
323
+ forward_compat_stage::WWC_REPLACING,
324
+ [this, existing_sm = std::move(existing_sm), document = std::move(document), cb = std::move(cb), content](
325
+ std::optional<transaction_operation_failed> e1) mutable {
326
+ if (e1) {
327
+ return op_completed_with_error(std::move(cb), *e1);
328
+ }
329
+ auto tmp_doc =
330
+ document_id{ document.id().bucket(), document.id().scope(), document.id().collection(), document.id().key() };
331
+ select_atr_if_needed_unlocked(
332
+ tmp_doc,
333
+ [this, existing_sm = std::move(existing_sm), document = std::move(document), cb = std::move(cb), content](
334
+ std::optional<transaction_operation_failed> e2) mutable {
335
+ if (e2) {
336
+ return op_completed_with_error(std::move(cb), *e2);
337
+ }
338
+ if (existing_sm != nullptr && existing_sm->type() == staged_mutation_type::INSERT) {
339
+ CB_ATTEMPT_CTX_LOG_DEBUG(this, "found existing INSERT of {} while replacing", document);
340
+ exp_delay delay(
341
+ std::chrono::milliseconds(5), std::chrono::milliseconds(300), overall_.config().expiration_time);
342
+ create_staged_insert(document.id(), content, existing_sm->doc().cas().value(), delay, std::move(cb));
343
+ return;
344
+ }
345
+ create_staged_replace(document, content, std::move(cb));
346
+ });
347
+ });
348
+ } catch (const client_error& e) {
349
+ error_class errc = e.ec();
350
+ switch (errc) {
351
+ case FAIL_EXPIRY:
352
+ expiry_overtime_mode_ = true;
353
+ throw transaction_operation_failed(errc, e.what()).expired();
354
+ default:
355
+ throw transaction_operation_failed(errc, e.what());
356
+ }
331
357
  }
332
- }
358
+ });
333
359
  });
334
360
  }
335
361
 
@@ -359,7 +385,8 @@ attempt_context_impl::create_staged_replace(const transaction_get_result& docume
359
385
  if (ec) {
360
386
  return error_handler(*ec, "before_staged_replace hook raised error", std::move(cb));
361
387
  }
362
- trace("about to replace doc {} with cas {} in txn {}", document.id(), document.cas().value(), overall_.transaction_id());
388
+ CB_ATTEMPT_CTX_LOG_TRACE(
389
+ this, "about to replace doc {} with cas {} in txn {}", document.id(), document.cas().value(), overall_.transaction_id());
363
390
  overall_.cluster_ref()->execute(
364
391
  req,
365
392
  [this, document = std::move(document), content, cb = std::move(cb), error_handler = std::move(error_handler)](
@@ -374,7 +401,7 @@ attempt_context_impl::create_staged_replace(const transaction_get_result& docume
374
401
  transaction_get_result out = document;
375
402
  out.cas(resp.cas.value());
376
403
  out.content(content);
377
- trace("replace staged content, result {}", out);
404
+ CB_ATTEMPT_CTX_LOG_TRACE(this, "replace staged content, result {}", out);
378
405
  staged_mutations_->add(staged_mutation(out, content, staged_mutation_type::REPLACE));
379
406
  return op_completed_with_callback(std::move(cb), std::optional<transaction_get_result>(out));
380
407
  });
@@ -411,68 +438,77 @@ attempt_context_impl::insert_raw(const core::document_id& id, const std::vector<
411
438
  void
412
439
  attempt_context_impl::insert_raw(const core::document_id& id, const std::vector<std::byte>& content, Callback&& cb)
413
440
  {
441
+
414
442
  if (op_list_.get_mode().is_query()) {
415
443
  return insert_raw_with_query(id, content, std::move(cb));
416
444
  }
417
- return cache_error_async(std::move(cb), [&]() mutable {
418
- try {
419
- check_if_done(cb);
420
- staged_mutation* existing_sm = staged_mutations_->find_any(id);
421
- if ((existing_sm != nullptr) &&
422
- (existing_sm->type() == staged_mutation_type::INSERT || existing_sm->type() == staged_mutation_type::REPLACE)) {
423
- debug("found existing insert or replace of {} while inserting", id);
424
- return op_completed_with_error(
425
- std::move(cb),
426
- transaction_operation_failed(FAIL_DOC_ALREADY_EXISTS, "found existing insert or replace of same document"));
445
+ return cache_error_async(cb, [&]() mutable {
446
+ ensure_open_bucket(id.bucket(), [this, id, content, cb = std::move(cb)](std::error_code ec) mutable {
447
+ if (ec) {
448
+ return op_completed_with_error(std::move(cb), transaction_operation_failed(FAIL_OTHER, ec.message()));
427
449
  }
428
- if (check_expiry_pre_commit(STAGE_INSERT, id.key())) {
429
- return op_completed_with_error(std::move(cb), transaction_operation_failed(FAIL_EXPIRY, "transaction expired").expired());
450
+ try {
451
+ check_if_done(cb);
452
+ staged_mutation* existing_sm = staged_mutations_->find_any(id);
453
+ if ((existing_sm != nullptr) &&
454
+ (existing_sm->type() == staged_mutation_type::INSERT || existing_sm->type() == staged_mutation_type::REPLACE)) {
455
+ CB_ATTEMPT_CTX_LOG_DEBUG(this, "found existing insert or replace of {} while inserting", id);
456
+ return op_completed_with_error(
457
+ std::move(cb),
458
+ transaction_operation_failed(FAIL_DOC_ALREADY_EXISTS, "found existing insert or replace of same document"));
459
+ }
460
+ if (check_expiry_pre_commit(STAGE_INSERT, id.key())) {
461
+ return op_completed_with_error(std::move(cb),
462
+ transaction_operation_failed(FAIL_EXPIRY, "transaction expired").expired());
463
+ }
464
+ select_atr_if_needed_unlocked(
465
+ id, [this, existing_sm, cb = std::move(cb), id, content](std::optional<transaction_operation_failed> err) mutable {
466
+ if (err) {
467
+ return op_completed_with_error(std::move(cb), *err);
468
+ }
469
+ if (existing_sm != nullptr && existing_sm->type() == staged_mutation_type::REMOVE) {
470
+ CB_ATTEMPT_CTX_LOG_DEBUG(this, "found existing remove of {} while inserting", id);
471
+ return create_staged_replace(existing_sm->doc(), content, std::move(cb));
472
+ }
473
+ uint64_t cas = 0;
474
+ exp_delay delay(std::chrono::milliseconds(5), std::chrono::milliseconds(300), overall_.config().expiration_time);
475
+ create_staged_insert(id, content, cas, delay, std::move(cb));
476
+ });
477
+ } catch (const std::exception& e) {
478
+ return op_completed_with_error(std::move(cb), transaction_operation_failed(FAIL_OTHER, e.what()));
430
479
  }
431
- select_atr_if_needed_unlocked(
432
- id, [this, existing_sm, cb = std::move(cb), id, content](std::optional<transaction_operation_failed> err) mutable {
433
- if (err) {
434
- return op_completed_with_error(std::move(cb), *err);
435
- }
436
- if (existing_sm != nullptr && existing_sm->type() == staged_mutation_type::REMOVE) {
437
- debug("found existing remove of {} while inserting", id);
438
- return create_staged_replace(existing_sm->doc(), content, std::move(cb));
439
- }
440
- uint64_t cas = 0;
441
- exp_delay delay(std::chrono::milliseconds(5), std::chrono::milliseconds(300), overall_.config().expiration_time());
442
- create_staged_insert(id, content, cas, delay, std::move(cb));
443
- });
444
- } catch (const std::exception& e) {
445
- return op_completed_with_error(std::move(cb), transaction_operation_failed(FAIL_OTHER, e.what()));
446
- }
480
+ });
447
481
  });
448
482
  }
449
483
 
450
484
  void
451
485
  attempt_context_impl::select_atr_if_needed_unlocked(const core::document_id id,
452
- utils::movable_function<void(std::optional<transaction_operation_failed>)>&& cb)
486
+ std::function<void(std::optional<transaction_operation_failed>)>&& cb)
453
487
  {
454
488
  try {
455
489
  std::unique_lock<std::mutex> lock(mutex_);
456
490
  if (atr_id_) {
457
- trace("atr exists, moving on");
491
+ CB_ATTEMPT_CTX_LOG_TRACE(this, "atr exists, moving on");
458
492
  return cb(std::nullopt);
459
493
  }
460
494
  std::size_t vbucket_id = 0;
461
495
  std::optional<const std::string> hook_atr = hooks_.random_atr_id_for_vbucket(this);
462
496
  if (hook_atr) {
463
- atr_id_ = overall_.config().atr_id_from_bucket_and_key(id.bucket(), hook_atr.value());
497
+ atr_id_ = atr_id_from_bucket_and_key(overall_.config(), id.bucket(), hook_atr.value());
464
498
  } else {
465
499
  vbucket_id = atr_ids::vbucket_for_key(id.key());
466
- atr_id_ = overall_.config().atr_id_from_bucket_and_key(id.bucket(), atr_ids::atr_id_for_vbucket(vbucket_id));
500
+ atr_id_ = atr_id_from_bucket_and_key(overall_.config(), id.bucket(), atr_ids::atr_id_for_vbucket(vbucket_id));
467
501
  }
468
502
  // TODO: cleanup the transaction_context - this should be set (threadsafe) from the above calls
469
503
  overall_.atr_collection(collection_spec_from_id(id));
470
504
  overall_.atr_id(atr_id_->key());
471
505
  state(attempt_state::NOT_STARTED);
472
- trace(R"(first mutated doc in transaction is "{}" on vbucket {}, so using atr "{}")", id, vbucket_id, atr_id_.value());
506
+ CB_ATTEMPT_CTX_LOG_TRACE(
507
+ this, R"(first mutated doc in transaction is "{}" on vbucket {}, so using atr "{}")", id, vbucket_id, atr_id_.value());
508
+ overall_.cleanup().add_collection({ atr_id_->bucket(), atr_id_->scope(), atr_id_->collection() });
473
509
  set_atr_pending_locked(id, std::move(lock), std::move(cb));
474
510
  } catch (const std::exception& e) {
475
- error("unexpected error \"{}\" during select atr if needed", e.what());
511
+ CB_ATTEMPT_CTX_LOG_ERROR(this, "unexpected error \"{}\" during select atr if needed", e.what());
476
512
  }
477
513
  }
478
514
  template<typename Handler, typename Delay>
@@ -494,26 +530,30 @@ attempt_context_impl::check_atr_entry_for_blocking_document(const transaction_ge
494
530
  [this, delay = std::move(delay), cb = std::move(cb), doc = std::move(doc)](std::error_code err,
495
531
  std::optional<active_transaction_record> atr) mutable {
496
532
  if (!err) {
497
- auto entries = atr->entries();
498
- auto it = std::find_if(entries.begin(), entries.end(), [&doc](const atr_entry& e) {
499
- return e.attempt_id() == doc.links().staged_attempt_id();
500
- });
501
- if (it != entries.end()) {
502
- auto fwd_err = forward_compat::check(forward_compat_stage::WWC_READING_ATR, it->forward_compat());
503
- if (fwd_err) {
504
- return cb(fwd_err);
505
- }
506
- switch (it->state()) {
507
- case attempt_state::COMPLETED:
508
- case attempt_state::ROLLED_BACK:
509
- debug("existing atr entry can be ignored due to state {}", attempt_state_name(it->state()));
510
- return cb(std::nullopt);
511
- default:
512
- debug("existing atr entry found in state {}, retrying", attempt_state_name(it->state()));
533
+ if (atr) {
534
+ auto entries = atr->entries();
535
+ auto it = std::find_if(entries.begin(), entries.end(), [&doc](const atr_entry& e) {
536
+ return e.attempt_id() == doc.links().staged_attempt_id();
537
+ });
538
+ if (it != entries.end()) {
539
+ auto fwd_err = forward_compat::check(forward_compat_stage::WWC_READING_ATR, it->forward_compat());
540
+ if (fwd_err) {
541
+ return cb(fwd_err);
542
+ }
543
+ switch (it->state()) {
544
+ case attempt_state::COMPLETED:
545
+ case attempt_state::ROLLED_BACK:
546
+ CB_ATTEMPT_CTX_LOG_DEBUG(
547
+ this, "existing atr entry can be ignored due to state {}", attempt_state_name(it->state()));
548
+ return cb(std::nullopt);
549
+ default:
550
+ CB_ATTEMPT_CTX_LOG_DEBUG(
551
+ this, "existing atr entry found in state {}, retrying", attempt_state_name(it->state()));
552
+ }
553
+ return check_atr_entry_for_blocking_document(doc, delay, std::move(cb));
513
554
  }
514
- return check_atr_entry_for_blocking_document(doc, delay, std::move(cb));
515
555
  }
516
- debug("no blocking atr entry");
556
+ CB_ATTEMPT_CTX_LOG_DEBUG(this, "no blocking atr entry");
517
557
  return cb(std::nullopt);
518
558
  }
519
559
  // if we are here, there is still a write-write conflict
@@ -526,90 +566,99 @@ attempt_context_impl::check_atr_entry_for_blocking_document(const transaction_ge
526
566
  void
527
567
  attempt_context_impl::remove(const transaction_get_result& document, VoidCallback&& cb)
528
568
  {
569
+
529
570
  if (op_list_.get_mode().is_query()) {
530
571
  return remove_with_query(document, std::move(cb));
531
572
  }
532
- return cache_error_async(std::move(cb), [&]() mutable {
573
+ return cache_error_async(cb, [&]() mutable {
533
574
  check_if_done(cb);
534
- staged_mutation* existing_sm = staged_mutations_->find_any(document.id());
535
- auto error_handler = [this](error_class ec, const std::string msg, VoidCallback&& cb) mutable {
536
- transaction_operation_failed err(ec, msg);
537
- switch (ec) {
538
- case FAIL_EXPIRY:
539
- expiry_overtime_mode_ = true;
540
- return op_completed_with_error(std::move(cb), err.expired());
541
- case FAIL_DOC_NOT_FOUND:
542
- case FAIL_DOC_ALREADY_EXISTS:
543
- case FAIL_CAS_MISMATCH:
544
- case FAIL_TRANSIENT:
545
- case FAIL_AMBIGUOUS:
546
- return op_completed_with_error(std::move(cb), err.retry());
547
- case FAIL_HARD:
548
- return op_completed_with_error(std::move(cb), err.no_rollback());
549
- default:
550
- return op_completed_with_error(std::move(cb), err);
575
+ ensure_open_bucket(document.bucket(), [this, document, cb = std::move(cb)](std::error_code ec) mutable {
576
+ if (ec) {
577
+ return op_completed_with_error(std::move(cb), transaction_operation_failed(FAIL_OTHER, ec.message()));
551
578
  }
552
- };
553
- if (check_expiry_pre_commit(STAGE_REMOVE, document.id().key())) {
554
- return error_handler(FAIL_EXPIRY, "transaction expired", std::move(cb));
555
- }
556
- debug("removing {}", document);
557
- if (existing_sm != nullptr) {
558
- if (existing_sm->type() == staged_mutation_type::REMOVE) {
559
- debug("found existing REMOVE of {} while removing", document);
560
- return op_completed_with_error(
561
- std::move(cb),
562
- transaction_operation_failed(FAIL_DOC_NOT_FOUND, "cannot remove a document that has been removed in the same transaction")
563
- .cause(external_exception::DOCUMENT_NOT_FOUND_EXCEPTION));
579
+ staged_mutation* existing_sm = staged_mutations_->find_any(document.id());
580
+ auto error_handler = [this](error_class ec, const std::string msg, VoidCallback&& cb) mutable {
581
+ transaction_operation_failed err(ec, msg);
582
+ switch (ec) {
583
+ case FAIL_EXPIRY:
584
+ expiry_overtime_mode_ = true;
585
+ return op_completed_with_error(std::move(cb), err.expired());
586
+ case FAIL_DOC_NOT_FOUND:
587
+ case FAIL_DOC_ALREADY_EXISTS:
588
+ case FAIL_CAS_MISMATCH:
589
+ case FAIL_TRANSIENT:
590
+ case FAIL_AMBIGUOUS:
591
+ return op_completed_with_error(std::move(cb), err.retry());
592
+ case FAIL_HARD:
593
+ return op_completed_with_error(std::move(cb), err.no_rollback());
594
+ default:
595
+ return op_completed_with_error(std::move(cb), err);
596
+ }
597
+ };
598
+ if (check_expiry_pre_commit(STAGE_REMOVE, document.id().key())) {
599
+ return error_handler(FAIL_EXPIRY, "transaction expired", std::move(cb));
564
600
  }
565
- if (existing_sm->type() == staged_mutation_type::INSERT) {
566
- remove_staged_insert(document.id(), std::move(cb));
567
- return;
601
+ CB_ATTEMPT_CTX_LOG_DEBUG(this, "removing {}", document);
602
+ if (existing_sm != nullptr) {
603
+ if (existing_sm->type() == staged_mutation_type::REMOVE) {
604
+ CB_ATTEMPT_CTX_LOG_DEBUG(this, "found existing REMOVE of {} while removing", document);
605
+ return op_completed_with_error(
606
+ std::move(cb),
607
+ transaction_operation_failed(FAIL_DOC_NOT_FOUND,
608
+ "cannot remove a document that has been removed in the same transaction")
609
+ .cause(external_exception::DOCUMENT_NOT_FOUND_EXCEPTION));
610
+ }
611
+ if (existing_sm->type() == staged_mutation_type::INSERT) {
612
+ remove_staged_insert(document.id(), std::move(cb));
613
+ return;
614
+ }
568
615
  }
569
- }
570
- check_and_handle_blocking_transactions(
571
- document,
572
- forward_compat_stage::WWC_REMOVING,
573
- [this, document = std::move(document), cb = std::move(cb), error_handler = std::move(error_handler)](
574
- std::optional<transaction_operation_failed> err1) mutable {
575
- if (err1) {
576
- return op_completed_with_error(std::move(cb), *err1);
577
- }
578
- auto tmp_doc = document_id{ document.id().bucket(), document.id().scope(), document.id().collection(), document.id().key() };
579
- select_atr_if_needed_unlocked(
580
- tmp_doc,
581
- [document = std::move(document), cb = std::move(cb), this, error_handler = std::move(error_handler)](
582
- std::optional<transaction_operation_failed> err2) mutable {
583
- if (err2) {
584
- return op_completed_with_error(std::move(cb), *err2);
585
- }
586
- if (auto ec = hooks_.before_staged_remove(this, document.id().key())) {
587
- return error_handler(*ec, "before_staged_remove hook raised error", std::move(cb));
588
- }
589
- trace("about to remove doc {} with cas {}", document.id(), document.cas().value());
590
- auto req = create_staging_request(document.id(), &document, "remove");
591
- req.cas = document.cas();
592
- req.access_deleted = document.links().is_deleted();
593
- overall_.cluster_ref()->execute(
594
- req,
595
- [this, document = std::move(document), cb = std::move(cb), error_handler = std::move(error_handler)](
596
- core::operations::mutate_in_response resp) mutable {
597
- auto ec = error_class_from_response(resp);
598
- if (!ec) {
599
- ec = hooks_.after_staged_remove_complete(this, document.id().key());
600
- }
601
- if (!ec) {
602
- trace("removed doc {} CAS={}, rc={}", document.id(), resp.cas.value(), resp.ctx.ec().message());
603
- // TODO: this copy... can we do better?
604
- transaction_get_result new_res = document;
605
- new_res.cas(resp.cas.value());
606
- staged_mutations_->add(staged_mutation(new_res, std::vector<std::byte>{}, staged_mutation_type::REMOVE));
607
- return op_completed_with_callback(cb);
608
- }
609
- return error_handler(*ec, resp.ctx.ec().message(), std::move(cb));
610
- });
611
- });
612
- });
616
+ check_and_handle_blocking_transactions(
617
+ document,
618
+ forward_compat_stage::WWC_REMOVING,
619
+ [this, document = std::move(document), cb = std::move(cb), error_handler = std::move(error_handler)](
620
+ std::optional<transaction_operation_failed> err1) mutable {
621
+ if (err1) {
622
+ return op_completed_with_error(std::move(cb), *err1);
623
+ }
624
+ auto tmp_doc =
625
+ document_id{ document.id().bucket(), document.id().scope(), document.id().collection(), document.id().key() };
626
+ select_atr_if_needed_unlocked(
627
+ tmp_doc,
628
+ [document = std::move(document), cb = std::move(cb), this, error_handler = std::move(error_handler)](
629
+ std::optional<transaction_operation_failed> err2) mutable {
630
+ if (err2) {
631
+ return op_completed_with_error(std::move(cb), *err2);
632
+ }
633
+ if (auto ec = hooks_.before_staged_remove(this, document.id().key())) {
634
+ return error_handler(*ec, "before_staged_remove hook raised error", std::move(cb));
635
+ }
636
+ CB_ATTEMPT_CTX_LOG_TRACE(this, "about to remove doc {} with cas {}", document.id(), document.cas().value());
637
+ auto req = create_staging_request(document.id(), &document, "remove");
638
+ req.cas = document.cas();
639
+ req.access_deleted = document.links().is_deleted();
640
+ overall_.cluster_ref()->execute(
641
+ req,
642
+ [this, document = std::move(document), cb = std::move(cb), error_handler = std::move(error_handler)](
643
+ core::operations::mutate_in_response resp) mutable {
644
+ auto ec = error_class_from_response(resp);
645
+ if (!ec) {
646
+ ec = hooks_.after_staged_remove_complete(this, document.id().key());
647
+ }
648
+ if (!ec) {
649
+ CB_ATTEMPT_CTX_LOG_TRACE(
650
+ this, "removed doc {} CAS={}, rc={}", document.id(), resp.cas.value(), resp.ctx.ec().message());
651
+ // TODO: this copy... can we do better?
652
+ transaction_get_result new_res = document;
653
+ new_res.cas(resp.cas.value());
654
+ staged_mutations_->add(staged_mutation(new_res, std::vector<std::byte>{}, staged_mutation_type::REMOVE));
655
+ return op_completed_with_callback(cb);
656
+ }
657
+ return error_handler(*ec, resp.ctx.ec().message(), std::move(cb));
658
+ });
659
+ });
660
+ });
661
+ });
613
662
  });
614
663
  }
615
664
 
@@ -621,7 +670,7 @@ attempt_context_impl::remove_staged_insert(const core::document_id& id, VoidCall
621
670
  std::move(cb), transaction_operation_failed(FAIL_EXPIRY, std::string("expired in remove_staged_insert")).no_rollback().expired());
622
671
  }
623
672
 
624
- auto error_handler = [this, cb = std::move(cb)](error_class ec, const std::string& msg) mutable {
673
+ auto error_handler = [this](error_class ec, const std::string& msg, VoidCallback&& cb) mutable {
625
674
  transaction_operation_failed err(ec, msg);
626
675
  switch (ec) {
627
676
  case FAIL_HARD:
@@ -630,11 +679,10 @@ attempt_context_impl::remove_staged_insert(const core::document_id& id, VoidCall
630
679
  return op_completed_with_error(std::move(cb), err.retry());
631
680
  }
632
681
  };
633
- debug("removing staged insert {}", id);
682
+ CB_ATTEMPT_CTX_LOG_DEBUG(this, "removing staged insert {}", id);
634
683
 
635
684
  if (auto err = hooks_.before_remove_staged_insert(this, id.key()); err) {
636
- error_handler(*err, "before_remove_staged_insert hook returned error");
637
- return;
685
+ return error_handler(*err, "before_remove_staged_insert hook returned error", std::move(cb));
638
686
  }
639
687
 
640
688
  core::operations::mutate_in_request req{ id };
@@ -646,22 +694,23 @@ attempt_context_impl::remove_staged_insert(const core::document_id& id, VoidCall
646
694
  wrap_durable_request(req, overall_.config());
647
695
  req.access_deleted = true;
648
696
 
649
- overall_.cluster_ref()->execute(
650
- req, [this, id = std::move(id), cb, error_handler = std::move(error_handler)](core::operations::mutate_in_response resp) mutable {
651
- auto ec = error_class_from_response(resp);
652
- if (!ec) {
653
- debug("remove_staged_insert got error {}", *ec);
654
-
655
- if (auto err = hooks_.after_remove_staged_insert(this, id.key()); err) {
656
- error_handler(*err, "after_remove_staged_insert hook returned error");
657
- return;
658
- }
659
- staged_mutations_->remove_any(id);
660
- op_completed_with_callback(std::move(cb));
661
- return;
662
- }
663
- return error_handler(*ec, resp.ctx.ec().message());
664
- });
697
+ overall_.cluster_ref()->execute(req,
698
+ [this, id = std::move(id), cb = std::move(cb), error_handler = std::move(error_handler)](
699
+ core::operations::mutate_in_response resp) mutable {
700
+ auto ec = error_class_from_response(resp);
701
+ if (!ec) {
702
+
703
+ if (auto err = hooks_.after_remove_staged_insert(this, id.key()); err) {
704
+ error_handler(*err, "after_remove_staged_insert hook returned error", std::move(cb));
705
+ return;
706
+ }
707
+ staged_mutations_->remove_any(id);
708
+ op_completed_with_callback(std::move(cb));
709
+ return;
710
+ }
711
+ CB_ATTEMPT_CTX_LOG_DEBUG(this, "remove_staged_insert got error {}", *ec);
712
+ return error_handler(*ec, resp.ctx.ec().message(), std::move(cb));
713
+ });
665
714
  }
666
715
 
667
716
  void
@@ -678,13 +727,28 @@ attempt_context_impl::remove(const transaction_get_result& document)
678
727
  f.get();
679
728
  }
680
729
 
681
- void
682
- attempt_context_impl::query_begin_work(utils::movable_function<void(std::exception_ptr)>&& cb)
730
+ static core::operations::query_request
731
+ wrap_query_request(const couchbase::transactions::transaction_query_options& opts, const transaction_context& txn_context)
683
732
  {
684
- // check for expiry
733
+ // build what we can directly from the options:
734
+ auto req = core::impl::build_transaction_query_request(opts.get_query_options().build());
735
+ // set timeout to remaining time plus some extra time, so we don't time out right at expiry.
736
+ auto extra = core::timeout_defaults::key_value_durable_timeout;
737
+ if (!req.scan_consistency) {
738
+ req.scan_consistency = txn_context.config().query_config.scan_consistency;
739
+ }
740
+ auto remaining = std::chrono::duration_cast<std::chrono::milliseconds>(txn_context.remaining());
741
+ req.timeout = remaining + extra + std::chrono::milliseconds(1000); // match java with 1 second over the kv durable timeout.
742
+ req.raw["txtimeout"] = fmt::format("\"{}ms\"", remaining.count());
743
+ req.timeout = std::chrono::duration_cast<std::chrono::milliseconds>(txn_context.remaining()) + extra;
744
+ return req;
745
+ }
685
746
 
747
+ void
748
+ attempt_context_impl::query_begin_work(std::optional<std::string> query_context, std::function<void(std::exception_ptr)>&& cb)
749
+ {
686
750
  // construct the txn_data and query options for the existing transaction
687
- transaction_query_options opts;
751
+ couchbase::transactions::transaction_query_options opts;
688
752
  tao::json::value txdata;
689
753
  txdata["id"] = tao::json::empty_object;
690
754
  txdata["id"]["atmpt"] = id();
@@ -693,19 +757,19 @@ attempt_context_impl::query_begin_work(utils::movable_function<void(std::excepti
693
757
  txdata["state"]["timeLeftMs"] = overall_.remaining().count() / 1000000;
694
758
  txdata["config"] = tao::json::empty_object;
695
759
  txdata["config"]["kvTimeoutMs"] =
696
- overall_.config().kv_timeout() ? overall_.config().kv_timeout()->count() : core::timeout_defaults::key_value_timeout.count();
760
+ overall_.config().kv_timeout ? overall_.config().kv_timeout->count() : core::timeout_defaults::key_value_timeout.count();
697
761
  txdata["config"]["numAtrs"] = 1024;
698
762
  opts.raw("numatrs", jsonify(1024));
699
- txdata["config"]["durabilityLevel"] = durability_level_to_string(overall_.config().durability_level());
700
- opts.raw("durability_level", jsonify(durability_level_to_string_for_query(overall_.config().durability_level())));
763
+ txdata["config"]["durabilityLevel"] = durability_level_to_string(overall_.config().level);
764
+ opts.raw("durability_level", durability_level_to_string_for_query(overall_.config().level));
701
765
  if (atr_id_) {
702
766
  txdata["atr"] = tao::json::empty_object;
703
767
  txdata["atr"]["scp"] = atr_id_->scope();
704
768
  txdata["atr"]["coll"] = atr_id_->collection();
705
769
  txdata["atr"]["bkt"] = atr_id_->bucket();
706
770
  txdata["atr"]["id"] = atr_id_->key();
707
- } else if (overall_.config().custom_metadata_collection()) {
708
- auto id = overall_.config().atr_id_from_bucket_and_key("", "");
771
+ } else if (overall_.config().metadata_collection) {
772
+ auto id = atr_id_from_bucket_and_key(overall_.config(), "", "");
709
773
  txdata["atr"] = tao::json::empty_object;
710
774
  txdata["atr"]["scp"] = id.scope();
711
775
  txdata["atr"]["coll"] = id.collection();
@@ -727,30 +791,71 @@ attempt_context_impl::query_begin_work(utils::movable_function<void(std::excepti
727
791
  }
728
792
  txdata["mutations"] = mutations;
729
793
  std::vector<core::json_string> params;
730
- trace("begin_work using txdata: {}", core::utils::json::generate(txdata));
794
+ CB_ATTEMPT_CTX_LOG_TRACE(this, "begin_work using txdata: {}", core::utils::json::generate(txdata));
731
795
  wrap_query(BEGIN_WORK,
732
796
  opts,
733
797
  params,
734
798
  txdata,
735
799
  STAGE_QUERY_BEGIN_WORK,
736
- true,
800
+ false,
801
+ query_context,
737
802
  [this, cb = std::move(cb)](std::exception_ptr err, core::operations::query_response resp) mutable {
738
- trace("begin_work setting query node to {}", resp.served_by_node);
739
- op_list_.set_query_node(resp.served_by_node);
803
+ if (resp.served_by_node.empty()) {
804
+ CB_ATTEMPT_CTX_LOG_TRACE(this, "begin_work didn't reach a query node, resetting mode to kv");
805
+ op_list_.reset_query_mode();
806
+ } else {
807
+ CB_ATTEMPT_CTX_LOG_TRACE(this, "begin_work setting query node to {}", resp.served_by_node);
808
+ op_list_.set_query_node(resp.served_by_node);
809
+ }
810
+ // we check for expiry _after_ this call, so we always set the query node if we can.
811
+ if (has_expired_client_side(STAGE_QUERY_BEGIN_WORK, {})) {
812
+ return cb(std::make_exception_ptr(
813
+ transaction_operation_failed(FAIL_EXPIRY, "expired in BEGIN WORK").no_rollback().expired()));
814
+ }
740
815
  return cb(err);
741
816
  });
742
817
  }
743
818
 
819
+ tao::json::value
820
+ choose_error(std::vector<tao::json::value>& errors)
821
+ {
822
+ auto chosen_error = errors.front();
823
+ if (errors.size() > 1) {
824
+ // if there's one with a "reason":{"cause", ...} field, choose it
825
+ for (const auto& e : errors) {
826
+ auto reason = e.find("reason");
827
+ auto cause = e.find("cause");
828
+ if (reason && !reason->is_null() && cause && !cause->is_null()) {
829
+ return e;
830
+ }
831
+ }
832
+ // ok, so now lets see if we have one with code in the range 17000-18000 and return that.
833
+ for (const auto& e : errors) {
834
+ auto code = e.at("code").as<uint64_t>();
835
+ if (code >= 17000 && code <= 18000) {
836
+ return e;
837
+ }
838
+ }
839
+ }
840
+ // then, just the first one.
841
+ return chosen_error;
842
+ }
843
+
744
844
  std::exception_ptr
745
845
  attempt_context_impl::handle_query_error(const core::operations::query_response& resp)
746
846
  {
747
847
  if (!resp.ctx.ec && !resp.meta.errors) {
748
848
  return {};
749
849
  }
850
+ auto tx_resp = couchbase::core::impl::build_transaction_query_result(resp);
750
851
  // TODO: look at ambiguous and unambiguous timeout errors vs the codes, etc...
751
- trace("handling query error {}, {} errors in meta_data", resp.ctx.ec.message(), resp.meta.errors ? "has" : "no");
852
+ CB_ATTEMPT_CTX_LOG_TRACE(
853
+ this, "handling query error {}, {} errors in meta_data", resp.ctx.ec.message(), resp.meta.errors ? "has" : "no");
752
854
  if (resp.ctx.ec == couchbase::errc::common::ambiguous_timeout || resp.ctx.ec == couchbase::errc::common::unambiguous_timeout) {
753
- return std::make_exception_ptr(query_attempt_expired(resp.ctx.ec.message()));
855
+ return std::make_exception_ptr(query_attempt_expired(tx_resp.ctx()));
856
+ }
857
+ if (resp.ctx.ec == couchbase::errc::common::parsing_failure) {
858
+ return std::make_exception_ptr(query_parsing_failure(tx_resp.ctx()));
754
859
  }
755
860
  if (!resp.meta.errors) {
756
861
  // can't choose an error, map using the ec...
@@ -758,77 +863,84 @@ attempt_context_impl::handle_query_error(const core::operations::query_response&
758
863
  (resp.ctx.ec == couchbase::errc::common::service_not_available ? SERVICE_NOT_AVAILABLE_EXCEPTION : COUCHBASE_EXCEPTION);
759
864
  return std::make_exception_ptr(transaction_operation_failed(FAIL_OTHER, resp.ctx.ec.message()).cause(cause));
760
865
  }
761
- auto chosen_error = resp.meta.errors->front();
762
- for (const auto& err : *resp.meta.errors) {
763
- if (err.code >= 17000 && err.code <= 18000) {
764
- chosen_error = err;
765
- break;
766
- }
767
- }
768
- trace("chosen query error ({}):'{}'", chosen_error.code, chosen_error.message);
769
- switch (chosen_error.code) {
866
+ // TODO: we should have all the fields in these transactional query errors in the errors object. For now, lets
867
+ // parse the body, get the serialized info to decide which error to choose.
868
+ auto errors = core::utils::json::parse(resp.ctx.http_body)["errors"].get_array();
869
+
870
+ // just chose first one, to start with...
871
+ auto chosen_error = choose_error(errors);
872
+ CB_ATTEMPT_CTX_LOG_TRACE(this, "chosen query error: {}", jsonify(chosen_error));
873
+ auto code = chosen_error.at("code").as<uint64_t>();
874
+
875
+ // we have a fixed strategy for these errors...
876
+ switch (code) {
770
877
  case 1065:
771
878
  return std::make_exception_ptr(
772
879
  transaction_operation_failed(FAIL_OTHER, "N1QL Queries in transactions are supported in couchbase server 7.0 and later")
773
880
  .cause(FEATURE_NOT_AVAILABLE_EXCEPTION));
774
- case 3000:
775
- return std::make_exception_ptr(query_parsing_failure(chosen_error.message));
881
+ case 1197:
882
+ return std::make_exception_ptr(
883
+ transaction_operation_failed(FAIL_OTHER, "This couchbase server requires all queries use a scope.")
884
+ .cause(FEATURE_NOT_AVAILABLE_EXCEPTION));
776
885
  case 17004:
777
- return std::make_exception_ptr(query_attempt_not_found(chosen_error.message));
886
+ return std::make_exception_ptr(query_attempt_not_found(tx_resp.ctx()));
778
887
  case 1080:
779
888
  case 17010:
780
- return std::make_exception_ptr(transaction_operation_failed(FAIL_EXPIRY, "transaction expired"));
889
+ return std::make_exception_ptr(transaction_operation_failed(FAIL_EXPIRY, "transaction expired").expired());
781
890
  case 17012:
782
- return std::make_exception_ptr(query_document_exists(chosen_error.message));
891
+ return std::make_exception_ptr(document_exists(tx_resp.ctx()));
783
892
  case 17014:
784
- return std::make_exception_ptr(query_document_not_found(chosen_error.message));
893
+ return std::make_exception_ptr(document_not_found(tx_resp.ctx()));
785
894
  case 17015:
786
- return std::make_exception_ptr(query_cas_mismatch(chosen_error.message));
895
+ return std::make_exception_ptr(query_cas_mismatch(tx_resp.ctx()));
787
896
  }
788
- if (chosen_error.code >= 17000 && chosen_error.code <= 18000) {
789
- transaction_operation_failed err(FAIL_OTHER, chosen_error.message);
897
+
898
+ // For these errors, we will create a transaction_operation_failed from the info in it.
899
+ if (code >= 17000 && code <= 18000) {
900
+ // the assumption below is there's always a top-level msg.
901
+ // TODO: when we parse the errors more thoroughly in the client, we should be able to add a lot of info on the underlying
902
+ // cause of the error here (in addition to perhaps a more granular message).
903
+ transaction_operation_failed err(FAIL_OTHER, chosen_error.at("msg").as<std::string>());
790
904
  // parse the body for now, get the serialized info to create a transaction_operation_failed:
791
- auto body = core::utils::json::parse(resp.ctx.http_body);
792
- auto errors = body["errors"];
793
- for (const auto& e : errors.get_array()) {
794
- if (e.at("code").as<std::uint64_t>() == chosen_error.code) {
795
- if (const auto* cause = e.find("cause"); cause != nullptr) {
796
- if (cause->at("retry").get_boolean()) {
797
- err.retry();
798
- }
799
- if (!cause->at("rollback").get_boolean()) {
800
- err.no_rollback();
801
- }
802
- if (auto raise = cause->at("raise").get_string(); raise == std::string("expired")) {
803
- err.expired();
804
- } else if (raise == std::string("commit_ambiguous")) {
805
- err.ambiguous();
806
- } else if (raise == std::string("failed_post_commit")) {
807
- err.failed_post_commit();
808
- } else if (raise != std::string("failed")) {
809
- trace("unknown value in raise field: {}, raising failed", raise);
810
- }
811
- return std::make_exception_ptr(err);
812
- }
905
+ if (const auto* cause = chosen_error.find("cause"); cause != nullptr) {
906
+ if (cause->find("retry")->get_boolean()) {
907
+ err.retry();
908
+ }
909
+ if (!cause->find("rollback")->get_boolean()) {
910
+ err.no_rollback();
911
+ }
912
+ if (auto raise = cause->find("raise")->get_string(); raise == std::string("expired")) {
913
+ err.expired();
914
+ } else if (raise == std::string("commit_ambiguous")) {
915
+ err.ambiguous();
916
+ } else if (raise == std::string("failed_post_commit")) {
917
+ err.failed_post_commit();
918
+ } else if (raise != std::string("failed")) {
919
+ CB_ATTEMPT_CTX_LOG_TRACE(this, "unknown value in raise field: {}, raising failed", raise);
813
920
  }
921
+ return std::make_exception_ptr(err);
814
922
  }
815
923
  }
816
924
 
817
- return { std::make_exception_ptr(query_exception(chosen_error.message)) };
925
+ return { std::make_exception_ptr(op_exception(tx_resp.ctx())) };
818
926
  }
819
927
 
820
928
  void
821
- attempt_context_impl::do_query(const std::string& statement, const transaction_query_options& opts, QueryCallback&& cb)
929
+ attempt_context_impl::do_query(const std::string& statement,
930
+ const couchbase::transactions::transaction_query_options& opts,
931
+ std::optional<std::string> query_context,
932
+ QueryCallback&& cb)
822
933
  {
823
934
  std::vector<core::json_string> params;
824
935
  tao::json::value txdata;
825
- trace("do_query called with statement {}", statement);
936
+ CB_ATTEMPT_CTX_LOG_TRACE(this, "do_query called with statement {}", statement);
826
937
  wrap_query(statement,
827
938
  opts,
828
939
  params,
829
940
  txdata,
830
941
  STAGE_QUERY,
831
942
  true,
943
+ query_context,
832
944
  [this, cb = std::move(cb)](std::exception_ptr err, core::operations::query_response resp) mutable {
833
945
  if (err) {
834
946
  return op_completed_with_error(std::move(cb), err);
@@ -855,14 +967,15 @@ dump_request(const core::operations::query_request& req)
855
967
  }
856
968
  void
857
969
  attempt_context_impl::wrap_query(const std::string& statement,
858
- const transaction_query_options& opts,
970
+ const couchbase::transactions::transaction_query_options& opts,
859
971
  const std::vector<core::json_string>& params,
860
972
  const tao::json::value& txdata,
861
973
  const std::string& hook_point,
862
974
  bool check_expiry,
863
- utils::movable_function<void(std::exception_ptr, core::operations::query_response)>&& cb)
975
+ std::optional<std::string> query_context,
976
+ std::function<void(std::exception_ptr, core::operations::query_response)>&& cb)
864
977
  {
865
- auto req = opts.wrap_request(overall_);
978
+ auto req = wrap_query_request(opts, overall_);
866
979
  if (statement != BEGIN_WORK) {
867
980
  auto mode = op_list_.get_mode();
868
981
  assert(mode.is_query());
@@ -870,6 +983,13 @@ attempt_context_impl::wrap_query(const std::string& statement,
870
983
  req.send_to_node = op_list_.get_mode().query_node;
871
984
  }
872
985
  }
986
+ // set the query_context, if one has been set, unless this query already has one
987
+ if (!query_context && !query_context_.empty()) {
988
+ req.query_context = query_context_;
989
+ } else if (query_context) {
990
+ req.query_context = query_context;
991
+ }
992
+
873
993
  if (check_expiry) {
874
994
  if (has_expired_client_side(hook_point, std::nullopt)) {
875
995
  auto err = std::make_exception_ptr(
@@ -897,9 +1017,9 @@ attempt_context_impl::wrap_query(const std::string& statement,
897
1017
  }
898
1018
  return cb(std::make_exception_ptr(transaction_operation_failed(*ec, "before_query hook raised error")), {});
899
1019
  }
900
- trace("http request: {}", dump_request(req));
1020
+ CB_ATTEMPT_CTX_LOG_TRACE(this, "http request: {}", dump_request(req));
901
1021
  overall_.cluster_ref()->execute(req, [this, cb = std::move(cb)](core::operations::query_response resp) mutable {
902
- trace("response: {} status: {}", resp.ctx.http_body, resp.meta.status);
1022
+ CB_ATTEMPT_CTX_LOG_TRACE(this, "response: {} status: {}", resp.ctx.http_body, resp.meta.status);
903
1023
  if (auto ec = hooks_.after_query(this, resp.ctx.statement)) {
904
1024
  auto err = std::make_exception_ptr(transaction_operation_failed(*ec, "after_query hook raised error"));
905
1025
  return cb(err, {});
@@ -909,30 +1029,40 @@ attempt_context_impl::wrap_query(const std::string& statement,
909
1029
  }
910
1030
 
911
1031
  void
912
- attempt_context_impl::query(const std::string& statement, const transaction_query_options& options, QueryCallback&& cb)
1032
+ attempt_context_impl::query(const std::string& statement,
1033
+ const couchbase::transactions::transaction_query_options& options,
1034
+ std::optional<std::string> query_context,
1035
+ QueryCallback&& cb)
913
1036
  {
914
- return cache_error_async(std::move(cb), [&]() {
1037
+ return cache_error_async(cb, [&]() {
915
1038
  check_if_done(cb);
916
1039
  // decrement in_flight, as we just incremented it in cache_error_async.
917
1040
  op_list_.set_query_mode(
918
- [this, statement, options, cb]() mutable {
919
- query_begin_work([this, statement, options, cb = std::move(cb)](std::exception_ptr err) mutable {
920
- if (err) {
921
- return op_completed_with_error(std::move(cb), err);
922
- }
923
- return do_query(statement, options, std::move(cb));
924
- });
1041
+ [this, statement, options, query_context, cb]() mutable {
1042
+ // set query context if set
1043
+ if (query_context) {
1044
+ query_context_ = query_context.value();
1045
+ }
1046
+ query_begin_work(query_context,
1047
+ [this, statement, query_context, options, cb = std::move(cb)](std::exception_ptr err) mutable {
1048
+ if (err) {
1049
+ return op_completed_with_error(std::move(cb), err);
1050
+ }
1051
+ return do_query(statement, options, query_context, std::move(cb));
1052
+ });
925
1053
  },
926
- [this, statement = std::move(statement), options, cb]() mutable { return do_query(statement, options, std::move(cb)); });
1054
+ [this, statement, options, query_context, cb]() mutable { return do_query(statement, options, query_context, std::move(cb)); });
927
1055
  });
928
1056
  }
929
1057
 
930
1058
  core::operations::query_response
931
- attempt_context_impl::query(const std::string& statement, const transaction_query_options& options)
1059
+ attempt_context_impl::do_core_query(const std::string& statement,
1060
+ const couchbase::transactions::transaction_query_options& options,
1061
+ std::optional<std::string> query_context)
932
1062
  {
933
1063
  auto barrier = std::make_shared<std::promise<core::operations::query_response>>();
934
1064
  auto f = barrier->get_future();
935
- query(statement, options, [barrier](std::exception_ptr err, std::optional<core::operations::query_response> resp) {
1065
+ query(statement, options, query_context, [barrier](std::exception_ptr err, std::optional<core::operations::query_response> resp) {
936
1066
  if (err) {
937
1067
  return barrier->set_exception(err);
938
1068
  }
@@ -941,6 +1071,25 @@ attempt_context_impl::query(const std::string& statement, const transaction_quer
941
1071
  return f.get();
942
1072
  }
943
1073
 
1074
+ couchbase::transactions::transaction_query_result_ptr
1075
+ attempt_context_impl::do_public_query(const std::string& statement,
1076
+ const couchbase::transactions::transaction_query_options& opts,
1077
+ std::optional<std::string> query_context)
1078
+ {
1079
+ try {
1080
+ auto result = do_core_query(statement, opts, query_context);
1081
+ return std::make_shared<couchbase::transactions::transaction_query_result>(core::impl::build_transaction_query_result(result));
1082
+ } catch (const transaction_operation_failed& e) {
1083
+ return std::make_shared<couchbase::transactions::transaction_query_result>(e.get_error_ctx());
1084
+ } catch (const op_exception& qe) {
1085
+ return std::make_shared<couchbase::transactions::transaction_query_result>(qe.ctx());
1086
+ } catch (...) {
1087
+ // should not be necessary, but just in case...
1088
+ transaction_op_error_context ctx(couchbase::errc::transaction_op::unknown);
1089
+ return std::make_shared<couchbase::transactions::transaction_query_result>(ctx);
1090
+ }
1091
+ }
1092
+
944
1093
  std::vector<core::json_string>
945
1094
  make_params(const core::document_id& id, std::optional<std::vector<std::byte>> content)
946
1095
  {
@@ -971,9 +1120,9 @@ make_kv_txdata(std::optional<transaction_get_result> doc = std::nullopt)
971
1120
  void
972
1121
  attempt_context_impl::get_with_query(const core::document_id& id, bool optional, Callback&& cb)
973
1122
  {
974
- cache_error_async(std::move(cb), [&]() {
1123
+ cache_error_async(cb, [&]() {
975
1124
  auto params = make_params(id, {});
976
- transaction_query_options opts;
1125
+ couchbase::transactions::transaction_query_options opts;
977
1126
  opts.readonly(true);
978
1127
  return wrap_query(KV_GET,
979
1128
  opts,
@@ -981,6 +1130,7 @@ attempt_context_impl::get_with_query(const core::document_id& id, bool optional,
981
1130
  make_kv_txdata(),
982
1131
  STAGE_QUERY_KV_GET,
983
1132
  true,
1133
+ {},
984
1134
  [this, id, optional, cb = std::move(cb)](std::exception_ptr err, core::operations::query_response resp) mutable {
985
1135
  if (resp.ctx.ec == couchbase::errc::key_value::document_not_found) {
986
1136
  return op_completed_with_callback(std::move(cb), std::optional<transaction_get_result>());
@@ -989,10 +1139,10 @@ attempt_context_impl::get_with_query(const core::document_id& id, bool optional,
989
1139
  // make a transaction_get_result from the row...
990
1140
  try {
991
1141
  if (resp.rows.empty()) {
992
- trace("get_with_query got no doc and no error, returning query_document_not_found");
993
- return op_completed_with_error(std::move(cb), query_document_not_found("doc not found"));
1142
+ return op_completed_with_error(
1143
+ std::move(cb), transaction_operation_failed(FAIL_DOC_NOT_FOUND, "document not found"));
994
1144
  }
995
- trace("get_with_query got: {}", resp.rows.front());
1145
+ CB_ATTEMPT_CTX_LOG_TRACE(this, "get_with_query got: {}", resp.rows.front());
996
1146
  transaction_get_result doc(id, core::utils::json::parse(resp.rows.front()));
997
1147
  return op_completed_with_callback(std::move(cb), std::optional<transaction_get_result>(doc));
998
1148
  } catch (const std::exception& e) {
@@ -1004,7 +1154,7 @@ attempt_context_impl::get_with_query(const core::document_id& id, bool optional,
1004
1154
  if (optional) {
1005
1155
  try {
1006
1156
  std::rethrow_exception(err);
1007
- } catch (const query_document_not_found&) {
1157
+ } catch (const document_not_found&) {
1008
1158
  return op_completed_with_callback(std::move(cb), std::optional<transaction_get_result>());
1009
1159
  } catch (...) {
1010
1160
  return op_completed_with_error(std::move(cb), std::current_exception());
@@ -1018,24 +1168,26 @@ attempt_context_impl::get_with_query(const core::document_id& id, bool optional,
1018
1168
  void
1019
1169
  attempt_context_impl::insert_raw_with_query(const core::document_id& id, const std::vector<std::byte>& content, Callback&& cb)
1020
1170
  {
1021
- cache_error_async(std::move(cb), [&]() {
1171
+ cache_error_async(cb, [&]() {
1022
1172
  std::vector<std::byte> content_copy = content;
1023
1173
  auto params = make_params(id, std::move(content_copy));
1024
- transaction_query_options opts;
1174
+ couchbase::transactions::transaction_query_options opts;
1025
1175
  return wrap_query(KV_INSERT,
1026
1176
  opts,
1027
1177
  params,
1028
1178
  make_kv_txdata(),
1029
1179
  STAGE_QUERY_KV_INSERT,
1030
1180
  true,
1181
+ {},
1031
1182
  [this, id, cb = std::move(cb)](std::exception_ptr err, core::operations::query_response resp) mutable {
1032
1183
  if (err) {
1033
1184
  try {
1034
1185
  std::rethrow_exception(err);
1035
1186
  } catch (const transaction_operation_failed&) {
1036
1187
  return op_completed_with_error(std::move(cb), err);
1037
- } catch (const query_document_exists& e) {
1038
- return op_completed_with_error(std::move(cb), e);
1188
+
1189
+ } catch (const document_exists& ex) {
1190
+ return op_completed_with_error(std::move(cb), ex);
1039
1191
  } catch (const std::exception& e) {
1040
1192
  return op_completed_with_error(std::move(cb), transaction_operation_failed(FAIL_OTHER, e.what()));
1041
1193
  } catch (...) {
@@ -1045,7 +1197,7 @@ attempt_context_impl::insert_raw_with_query(const core::document_id& id, const s
1045
1197
  }
1046
1198
  // make a transaction_get_result from the row...
1047
1199
  try {
1048
- trace("insert_raw_with_query got: {}", resp.rows.front());
1200
+ CB_ATTEMPT_CTX_LOG_TRACE(this, "insert_raw_with_query got: {}", resp.rows.front());
1049
1201
  transaction_get_result doc(id, core::utils::json::parse(resp.rows.front()));
1050
1202
  return op_completed_with_callback(std::move(cb), std::optional<transaction_get_result>(doc));
1051
1203
  } catch (const std::exception& e) {
@@ -1059,10 +1211,10 @@ attempt_context_impl::insert_raw_with_query(const core::document_id& id, const s
1059
1211
  void
1060
1212
  attempt_context_impl::replace_raw_with_query(const transaction_get_result& document, const std::vector<std::byte>& content, Callback&& cb)
1061
1213
  {
1062
- cache_error_async(std::move(cb), [&]() {
1214
+ cache_error_async(cb, [&]() {
1063
1215
  std::vector<std::byte> content_copy = content;
1064
1216
  auto params = make_params(document.id(), std::move(content_copy));
1065
- transaction_query_options opts;
1217
+ couchbase::transactions::transaction_query_options opts;
1066
1218
  return wrap_query(
1067
1219
  KV_REPLACE,
1068
1220
  opts,
@@ -1070,13 +1222,14 @@ attempt_context_impl::replace_raw_with_query(const transaction_get_result& docum
1070
1222
  make_kv_txdata(document),
1071
1223
  STAGE_QUERY_KV_REPLACE,
1072
1224
  true,
1225
+ {},
1073
1226
  [this, id = document.id(), cb = std::move(cb)](std::exception_ptr err, core::operations::query_response resp) mutable {
1074
1227
  if (err) {
1075
1228
  try {
1076
1229
  std::rethrow_exception(err);
1077
1230
  } catch (const query_cas_mismatch& e) {
1078
1231
  return op_completed_with_error(std::move(cb), transaction_operation_failed(FAIL_CAS_MISMATCH, e.what()).retry());
1079
- } catch (const query_document_not_found& e) {
1232
+ } catch (const document_not_found& e) {
1080
1233
  return op_completed_with_error(std::move(cb), transaction_operation_failed(FAIL_DOC_NOT_FOUND, e.what()).retry());
1081
1234
  } catch (const transaction_operation_failed& e) {
1082
1235
  return op_completed_with_error(std::move(cb), e);
@@ -1088,7 +1241,7 @@ attempt_context_impl::replace_raw_with_query(const transaction_get_result& docum
1088
1241
  }
1089
1242
  // make a transaction_get_result from the row...
1090
1243
  try {
1091
- trace("replace_raw_with_query got: {}", resp.rows.front());
1244
+ CB_ATTEMPT_CTX_LOG_TRACE(this, "replace_raw_with_query got: {}", resp.rows.front());
1092
1245
  transaction_get_result doc(id, core::utils::json::parse(resp.rows.front()));
1093
1246
  return op_completed_with_callback(std::move(cb), std::optional<transaction_get_result>(doc));
1094
1247
  } catch (const std::exception& e) {
@@ -1102,9 +1255,9 @@ attempt_context_impl::replace_raw_with_query(const transaction_get_result& docum
1102
1255
  void
1103
1256
  attempt_context_impl::remove_with_query(const transaction_get_result& document, VoidCallback&& cb)
1104
1257
  {
1105
- cache_error_async(std::move(cb), [&]() {
1258
+ cache_error_async(cb, [&]() {
1106
1259
  auto params = make_params(document.id(), {});
1107
- transaction_query_options opts;
1260
+ couchbase::transactions::transaction_query_options opts;
1108
1261
  return wrap_query(
1109
1262
  KV_REMOVE,
1110
1263
  opts,
@@ -1112,13 +1265,14 @@ attempt_context_impl::remove_with_query(const transaction_get_result& document,
1112
1265
  make_kv_txdata(document),
1113
1266
  STAGE_QUERY_KV_REMOVE,
1114
1267
  true,
1268
+ {},
1115
1269
  [this, id = document.id(), cb = std::move(cb)](std::exception_ptr err, core::operations::query_response /* resp */) mutable {
1116
1270
  if (err) {
1117
1271
  try {
1118
1272
  std::rethrow_exception(err);
1119
1273
  } catch (const transaction_operation_failed& e) {
1120
1274
  return op_completed_with_error(std::move(cb), e);
1121
- } catch (const query_document_not_found& e) {
1275
+ } catch (const document_not_found& e) {
1122
1276
  return op_completed_with_error(std::move(cb), transaction_operation_failed(FAIL_DOC_NOT_FOUND, e.what()).retry());
1123
1277
  } catch (const query_cas_mismatch& e) {
1124
1278
  return op_completed_with_error(std::move(cb), transaction_operation_failed(FAIL_CAS_MISMATCH, e.what()).retry());
@@ -1138,8 +1292,8 @@ void
1138
1292
  attempt_context_impl::commit_with_query(VoidCallback&& cb)
1139
1293
  {
1140
1294
  core::operations::query_request req;
1141
- trace("commit_with_query called");
1142
- transaction_query_options opts;
1295
+ CB_ATTEMPT_CTX_LOG_TRACE(this, "commit_with_query called");
1296
+ couchbase::transactions::transaction_query_options opts;
1143
1297
  std::vector<core::json_string> params;
1144
1298
  wrap_query(
1145
1299
  COMMIT,
@@ -1148,6 +1302,7 @@ attempt_context_impl::commit_with_query(VoidCallback&& cb)
1148
1302
  make_kv_txdata(std::nullopt),
1149
1303
  STAGE_QUERY_COMMIT,
1150
1304
  true,
1305
+ {},
1151
1306
  [this, cb = std::move(cb)](std::exception_ptr err, core::operations::query_response /* resp */) mutable {
1152
1307
  is_done_ = true;
1153
1308
  if (err) {
@@ -1157,9 +1312,9 @@ attempt_context_impl::commit_with_query(VoidCallback&& cb)
1157
1312
  return cb(std::current_exception());
1158
1313
  } catch (const query_attempt_expired& e) {
1159
1314
  return cb(std::make_exception_ptr(transaction_operation_failed(FAIL_EXPIRY, e.what()).ambiguous().no_rollback()));
1160
- } catch (const query_document_not_found& e) {
1315
+ } catch (const document_not_found& e) {
1161
1316
  return cb(std::make_exception_ptr(transaction_operation_failed(FAIL_DOC_NOT_FOUND, e.what()).no_rollback()));
1162
- } catch (const query_document_exists& e) {
1317
+ } catch (const document_exists& e) {
1163
1318
  return cb(std::make_exception_ptr(transaction_operation_failed(FAIL_DOC_ALREADY_EXISTS, e.what()).no_rollback()));
1164
1319
  } catch (const query_cas_mismatch& e) {
1165
1320
  return cb(std::make_exception_ptr(transaction_operation_failed(FAIL_CAS_MISMATCH, e.what()).no_rollback()));
@@ -1175,8 +1330,8 @@ void
1175
1330
  attempt_context_impl::rollback_with_query(VoidCallback&& cb)
1176
1331
  {
1177
1332
  core::operations::query_request req;
1178
- trace("rollback_with_query called");
1179
- transaction_query_options opts;
1333
+ CB_ATTEMPT_CTX_LOG_TRACE(this, "rollback_with_query called");
1334
+ couchbase::transactions::transaction_query_options opts;
1180
1335
  std::vector<core::json_string> params;
1181
1336
  wrap_query(ROLLBACK,
1182
1337
  opts,
@@ -1184,6 +1339,7 @@ attempt_context_impl::rollback_with_query(VoidCallback&& cb)
1184
1339
  make_kv_txdata(std::nullopt),
1185
1340
  STAGE_QUERY_ROLLBACK,
1186
1341
  true,
1342
+ {},
1187
1343
  [this, cb = std::move(cb)](std::exception_ptr err, core::operations::query_response /* resp */) mutable {
1188
1344
  is_done_ = true;
1189
1345
  if (err) {
@@ -1192,13 +1348,14 @@ attempt_context_impl::rollback_with_query(VoidCallback&& cb)
1192
1348
  } catch (const transaction_operation_failed&) {
1193
1349
  return cb(std::current_exception());
1194
1350
  } catch (const query_attempt_not_found& e) {
1195
- debug("got query_attempt_not_found, assuming query was already rolled back successfullly: {}", e.what());
1351
+ CB_ATTEMPT_CTX_LOG_DEBUG(
1352
+ this, "got query_attempt_not_found, assuming query was already rolled back successfullly: {}", e.what());
1196
1353
  } catch (const std::exception& e) {
1197
1354
  return cb(std::make_exception_ptr(transaction_operation_failed(FAIL_OTHER, e.what()).no_rollback()));
1198
1355
  }
1199
1356
  }
1200
1357
  state(attempt_state::ROLLED_BACK);
1201
- trace("rollback successful");
1358
+ CB_ATTEMPT_CTX_LOG_TRACE(this, "rollback successful");
1202
1359
  return cb({});
1203
1360
  });
1204
1361
  }
@@ -1228,7 +1385,7 @@ attempt_context_impl::atr_commit(bool ambiguity_resolution_mode)
1228
1385
  staged_mutations_->extract_to(prefix, req);
1229
1386
  auto barrier = std::make_shared<std::promise<result>>();
1230
1387
  auto f = barrier->get_future();
1231
- trace("updating atr {}", req.id);
1388
+ CB_ATTEMPT_CTX_LOG_TRACE(this, "updating atr {}, setting to {}", req.id, attempt_state_name(attempt_state::COMMITTED));
1232
1389
  overall_.cluster_ref()->execute(
1233
1390
  req, [barrier](core::operations::mutate_in_response resp) { barrier->set_value(result::create_from_subdoc_response(resp)); });
1234
1391
  auto res = wrap_operation_future(f, false);
@@ -1251,7 +1408,7 @@ attempt_context_impl::atr_commit(bool ambiguity_resolution_mode)
1251
1408
  throw out;
1252
1409
  }
1253
1410
  case FAIL_AMBIGUOUS:
1254
- debug("atr_commit got FAIL_AMBIGUOUS, resolving ambiguity...");
1411
+ CB_ATTEMPT_CTX_LOG_DEBUG(this, "atr_commit got FAIL_AMBIGUOUS, resolving ambiguity...");
1255
1412
  ambiguity_resolution_mode = true;
1256
1413
  throw retry_operation(e.what());
1257
1414
  case FAIL_TRANSIENT:
@@ -1297,11 +1454,12 @@ attempt_context_impl::atr_commit(bool ambiguity_resolution_mode)
1297
1454
  throw out;
1298
1455
  }
1299
1456
  default: {
1300
- error("failed to commit transaction {}, attempt {}, ambiguity_resolution_mode {}, with error {}",
1301
- transaction_id(),
1302
- id(),
1303
- ambiguity_resolution_mode,
1304
- e.what());
1457
+ CB_ATTEMPT_CTX_LOG_ERROR(this,
1458
+ "failed to commit transaction {}, attempt {}, ambiguity_resolution_mode {}, with error {}",
1459
+ transaction_id(),
1460
+ id(),
1461
+ ambiguity_resolution_mode,
1462
+ e.what());
1305
1463
  auto out = transaction_operation_failed(ec, e.what());
1306
1464
  if (ambiguity_resolution_mode) {
1307
1465
  out.no_rollback().ambiguous();
@@ -1334,7 +1492,7 @@ attempt_context_impl::atr_commit_ambiguity_resolution()
1334
1492
  req, [barrier](core::operations::lookup_in_response resp) { barrier->set_value(result::create_from_subdoc_response(resp)); });
1335
1493
  auto res = wrap_operation_future(f);
1336
1494
  auto atr_status_raw = res.values[0].content_as<std::string>();
1337
- debug("atr_commit_ambiguity_resolution read atr state {}", atr_status_raw);
1495
+ CB_ATTEMPT_CTX_LOG_DEBUG(this, "atr_commit_ambiguity_resolution read atr state {}", atr_status_raw);
1338
1496
  auto atr_status = attempt_state_value(atr_status_raw);
1339
1497
  switch (atr_status) {
1340
1498
  case attempt_state::COMMITTED:
@@ -1380,7 +1538,7 @@ attempt_context_impl::atr_complete()
1380
1538
  if (!!(ec = error_if_expired_and_not_in_overtime(STAGE_ATR_COMPLETE, {}))) {
1381
1539
  throw client_error(*ec, "atr_complete threw error");
1382
1540
  }
1383
- debug("removing attempt {} from atr", atr_id_.value());
1541
+ CB_ATTEMPT_CTX_LOG_DEBUG(this, "removing attempt {} from atr", atr_id_.value());
1384
1542
  std::string prefix(ATR_FIELD_ATTEMPTS + "." + id());
1385
1543
  core::operations::mutate_in_request req{ atr_id_.value() };
1386
1544
  req.specs =
@@ -1405,7 +1563,7 @@ attempt_context_impl::atr_complete()
1405
1563
  case FAIL_HARD:
1406
1564
  throw transaction_operation_failed(ec, er.what()).no_rollback().failed_post_commit();
1407
1565
  default:
1408
- info("ignoring error in atr_complete {}", er.what());
1566
+ CB_ATTEMPT_CTX_LOG_INFO(this, "ignoring error in atr_complete {}", er.what());
1409
1567
  }
1410
1568
  }
1411
1569
  }
@@ -1428,10 +1586,10 @@ attempt_context_impl::commit(VoidCallback&& cb)
1428
1586
  void
1429
1587
  attempt_context_impl::commit()
1430
1588
  {
1431
- debug("waiting on ops to finish...");
1589
+ CB_ATTEMPT_CTX_LOG_DEBUG(this, "waiting on ops to finish...");
1432
1590
  op_list_.wait_and_block_ops();
1433
1591
  existing_error(false);
1434
- debug("commit {}", id());
1592
+ CB_ATTEMPT_CTX_LOG_DEBUG(this, "commit {}", id());
1435
1593
  if (op_list_.get_mode().is_query()) {
1436
1594
  auto barrier = std::make_shared<std::promise<void>>();
1437
1595
  auto f = barrier->get_future();
@@ -1449,13 +1607,13 @@ attempt_context_impl::commit()
1449
1607
  }
1450
1608
  if (atr_id_ && !atr_id_->key().empty() && !is_done_) {
1451
1609
  retry_op_exp<void>([&]() { atr_commit(false); });
1452
- staged_mutations_->commit(*this);
1610
+ staged_mutations_->commit(this);
1453
1611
  atr_complete();
1454
1612
  is_done_ = true;
1455
1613
  } else {
1456
1614
  // no mutation, no need to commit
1457
1615
  if (!is_done_) {
1458
- debug("calling commit on attempt that has got no mutations, skipping");
1616
+ CB_ATTEMPT_CTX_LOG_DEBUG(this, "calling commit on attempt that has got no mutations, skipping");
1459
1617
  is_done_ = true;
1460
1618
  return;
1461
1619
  } // do not rollback or retry
@@ -1499,17 +1657,17 @@ attempt_context_impl::atr_abort()
1499
1657
  if (ec) {
1500
1658
  throw client_error(*ec, "after_atr_aborted hook threw error");
1501
1659
  }
1502
- debug("rollback completed atr abort phase");
1660
+ CB_ATTEMPT_CTX_LOG_DEBUG(this, "rollback completed atr abort phase");
1503
1661
  } catch (const client_error& e) {
1504
1662
  auto ec = e.ec();
1505
- trace("atr_abort got {} {}", ec, e.what());
1663
+ CB_ATTEMPT_CTX_LOG_TRACE(this, "atr_abort got {} {}", ec, e.what());
1506
1664
  if (expiry_overtime_mode_.load()) {
1507
- debug("atr_abort got error \"{}\" while in overtime mode", e.what());
1665
+ CB_ATTEMPT_CTX_LOG_DEBUG(this, "atr_abort got error \"{}\" while in overtime mode", e.what());
1508
1666
  throw transaction_operation_failed(FAIL_EXPIRY, std::string("expired in atr_abort with {} ") + e.what())
1509
1667
  .no_rollback()
1510
1668
  .expired();
1511
1669
  }
1512
- debug("atr_abort got error {}", ec);
1670
+ CB_ATTEMPT_CTX_LOG_DEBUG(this, "atr_abort got error {}", ec);
1513
1671
  switch (ec) {
1514
1672
  case FAIL_EXPIRY:
1515
1673
  expiry_overtime_mode_ = true;
@@ -1562,28 +1720,28 @@ attempt_context_impl::atr_rollback_complete()
1562
1720
  } catch (const client_error& e) {
1563
1721
  auto ec = e.ec();
1564
1722
  if (expiry_overtime_mode_.load()) {
1565
- debug("atr_rollback_complete error while in overtime mode {}", e.what());
1723
+ CB_ATTEMPT_CTX_LOG_DEBUG(this, "atr_rollback_complete error while in overtime mode {}", e.what());
1566
1724
  throw transaction_operation_failed(FAIL_EXPIRY, std::string("expired in atr_rollback_complete with {} ") + e.what())
1567
1725
  .no_rollback()
1568
1726
  .expired();
1569
1727
  }
1570
- debug("atr_rollback_complete got error {}", ec);
1728
+ CB_ATTEMPT_CTX_LOG_DEBUG(this, "atr_rollback_complete got error {}", ec);
1571
1729
  switch (ec) {
1572
1730
  case FAIL_DOC_NOT_FOUND:
1573
1731
  case FAIL_PATH_NOT_FOUND:
1574
- debug("atr {} not found, ignoring", atr_id_->key());
1732
+ CB_ATTEMPT_CTX_LOG_DEBUG(this, "atr {} not found, ignoring", atr_id_->key());
1575
1733
  is_done_ = true;
1576
1734
  break;
1577
1735
  case FAIL_ATR_FULL:
1578
- debug("atr {} full!", atr_id_->key());
1736
+ CB_ATTEMPT_CTX_LOG_DEBUG(this, "atr {} full!", atr_id_->key());
1579
1737
  throw retry_operation(e.what());
1580
1738
  case FAIL_HARD:
1581
1739
  throw transaction_operation_failed(ec, e.what()).no_rollback();
1582
1740
  case FAIL_EXPIRY:
1583
- debug("timed out writing atr {}", atr_id_->key());
1741
+ CB_ATTEMPT_CTX_LOG_DEBUG(this, "timed out writing atr {}", atr_id_->key());
1584
1742
  throw transaction_operation_failed(ec, e.what()).no_rollback().expired();
1585
1743
  default:
1586
- debug("retrying atr_rollback_complete");
1744
+ CB_ATTEMPT_CTX_LOG_DEBUG(this, "retrying atr_rollback_complete");
1587
1745
  throw retry_operation(e.what());
1588
1746
  }
1589
1747
  }
@@ -1613,7 +1771,7 @@ void
1613
1771
  attempt_context_impl::rollback()
1614
1772
  {
1615
1773
  op_list_.wait_and_block_ops();
1616
- debug("rolling back {}", id());
1774
+ CB_ATTEMPT_CTX_LOG_DEBUG(this, "rolling back {}", id());
1617
1775
  if (op_list_.get_mode().is_query()) {
1618
1776
  auto barrier = std::make_shared<std::promise<void>>();
1619
1777
  auto f = barrier->get_future();
@@ -1630,13 +1788,13 @@ attempt_context_impl::rollback()
1630
1788
  check_expiry_during_commit_or_rollback(STAGE_ROLLBACK, std::nullopt);
1631
1789
  if (!atr_id_ || atr_id_->key().empty() || state() == attempt_state::NOT_STARTED) {
1632
1790
  // TODO: check this, but if we try to rollback an empty txn, we should prevent a subsequent commit
1633
- debug("rollback called on txn with no mutations");
1791
+ CB_ATTEMPT_CTX_LOG_DEBUG(this, "rollback called on txn with no mutations");
1634
1792
  is_done_ = true;
1635
1793
  return;
1636
1794
  }
1637
1795
  if (is_done()) {
1638
1796
  std::string msg("Transaction already done, cannot rollback");
1639
- error(msg);
1797
+ CB_ATTEMPT_CTX_LOG_ERROR(this, msg);
1640
1798
  // need to raise a FAIL_OTHER which is not retryable or rollback-able
1641
1799
  throw transaction_operation_failed(FAIL_OTHER, msg).no_rollback();
1642
1800
  }
@@ -1644,14 +1802,14 @@ attempt_context_impl::rollback()
1644
1802
  // (1) atr_abort
1645
1803
  retry_op_exp<void>([&]() { atr_abort(); });
1646
1804
  // (2) rollback staged mutations
1647
- staged_mutations_->rollback(*this);
1648
- debug("rollback completed unstaging docs");
1805
+ staged_mutations_->rollback(this);
1806
+ CB_ATTEMPT_CTX_LOG_DEBUG(this, "rollback completed unstaging docs");
1649
1807
 
1650
1808
  // (3) atr_rollback
1651
1809
  retry_op_exp<void>([&]() { atr_rollback_complete(); });
1652
1810
  } catch (const client_error& e) {
1653
1811
  error_class ec = e.ec();
1654
- error("rollback transaction {}, attempt {} fail with error {}", transaction_id(), id(), e.what());
1812
+ CB_ATTEMPT_CTX_LOG_ERROR(this, "rollback transaction {}, attempt {} fail with error {}", transaction_id(), id(), e.what());
1655
1813
  if (ec == FAIL_HARD) {
1656
1814
  throw transaction_operation_failed(ec, e.what()).no_rollback();
1657
1815
  }
@@ -1664,10 +1822,10 @@ attempt_context_impl::has_expired_client_side(std::string place, std::optional<c
1664
1822
  bool over = overall_.has_expired_client_side();
1665
1823
  bool hook = hooks_.has_expired_client_side(this, place, doc_id);
1666
1824
  if (over) {
1667
- debug("{} expired in {}", id(), place);
1825
+ CB_ATTEMPT_CTX_LOG_DEBUG(this, "{} expired in {}", id(), place);
1668
1826
  }
1669
1827
  if (hook) {
1670
- debug("{} fake expiry in {}", id(), place);
1828
+ CB_ATTEMPT_CTX_LOG_DEBUG(this, "{} fake expiry in {}", id(), place);
1671
1829
  }
1672
1830
  return over || hook;
1673
1831
  }
@@ -1676,7 +1834,8 @@ bool
1676
1834
  attempt_context_impl::check_expiry_pre_commit(std::string stage, std::optional<const std::string> doc_id)
1677
1835
  {
1678
1836
  if (has_expired_client_side(stage, std::move(doc_id))) {
1679
- debug("{} has expired in stage {}, entering expiry-overtime mode - will make one attempt to rollback", id(), stage);
1837
+ CB_ATTEMPT_CTX_LOG_DEBUG(
1838
+ this, "{} has expired in stage {}, entering expiry-overtime mode - will make one attempt to rollback", id(), stage);
1680
1839
 
1681
1840
  // [EXP-ROLLBACK] Combo of setting this mode and throwing AttemptExpired will result in an attempt to rollback, which will
1682
1841
  // ignore expiry, and bail out if anything fails
@@ -1690,11 +1849,11 @@ std::optional<error_class>
1690
1849
  attempt_context_impl::error_if_expired_and_not_in_overtime(const std::string& stage, std::optional<const std::string> doc_id)
1691
1850
  {
1692
1851
  if (expiry_overtime_mode_.load()) {
1693
- debug("not doing expired check in {} as already in expiry-overtime", stage);
1852
+ CB_ATTEMPT_CTX_LOG_DEBUG(this, "not doing expired check in {} as already in expiry-overtime", stage);
1694
1853
  return {};
1695
1854
  }
1696
1855
  if (has_expired_client_side(stage, std::move(doc_id))) {
1697
- debug("expired in {}", stage);
1856
+ CB_ATTEMPT_CTX_LOG_DEBUG(this, "expired in {}", stage);
1698
1857
  return FAIL_EXPIRY;
1699
1858
  }
1700
1859
  return {};
@@ -1706,11 +1865,12 @@ attempt_context_impl::check_expiry_during_commit_or_rollback(const std::string&
1706
1865
  // [EXP-COMMIT-OVERTIME]
1707
1866
  if (!expiry_overtime_mode_.load()) {
1708
1867
  if (has_expired_client_side(stage, std::move(doc_id))) {
1709
- debug("{} has expired in stage {}, entering expiry-overtime mode (one attempt to complete commit)", id(), stage);
1868
+ CB_ATTEMPT_CTX_LOG_DEBUG(
1869
+ this, "{} has expired in stage {}, entering expiry-overtime mode (one attempt to complete commit)", id(), stage);
1710
1870
  expiry_overtime_mode_ = true;
1711
1871
  }
1712
1872
  } else {
1713
- debug("{} ignoring expiry in stage {} as in expiry-overtime mode", id(), stage);
1873
+ CB_ATTEMPT_CTX_LOG_DEBUG(this, "{} ignoring expiry in stage {} as in expiry-overtime mode", id(), stage);
1714
1874
  }
1715
1875
  }
1716
1876
  template<typename Handler>
@@ -1729,7 +1889,7 @@ attempt_context_impl::set_atr_pending_locked(const core::document_id& id, std::u
1729
1889
  auto error_handler =
1730
1890
  [this, &lock](error_class ec, const std::string& message, const core::document_id& doc_id, Handler&& fn) mutable {
1731
1891
  transaction_operation_failed err(ec, message);
1732
- trace("got {} trying to set atr to pending", message);
1892
+ CB_ATTEMPT_CTX_LOG_TRACE(this, "got {} trying to set atr to pending", message);
1733
1893
  if (expiry_overtime_mode_.load()) {
1734
1894
  return fn(err.no_rollback().expired());
1735
1895
  }
@@ -1747,7 +1907,7 @@ attempt_context_impl::set_atr_pending_locked(const core::document_id& id, std::u
1747
1907
  // Retry just this
1748
1908
  overall_.retry_delay();
1749
1909
  // keep it locked!
1750
- debug("got {}, retrying set atr pending", ec);
1910
+ CB_ATTEMPT_CTX_LOG_DEBUG(this, "got {}, retrying set atr pending", ec);
1751
1911
  return set_atr_pending_locked(doc_id, std::move(lock), std::move(fn));
1752
1912
  case FAIL_TRANSIENT:
1753
1913
  // Retry txn
@@ -1761,14 +1921,14 @@ attempt_context_impl::set_atr_pending_locked(const core::document_id& id, std::u
1761
1921
  if (auto ec = hooks_.before_atr_pending(this); ec) {
1762
1922
  return error_handler(*ec, "before_atr_pending hook raised error", id, std::forward<Handler>(fn));
1763
1923
  }
1764
- debug("updating atr {}", atr_id_.value());
1924
+ CB_ATTEMPT_CTX_LOG_DEBUG(this, "updating atr {}", atr_id_.value());
1765
1925
 
1766
1926
  // FIXME: do we need to capture "now" here?
1767
1927
  // std::chrono::time_point<std::chrono::steady_clock> now = std::chrono::steady_clock::now();
1768
1928
  std::chrono::nanoseconds remaining = overall_.remaining();
1769
1929
  // This bounds the value to [0-expirationTime]. It should always be in this range, this is just to protect
1770
1930
  // against the application clock changing.
1771
- long remaining_bounded_nanos = std::max(std::min(remaining.count(), overall_.config().expiration_time().count()),
1931
+ long remaining_bounded_nanos = std::max(std::min(remaining.count(), overall_.config().expiration_time.count()),
1772
1932
  static_cast<std::chrono::nanoseconds::rep>(0));
1773
1933
  long remaining_bounded_msecs = remaining_bounded_nanos / 1'000'000;
1774
1934
 
@@ -1786,12 +1946,12 @@ attempt_context_impl::set_atr_pending_locked(const core::document_id& id, std::u
1786
1946
  couchbase::mutate_in_specs::insert(prefix + ATR_FIELD_EXPIRES_AFTER_MSECS, remaining_bounded_msecs).xattr().create_path(),
1787
1947
  // ExtStoreDurability
1788
1948
  couchbase::mutate_in_specs::insert(prefix + ATR_FIELD_DURABILITY_LEVEL,
1789
- store_durability_level_to_string(overall_.config().durability_level()))
1949
+ store_durability_level_to_string(overall_.config().level))
1790
1950
  .xattr()
1791
1951
  .create_path(),
1792
1952
  // subdoc::opcode::set_doc used in replace w/ empty path
1793
1953
  // ExtBinaryMetadata
1794
- couchbase::mutate_in_specs::replace({}, std::string({ 0x00 })),
1954
+ couchbase::mutate_in_specs::replace_raw({}, std::vector<std::byte>{ std::byte{ 0x00 } }),
1795
1955
  }
1796
1956
  .specs();
1797
1957
  req.store_semantics = couchbase::store_semantics::upsert;
@@ -1805,7 +1965,7 @@ attempt_context_impl::set_atr_pending_locked(const core::document_id& id, std::u
1805
1965
  }
1806
1966
  if (!ec) {
1807
1967
  state(attempt_state::PENDING);
1808
- debug("set ATR {} to Pending, got CAS (start time) {}", atr_id_.value(), resp.cas.value());
1968
+ CB_ATTEMPT_CTX_LOG_DEBUG(this, "set ATR {} to Pending, got CAS (start time) {}", atr_id_.value(), resp.cas.value());
1809
1969
  return fn(std::nullopt);
1810
1970
  }
1811
1971
  return error_handler(*ec,
@@ -1815,7 +1975,7 @@ attempt_context_impl::set_atr_pending_locked(const core::document_id& id, std::u
1815
1975
  });
1816
1976
  }
1817
1977
  } catch (const std::exception& e) {
1818
- error("unexpected error setting atr pending {}", e.what());
1978
+ CB_ATTEMPT_CTX_LOG_ERROR(this, "unexpected error setting atr pending {}", e.what());
1819
1979
  return fn(transaction_operation_failed(FAIL_OTHER, "unexpected error setting atr pending"));
1820
1980
  }
1821
1981
  }
@@ -1856,13 +2016,13 @@ attempt_context_impl::do_get(const core::document_id& id, const std::optional<st
1856
2016
 
1857
2017
  staged_mutation* own_write = check_for_own_write(id);
1858
2018
  if (own_write) {
1859
- debug("found own-write of mutated doc {}", id);
2019
+ CB_ATTEMPT_CTX_LOG_DEBUG(this, "found own-write of mutated doc {}", id);
1860
2020
  return cb(std::nullopt, std::nullopt, transaction_get_result::create_from(own_write->doc(), own_write->content()));
1861
2021
  }
1862
2022
  staged_mutation* own_remove = staged_mutations_->find_remove(id);
1863
2023
  if (own_remove) {
1864
2024
  auto msg = fmt::format("found own-write of removed doc {}", id);
1865
- debug(msg);
2025
+ CB_ATTEMPT_CTX_LOG_DEBUG(this, msg);
1866
2026
  return cb(FAIL_DOC_NOT_FOUND, msg, std::nullopt);
1867
2027
  }
1868
2028
 
@@ -1880,11 +2040,12 @@ attempt_context_impl::do_get(const core::document_id& id, const std::optional<st
1880
2040
  }
1881
2041
  if (!ec) {
1882
2042
  if (doc->links().is_document_in_transaction()) {
1883
- debug("doc {} in transaction, resolving_missing_atr_entry={}", *doc, resolving_missing_atr_entry.value_or("-"));
2043
+ CB_ATTEMPT_CTX_LOG_DEBUG(
2044
+ this, "doc {} in transaction, resolving_missing_atr_entry={}", *doc, resolving_missing_atr_entry.value_or("-"));
1884
2045
 
1885
2046
  if (resolving_missing_atr_entry.has_value() &&
1886
2047
  resolving_missing_atr_entry.value() == doc->links().staged_attempt_id()) {
1887
- debug("doc is in lost pending transaction");
2048
+ CB_ATTEMPT_CTX_LOG_DEBUG(this, "doc is in lost pending transaction");
1888
2049
 
1889
2050
  if (doc->links().is_document_being_inserted()) {
1890
2051
  // this document is being inserted, so should not be visible yet
@@ -1942,8 +2103,9 @@ attempt_context_impl::do_get(const core::document_id& id, const std::optional<st
1942
2103
  }
1943
2104
  } else {
1944
2105
  // failed to get the ATR entry
1945
- debug("could not get ATR entry, checking again with {}",
1946
- doc->links().staged_attempt_id().value_or("-"));
2106
+ CB_ATTEMPT_CTX_LOG_DEBUG(this,
2107
+ "could not get ATR entry, checking again with {}",
2108
+ doc->links().staged_attempt_id().value_or("-"));
1947
2109
  return do_get(id, doc->links().staged_attempt_id(), cb);
1948
2110
  }
1949
2111
  if (ignore_doc) {
@@ -1953,13 +2115,14 @@ attempt_context_impl::do_get(const core::document_id& id, const std::optional<st
1953
2115
 
1954
2116
  } else {
1955
2117
  // failed to get the ATR
1956
- debug("could not get ATR, checking again with {}", doc->links().staged_attempt_id().value_or("-"));
2118
+ CB_ATTEMPT_CTX_LOG_DEBUG(
2119
+ this, "could not get ATR, checking again with {}", doc->links().staged_attempt_id().value_or("-"));
1957
2120
  return do_get(id, doc->links().staged_attempt_id(), cb);
1958
2121
  }
1959
2122
  });
1960
2123
  } else {
1961
2124
  if (doc->links().is_deleted()) {
1962
- debug("doc not in txn, and is_deleted, so not returning it.");
2125
+ CB_ATTEMPT_CTX_LOG_DEBUG(this, "doc not in txn, and is_deleted, so not returning it.");
1963
2126
  // doc has been deleted, not in txn, so don't return it
1964
2127
  return cb(std::nullopt, std::nullopt, std::nullopt);
1965
2128
  }
@@ -1982,7 +2145,7 @@ attempt_context_impl::do_get(const core::document_id& id, const std::optional<st
1982
2145
  void
1983
2146
  attempt_context_impl::get_doc(
1984
2147
  const core::document_id& id,
1985
- utils::movable_function<void(std::optional<error_class>, std::optional<std::string>, std::optional<transaction_get_result>)>&& cb)
2148
+ std::function<void(std::optional<error_class>, std::optional<std::string>, std::optional<transaction_get_result>)>&& cb)
1986
2149
  {
1987
2150
  core::operations::lookup_in_request req{ id };
1988
2151
  req.specs =
@@ -2008,7 +2171,7 @@ attempt_context_impl::get_doc(
2008
2171
  overall_.cluster_ref()->execute(req, [this, id, cb = std::move(cb)](core::operations::lookup_in_response resp) {
2009
2172
  auto ec = error_class_from_response(resp);
2010
2173
  if (ec) {
2011
- trace("get_doc got error {} : {}", resp.ctx.ec().message(), *ec);
2174
+ CB_ATTEMPT_CTX_LOG_TRACE(this, "get_doc got error {} : {}", resp.ctx.ec().message(), *ec);
2012
2175
  switch (*ec) {
2013
2176
  case FAIL_PATH_NOT_FOUND:
2014
2177
  return cb(*ec, resp.ctx.ec().message(), transaction_get_result::create_from(resp));
@@ -2034,7 +2197,7 @@ attempt_context_impl::create_staged_insert_error_handler(const core::document_id
2034
2197
  error_class ec,
2035
2198
  const std::string& message)
2036
2199
  {
2037
- trace("create_staged_insert got error class {}: {}", ec, message);
2200
+ CB_ATTEMPT_CTX_LOG_TRACE(this, "create_staged_insert got error class {}: {}", ec, message);
2038
2201
  if (expiry_overtime_mode_.load()) {
2039
2202
  return op_completed_with_error(std::forward<Handler>(cb), transaction_operation_failed(FAIL_EXPIRY, "attempt timed out").expired());
2040
2203
  }
@@ -2046,7 +2209,7 @@ attempt_context_impl::create_staged_insert_error_handler(const core::document_id
2046
2209
  return op_completed_with_error(std::forward<Handler>(cb),
2047
2210
  transaction_operation_failed(ec, "transient error in insert").retry());
2048
2211
  case FAIL_AMBIGUOUS:
2049
- debug("FAIL_AMBIGUOUS in create_staged_insert, retrying");
2212
+ CB_ATTEMPT_CTX_LOG_DEBUG(this, "FAIL_AMBIGUOUS in create_staged_insert, retrying");
2050
2213
  delay();
2051
2214
  return create_staged_insert(id, content, cas, delay, std::forward<Handler>(cb));
2052
2215
  case FAIL_OTHER:
@@ -2057,9 +2220,10 @@ attempt_context_impl::create_staged_insert_error_handler(const core::document_id
2057
2220
  case FAIL_DOC_ALREADY_EXISTS:
2058
2221
  case FAIL_CAS_MISMATCH: {
2059
2222
  // special handling for doc already existing
2060
- debug("found existing doc {}, may still be able to insert", id);
2223
+ CB_ATTEMPT_CTX_LOG_DEBUG(this, "found existing doc {}, may still be able to insert", id);
2061
2224
  auto error_handler = [this, id, content](error_class ec2, const std::string& err_message, Handler&& cb) mutable {
2062
- trace("after a CAS_MISMATCH or DOC_ALREADY_EXISTS, then got error {} in create_staged_insert", ec2);
2225
+ CB_ATTEMPT_CTX_LOG_TRACE(
2226
+ this, "after a CAS_MISMATCH or DOC_ALREADY_EXISTS, then got error {} in create_staged_insert", ec2);
2063
2227
  if (expiry_overtime_mode_.load()) {
2064
2228
  return op_completed_with_error(std::move(cb), transaction_operation_failed(FAIL_EXPIRY, "attempt timed out").expired());
2065
2229
  }
@@ -2087,10 +2251,11 @@ attempt_context_impl::create_staged_insert_error_handler(const core::document_id
2087
2251
  std::optional<error_class> ec3, std::optional<std::string> err_message, std::optional<transaction_get_result> doc) mutable {
2088
2252
  if (!ec3) {
2089
2253
  if (doc) {
2090
- debug("document {} exists, is_in_transaction {}, is_deleted {} ",
2091
- doc->id(),
2092
- doc->links().is_document_in_transaction(),
2093
- doc->links().is_deleted());
2254
+ CB_ATTEMPT_CTX_LOG_DEBUG(this,
2255
+ "document {} exists, is_in_transaction {}, is_deleted {} ",
2256
+ doc->id(),
2257
+ doc->links().is_document_in_transaction(),
2258
+ doc->links().is_deleted());
2094
2259
 
2095
2260
  if (auto err = forward_compat::check(forward_compat_stage::WWC_INSERTING_GET, doc->links().forward_compat());
2096
2261
  err) {
@@ -2098,16 +2263,17 @@ attempt_context_impl::create_staged_insert_error_handler(const core::document_id
2098
2263
  }
2099
2264
  if (!doc->links().is_document_in_transaction() && doc->links().is_deleted()) {
2100
2265
  // it is just a deleted doc, so we are ok. Let's try again, but with the cas
2101
- debug("create staged insert found existing deleted doc, retrying with cas {}", doc->cas().value());
2266
+ CB_ATTEMPT_CTX_LOG_DEBUG(
2267
+ this, "create staged insert found existing deleted doc, retrying with cas {}", doc->cas().value());
2102
2268
  delay();
2103
2269
  return create_staged_insert(id, content, doc->cas().value(), delay, std::forward<Handler>(cb));
2104
2270
  }
2105
2271
  if (!doc->links().is_document_in_transaction()) {
2106
2272
  // doc was inserted outside txn elsewhere
2107
- trace("doc {} not in txn - was inserted outside txn", id);
2273
+ CB_ATTEMPT_CTX_LOG_TRACE(this, "doc {} not in txn - was inserted outside txn", id);
2108
2274
  return op_completed_with_error(
2109
2275
  std::forward<Handler>(cb),
2110
- transaction_operation_failed(FAIL_DOC_ALREADY_EXISTS, "document already exists"));
2276
+ document_exists({ couchbase::errc::transaction_op::document_exists_exception, key_value_error_context() }));
2111
2277
  }
2112
2278
  // CBD-3787 - Only a staged insert is ok to overwrite
2113
2279
  if (doc->links().op() && *doc->links().op() != "insert") {
@@ -2124,13 +2290,14 @@ attempt_context_impl::create_staged_insert_error_handler(const core::document_id
2124
2290
  if (err) {
2125
2291
  return op_completed_with_error(std::move(cb), *err);
2126
2292
  }
2127
- debug("doc ok to overwrite, retrying create_staged_insert with cas {}", doc->cas().value());
2293
+ CB_ATTEMPT_CTX_LOG_DEBUG(
2294
+ this, "doc ok to overwrite, retrying create_staged_insert with cas {}", doc->cas().value());
2128
2295
  delay();
2129
2296
  return create_staged_insert(id, content, doc->cas().value(), delay, std::forward<Handler>(cb));
2130
2297
  });
2131
2298
  } else {
2132
2299
  // no doc now, just retry entire txn
2133
- trace("got {} from get_doc in exists during staged insert", *ec3);
2300
+ CB_ATTEMPT_CTX_LOG_TRACE(this, "got {} from get_doc in exists during staged insert", *ec3);
2134
2301
  return op_completed_with_error(
2135
2302
  std::move(cb),
2136
2303
  transaction_operation_failed(FAIL_DOC_NOT_FOUND, "insert failed as the doc existed, but now seems to not exist")
@@ -2165,7 +2332,7 @@ attempt_context_impl::create_staged_insert(const core::document_id& id,
2165
2332
  return create_staged_insert_error_handler(
2166
2333
  id, content, cas, std::forward<Delay>(delay), std::forward<Handler>(cb), *ec, "before_staged_insert hook threw error");
2167
2334
  }
2168
- debug("about to insert staged doc {} with cas {}", id, cas);
2335
+ CB_ATTEMPT_CTX_LOG_DEBUG(this, "about to insert staged doc {} with cas {}", id, cas);
2169
2336
  auto req = create_staging_request(id, nullptr, "insert", content);
2170
2337
  req.access_deleted = true;
2171
2338
  req.create_as_deleted = true;
@@ -2181,7 +2348,7 @@ attempt_context_impl::create_staged_insert(const core::document_id& id,
2181
2348
  id, content, cas, std::forward<Delay>(delay), std::forward<Handler>(cb), *ec, "after_staged_insert hook threw error");
2182
2349
  }
2183
2350
  if (!resp.ctx.ec()) {
2184
- debug("inserted doc {} CAS={}, {}", id, resp.cas.value(), resp.ctx.ec().message());
2351
+ CB_ATTEMPT_CTX_LOG_DEBUG(this, "inserted doc {} CAS={}, {}", id, resp.cas.value(), resp.ctx.ec().message());
2185
2352
 
2186
2353
  // TODO: clean this up (do most of this in transactions_document(...))
2187
2354
  transaction_links links(atr_id_->key(),