couchbase 4.2.0 → 4.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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(),