couchbase 4.2.0 → 4.2.2
Sign up to get free protection for your applications and to get access to all the features.
- package/CMakeLists.txt +1 -0
- package/deps/couchbase-cxx-client/.github/workflows/tests.yml +10 -6
- package/deps/couchbase-cxx-client/.github/workflows/windows.yml +3 -0
- package/deps/couchbase-cxx-client/.gitmodules +3 -0
- package/deps/couchbase-cxx-client/.idea/misc.xml +2 -0
- package/deps/couchbase-cxx-client/.idea/vcs.xml +1 -0
- package/deps/couchbase-cxx-client/CMakeLists.txt +351 -292
- package/deps/couchbase-cxx-client/README.md +3 -3
- package/deps/couchbase-cxx-client/bin/build-tests +7 -6
- package/deps/couchbase-cxx-client/bin/build-tests.rb +1 -0
- package/deps/couchbase-cxx-client/bin/{run-transactions-tests → run-transaction-tests} +2 -1
- package/deps/couchbase-cxx-client/bin/run-unit-tests +47 -1
- package/deps/couchbase-cxx-client/cmake/CompilerWarnings.cmake +4 -1
- package/deps/couchbase-cxx-client/cmake/ThirdPartyDependencies.cmake +1 -0
- package/deps/couchbase-cxx-client/cmake/VersionInfo.cmake +13 -1
- package/deps/couchbase-cxx-client/cmake/build_version.hxx.in +3 -0
- package/deps/couchbase-cxx-client/core/CMakeLists.txt +0 -0
- package/deps/couchbase-cxx-client/core/agent.cxx +556 -0
- package/deps/couchbase-cxx-client/core/agent.hxx +165 -0
- package/deps/couchbase-cxx-client/core/agent_config.cxx +36 -0
- package/deps/couchbase-cxx-client/core/agent_config.hxx +44 -0
- package/deps/couchbase-cxx-client/core/agent_group.cxx +219 -0
- package/deps/couchbase-cxx-client/core/agent_group.hxx +79 -0
- package/deps/couchbase-cxx-client/core/agent_group_config.cxx +35 -0
- package/deps/couchbase-cxx-client/core/agent_group_config.hxx +45 -0
- package/deps/couchbase-cxx-client/core/agent_unit_test_api.hxx +37 -0
- package/deps/couchbase-cxx-client/core/analytics_query_options.cxx +72 -0
- package/deps/couchbase-cxx-client/core/analytics_query_options.hxx +74 -0
- package/deps/couchbase-cxx-client/core/bucket.cxx +891 -0
- package/deps/couchbase-cxx-client/core/bucket.hxx +85 -484
- package/deps/couchbase-cxx-client/core/cluster.cxx +69 -12
- package/deps/couchbase-cxx-client/core/cluster.hxx +67 -45
- package/deps/couchbase-cxx-client/core/cluster_agent.cxx +36 -0
- package/deps/couchbase-cxx-client/core/cluster_agent.hxx +34 -0
- package/deps/couchbase-cxx-client/core/cluster_agent_config.cxx +35 -0
- package/deps/couchbase-cxx-client/core/cluster_agent_config.hxx +43 -0
- package/deps/couchbase-cxx-client/core/cluster_options.hxx +9 -2
- package/deps/couchbase-cxx-client/core/cluster_state.hxx +25 -0
- package/deps/couchbase-cxx-client/core/collection_id_cache_entry.hxx +37 -0
- package/deps/couchbase-cxx-client/core/collections_component.cxx +439 -0
- package/deps/couchbase-cxx-client/core/collections_component.hxx +81 -0
- package/deps/couchbase-cxx-client/core/collections_component_unit_test_api.hxx +36 -0
- package/deps/couchbase-cxx-client/core/collections_options.hxx +87 -0
- package/deps/couchbase-cxx-client/core/core_sdk_shim.cxx +28 -0
- package/deps/couchbase-cxx-client/core/core_sdk_shim.hxx +30 -0
- package/deps/couchbase-cxx-client/core/crud_component.cxx +367 -0
- package/deps/couchbase-cxx-client/core/crud_component.hxx +60 -0
- package/deps/couchbase-cxx-client/core/crud_options.hxx +574 -0
- package/deps/couchbase-cxx-client/core/diagntostics_options.hxx +55 -0
- package/deps/couchbase-cxx-client/core/dispatcher.cxx +37 -0
- package/deps/couchbase-cxx-client/core/dispatcher.hxx +43 -0
- package/deps/couchbase-cxx-client/core/durability_options.hxx +110 -0
- package/deps/couchbase-cxx-client/core/error_context/analytics.hxx +1 -1
- package/deps/couchbase-cxx-client/core/error_context/http.hxx +1 -1
- package/deps/couchbase-cxx-client/core/error_context/key_value.hxx +2 -2
- package/deps/couchbase-cxx-client/core/error_context/query.hxx +1 -1
- package/deps/couchbase-cxx-client/core/error_context/search.hxx +1 -1
- package/deps/couchbase-cxx-client/core/error_context/view.hxx +1 -1
- package/deps/couchbase-cxx-client/core/free_form_http_request.cxx +81 -0
- package/deps/couchbase-cxx-client/core/free_form_http_request.hxx +90 -0
- package/deps/couchbase-cxx-client/core/impl/append.cxx +4 -1
- package/deps/couchbase-cxx-client/core/impl/best_effort_retry_strategy.cxx +109 -0
- package/deps/couchbase-cxx-client/core/impl/bootstrap_state_listener.hxx +1 -0
- package/deps/couchbase-cxx-client/core/impl/build_deferred_query_indexes.cxx +17 -6
- package/deps/couchbase-cxx-client/core/impl/cluster.cxx +21 -3
- package/deps/couchbase-cxx-client/core/impl/collection_query_index_manager.cxx +93 -0
- package/deps/couchbase-cxx-client/core/impl/configuration_profiles_registry.cxx +11 -0
- package/deps/couchbase-cxx-client/core/impl/create_query_index.cxx +119 -0
- package/deps/couchbase-cxx-client/core/impl/decrement.cxx +10 -1
- package/deps/couchbase-cxx-client/core/impl/dns_srv_tracker.cxx +13 -9
- package/deps/couchbase-cxx-client/core/impl/drop_query_index.cxx +108 -0
- package/deps/couchbase-cxx-client/core/impl/exists.cxx +1 -0
- package/deps/couchbase-cxx-client/core/impl/fail_fast_retry_strategy.cxx +41 -0
- package/deps/couchbase-cxx-client/core/impl/get.cxx +3 -1
- package/deps/couchbase-cxx-client/core/impl/get_all_query_indexes.cxx +76 -0
- package/deps/couchbase-cxx-client/core/impl/get_all_replicas.cxx +6 -0
- package/deps/couchbase-cxx-client/core/impl/get_and_lock.cxx +1 -0
- package/deps/couchbase-cxx-client/core/impl/get_and_touch.cxx +1 -0
- package/deps/couchbase-cxx-client/core/impl/get_replica.hxx +1 -1
- package/deps/couchbase-cxx-client/core/impl/increment.cxx +10 -1
- package/deps/couchbase-cxx-client/core/impl/insert.cxx +2 -1
- package/deps/couchbase-cxx-client/core/impl/key_value_error_category.cxx +6 -0
- package/deps/couchbase-cxx-client/core/impl/lookup_in.cxx +1 -0
- package/deps/couchbase-cxx-client/core/impl/mutate_in.cxx +2 -2
- package/deps/couchbase-cxx-client/core/impl/network_error_category.cxx +14 -0
- package/deps/couchbase-cxx-client/core/impl/observe_seqno.hxx +1 -1
- package/deps/couchbase-cxx-client/core/impl/prepend.cxx +4 -1
- package/deps/couchbase-cxx-client/core/impl/query.cxx +52 -11
- package/deps/couchbase-cxx-client/core/impl/remove.cxx +4 -1
- package/deps/couchbase-cxx-client/core/impl/replace.cxx +12 -3
- package/deps/couchbase-cxx-client/core/impl/retry_action.cxx +39 -0
- package/deps/couchbase-cxx-client/core/{io/retry_reason.hxx → impl/retry_reason.cxx} +28 -29
- package/deps/couchbase-cxx-client/core/impl/touch.cxx +1 -0
- package/deps/couchbase-cxx-client/core/impl/unlock.cxx +1 -0
- package/deps/couchbase-cxx-client/core/impl/upsert.cxx +11 -2
- package/deps/couchbase-cxx-client/core/impl/watch_query_indexes.cxx +168 -0
- package/deps/couchbase-cxx-client/core/io/dns_config.cxx +82 -3
- package/deps/couchbase-cxx-client/core/io/http_command.hxx +19 -15
- package/deps/couchbase-cxx-client/core/io/http_session.hxx +19 -18
- package/deps/couchbase-cxx-client/core/io/http_session_manager.hxx +8 -6
- package/deps/couchbase-cxx-client/core/io/mcbp_command.hxx +62 -51
- package/deps/couchbase-cxx-client/core/io/mcbp_context.hxx +1 -0
- package/deps/couchbase-cxx-client/core/io/mcbp_message.hxx +5 -0
- package/deps/couchbase-cxx-client/core/io/mcbp_parser.cxx +18 -18
- package/deps/couchbase-cxx-client/core/io/mcbp_parser.hxx +1 -1
- package/deps/couchbase-cxx-client/core/io/mcbp_session.cxx +1690 -0
- package/deps/couchbase-cxx-client/core/io/mcbp_session.hxx +82 -1325
- package/deps/couchbase-cxx-client/core/io/retry_context.hxx +59 -8
- package/deps/couchbase-cxx-client/core/io/retry_orchestrator.hxx +27 -42
- package/deps/couchbase-cxx-client/core/key_value_config.cxx +35 -0
- package/deps/couchbase-cxx-client/core/key_value_config.hxx +40 -0
- package/deps/couchbase-cxx-client/core/logger/configuration.hxx +3 -0
- package/deps/couchbase-cxx-client/core/logger/level.hxx +21 -0
- package/deps/couchbase-cxx-client/core/logger/logger.hxx +16 -18
- package/deps/couchbase-cxx-client/core/management/rbac_json.hxx +1 -1
- package/deps/couchbase-cxx-client/core/mcbp/barrier_frame.hxx +27 -0
- package/deps/couchbase-cxx-client/core/mcbp/big_endian.cxx +73 -0
- package/deps/couchbase-cxx-client/core/mcbp/big_endian.hxx +46 -0
- package/deps/couchbase-cxx-client/core/mcbp/buffer_writer.cxx +78 -0
- package/deps/couchbase-cxx-client/core/mcbp/buffer_writer.hxx +38 -0
- package/deps/couchbase-cxx-client/core/mcbp/codec.cxx +501 -0
- package/deps/couchbase-cxx-client/core/mcbp/codec.hxx +52 -0
- package/deps/couchbase-cxx-client/core/mcbp/command_code.cxx +77 -0
- package/deps/couchbase-cxx-client/core/mcbp/command_code.hxx +33 -0
- package/deps/couchbase-cxx-client/core/mcbp/completion_token.hxx +69 -0
- package/deps/couchbase-cxx-client/core/mcbp/datatype.hxx +40 -0
- package/deps/couchbase-cxx-client/core/mcbp/durability_level.hxx +35 -0
- package/deps/couchbase-cxx-client/core/mcbp/durability_level_frame.hxx +28 -0
- package/deps/couchbase-cxx-client/core/mcbp/durability_timeout_frame.hxx +29 -0
- package/deps/couchbase-cxx-client/core/mcbp/frame_type.hxx +41 -0
- package/deps/couchbase-cxx-client/core/mcbp/open_tracing_frame.hxx +29 -0
- package/deps/couchbase-cxx-client/core/mcbp/operation_consumer.cxx +47 -0
- package/deps/couchbase-cxx-client/core/mcbp/operation_consumer.hxx +42 -0
- package/deps/couchbase-cxx-client/core/mcbp/operation_queue.cxx +158 -0
- package/deps/couchbase-cxx-client/core/mcbp/operation_queue.hxx +57 -0
- package/deps/couchbase-cxx-client/core/mcbp/packet.cxx +92 -0
- package/deps/couchbase-cxx-client/core/mcbp/packet.hxx +71 -0
- package/deps/couchbase-cxx-client/core/mcbp/preserve_expiry_frame.hxx +26 -0
- package/deps/couchbase-cxx-client/core/mcbp/queue_callback.hxx +34 -0
- package/deps/couchbase-cxx-client/core/mcbp/queue_request.cxx +174 -0
- package/deps/couchbase-cxx-client/core/mcbp/queue_request.hxx +120 -0
- package/deps/couchbase-cxx-client/core/mcbp/queue_request_connection_info.hxx +29 -0
- package/deps/couchbase-cxx-client/core/mcbp/queue_response.hxx +37 -0
- package/deps/couchbase-cxx-client/core/mcbp/read_units_frame.hxx +28 -0
- package/deps/couchbase-cxx-client/core/mcbp/server_duration.cxx +40 -0
- package/deps/couchbase-cxx-client/core/mcbp/server_duration.hxx +32 -0
- package/deps/couchbase-cxx-client/core/mcbp/server_duration_frame.hxx +28 -0
- package/deps/couchbase-cxx-client/core/mcbp/stream_id_frame.hxx +28 -0
- package/deps/couchbase-cxx-client/core/mcbp/unsupported_frame.hxx +32 -0
- package/deps/couchbase-cxx-client/core/mcbp/user_impersonation_frame.hxx +30 -0
- package/deps/couchbase-cxx-client/core/mcbp/write_units_frame.hxx +29 -0
- package/deps/couchbase-cxx-client/core/meta/CMakeLists.txt +4 -2
- package/deps/couchbase-cxx-client/core/meta/features.hxx +31 -0
- package/deps/couchbase-cxx-client/core/meta/version.cxx +76 -5
- package/deps/couchbase-cxx-client/core/meta/version.hxx +12 -1
- package/deps/couchbase-cxx-client/core/metrics/CMakeLists.txt +4 -1
- package/deps/couchbase-cxx-client/core/metrics/logging_meter.cxx +47 -6
- package/deps/couchbase-cxx-client/core/metrics/logging_meter.hxx +10 -26
- package/deps/couchbase-cxx-client/core/n1ql_query_options.cxx +94 -0
- package/deps/couchbase-cxx-client/core/n1ql_query_options.hxx +78 -0
- package/deps/couchbase-cxx-client/core/operation_map.hxx +36 -0
- package/deps/couchbase-cxx-client/core/operations/document_analytics.cxx +5 -5
- package/deps/couchbase-cxx-client/core/operations/document_append.hxx +1 -1
- package/deps/couchbase-cxx-client/core/operations/document_decrement.hxx +1 -1
- package/deps/couchbase-cxx-client/core/operations/document_exists.hxx +1 -1
- package/deps/couchbase-cxx-client/core/operations/document_get.hxx +1 -1
- package/deps/couchbase-cxx-client/core/operations/document_get_and_lock.hxx +1 -1
- package/deps/couchbase-cxx-client/core/operations/document_get_and_touch.hxx +1 -1
- package/deps/couchbase-cxx-client/core/operations/document_get_projected.cxx +3 -2
- package/deps/couchbase-cxx-client/core/operations/document_get_projected.hxx +1 -1
- package/deps/couchbase-cxx-client/core/operations/document_increment.hxx +1 -1
- package/deps/couchbase-cxx-client/core/operations/document_insert.hxx +1 -1
- package/deps/couchbase-cxx-client/core/operations/document_lookup_in.hxx +1 -1
- package/deps/couchbase-cxx-client/core/operations/document_mutate_in.hxx +1 -1
- package/deps/couchbase-cxx-client/core/operations/document_prepend.hxx +1 -1
- package/deps/couchbase-cxx-client/core/operations/document_query.cxx +21 -20
- package/deps/couchbase-cxx-client/core/operations/document_query.hxx +1 -3
- package/deps/couchbase-cxx-client/core/operations/document_remove.hxx +1 -1
- package/deps/couchbase-cxx-client/core/operations/document_replace.hxx +1 -1
- package/deps/couchbase-cxx-client/core/operations/document_search.cxx +2 -2
- package/deps/couchbase-cxx-client/core/operations/document_touch.hxx +1 -1
- package/deps/couchbase-cxx-client/core/operations/document_unlock.hxx +1 -1
- package/deps/couchbase-cxx-client/core/operations/document_upsert.hxx +1 -1
- package/deps/couchbase-cxx-client/core/operations/management/CMakeLists.txt +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/bucket_describe.cxx +32 -0
- package/deps/couchbase-cxx-client/core/operations/management/bucket_describe.hxx +3 -0
- package/deps/couchbase-cxx-client/core/operations/management/change_password.cxx +55 -0
- package/deps/couchbase-cxx-client/core/operations/management/change_password.hxx +50 -0
- package/deps/couchbase-cxx-client/core/operations/management/collections_manifest_get.hxx +1 -1
- package/deps/couchbase-cxx-client/core/operations/management/query_index_build.cxx +7 -8
- package/deps/couchbase-cxx-client/core/operations/management/query_index_build.hxx +3 -1
- package/deps/couchbase-cxx-client/core/operations/management/query_index_build_deferred.hxx +17 -8
- package/deps/couchbase-cxx-client/core/operations/management/query_index_create.cxx +7 -9
- package/deps/couchbase-cxx-client/core/operations/management/query_index_create.hxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/query_index_drop.cxx +11 -12
- package/deps/couchbase-cxx-client/core/operations/management/query_index_drop.hxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/query_index_get_all.cxx +7 -3
- package/deps/couchbase-cxx-client/core/operations/management/query_index_get_all.hxx +5 -3
- package/deps/couchbase-cxx-client/core/operations/management/query_index_get_all_deferred.cxx +22 -5
- package/deps/couchbase-cxx-client/core/operations/management/query_index_get_all_deferred.hxx +4 -2
- package/deps/couchbase-cxx-client/core/operations/management/user.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/mcbp_noop.hxx +1 -1
- package/deps/couchbase-cxx-client/core/origin.hxx +1 -1
- package/deps/couchbase-cxx-client/core/pending_operation.hxx +26 -0
- package/deps/couchbase-cxx-client/core/ping_collector.hxx +32 -0
- package/deps/couchbase-cxx-client/core/ping_options.hxx +86 -0
- package/deps/couchbase-cxx-client/core/{io/retry_action.hxx → ping_reporter.hxx} +8 -8
- package/deps/couchbase-cxx-client/core/platform/base64.cc +52 -34
- package/deps/couchbase-cxx-client/core/platform/base64.h +10 -2
- package/deps/couchbase-cxx-client/core/platform/terminate_handler.cc +5 -5
- package/deps/couchbase-cxx-client/core/platform/uuid.cc +24 -20
- package/deps/couchbase-cxx-client/core/protocol/client_opcode.hxx +10 -1
- package/deps/couchbase-cxx-client/core/protocol/client_opcode_fmt.hxx +10 -1
- package/deps/couchbase-cxx-client/core/protocol/client_request.hxx +3 -4
- package/deps/couchbase-cxx-client/core/protocol/cmd_get_cluster_config.cxx +1 -1
- package/deps/couchbase-cxx-client/core/protocol/cmd_get_collections_manifest.cxx +1 -1
- package/deps/couchbase-cxx-client/core/protocol/cmd_get_error_map.cxx +1 -1
- package/deps/couchbase-cxx-client/core/protocol/cmd_hello.hxx +5 -1
- package/deps/couchbase-cxx-client/core/protocol/hello_feature.hxx +8 -1
- package/deps/couchbase-cxx-client/core/protocol/hello_feature_fmt.hxx +6 -0
- package/deps/couchbase-cxx-client/core/protocol/status.cxx +11 -1
- package/deps/couchbase-cxx-client/core/protocol/status.hxx +7 -1
- package/deps/couchbase-cxx-client/core/query_context.hxx +79 -0
- package/deps/couchbase-cxx-client/core/range_scan_options.cxx +57 -0
- package/deps/couchbase-cxx-client/core/range_scan_options.hxx +139 -0
- package/deps/couchbase-cxx-client/core/range_scan_orchestrator.cxx +495 -0
- package/deps/couchbase-cxx-client/core/range_scan_orchestrator.hxx +54 -0
- package/deps/couchbase-cxx-client/core/range_scan_orchestrator_options.hxx +54 -0
- package/deps/couchbase-cxx-client/core/resource_units.hxx +26 -0
- package/deps/couchbase-cxx-client/core/response_handler.hxx +49 -0
- package/deps/couchbase-cxx-client/core/retry_orchestrator.cxx +52 -0
- package/deps/couchbase-cxx-client/core/retry_orchestrator.hxx +35 -0
- package/deps/couchbase-cxx-client/core/sasl/scram-sha/scram-sha.cc +12 -12
- package/deps/couchbase-cxx-client/core/scan_options.hxx +63 -0
- package/deps/couchbase-cxx-client/core/scan_result.cxx +71 -0
- package/deps/couchbase-cxx-client/core/scan_result.hxx +59 -0
- package/deps/couchbase-cxx-client/core/search_query_options.cxx +72 -0
- package/deps/couchbase-cxx-client/core/search_query_options.hxx +74 -0
- package/deps/couchbase-cxx-client/core/seed_config.cxx +39 -0
- package/deps/couchbase-cxx-client/core/seed_config.hxx +39 -0
- package/deps/couchbase-cxx-client/core/stats_options.hxx +61 -0
- package/deps/couchbase-cxx-client/core/subdoc_options.hxx +124 -0
- package/deps/couchbase-cxx-client/core/timeout_defaults.hxx +3 -1
- package/deps/couchbase-cxx-client/core/topology/configuration.cxx +10 -9
- package/deps/couchbase-cxx-client/core/topology/configuration.hxx +12 -1
- package/deps/couchbase-cxx-client/core/topology/error_map_json.hxx +1 -1
- package/deps/couchbase-cxx-client/core/tracing/CMakeLists.txt +3 -1
- package/deps/couchbase-cxx-client/core/tracing/constants.hxx +13 -1
- package/deps/couchbase-cxx-client/core/tracing/threshold_logging_tracer.cxx +21 -6
- package/deps/couchbase-cxx-client/core/tracing/threshold_logging_tracer.hxx +2 -2
- package/deps/couchbase-cxx-client/core/transactions/active_transaction_record.hxx +2 -2
- package/deps/couchbase-cxx-client/core/transactions/async_attempt_context.hxx +14 -7
- package/deps/couchbase-cxx-client/core/transactions/atr_cleanup_entry.cxx +60 -71
- package/deps/couchbase-cxx-client/core/transactions/attempt_context.hxx +14 -3
- package/deps/couchbase-cxx-client/core/transactions/attempt_context_impl.cxx +598 -431
- package/deps/couchbase-cxx-client/core/transactions/attempt_context_impl.hxx +97 -52
- package/deps/couchbase-cxx-client/core/transactions/attempt_context_testing_hooks.hxx +6 -1
- package/deps/couchbase-cxx-client/core/transactions/cleanup_testing_hooks.hxx +9 -2
- package/deps/couchbase-cxx-client/core/transactions/durability_level.hxx +1 -1
- package/deps/couchbase-cxx-client/core/transactions/error_class.hxx +35 -0
- package/deps/couchbase-cxx-client/core/transactions/exceptions.cxx +13 -0
- package/deps/couchbase-cxx-client/core/transactions/exceptions.hxx +36 -25
- package/deps/couchbase-cxx-client/core/transactions/forward_compat.hxx +6 -5
- package/deps/couchbase-cxx-client/core/transactions/internal/atr_cleanup_entry.hxx +51 -13
- package/deps/couchbase-cxx-client/core/transactions/internal/client_record.hxx +26 -1
- package/deps/couchbase-cxx-client/core/transactions/internal/doc_record.hxx +21 -0
- package/deps/couchbase-cxx-client/core/transactions/internal/exceptions_internal.hxx +1 -15
- package/deps/couchbase-cxx-client/core/transactions/internal/logging.hxx +40 -18
- package/deps/couchbase-cxx-client/core/transactions/internal/transaction_context.hxx +13 -11
- package/deps/couchbase-cxx-client/core/transactions/internal/transactions_cleanup.hxx +21 -9
- package/deps/couchbase-cxx-client/core/transactions/internal/utils.hxx +16 -8
- package/deps/couchbase-cxx-client/core/transactions/result.hxx +26 -0
- package/deps/couchbase-cxx-client/core/transactions/staged_mutation.cxx +51 -47
- package/deps/couchbase-cxx-client/core/transactions/staged_mutation.hxx +6 -6
- package/deps/couchbase-cxx-client/core/transactions/transaction_context.cxx +51 -27
- package/deps/couchbase-cxx-client/core/transactions/transaction_get_result.hxx +18 -2
- package/deps/couchbase-cxx-client/core/transactions/transaction_links.hxx +25 -2
- package/deps/couchbase-cxx-client/core/transactions/transaction_options.cxx +38 -0
- package/deps/couchbase-cxx-client/core/transactions/transactions.cxx +20 -16
- package/deps/couchbase-cxx-client/core/transactions/transactions_cleanup.cxx +158 -164
- package/deps/couchbase-cxx-client/core/transactions/transactions_config.cxx +81 -0
- package/deps/couchbase-cxx-client/core/transactions/utils.cxx +11 -0
- package/deps/couchbase-cxx-client/core/transactions/waitable_op_list.hxx +7 -3
- package/deps/couchbase-cxx-client/core/transactions.hxx +15 -26
- package/deps/couchbase-cxx-client/core/utils/binary.hxx +1 -1
- package/deps/couchbase-cxx-client/core/utils/connection_string.cxx +17 -8
- package/deps/couchbase-cxx-client/core/utils/crc32.hxx +6 -0
- package/deps/couchbase-cxx-client/core/utils/json.cxx +2 -2
- package/deps/couchbase-cxx-client/core/utils/keyspace.hxx +55 -0
- package/deps/couchbase-cxx-client/core/utils/unsigned_leb128.hxx +19 -17
- package/deps/couchbase-cxx-client/core/utils/url_codec.cxx +1 -1
- package/deps/couchbase-cxx-client/core/view_query_options.cxx +72 -0
- package/deps/couchbase-cxx-client/core/view_query_options.hxx +78 -0
- package/deps/couchbase-cxx-client/core/wait_until_ready_options.hxx +52 -0
- package/deps/couchbase-cxx-client/couchbase/append_options.hxx +2 -2
- package/deps/couchbase-cxx-client/couchbase/best_effort_retry_strategy.hxx +64 -0
- package/deps/couchbase-cxx-client/couchbase/build_query_index_options.hxx +12 -45
- package/deps/couchbase-cxx-client/couchbase/cluster.hxx +24 -5
- package/deps/couchbase-cxx-client/couchbase/cluster_options.hxx +45 -8
- package/deps/couchbase-cxx-client/couchbase/codec/json_transcoder.hxx +1 -1
- package/deps/couchbase-cxx-client/couchbase/collection.hxx +8 -0
- package/deps/couchbase-cxx-client/couchbase/collection_query_index_manager.hxx +218 -0
- package/deps/couchbase-cxx-client/couchbase/common_options.hxx +21 -1
- package/deps/couchbase-cxx-client/couchbase/configuration_profile.hxx +13 -1
- package/deps/couchbase-cxx-client/couchbase/configuration_profiles_registry.hxx +26 -0
- package/deps/couchbase-cxx-client/couchbase/create_primary_query_index_options.hxx +166 -0
- package/deps/couchbase-cxx-client/couchbase/create_query_index_options.hxx +172 -0
- package/deps/couchbase-cxx-client/couchbase/decrement_options.hxx +2 -1
- package/deps/couchbase-cxx-client/couchbase/drop_primary_query_index_options.hxx +129 -0
- package/deps/couchbase-cxx-client/couchbase/drop_query_index_options.hxx +116 -0
- package/deps/couchbase-cxx-client/couchbase/error_codes.hxx +46 -0
- package/deps/couchbase-cxx-client/couchbase/error_context.hxx +3 -3
- package/deps/couchbase-cxx-client/couchbase/fail_fast_retry_strategy.hxx +37 -0
- package/deps/couchbase-cxx-client/couchbase/fmt/cas.hxx +1 -1
- package/deps/couchbase-cxx-client/couchbase/fmt/key_value_status_code.hxx +16 -0
- package/deps/couchbase-cxx-client/couchbase/fmt/query_scan_consistency.hxx +46 -0
- package/deps/couchbase-cxx-client/couchbase/fmt/query_status.hxx +70 -0
- package/deps/couchbase-cxx-client/couchbase/fmt/retry_reason.hxx +7 -7
- package/deps/couchbase-cxx-client/couchbase/fmt/tls_verify_mode.hxx +46 -0
- package/deps/couchbase-cxx-client/couchbase/get_all_query_indexes_options.hxx +100 -0
- package/deps/couchbase-cxx-client/couchbase/increment_options.hxx +2 -1
- package/deps/couchbase-cxx-client/couchbase/insert_options.hxx +2 -1
- package/deps/couchbase-cxx-client/couchbase/key_value_error_context.hxx +2 -2
- package/deps/couchbase-cxx-client/couchbase/key_value_status_code.hxx +15 -1
- package/deps/couchbase-cxx-client/couchbase/lookup_in_options.hxx +2 -1
- package/deps/couchbase-cxx-client/{core → couchbase}/management/query_index.hxx +2 -2
- package/deps/couchbase-cxx-client/couchbase/manager_error_context.hxx +2 -2
- package/deps/couchbase-cxx-client/couchbase/metrics/meter.hxx +16 -0
- package/deps/couchbase-cxx-client/couchbase/mutate_in_options.hxx +2 -3
- package/deps/couchbase-cxx-client/couchbase/prepend_options.hxx +2 -1
- package/deps/couchbase-cxx-client/couchbase/query_error_context.hxx +1 -1
- package/deps/couchbase-cxx-client/couchbase/query_index_manager.hxx +178 -6
- package/deps/couchbase-cxx-client/couchbase/query_options.hxx +21 -18
- package/deps/couchbase-cxx-client/couchbase/query_result.hxx +0 -1
- package/deps/couchbase-cxx-client/couchbase/remove_options.hxx +2 -1
- package/deps/couchbase-cxx-client/couchbase/replace_options.hxx +2 -1
- package/deps/couchbase-cxx-client/couchbase/retry_action.hxx +41 -0
- package/deps/couchbase-cxx-client/couchbase/retry_reason.hxx +14 -8
- package/deps/couchbase-cxx-client/couchbase/retry_request.hxx +39 -0
- package/deps/couchbase-cxx-client/couchbase/retry_strategy.hxx +35 -0
- package/deps/couchbase-cxx-client/couchbase/scope.hxx +5 -2
- package/deps/couchbase-cxx-client/couchbase/subdocument_error_context.hxx +1 -1
- package/deps/couchbase-cxx-client/couchbase/tracing/request_tracer.hxx +16 -0
- package/deps/couchbase-cxx-client/couchbase/transaction_op_error_context.hxx +33 -7
- package/deps/couchbase-cxx-client/couchbase/transactions/async_attempt_context.hxx +24 -6
- package/deps/couchbase-cxx-client/couchbase/transactions/attempt_context.hxx +18 -6
- package/deps/couchbase-cxx-client/couchbase/transactions/transaction_keyspace.hxx +50 -1
- package/deps/couchbase-cxx-client/couchbase/transactions/{per_transaction_config.hxx → transaction_options.hxx} +30 -33
- package/deps/couchbase-cxx-client/{core → couchbase}/transactions/transaction_query_options.hxx +51 -35
- package/deps/couchbase-cxx-client/couchbase/transactions/transaction_query_result.hxx +55 -0
- package/deps/couchbase-cxx-client/couchbase/transactions/transactions_cleanup_config.hxx +140 -0
- package/deps/couchbase-cxx-client/couchbase/transactions/transactions_config.hxx +255 -0
- package/deps/couchbase-cxx-client/couchbase/transactions/transactions_query_config.hxx +61 -0
- package/deps/couchbase-cxx-client/couchbase/transactions.hxx +3 -3
- package/deps/couchbase-cxx-client/couchbase/upsert_options.hxx +2 -1
- package/deps/couchbase-cxx-client/couchbase/watch_query_indexes_options.hxx +115 -0
- package/deps/couchbase-cxx-client/examples/CMakeLists.txt +10 -0
- package/deps/couchbase-cxx-client/examples/async_game_server.cxx +314 -0
- package/deps/couchbase-cxx-client/examples/channels.cxx +50 -0
- package/deps/couchbase-cxx-client/examples/distributed_mutex.cxx +186 -0
- package/deps/couchbase-cxx-client/examples/game_server.cxx +81 -102
- package/deps/couchbase-cxx-client/examples/minimal.cxx +3 -1
- package/deps/couchbase-cxx-client/test/CMakeLists.txt +1 -0
- package/deps/couchbase-cxx-client/test/test_helper.hxx +5 -0
- package/deps/couchbase-cxx-client/test/test_integration_analytics.cxx +3 -3
- package/deps/couchbase-cxx-client/test/test_integration_collections.cxx +2 -2
- package/deps/couchbase-cxx-client/test/test_integration_connect.cxx +12 -6
- package/deps/couchbase-cxx-client/test/test_integration_crud.cxx +79 -5
- package/deps/couchbase-cxx-client/test/test_integration_management.cxx +795 -320
- package/deps/couchbase-cxx-client/test/test_integration_query.cxx +89 -8
- package/deps/couchbase-cxx-client/test/test_integration_range_scan.cxx +1067 -0
- package/deps/couchbase-cxx-client/test/test_integration_transcoders.cxx +14 -0
- package/deps/couchbase-cxx-client/test/test_transaction_transaction_context.cxx +236 -110
- package/deps/couchbase-cxx-client/test/test_transaction_transaction_public_async_api.cxx +217 -76
- package/deps/couchbase-cxx-client/test/test_transaction_transaction_public_blocking_api.cxx +538 -147
- package/deps/couchbase-cxx-client/test/test_transaction_transaction_simple.cxx +467 -514
- package/deps/couchbase-cxx-client/test/test_transaction_transaction_simple_async.cxx +415 -330
- package/deps/couchbase-cxx-client/test/test_unit_connection_string.cxx +4 -0
- package/deps/couchbase-cxx-client/test/test_unit_transaction_logging.cxx +66 -29
- package/deps/couchbase-cxx-client/test/test_unit_transaction_utils.cxx +0 -2
- package/deps/couchbase-cxx-client/test/test_unit_utils.cxx +124 -8
- package/deps/couchbase-cxx-client/test/tools/tool_kv_loader.cxx +140 -65
- package/deps/couchbase-cxx-client/test/utils/integration_shortcuts.cxx +3 -3
- package/deps/couchbase-cxx-client/test/utils/integration_test_guard.cxx +47 -10
- package/deps/couchbase-cxx-client/test/utils/integration_test_guard.hxx +13 -3
- package/deps/couchbase-cxx-client/test/utils/test_context.cxx +8 -0
- package/deps/couchbase-cxx-client/test/utils/test_context.hxx +2 -0
- package/deps/couchbase-cxx-client/test/utils/wait_until.cxx +37 -1
- package/deps/couchbase-cxx-client/test/utils/wait_until.hxx +8 -1
- package/deps/couchbase-cxx-client/third_party/asio/.cirrus.yml +2 -2
- package/deps/couchbase-cxx-client/third_party/asio/asio/COPYING +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/Makefile.am +2 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/README +2 -2
- package/deps/couchbase-cxx-client/third_party/asio/asio/asio.manifest +373 -102
- package/deps/couchbase-cxx-client/third_party/asio/asio/asio.pc.in +11 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/boost_asio.manifest +440 -104
- package/deps/couchbase-cxx-client/third_party/asio/asio/boostify.pl +37 -3
- package/deps/couchbase-cxx-client/third_party/asio/asio/configure.ac +6 -2
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/Makefile.am +13 -5
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/any_io_executor.hpp +4 -2
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/append.hpp +78 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/as_tuple.hpp +139 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/associated_allocator.hpp +4 -4
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/associated_cancellation_slot.hpp +4 -3
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/associated_executor.hpp +4 -4
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/associator.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/async_result.hpp +357 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/awaitable.hpp +10 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/basic_datagram_socket.hpp +208 -115
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/basic_deadline_timer.hpp +28 -16
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/basic_file.hpp +2 -2
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/basic_io_object.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/basic_random_access_file.hpp +51 -27
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/basic_raw_socket.hpp +210 -117
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/basic_readable_pipe.hpp +127 -15
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/basic_seq_packet_socket.hpp +84 -47
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/basic_serial_port.hpp +120 -27
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/basic_signal_set.hpp +36 -14
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/basic_socket.hpp +50 -26
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/basic_socket_acceptor.hpp +295 -150
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/basic_socket_iostream.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/basic_socket_streambuf.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/basic_stream_file.hpp +51 -27
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/basic_stream_socket.hpp +153 -84
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/basic_streambuf.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/basic_streambuf_fwd.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/basic_waitable_timer.hpp +28 -16
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/basic_writable_pipe.hpp +127 -15
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/bind_allocator.hpp +722 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/bind_cancellation_slot.hpp +11 -8
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/bind_executor.hpp +36 -20
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/buffer.hpp +222 -42
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/buffer_registration.hpp +2 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/buffered_read_stream.hpp +38 -6
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/buffered_read_stream_fwd.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/buffered_stream.hpp +34 -5
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/buffered_stream_fwd.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/buffered_write_stream.hpp +38 -6
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/buffered_write_stream_fwd.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/buffers_iterator.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/cancellation_signal.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/cancellation_state.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/cancellation_type.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/co_spawn.hpp +33 -9
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/completion_condition.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/compose.hpp +682 -12
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/connect.hpp +132 -61
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/connect_pipe.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/coroutine.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/deadline_timer.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/defer.hpp +128 -42
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/deferred.hpp +675 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detached.hpp +6 -5
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/array.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/array_fwd.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/assert.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/atomic_count.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/base_from_cancellation_state.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/base_from_completion_cond.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/bind_handler.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/blocking_executor_op.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/buffer_resize_guard.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/buffer_sequence_adapter.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/buffered_stream_storage.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/bulk_executor_op.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/call_stack.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/chrono.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/chrono_time_traits.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/completion_handler.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/concurrency_hint.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/conditionally_enabled_event.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/conditionally_enabled_mutex.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/config.hpp +201 -11
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/consuming_buffers.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/cstddef.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/cstdint.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/date_time_fwd.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/deadline_timer_service.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/dependent_type.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/descriptor_ops.hpp +2 -2
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/descriptor_read_op.hpp +3 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/descriptor_write_op.hpp +3 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/dev_poll_reactor.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/epoll_reactor.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/event.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/eventfd_select_interrupter.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/exception.hpp +40 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/executor_function.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/executor_op.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/fd_set_adapter.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/fenced_block.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/functional.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/future.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/gcc_arm_fenced_block.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/gcc_hppa_fenced_block.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/gcc_sync_fenced_block.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/gcc_x86_fenced_block.hpp +2 -2
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/global.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/handler_alloc_helpers.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/handler_cont_helpers.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/handler_invoke_helpers.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/handler_tracking.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/handler_type_requirements.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/handler_work.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/hash_map.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/buffer_sequence_adapter.ipp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/descriptor_ops.ipp +9 -9
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/dev_poll_reactor.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/dev_poll_reactor.ipp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/epoll_reactor.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/epoll_reactor.ipp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/eventfd_select_interrupter.ipp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/handler_tracking.ipp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/io_uring_descriptor_service.ipp +4 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/io_uring_file_service.ipp +10 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/io_uring_service.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/io_uring_service.ipp +8 -7
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/io_uring_socket_service_base.ipp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/kqueue_reactor.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/kqueue_reactor.ipp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/null_event.ipp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/pipe_select_interrupter.ipp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/posix_event.ipp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/posix_mutex.ipp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/posix_serial_port_service.ipp +21 -2
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/posix_thread.ipp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/posix_tss_ptr.ipp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/reactive_descriptor_service.ipp +6 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/reactive_socket_service_base.ipp +3 -3
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/resolver_service_base.ipp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/scheduler.ipp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/select_reactor.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/select_reactor.ipp +36 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/service_registry.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/service_registry.ipp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/signal_set_service.ipp +28 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/socket_ops.ipp +126 -121
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/socket_select_interrupter.ipp +4 -4
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/strand_executor_service.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/strand_executor_service.ipp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/strand_service.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/strand_service.ipp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/thread_context.ipp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/throw_error.ipp +13 -9
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/timer_queue_ptime.ipp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/timer_queue_set.ipp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/win_event.ipp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/win_iocp_file_service.ipp +21 -7
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/win_iocp_handle_service.ipp +94 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/win_iocp_io_context.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/win_iocp_io_context.ipp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/win_iocp_serial_port_service.ipp +9 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/win_iocp_socket_service_base.ipp +11 -11
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/win_mutex.ipp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/win_object_handle_service.ipp +5 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/win_static_mutex.ipp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/win_thread.ipp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/win_tss_ptr.ipp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/winrt_ssocket_service_base.ipp +4 -4
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/winrt_timer_scheduler.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/winrt_timer_scheduler.ipp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/impl/winsock_init.ipp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/io_control.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/io_object_impl.hpp +11 -2
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/io_uring_descriptor_read_at_op.hpp +3 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/io_uring_descriptor_read_op.hpp +3 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/io_uring_descriptor_service.hpp +26 -8
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/io_uring_descriptor_write_at_op.hpp +3 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/io_uring_descriptor_write_op.hpp +3 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/io_uring_file_service.hpp +12 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/io_uring_null_buffers_op.hpp +3 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/io_uring_operation.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/io_uring_service.hpp +2 -2
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/io_uring_socket_accept_op.hpp +5 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/io_uring_socket_connect_op.hpp +3 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/io_uring_socket_recv_op.hpp +3 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/io_uring_socket_recvfrom_op.hpp +4 -2
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/io_uring_socket_recvmsg_op.hpp +3 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/io_uring_socket_send_op.hpp +3 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/io_uring_socket_sendto_op.hpp +3 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/io_uring_socket_service.hpp +31 -13
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/io_uring_socket_service_base.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/io_uring_wait_op.hpp +3 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/is_buffer_sequence.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/is_executor.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/keyword_tss_ptr.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/kqueue_reactor.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/local_free_on_block_exit.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/macos_fenced_block.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/memory.hpp +17 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/mutex.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/non_const_lvalue.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/noncopyable.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/null_event.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/null_fenced_block.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/null_global.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/null_mutex.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/null_reactor.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/null_signal_blocker.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/null_socket_service.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/null_static_mutex.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/null_thread.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/null_tss_ptr.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/object_pool.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/old_win_sdk_compat.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/op_queue.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/operation.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/pipe_select_interrupter.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/pop_options.hpp +5 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/posix_event.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/posix_fd_set_adapter.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/posix_global.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/posix_mutex.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/posix_serial_port_service.hpp +2 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/posix_signal_blocker.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/posix_static_mutex.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/posix_thread.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/posix_tss_ptr.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/push_options.hpp +11 -2
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/reactive_descriptor_service.hpp +26 -7
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/reactive_null_buffers_op.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/reactive_socket_accept_op.hpp +5 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/reactive_socket_connect_op.hpp +3 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/reactive_socket_recv_op.hpp +3 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/reactive_socket_recvfrom_op.hpp +3 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/reactive_socket_recvmsg_op.hpp +3 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/reactive_socket_send_op.hpp +3 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/reactive_socket_sendto_op.hpp +3 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/reactive_socket_service.hpp +38 -12
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/reactive_socket_service_base.hpp +2 -3
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/reactive_wait_op.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/reactor.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/reactor_op.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/reactor_op_queue.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/recycling_allocator.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/regex_fwd.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/resolve_endpoint_op.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/resolve_op.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/resolve_query_op.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/resolver_service.hpp +3 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/resolver_service_base.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/scheduler.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/scheduler_operation.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/scheduler_task.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/scheduler_thread_info.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/scoped_lock.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/scoped_ptr.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/select_interrupter.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/select_reactor.hpp +23 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/service_registry.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/signal_blocker.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/signal_handler.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/signal_init.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/signal_op.hpp +5 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/signal_set_service.hpp +43 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/socket_holder.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/socket_ops.hpp +37 -45
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/socket_option.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/socket_select_interrupter.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/socket_types.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/solaris_fenced_block.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/source_location.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/static_mutex.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/std_event.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/std_fenced_block.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/std_global.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/std_mutex.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/std_static_mutex.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/std_thread.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/strand_executor_service.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/strand_service.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/string_view.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/thread.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/thread_context.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/thread_group.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/thread_info_base.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/throw_error.hpp +18 -9
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/throw_exception.hpp +7 -3
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/timer_queue.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/timer_queue_base.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/timer_queue_ptime.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/timer_queue_set.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/timer_scheduler.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/timer_scheduler_fwd.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/tss_ptr.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/type_traits.hpp +9 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/utility.hpp +84 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/variadic_templates.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/wait_handler.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/wait_op.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/win_event.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/win_fd_set_adapter.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/win_fenced_block.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/win_global.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/win_iocp_file_service.hpp +8 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/win_iocp_handle_read_op.hpp +3 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/win_iocp_handle_service.hpp +29 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/win_iocp_handle_write_op.hpp +6 -2
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/win_iocp_io_context.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/win_iocp_null_buffers_op.hpp +3 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/win_iocp_operation.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/win_iocp_overlapped_op.hpp +6 -2
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/win_iocp_overlapped_ptr.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/win_iocp_serial_port_service.hpp +2 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/win_iocp_socket_accept_op.hpp +5 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/win_iocp_socket_connect_op.hpp +3 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/win_iocp_socket_recv_op.hpp +3 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/win_iocp_socket_recvfrom_op.hpp +3 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/win_iocp_socket_recvmsg_op.hpp +3 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/win_iocp_socket_send_op.hpp +3 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/win_iocp_socket_service.hpp +32 -8
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/win_iocp_socket_service_base.hpp +6 -8
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/win_iocp_thread_info.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/win_iocp_wait_op.hpp +3 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/win_mutex.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/win_object_handle_service.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/win_static_mutex.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/win_thread.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/win_tss_ptr.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/winapp_thread.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/wince_thread.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/winrt_async_manager.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/winrt_async_op.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/winrt_resolve_op.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/winrt_resolver_service.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/winrt_socket_connect_op.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/winrt_socket_recv_op.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/winrt_socket_send_op.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/winrt_ssocket_service.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/winrt_ssocket_service_base.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/winrt_timer_scheduler.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/winrt_utils.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/winsock_init.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/work_dispatcher.hpp +4 -2
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/detail/wrapped_handler.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/dispatch.hpp +126 -42
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/error.hpp +36 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/error_code.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/execution/allocator.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/execution/any_executor.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/execution/bad_executor.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/execution/blocking.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/execution/blocking_adaptation.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/execution/bulk_execute.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/execution/bulk_guarantee.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/execution/connect.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/execution/context.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/execution/context_as.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/execution/detail/as_invocable.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/execution/detail/as_operation.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/execution/detail/as_receiver.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/execution/detail/bulk_sender.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/execution/detail/submit_receiver.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/execution/detail/void_receiver.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/execution/execute.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/execution/executor.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/execution/impl/bad_executor.ipp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/execution/impl/receiver_invocation_error.ipp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/execution/invocable_archetype.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/execution/mapping.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/execution/occupancy.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/execution/operation_state.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/execution/outstanding_work.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/execution/prefer_only.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/execution/receiver.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/execution/receiver_invocation_error.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/execution/relationship.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/execution/schedule.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/execution/scheduler.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/execution/sender.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/execution/set_done.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/execution/set_error.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/execution/set_value.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/execution/start.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/execution/submit.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/execution.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/execution_context.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/executor.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/executor_work_guard.hpp +100 -32
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/experimental/append.hpp +6 -41
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/experimental/as_single.hpp +6 -5
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/experimental/as_tuple.hpp +6 -101
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/experimental/awaitable_operators.hpp +14 -14
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/experimental/basic_channel.hpp +78 -2
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/experimental/basic_concurrent_channel.hpp +69 -2
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/experimental/cancellation_condition.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/experimental/channel.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/experimental/channel_error.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/experimental/channel_traits.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/experimental/co_spawn.hpp +12 -16
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/experimental/concurrent_channel.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/experimental/coro.hpp +4 -4
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/experimental/coro_traits.hpp +2 -2
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/experimental/deferred.hpp +6 -575
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/experimental/detail/channel_handler.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/experimental/detail/channel_message.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/experimental/detail/channel_operation.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/experimental/detail/channel_payload.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/experimental/detail/channel_receive_op.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/experimental/detail/channel_send_functions.hpp +2 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/experimental/detail/channel_send_op.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/experimental/detail/channel_service.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/experimental/detail/completion_handler_erasure.hpp +82 -46
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/experimental/detail/coro_promise_allocator.hpp +2 -2
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/experimental/detail/has_signature.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/experimental/detail/impl/channel_service.hpp +6 -8
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/experimental/detail/partial_promise.hpp +2 -2
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/experimental/impl/as_single.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/experimental/impl/channel_error.ipp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/experimental/impl/coro.hpp +47 -56
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/experimental/impl/parallel_group.hpp +14 -28
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/experimental/impl/promise.hpp +2 -2
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/experimental/impl/use_coro.hpp +3 -2
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/experimental/parallel_group.hpp +27 -37
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/experimental/prepend.hpp +6 -41
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/experimental/promise.hpp +23 -405
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/experimental/use_coro.hpp +5 -5
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/file_base.hpp +9 -3
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/generic/basic_endpoint.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/generic/datagram_protocol.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/generic/detail/endpoint.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/generic/detail/impl/endpoint.ipp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/generic/raw_protocol.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/generic/seq_packet_protocol.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/generic/stream_protocol.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/handler_alloc_hook.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/handler_continuation_hook.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/handler_invoke_hook.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/high_resolution_timer.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/impl/any_io_executor.ipp +6 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/{experimental/impl → impl}/append.hpp +18 -19
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/{experimental/impl → impl}/as_tuple.hpp +13 -15
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/impl/awaitable.hpp +400 -5
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/impl/buffered_read_stream.hpp +13 -3
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/impl/buffered_write_stream.hpp +13 -3
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/impl/cancellation_signal.ipp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/impl/co_spawn.hpp +71 -7
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/impl/connect.hpp +63 -31
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/impl/connect_pipe.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/impl/connect_pipe.ipp +2 -2
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/impl/defer.hpp +23 -13
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/{experimental/impl → impl}/deferred.hpp +31 -40
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/impl/detached.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/impl/dispatch.hpp +23 -13
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/impl/error.ipp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/impl/error_code.ipp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/impl/execution_context.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/impl/execution_context.ipp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/impl/executor.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/impl/executor.ipp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/impl/handler_alloc_hook.ipp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/impl/io_context.hpp +9 -3
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/impl/io_context.ipp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/impl/multiple_exceptions.ipp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/impl/post.hpp +23 -13
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/{experimental/impl → impl}/prepend.hpp +16 -17
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/impl/read.hpp +97 -51
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/impl/read_at.hpp +51 -31
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/impl/read_until.hpp +119 -59
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/impl/redirect_error.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/impl/serial_port_base.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/impl/serial_port_base.ipp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/impl/spawn.hpp +1321 -277
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/impl/src.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/impl/system_context.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/impl/system_context.ipp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/impl/system_executor.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/impl/thread_pool.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/impl/thread_pool.ipp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/impl/use_awaitable.hpp +18 -8
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/impl/use_future.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/impl/write.hpp +95 -50
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/impl/write_at.hpp +53 -31
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/io_context.hpp +25 -38
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/io_context_strand.hpp +15 -3
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/io_service.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/io_service_strand.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ip/address.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ip/address_v4.hpp +75 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ip/address_v4_iterator.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ip/address_v4_range.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ip/address_v6.hpp +35 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ip/address_v6_iterator.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ip/address_v6_range.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ip/bad_address_cast.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ip/basic_endpoint.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ip/basic_resolver.hpp +130 -64
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ip/basic_resolver_entry.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ip/basic_resolver_iterator.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ip/basic_resolver_query.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ip/basic_resolver_results.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ip/detail/endpoint.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ip/detail/impl/endpoint.ipp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ip/detail/socket_option.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ip/host_name.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ip/icmp.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ip/impl/address.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ip/impl/address.ipp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ip/impl/address_v4.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ip/impl/address_v4.ipp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ip/impl/address_v6.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ip/impl/address_v6.ipp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ip/impl/basic_endpoint.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ip/impl/host_name.ipp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ip/impl/network_v4.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ip/impl/network_v4.ipp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ip/impl/network_v6.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ip/impl/network_v6.ipp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ip/multicast.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ip/network_v4.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ip/network_v6.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ip/resolver_base.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ip/resolver_query_base.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ip/tcp.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ip/udp.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ip/unicast.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ip/v6_only.hpp +2 -2
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/is_applicable_property.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/is_contiguous_iterator.hpp +45 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/is_executor.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/is_read_buffered.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/is_write_buffered.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/local/basic_endpoint.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/local/connect_pair.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/local/datagram_protocol.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/local/detail/endpoint.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/local/detail/impl/endpoint.ipp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/local/stream_protocol.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/multiple_exceptions.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/packaged_task.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/placeholders.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/posix/basic_descriptor.hpp +74 -13
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/posix/basic_stream_descriptor.hpp +95 -27
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/posix/descriptor.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/posix/descriptor_base.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/posix/stream_descriptor.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/post.hpp +128 -42
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/prefer.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/prepend.hpp +78 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/query.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/random_access_file.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/read.hpp +245 -153
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/read_at.hpp +110 -53
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/read_until.hpp +301 -166
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/readable_pipe.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/recycling_allocator.hpp +138 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/redirect_error.hpp +3 -3
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/registered_buffer.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/require.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/require_concept.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/serial_port.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/serial_port_base.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/signal_set.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/socket_base.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/spawn.hpp +647 -87
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ssl/context.hpp +4 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ssl/context_base.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ssl/detail/buffered_handshake_op.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ssl/detail/engine.hpp +4 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ssl/detail/handshake_op.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ssl/detail/impl/engine.ipp +19 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ssl/detail/impl/openssl_init.ipp +7 -3
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ssl/detail/io.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ssl/detail/openssl_init.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ssl/detail/openssl_types.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ssl/detail/password_callback.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ssl/detail/read_op.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ssl/detail/shutdown_op.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ssl/detail/stream_core.hpp +16 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ssl/detail/verify_callback.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ssl/detail/write_op.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ssl/error.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ssl/host_name_verification.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ssl/impl/context.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ssl/impl/context.ipp +140 -64
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ssl/impl/error.ipp +25 -3
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ssl/impl/host_name_verification.ipp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ssl/impl/rfc2818_verification.ipp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ssl/impl/src.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ssl/rfc2818_verification.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ssl/stream.hpp +154 -53
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ssl/stream_base.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ssl/verify_context.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ssl/verify_mode.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ssl.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/static_thread_pool.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/steady_timer.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/strand.hpp +12 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/stream_file.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/streambuf.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/system_context.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/system_error.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/system_executor.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/system_timer.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/this_coro.hpp +4 -4
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/thread.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/thread_pool.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/time_traits.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/traits/bulk_execute_free.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/traits/bulk_execute_member.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/traits/connect_free.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/traits/connect_member.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/traits/equality_comparable.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/traits/execute_free.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/traits/execute_member.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/traits/prefer_free.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/traits/prefer_member.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/traits/query_free.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/traits/query_member.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/traits/query_static_constexpr_member.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/traits/require_concept_free.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/traits/require_concept_member.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/traits/require_free.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/traits/require_member.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/traits/schedule_free.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/traits/schedule_member.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/traits/set_done_free.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/traits/set_done_member.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/traits/set_error_free.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/traits/set_error_member.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/traits/set_value_free.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/traits/set_value_member.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/traits/start_free.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/traits/start_member.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/traits/static_query.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/traits/static_require.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/traits/static_require_concept.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/traits/submit_free.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/traits/submit_member.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ts/buffer.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ts/executor.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ts/internet.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ts/io_context.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ts/net.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ts/netfwd.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ts/socket.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/ts/timer.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/unyield.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/use_awaitable.hpp +4 -3
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/use_future.hpp +10 -7
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/uses_executor.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/version.hpp +2 -2
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/wait_traits.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/windows/basic_object_handle.hpp +70 -12
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/windows/basic_overlapped_handle.hpp +100 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/windows/basic_random_access_handle.hpp +98 -29
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/windows/basic_stream_handle.hpp +95 -28
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/windows/object_handle.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/windows/overlapped_handle.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/windows/overlapped_ptr.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/windows/random_access_handle.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/windows/stream_handle.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/writable_pipe.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/write.hpp +242 -150
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/write_at.hpp +112 -53
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/yield.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio.hpp +8 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/Makefile.am +18 -2
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/Makefile.msc +6 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/asio.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/asio_ssl.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/Jamfile.v2 +20 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/asio.qbk +4 -3
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/asioref.xsl +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/doxy2qbk.pl +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/examples.qbk +69 -3
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/history.qbk +398 -17
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/index.xml +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/makepdf.pl +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/net_ts.qbk +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/allocation.qbk +13 -7
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/async.qbk +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/basics.qbk +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/bsd_sockets.qbk +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/buffers.qbk +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/cancellation.qbk +5 -3
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/channels.qbk +56 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/compose.qbk +101 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/concurrency_hint.qbk +9 -4
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/coro.qbk +72 -10
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/coroutine.qbk +2 -2
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/cpp2011.qbk +1 -36
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/cpp20_coroutines.qbk +70 -58
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/deferred.qbk +54 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/files.qbk +49 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/futures.qbk +41 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/handler_tracking.qbk +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/implementation.qbk +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/iostreams.qbk +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/line_based.qbk +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/model/allocators.qbk +65 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/model/associators.qbk +78 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/model/async_agent_chain.png +0 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/model/async_agent_model.png +0 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/model/async_agents.qbk +35 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/model/async_child_agent_chain.png +0 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/model/async_op_init_complete.png +0 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/model/async_op_model.png +0 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/model/async_op_phases.png +0 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/model/async_op_trivial_chain.png +0 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/model/async_ops.qbk +81 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/model/cancellation.qbk +33 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/model/child_agents.qbk +56 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/model/completion_token_model.png +0 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/model/completion_token_transform.png +0 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/model/completion_tokens.qbk +239 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/model/executors.qbk +55 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/model/higher_level_model.png +0 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/model/higher_levels.qbk +40 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/model/library_elements.qbk +102 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/model.qbk +40 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/other_protocols.qbk +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/parallel_group.qbk +65 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/pipes.qbk +38 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/posix.qbk +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/promises.qbk +96 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/protocols.qbk +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/rationale.qbk +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/reactor.qbk +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/serial_ports.qbk +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/signals.qbk +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/spawn.qbk +7 -10
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/ssl.qbk +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/strands.qbk +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/streams.qbk +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/threads.qbk +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/timers.qbk +14 -13
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/token_adapters.qbk +210 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview/windows.qbk +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/overview.qbk +54 -13
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/platform_macros.pl +6 -3
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/platform_macros.qbk +100 -9
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/quickref.xml +29 -10
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/reference.dox +4 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/reference.qbk +10930 -3915
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/reference.xsl +52 -5
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/AcceptHandler.qbk +1 -58
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/AcceptToken.qbk +99 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/AcceptableProtocol.qbk +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/AsyncRandomAccessReadDevice.qbk +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/AsyncRandomAccessWriteDevice.qbk +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/AsyncReadStream.qbk +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/AsyncWriteStream.qbk +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/BufferedHandshakeHandler.qbk +1 -41
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/BufferedHandshakeToken.qbk +111 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/CancellationHandler.qbk +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/CancellationSlot.qbk +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/CompletionCondition.qbk +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/ConnectCondition.qbk +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/ConnectHandler.qbk +1 -58
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/ConnectToken.qbk +99 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/ConstBufferSequence.qbk +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/DynamicBuffer.qbk +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/DynamicBuffer_v1.qbk +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/DynamicBuffer_v2.qbk +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/Endpoint.qbk +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/EndpointSequence.qbk +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/ExecutionContext.qbk +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/Executor.qbk +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/GettableSerialPortOption.qbk +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/GettableSocketOption.qbk +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/Handler.qbk +8 -53
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/HandshakeHandler.qbk +1 -58
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/HandshakeToken.qbk +99 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/InternetProtocol.qbk +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/IoControlCommand.qbk +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/IoObjectService.qbk +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/IteratorConnectHandler.qbk +2 -67
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/IteratorConnectToken.qbk +113 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/LegacyCompletionHandler.qbk +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/MoveAcceptHandler.qbk +1 -46
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/MoveAcceptToken.qbk +94 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/MutableBufferSequence.qbk +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/NullaryToken.qbk +79 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/OperationState.qbk +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/ProtoAllocator.qbk +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/Protocol.qbk +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/RangeConnectHandler.qbk +2 -68
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/RangeConnectToken.qbk +114 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/ReadHandler.qbk +1 -65
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/ReadToken.qbk +110 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/Receiver.qbk +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/ResolveHandler.qbk +1 -65
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/ResolveToken.qbk +112 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/Scheduler.qbk +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/Sender.qbk +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/Service.qbk +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/SettableSerialPortOption.qbk +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/SettableSocketOption.qbk +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/ShutdownHandler.qbk +1 -58
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/ShutdownToken.qbk +99 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/SignalHandler.qbk +1 -65
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/SignalToken.qbk +109 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/SyncRandomAccessReadDevice.qbk +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/SyncRandomAccessWriteDevice.qbk +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/SyncReadStream.qbk +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/SyncWriteStream.qbk +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/TimeTraits.qbk +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/WaitHandler.qbk +1 -58
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/WaitToken.qbk +99 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/WaitTraits.qbk +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/WriteHandler.qbk +1 -65
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/WriteToken.qbk +110 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/asynchronous_operations.qbk +128 -61
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/asynchronous_socket_operations.qbk +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/read_write_operations.qbk +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/synchronous_socket_operations.qbk +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/std_executors.qbk +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/tutorial.qbk +53 -49
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/tutorial.xsl +12 -2
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/using.qbk +1 -6
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/Makefile.am +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/allocation/server.cpp +7 -50
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/buffers/reference_counted.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/chat/chat_client.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/chat/chat_message.hpp +6 -3
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/chat/chat_server.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/chat/posix_chat_client.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/echo/async_tcp_echo_server.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/echo/async_udp_echo_server.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/echo/blocking_tcp_echo_client.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/echo/blocking_tcp_echo_server.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/echo/blocking_udp_echo_client.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/echo/blocking_udp_echo_server.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/fork/daemon.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/fork/process_per_connection.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/client/async_client.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/client/sync_client.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/doc_root/data_1K.html +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/doc_root/data_2K.html +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/doc_root/data_4K.html +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/doc_root/data_8K.html +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server/connection.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server/connection.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server/connection_manager.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server/connection_manager.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server/header.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server/main.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server/mime_types.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server/mime_types.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server/reply.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server/reply.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server/request.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server/request_handler.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server/request_handler.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server/request_parser.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server/request_parser.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server/server.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server/server.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server2/connection.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server2/connection.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server2/header.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server2/io_context_pool.cpp +2 -3
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server2/io_context_pool.hpp +5 -3
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server2/main.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server2/mime_types.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server2/mime_types.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server2/reply.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server2/reply.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server2/request.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server2/request_handler.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server2/request_handler.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server2/request_parser.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server2/request_parser.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server2/server.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server2/server.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server3/connection.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server3/connection.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server3/header.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server3/main.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server3/mime_types.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server3/mime_types.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server3/reply.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server3/reply.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server3/request.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server3/request_handler.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server3/request_handler.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server3/request_parser.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server3/request_parser.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server3/server.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server3/server.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server4/file_handler.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server4/file_handler.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server4/header.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server4/main.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server4/mime_types.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server4/mime_types.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server4/reply.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server4/reply.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server4/request.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server4/request_parser.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server4/request_parser.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server4/server.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/http/server4/server.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/icmp/icmp_header.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/icmp/ipv4_header.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/icmp/ping.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/invocation/prioritised_handlers.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/iostreams/daytime_client.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/iostreams/daytime_server.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/iostreams/http_client.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/local/connect_pair.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/local/iostream_client.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/local/stream_client.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/local/stream_server.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/multicast/receiver.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/multicast/sender.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/nonblocking/third_party_lib.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/porthopper/client.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/porthopper/protocol.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/porthopper/server.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/serialization/client.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/serialization/connection.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/serialization/server.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/serialization/stock.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/services/basic_logger.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/services/daytime_client.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/services/logger.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/services/logger_service.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/services/logger_service.hpp +8 -8
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/socks4/socks4.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/socks4/sync_client.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/spawn/echo_server.cpp +9 -5
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/spawn/parallel_grep.cpp +7 -3
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/ssl/README +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/ssl/ca.pem +48 -47
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/ssl/client.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/ssl/dh4096.pem +25 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/ssl/server.cpp +2 -2
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/ssl/server.pem +91 -63
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/timeouts/async_tcp_client.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/timeouts/blocking_tcp_client.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/timeouts/blocking_token_tcp_client.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/timeouts/blocking_udp_client.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/timeouts/server.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/timers/time_t_timer.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/tutorial/daytime1/client.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/tutorial/daytime2/server.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/tutorial/daytime3/server.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/tutorial/daytime4/client.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/tutorial/daytime5/server.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/tutorial/daytime6/server.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/tutorial/daytime7/server.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/tutorial/daytime_dox.txt +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/tutorial/index_dox.txt +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/tutorial/timer1/timer.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/tutorial/timer2/timer.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/tutorial/timer3/timer.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/tutorial/timer4/timer.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/tutorial/timer5/timer.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/tutorial/timer_dox.txt +37 -33
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/windows/transmit_file.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/Makefile.am +23 -2
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/allocation/server.cpp +5 -43
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/buffers/reference_counted.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/chat/chat_client.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/chat/chat_message.hpp +3 -3
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/chat/chat_server.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/deferred/deferred_1.cpp +35 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/deferred/deferred_2.cpp +44 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/echo/async_tcp_echo_server.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/echo/async_udp_echo_server.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/echo/blocking_tcp_echo_client.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/echo/blocking_tcp_echo_server.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/echo/blocking_udp_echo_client.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/echo/blocking_udp_echo_server.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/files/async_file_copy.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/files/blocking_file_copy.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/fork/daemon.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/fork/process_per_connection.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/futures/daytime_client.cpp +2 -3
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/handler_tracking/async_tcp_echo_server.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/handler_tracking/custom_tracking.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/http/server/connection.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/http/server/connection.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/http/server/connection_manager.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/http/server/connection_manager.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/http/server/header.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/http/server/main.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/http/server/mime_types.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/http/server/mime_types.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/http/server/reply.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/http/server/reply.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/http/server/request.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/http/server/request_handler.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/http/server/request_handler.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/http/server/request_parser.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/http/server/request_parser.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/http/server/server.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/http/server/server.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/invocation/prioritised_handlers.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/iostreams/http_client.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/local/connect_pair.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/local/fd_passing_stream_client.cpp +102 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/local/fd_passing_stream_server.cpp +160 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/local/iostream_client.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/local/stream_client.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/local/stream_server.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/multicast/receiver.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/multicast/sender.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/nonblocking/third_party_lib.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/operations/composed_1.cpp +55 -9
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/operations/composed_2.cpp +130 -32
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/operations/composed_3.cpp +55 -9
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/operations/composed_4.cpp +54 -9
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/operations/composed_5.cpp +55 -9
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/operations/composed_6.cpp +61 -14
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/operations/composed_7.cpp +55 -9
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/operations/composed_8.cpp +55 -9
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/parallel_group/wait_for_all.cpp +62 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/parallel_group/wait_for_one.cpp +62 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/parallel_group/wait_for_one_error.cpp +62 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/parallel_group/wait_for_one_success.cpp +62 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/socks4/socks4.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/socks4/sync_client.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/spawn/echo_server.cpp +5 -4
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/spawn/parallel_grep.cpp +4 -2
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/ssl/README +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/ssl/ca.pem +48 -47
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/ssl/client.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/ssl/dh4096.pem +25 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/ssl/server.cpp +2 -2
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/ssl/server.pem +91 -63
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/timeouts/async_tcp_client.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/timeouts/blocking_tcp_client.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/timeouts/blocking_token_tcp_client.cpp +26 -53
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/timeouts/blocking_udp_client.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/timeouts/server.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp11/timers/time_t_timer.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp14/Makefile.am +5 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp14/deferred/deferred_1.cpp +2 -3
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp14/deferred/deferred_2.cpp +2 -3
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp14/deferred/deferred_3.cpp +2 -3
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp14/deferred/deferred_4.cpp +2 -3
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp14/deferred/deferred_5.cpp +2 -3
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp14/deferred/deferred_6.cpp +3 -5
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp14/deferred/deferred_7.cpp +3 -5
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp14/echo/async_tcp_echo_server.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp14/echo/async_udp_echo_server.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp14/echo/blocking_tcp_echo_client.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp14/echo/blocking_tcp_echo_server.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp14/echo/blocking_udp_echo_client.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp14/echo/blocking_udp_echo_server.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp14/iostreams/http_client.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp14/operations/c_callback_wrapper.cpp +230 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp14/operations/callback_wrapper.cpp +152 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp14/operations/composed_1.cpp +49 -7
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp14/operations/composed_2.cpp +117 -29
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp14/operations/composed_3.cpp +48 -6
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp14/operations/composed_4.cpp +47 -6
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp14/operations/composed_5.cpp +48 -6
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp14/operations/composed_6.cpp +53 -11
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp14/operations/composed_7.cpp +49 -7
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp14/operations/composed_8.cpp +49 -7
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp14/parallel_group/parallel_sort.cpp +2 -3
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp14/parallel_group/wait_for_all.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp14/parallel_group/wait_for_one.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp14/parallel_group/wait_for_one_error.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp14/parallel_group/wait_for_one_success.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp17/coroutines_ts/chat_server.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp17/coroutines_ts/echo_server.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp17/coroutines_ts/echo_server_with_as_single_default.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp17/coroutines_ts/echo_server_with_as_tuple_default.cpp +3 -3
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp17/coroutines_ts/echo_server_with_default.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp17/coroutines_ts/range_based_for.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp17/coroutines_ts/refactored_echo_server.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp20/Makefile.am +66 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp20/channels/throttling_proxy.cpp +134 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp20/coroutines/chat_server.cpp +222 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp20/coroutines/echo_server.cpp +76 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp20/coroutines/echo_server_with_as_single_default.cpp +71 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp20/coroutines/echo_server_with_as_tuple_default.cpp +71 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp20/coroutines/echo_server_with_default.cpp +73 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp20/coroutines/echo_server_with_deferred.cpp +72 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp20/coroutines/echo_server_with_deferred_default.cpp +74 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp20/coroutines/refactored_echo_server.cpp +80 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp20/coroutines/timeout.cpp +66 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp20/operations/c_callback_wrapper.cpp +232 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp20/operations/callback_wrapper.cpp +154 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp20/operations/composed_1.cpp +157 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp20/operations/composed_2.cpp +225 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp20/operations/composed_3.cpp +232 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp20/operations/composed_4.cpp +247 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp20/operations/composed_5.cpp +284 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp20/operations/composed_6.cpp +345 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp20/operations/composed_7.cpp +262 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp20/operations/composed_8.cpp +255 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/Makefile.am +18 -14
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/latency/allocator.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/latency/high_res_clock.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/latency/tcp_client.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/latency/tcp_server.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/latency/udp_client.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/latency/udp_server.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/performance/client.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/performance/handler_allocator.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/performance/server.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_prefer_free_prefer.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_prefer_free_require.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_prefer_member_prefer.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_prefer_member_require.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_prefer_not_applicable_free_prefer.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_prefer_not_applicable_free_require.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_prefer_not_applicable_member_prefer.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_prefer_not_applicable_member_require.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_prefer_not_applicable_static.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_prefer_not_applicable_unsupported.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_prefer_not_preferable_free_prefer.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_prefer_not_preferable_free_require.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_prefer_not_preferable_member_prefer.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_prefer_not_preferable_member_require.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_prefer_not_preferable_static.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_prefer_not_preferable_unsupported.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_prefer_static.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_prefer_unsupported.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_query_free.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_query_member.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_query_not_applicable_free.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_query_not_applicable_member.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_query_not_applicable_static.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_query_not_applicable_unsupported.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_query_static.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_query_unsupported.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_require_concept_free.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_require_concept_member.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_require_concept_not_applicable_free.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_require_concept_not_applicable_member.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_require_concept_not_applicable_static.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_require_concept_not_applicable_unsupported.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_require_concept_static.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_require_concept_unsupported.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_require_free.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_require_member.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_require_not_applicable_free.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_require_not_applicable_member.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_require_not_applicable_static.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_require_not_applicable_unsupported.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_require_static.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/can_require_unsupported.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/prefer_free_prefer.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/prefer_free_require.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/prefer_member_prefer.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/prefer_member_require.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/prefer_static.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/prefer_unsupported.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/query_free.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/query_member.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/query_static.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/require_concept_free.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/require_concept_member.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/require_concept_static.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/require_free.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/require_member.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp03/require_static.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_prefer_free_prefer.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_prefer_free_require.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_prefer_member_prefer.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_prefer_member_require.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_prefer_not_applicable_free_prefer.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_prefer_not_applicable_free_require.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_prefer_not_applicable_member_prefer.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_prefer_not_applicable_member_require.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_prefer_not_applicable_static.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_prefer_not_applicable_unsupported.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_prefer_not_preferable_free_prefer.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_prefer_not_preferable_free_require.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_prefer_not_preferable_member_prefer.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_prefer_not_preferable_member_require.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_prefer_not_preferable_static.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_prefer_not_preferable_unsupported.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_prefer_static.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_prefer_unsupported.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_query_free.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_query_member.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_query_not_applicable_free.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_query_not_applicable_member.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_query_not_applicable_static.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_query_not_applicable_unsupported.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_query_static.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_query_unsupported.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_require_concept_free.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_require_concept_member.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_require_concept_not_applicable_free.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_require_concept_not_applicable_member.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_require_concept_not_applicable_static.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_require_concept_not_applicable_unsupported.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_require_concept_static.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_require_concept_unsupported.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_require_free.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_require_member.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_require_not_applicable_free.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_require_not_applicable_member.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_require_not_applicable_static.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_require_not_applicable_unsupported.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_require_static.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/can_require_unsupported.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/prefer_free_prefer.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/prefer_free_require.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/prefer_member_prefer.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/prefer_member_require.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/prefer_static.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/prefer_unsupported.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/query_free.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/query_member.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/query_static.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/require_concept_free.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/require_concept_member.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/require_concept_static.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/require_free.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/require_member.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp11/require_static.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_prefer_free_prefer.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_prefer_free_require.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_prefer_member_prefer.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_prefer_member_require.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_prefer_not_applicable_free_prefer.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_prefer_not_applicable_free_require.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_prefer_not_applicable_member_prefer.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_prefer_not_applicable_member_require.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_prefer_not_applicable_static.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_prefer_not_applicable_unsupported.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_prefer_not_preferable_free_prefer.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_prefer_not_preferable_free_require.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_prefer_not_preferable_member_prefer.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_prefer_not_preferable_member_require.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_prefer_not_preferable_static.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_prefer_not_preferable_unsupported.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_prefer_static.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_prefer_unsupported.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_query_free.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_query_member.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_query_not_applicable_free.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_query_not_applicable_member.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_query_not_applicable_static.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_query_not_applicable_unsupported.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_query_static.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_query_unsupported.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_require_concept_free.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_require_concept_member.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_require_concept_not_applicable_free.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_require_concept_not_applicable_member.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_require_concept_not_applicable_static.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_require_concept_not_applicable_unsupported.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_require_concept_static.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_require_concept_unsupported.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_require_free.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_require_member.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_require_not_applicable_free.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_require_not_applicable_member.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_require_not_applicable_static.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_require_not_applicable_unsupported.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_require_static.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/can_require_unsupported.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/prefer_free_prefer.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/prefer_free_require.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/prefer_member_prefer.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/prefer_member_require.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/prefer_static.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/prefer_unsupported.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/query_free.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/query_member.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/query_static.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/require_concept_free.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/require_concept_member.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/require_concept_static.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/require_free.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/require_member.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/properties/cpp14/require_static.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/append.cpp +62 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/archetypes/async_ops.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/archetypes/async_result.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/archetypes/gettable_socket_option.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/archetypes/io_control_command.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/archetypes/settable_socket_option.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/as_tuple.cpp +60 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/associated_allocator.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/associated_cancellation_slot.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/associated_executor.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/associator.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/async_result.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/awaitable.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/basic_datagram_socket.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/basic_deadline_timer.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/basic_file.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/basic_random_access_file.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/basic_raw_socket.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/basic_readable_pipe.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/basic_seq_packet_socket.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/basic_serial_port.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/basic_signal_set.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/basic_socket.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/basic_socket_acceptor.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/basic_stream_file.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/basic_stream_socket.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/basic_streambuf.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/basic_waitable_timer.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/basic_writable_pipe.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/bind_allocator.cpp +253 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/bind_cancellation_slot.cpp +66 -10
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/bind_executor.cpp +60 -10
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/buffer.cpp +49 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/buffer_registration.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/buffered_read_stream.cpp +2 -2
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/buffered_stream.cpp +2 -2
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/buffered_write_stream.cpp +2 -2
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/buffers_iterator.cpp +2 -2
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/cancellation_signal.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/cancellation_state.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/cancellation_type.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/co_spawn.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/completion_condition.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/compose.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/connect.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/connect_pipe.cpp +2 -2
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/coroutine.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/deadline_timer.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/defer.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/{experimental/deferred.cpp → deferred.cpp} +5 -5
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/detached.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/dispatch.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/error.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/execution/any_executor.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/execution/blocking.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/execution/blocking_adaptation.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/execution/bulk_execute.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/execution/bulk_guarantee.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/execution/connect.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/execution/context_as.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/execution/execute.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/execution/executor.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/execution/invocable_archetype.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/execution/mapping.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/execution/operation_state.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/execution/outstanding_work.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/execution/prefer_only.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/execution/receiver.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/execution/relationship.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/execution/schedule.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/execution/scheduler.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/execution/sender.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/execution/set_done.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/execution/set_error.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/execution/set_value.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/execution/start.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/execution/submit.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/execution_context.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/executor.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/executor_work_guard.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/experimental/awaitable_operators.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/experimental/basic_channel.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/experimental/basic_concurrent_channel.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/experimental/channel.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/experimental/channel_traits.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/experimental/concurrent_channel.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/experimental/coro/cancel.cpp +2 -2
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/experimental/coro/co_spawn.cpp +2 -2
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/experimental/coro/exception.cpp +2 -2
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/experimental/coro/executor.cpp +3 -3
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/experimental/coro/partial.cpp +2 -2
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/experimental/coro/simple_test.cpp +2 -2
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/experimental/coro/stack_test.cpp +2 -2
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/experimental/coro/use_coro.cpp +2 -2
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/experimental/promise.cpp +22 -248
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/file_base.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/generic/basic_endpoint.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/generic/datagram_protocol.cpp +2 -2
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/generic/raw_protocol.cpp +2 -2
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/generic/seq_packet_protocol.cpp +2 -2
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/generic/stream_protocol.cpp +2 -2
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/high_resolution_timer.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/io_context.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/io_context_strand.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/ip/address.cpp +2 -2
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/ip/basic_endpoint.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/ip/basic_resolver.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/ip/basic_resolver_entry.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/ip/basic_resolver_iterator.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/ip/basic_resolver_query.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/ip/host_name.cpp +2 -2
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/ip/icmp.cpp +3 -3
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/ip/multicast.cpp +2 -2
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/ip/network_v4.cpp +2 -2
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/ip/network_v6.cpp +2 -2
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/ip/resolver_query_base.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/ip/tcp.cpp +7 -7
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/ip/udp.cpp +3 -3
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/ip/unicast.cpp +2 -2
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/ip/v6_only.cpp +2 -2
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/is_read_buffered.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/is_write_buffered.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/local/basic_endpoint.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/local/connect_pair.cpp +2 -2
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/local/datagram_protocol.cpp +2 -2
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/local/stream_protocol.cpp +2 -2
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/packaged_task.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/placeholders.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/posix/basic_descriptor.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/posix/basic_stream_descriptor.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/posix/descriptor.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/posix/descriptor_base.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/posix/stream_descriptor.cpp +8 -4
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/post.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/prepend.cpp +62 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/random_access_file.cpp +10 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/read.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/read_at.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/read_until.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/readable_pipe.cpp +12 -3
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/recycling_allocator.cpp +82 -0
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/redirect_error.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/registered_buffer.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/serial_port.cpp +8 -4
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/serial_port_base.cpp +2 -2
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/signal_set.cpp +2 -2
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/socket_base.cpp +2 -2
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/ssl/context.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/ssl/context_base.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/ssl/error.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/ssl/host_name_verification.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/ssl/rfc2818_verification.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/ssl/stream.cpp +2 -2
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/ssl/stream_base.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/static_thread_pool.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/steady_timer.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/strand.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/stream_file.cpp +10 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/streambuf.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/system_context.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/system_executor.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/system_timer.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/this_coro.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/thread.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/thread_pool.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/time_traits.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/ts/buffer.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/ts/executor.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/ts/internet.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/ts/io_context.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/ts/net.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/ts/netfwd.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/ts/socket.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/ts/timer.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/unit_test.hpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/use_awaitable.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/use_future.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/uses_executor.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/wait_traits.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/windows/basic_object_handle.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/windows/basic_overlapped_handle.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/windows/basic_random_access_handle.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/windows/basic_stream_handle.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/windows/object_handle.cpp +8 -4
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/windows/overlapped_handle.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/windows/overlapped_ptr.cpp +2 -2
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/windows/random_access_handle.cpp +16 -5
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/windows/stream_handle.cpp +16 -5
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/writable_pipe.cpp +12 -3
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/write.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tests/unit/write_at.cpp +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tools/handlerlive.pl +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tools/handlertree.pl +1 -1
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/tools/handlerviz.pl +1 -1
- package/deps/couchbase-cxx-client/third_party/docopt/.travis.yml +103 -0
- package/deps/couchbase-cxx-client/third_party/docopt/CMakeLists.txt +129 -0
- package/deps/couchbase-cxx-client/third_party/docopt/LICENSE-Boost-1.0 +23 -0
- package/deps/couchbase-cxx-client/third_party/docopt/LICENSE-MIT +23 -0
- package/deps/couchbase-cxx-client/third_party/docopt/README.rst +479 -0
- package/deps/couchbase-cxx-client/third_party/docopt/docopt-config.cmake +1 -0
- package/deps/couchbase-cxx-client/third_party/docopt/docopt.cpp +687 -0
- package/deps/couchbase-cxx-client/third_party/docopt/docopt.h +98 -0
- package/deps/couchbase-cxx-client/third_party/docopt/docopt.pc.in +9 -0
- package/deps/couchbase-cxx-client/third_party/docopt/docopt_private.h +676 -0
- package/deps/couchbase-cxx-client/third_party/docopt/docopt_util.h +122 -0
- package/deps/couchbase-cxx-client/third_party/docopt/docopt_value.h +341 -0
- package/deps/couchbase-cxx-client/third_party/docopt/examples/naval_fate.cpp +36 -0
- package/deps/couchbase-cxx-client/third_party/docopt/main.cpp +16 -0
- package/deps/couchbase-cxx-client/third_party/docopt/run_testcase.cpp +40 -0
- package/deps/couchbase-cxx-client/third_party/docopt/run_tests.py +72 -0
- package/deps/couchbase-cxx-client/third_party/docopt/testcases.docopt +957 -0
- package/deps/couchbase-cxx-client/third_party/expected/COPYING +121 -0
- package/deps/couchbase-cxx-client/third_party/expected/include/tl/expected.hpp +2571 -0
- package/deps/couchbase-cxx-client/tools/CMakeLists.txt +14 -0
- package/deps/couchbase-cxx-client/tools/cbc.cxx +65 -0
- package/deps/couchbase-cxx-client/{core/transactions/internal/get_and_open_buckets.hxx → tools/command.hxx} +11 -10
- package/deps/couchbase-cxx-client/tools/command_registry.cxx +43 -0
- package/deps/couchbase-cxx-client/tools/command_registry.hxx +39 -0
- package/deps/couchbase-cxx-client/tools/get.cxx +267 -0
- package/deps/couchbase-cxx-client/tools/get.hxx +26 -0
- package/deps/couchbase-cxx-client/tools/query.cxx +441 -0
- package/deps/couchbase-cxx-client/tools/query.hxx +26 -0
- package/deps/couchbase-cxx-client/tools/utils.cxx +418 -0
- package/deps/couchbase-cxx-client/tools/utils.hxx +150 -0
- package/deps/couchbase-cxx-client/tools/version.cxx +82 -0
- package/deps/couchbase-cxx-client/tools/version.hxx +26 -0
- package/dist/authenticators.d.ts +2 -2
- package/dist/authenticators.js +1 -2
- package/dist/binding.d.ts +132 -24
- package/dist/binding.js +4 -1
- package/dist/bindingutilities.js +2 -2
- package/dist/cluster.d.ts +7 -12
- package/dist/cluster.js +17 -37
- package/dist/collection.d.ts +6 -0
- package/dist/collection.js +18 -5
- package/dist/configProfile.js +7 -7
- package/dist/crudoptypes.d.ts +4 -0
- package/dist/crudoptypes.js +1 -0
- package/dist/queryexecutor.js +2 -2
- package/dist/queryindexmanager.d.ts +100 -4
- package/dist/queryindexmanager.js +344 -118
- package/dist/searchexecutor.js +5 -1
- package/dist/transactions.js +6 -8
- package/dist/usermanager.d.ts +17 -0
- package/dist/usermanager.js +35 -0
- package/package.json +1 -1
- package/src/connection.cpp +2 -0
- package/src/connection.hpp +1 -0
- package/src/connection_autogen.cpp +16 -0
- package/src/constants.cpp +49 -13
- package/src/jstocbpp_autogen.hpp +510 -23
- package/src/jstocbpp_basic.hpp +25 -2
- package/src/jstocbpp_transactions.hpp +28 -41
- package/src/transaction.cpp +17 -18
- package/src/transactions.cpp +1 -1
- package/tools/gen-bindings-js.js +66 -6
- package/tools/gen-bindings-json.py +43 -7
- package/deps/couchbase-cxx-client/core/io/CMakeLists.txt +0 -12
- package/deps/couchbase-cxx-client/core/io/retry_strategy.hxx +0 -152
- package/deps/couchbase-cxx-client/core/transactions/get_and_open_buckets.cxx +0 -59
- package/deps/couchbase-cxx-client/core/transactions/logging.cxx +0 -107
- package/deps/couchbase-cxx-client/core/transactions/transaction_config.cxx +0 -76
- package/deps/couchbase-cxx-client/core/transactions/transaction_query_options.cxx +0 -39
- package/deps/couchbase-cxx-client/couchbase/transactions/transaction_config.hxx +0 -265
- package/deps/couchbase-cxx-client/test/utils/transactions_env.h +0 -327
- package/deps/couchbase-cxx-client/third_party/asio/asio/include/asio/impl/compose.hpp +0 -707
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/doc/requirements/CompletionHandler.qbk +0 -63
- package/deps/couchbase-cxx-client/third_party/asio/asio/src/examples/cpp03/ssl/dh2048.pem +0 -8
- 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
|
-
|
58
|
-
|
59
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
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(
|
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(
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
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(
|
281
|
-
|
282
|
-
|
283
|
-
|
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
|
-
|
297
|
-
|
298
|
-
|
299
|
-
|
300
|
-
|
301
|
-
|
302
|
-
|
303
|
-
|
304
|
-
|
305
|
-
|
306
|
-
|
307
|
-
|
308
|
-
|
309
|
-
std::
|
310
|
-
|
311
|
-
|
312
|
-
|
313
|
-
|
314
|
-
|
315
|
-
|
316
|
-
|
317
|
-
|
318
|
-
|
319
|
-
|
320
|
-
|
321
|
-
|
322
|
-
|
323
|
-
|
324
|
-
|
325
|
-
|
326
|
-
|
327
|
-
|
328
|
-
|
329
|
-
|
330
|
-
|
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
|
-
|
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
|
-
|
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(
|
418
|
-
|
419
|
-
|
420
|
-
|
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
|
-
|
429
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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()
|
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()
|
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
|
-
|
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
|
-
|
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
|
-
|
498
|
-
|
499
|
-
|
500
|
-
|
501
|
-
|
502
|
-
|
503
|
-
|
504
|
-
|
505
|
-
|
506
|
-
|
507
|
-
|
508
|
-
|
509
|
-
|
510
|
-
|
511
|
-
|
512
|
-
|
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
|
-
|
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(
|
573
|
+
return cache_error_async(cb, [&]() mutable {
|
533
574
|
check_if_done(cb);
|
534
|
-
|
535
|
-
|
536
|
-
|
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
|
-
|
554
|
-
|
555
|
-
|
556
|
-
|
557
|
-
|
558
|
-
|
559
|
-
|
560
|
-
|
561
|
-
|
562
|
-
|
563
|
-
|
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
|
-
|
566
|
-
|
567
|
-
|
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
|
-
|
571
|
-
|
572
|
-
|
573
|
-
|
574
|
-
|
575
|
-
|
576
|
-
|
577
|
-
|
578
|
-
|
579
|
-
|
580
|
-
|
581
|
-
|
582
|
-
|
583
|
-
|
584
|
-
|
585
|
-
|
586
|
-
|
587
|
-
|
588
|
-
|
589
|
-
|
590
|
-
|
591
|
-
|
592
|
-
|
593
|
-
|
594
|
-
|
595
|
-
|
596
|
-
|
597
|
-
|
598
|
-
|
599
|
-
|
600
|
-
|
601
|
-
|
602
|
-
|
603
|
-
|
604
|
-
|
605
|
-
|
606
|
-
|
607
|
-
|
608
|
-
|
609
|
-
|
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
|
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
|
-
|
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
|
-
|
651
|
-
|
652
|
-
|
653
|
-
|
654
|
-
|
655
|
-
|
656
|
-
|
657
|
-
|
658
|
-
|
659
|
-
|
660
|
-
|
661
|
-
|
662
|
-
|
663
|
-
|
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
|
-
|
682
|
-
|
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
|
-
//
|
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
|
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().
|
700
|
-
opts.raw("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().
|
708
|
-
auto id = overall_.config()
|
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
|
-
|
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
|
-
|
800
|
+
false,
|
801
|
+
query_context,
|
737
802
|
[this, cb = std::move(cb)](std::exception_ptr err, core::operations::query_response resp) mutable {
|
738
|
-
|
739
|
-
|
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
|
-
|
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(
|
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
|
-
|
762
|
-
|
763
|
-
|
764
|
-
|
765
|
-
|
766
|
-
|
767
|
-
}
|
768
|
-
|
769
|
-
|
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
|
775
|
-
return std::make_exception_ptr(
|
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(
|
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(
|
891
|
+
return std::make_exception_ptr(document_exists(tx_resp.ctx()));
|
783
892
|
case 17014:
|
784
|
-
return std::make_exception_ptr(
|
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(
|
895
|
+
return std::make_exception_ptr(query_cas_mismatch(tx_resp.ctx()));
|
787
896
|
}
|
788
|
-
|
789
|
-
|
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
|
792
|
-
|
793
|
-
|
794
|
-
|
795
|
-
|
796
|
-
|
797
|
-
|
798
|
-
|
799
|
-
|
800
|
-
|
801
|
-
|
802
|
-
|
803
|
-
|
804
|
-
|
805
|
-
|
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(
|
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,
|
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
|
-
|
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
|
-
|
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
|
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
|
-
|
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
|
-
|
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,
|
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(
|
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
|
-
|
920
|
-
|
921
|
-
|
922
|
-
|
923
|
-
|
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
|
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::
|
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(
|
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
|
-
|
993
|
-
|
1142
|
+
return op_completed_with_error(
|
1143
|
+
std::move(cb), transaction_operation_failed(FAIL_DOC_NOT_FOUND, "document not found"));
|
994
1144
|
}
|
995
|
-
|
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
|
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(
|
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
|
-
|
1038
|
-
|
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
|
-
|
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(
|
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
|
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
|
-
|
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(
|
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
|
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
|
-
|
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
|
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
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
1301
|
-
|
1302
|
-
|
1303
|
-
|
1304
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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(
|
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
|
-
|
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
|
-
|
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
|
-
|
1663
|
+
CB_ATTEMPT_CTX_LOG_TRACE(this, "atr_abort got {} {}", ec, e.what());
|
1506
1664
|
if (expiry_overtime_mode_.load()) {
|
1507
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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(
|
1648
|
-
|
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
|
-
|
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
|
-
|
1825
|
+
CB_ATTEMPT_CTX_LOG_DEBUG(this, "{} expired in {}", id(), place);
|
1668
1826
|
}
|
1669
1827
|
if (hook) {
|
1670
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
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().
|
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::
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
1946
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
2091
|
-
|
2092
|
-
|
2093
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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(),
|