couchbase 3.5.4 → 3.5.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/ext/CMakeLists.txt +8 -6
- data/ext/cache/cpm/{CPM_0.38.6.cmake → CPM_0.40.5.cmake} +152 -22
- data/ext/cache/extconf_include.rb +3 -3
- data/ext/cache/mozilla-ca-bundle.crt +32 -87
- data/ext/cache/mozilla-ca-bundle.sha256 +1 -1
- data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/CMakeLists.txt +30 -6
- data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/cmake/utils.cmake +13 -2
- data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/async_logger-inl.h +5 -7
- data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/mpmc_blocking_q.h +3 -3
- data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/os-inl.h +3 -3
- data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/thread_pool-inl.h +3 -8
- data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/thread_pool.h +3 -14
- data/ext/cache/{fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt → spdlog/7251ead404dccd824789f8f3a13df2a6fb56440c/spdlog/include/spdlog/fmt/bundled}/base.h +47 -31
- data/ext/cache/{fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt → spdlog/7251ead404dccd824789f8f3a13df2a6fb56440c/spdlog/include/spdlog/fmt/bundled}/format-inl.h +32 -8
- data/ext/cache/{fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt → spdlog/7251ead404dccd824789f8f3a13df2a6fb56440c/spdlog/include/spdlog/fmt/bundled}/format.h +22 -14
- data/ext/cache/{fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt → spdlog/7251ead404dccd824789f8f3a13df2a6fb56440c/spdlog/include/spdlog/fmt/bundled}/ranges.h +1 -1
- data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/mdc.h +4 -0
- data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/pattern_formatter-inl.h +16 -2
- data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/ansicolor_sink.h +1 -1
- data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/base_sink.h +4 -4
- data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/callback_sink.h +1 -1
- data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/daily_file_sink.h +3 -0
- data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/hourly_file_sink.h +2 -0
- data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/msvc_sink.h +1 -1
- data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/rotating_file_sink-inl.h +1 -1
- data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/syslog_sink.h +3 -2
- data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/wincolor_sink-inl.h +9 -0
- data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/version.h +2 -2
- data/ext/cache/{fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/src/format.cc → spdlog/7251ead404dccd824789f8f3a13df2a6fb56440c/spdlog/src/bundled_fmtlib_format.cpp} +10 -5
- data/ext/couchbase/CMakeLists.txt +3 -2
- data/ext/couchbase/cmake/APKBUILD.in +54 -0
- data/ext/couchbase/cmake/Backtrace.cmake +3 -1
- data/ext/couchbase/cmake/CPM.cmake +1 -1
- data/ext/couchbase/cmake/CompilerWarnings.cmake +0 -5
- data/ext/couchbase/cmake/Packaging.cmake +174 -11
- data/ext/couchbase/cmake/RPath.cmake +10 -0
- data/ext/couchbase/cmake/Testing.cmake +0 -4
- data/ext/couchbase/cmake/ThirdPartyDependencies.cmake +7 -26
- data/ext/couchbase/cmake/VersionInfo.cmake +4 -0
- data/ext/couchbase/cmake/build_version.hxx.in +1 -0
- data/ext/couchbase/cmake/couchbase-cxx-client.spec.in +2 -2
- data/ext/couchbase/cmake/couchbase_cxx_client.pc.in +2 -2
- data/ext/couchbase/core/agent_config.cxx +1 -1
- data/ext/couchbase/core/agent_group_config.cxx +1 -1
- data/ext/couchbase/core/bucket.cxx +9 -9
- data/ext/couchbase/core/cluster.cxx +0 -2
- data/ext/couchbase/core/cluster_agent_config.cxx +1 -1
- data/ext/couchbase/core/collections_component.cxx +1 -1
- data/ext/couchbase/core/columnar/agent_config.cxx +2 -2
- data/ext/couchbase/core/columnar/error.hxx +0 -1
- data/ext/couchbase/core/columnar/query_component.cxx +2 -2
- data/ext/couchbase/core/config_profiles.cxx +1 -1
- data/ext/couchbase/core/core_sdk_shim.cxx +1 -1
- data/ext/couchbase/core/crud_component.cxx +1 -1
- data/ext/couchbase/core/design_document_namespace_fmt.hxx +1 -1
- data/ext/couchbase/core/diagnostics_fmt.hxx +1 -1
- data/ext/couchbase/core/document_id.cxx +1 -1
- data/ext/couchbase/core/document_id_fmt.hxx +1 -1
- data/ext/couchbase/core/error_context/analytics_json.hxx +3 -1
- data/ext/couchbase/core/error_context/key_value_json.hxx +1 -1
- data/ext/couchbase/core/error_context/query_public_json.hxx +1 -1
- data/ext/couchbase/core/error_context/subdocument_json.hxx +1 -1
- data/ext/couchbase/core/fmt/key_value_error_map_attribute.hxx +1 -1
- data/ext/couchbase/core/fmt/key_value_extended_error_info.hxx +1 -1
- data/ext/couchbase/core/fmt/key_value_status_code.hxx +1 -1
- data/ext/couchbase/core/http_component.cxx +3 -3
- data/ext/couchbase/core/impl/analytics.cxx +1 -0
- data/ext/couchbase/core/impl/best_effort_retry_strategy.cxx +1 -1
- data/ext/couchbase/core/impl/collection.cxx +28 -4
- data/ext/couchbase/core/impl/date_range.cxx +2 -2
- data/ext/couchbase/core/impl/date_range_query.cxx +2 -2
- data/ext/couchbase/core/impl/dns_srv_tracker.cxx +1 -1
- data/ext/couchbase/core/impl/error.cxx +27 -4
- data/ext/couchbase/core/impl/expiry.cxx +2 -2
- data/ext/couchbase/core/impl/fail_fast_retry_strategy.cxx +1 -2
- data/ext/couchbase/core/impl/get_replica.hxx +2 -0
- data/ext/couchbase/core/impl/key_value_error_context.cxx +6 -4
- data/ext/couchbase/core/impl/lookup_in_replica.hxx +2 -0
- data/ext/couchbase/core/impl/numeric_range.cxx +1 -1
- data/ext/couchbase/core/impl/observe_seqno.hxx +2 -0
- data/ext/couchbase/core/impl/query.cxx +1 -0
- data/ext/couchbase/core/impl/query_error_context.cxx +3 -2
- data/ext/couchbase/core/impl/scope.cxx +5 -6
- data/ext/couchbase/core/impl/search.cxx +3 -1
- data/ext/couchbase/core/io/config_tracker.cxx +1 -1
- data/ext/couchbase/core/io/dns_client.cxx +23 -8
- data/ext/couchbase/core/io/http_command.hxx +2 -2
- data/ext/couchbase/core/io/http_parser.cxx +1 -1
- data/ext/couchbase/core/io/http_session.cxx +4 -0
- data/ext/couchbase/core/io/http_session.hxx +4 -2
- data/ext/couchbase/core/io/mcbp_command.hxx +2 -2
- data/ext/couchbase/core/key_value_config.cxx +2 -2
- data/ext/couchbase/core/logger/logger.hxx +1 -1
- data/ext/couchbase/core/management/rbac_fmt.hxx +1 -1
- data/ext/couchbase/core/mcbp/operation_queue.cxx +1 -1
- data/ext/couchbase/core/mcbp/packet.cxx +1 -1
- data/ext/couchbase/core/meta/features.hxx +11 -0
- data/ext/couchbase/core/meta/version.cxx +48 -7
- data/ext/couchbase/core/operations/document_analytics.cxx +23 -17
- data/ext/couchbase/core/operations/document_analytics.hxx +1 -0
- data/ext/couchbase/core/operations/document_append.hxx +2 -0
- data/ext/couchbase/core/operations/document_decrement.hxx +2 -0
- data/ext/couchbase/core/operations/document_exists.hxx +2 -0
- data/ext/couchbase/core/operations/document_get.hxx +2 -0
- data/ext/couchbase/core/operations/document_get_all_replicas.hxx +2 -0
- data/ext/couchbase/core/operations/document_get_and_lock.hxx +2 -0
- data/ext/couchbase/core/operations/document_get_and_touch.hxx +2 -0
- data/ext/couchbase/core/operations/document_get_any_replica.hxx +2 -0
- data/ext/couchbase/core/operations/document_get_projected.hxx +2 -0
- data/ext/couchbase/core/operations/document_increment.hxx +2 -0
- data/ext/couchbase/core/operations/document_insert.hxx +2 -0
- data/ext/couchbase/core/operations/document_lookup_in.hxx +2 -0
- data/ext/couchbase/core/operations/document_lookup_in_all_replicas.hxx +2 -0
- data/ext/couchbase/core/operations/document_lookup_in_any_replica.hxx +2 -0
- data/ext/couchbase/core/operations/document_mutate_in.hxx +2 -0
- data/ext/couchbase/core/operations/document_prepend.hxx +2 -0
- data/ext/couchbase/core/operations/document_query.hxx +1 -0
- data/ext/couchbase/core/operations/document_remove.hxx +2 -0
- data/ext/couchbase/core/operations/document_replace.hxx +2 -0
- data/ext/couchbase/core/operations/document_search.hxx +1 -0
- data/ext/couchbase/core/operations/document_touch.hxx +2 -0
- data/ext/couchbase/core/operations/document_unlock.hxx +2 -0
- data/ext/couchbase/core/operations/document_upsert.hxx +2 -0
- data/ext/couchbase/core/operations/document_view.hxx +1 -0
- data/ext/couchbase/core/operations/http_noop.hxx +2 -0
- data/ext/couchbase/core/operations/management/CMakeLists.txt +0 -1
- data/ext/couchbase/core/operations/management/analytics_dataset_create.cxx +1 -1
- data/ext/couchbase/core/operations/management/analytics_dataset_create.hxx +1 -0
- data/ext/couchbase/core/operations/management/analytics_dataset_drop.cxx +1 -1
- data/ext/couchbase/core/operations/management/analytics_dataset_drop.hxx +1 -0
- data/ext/couchbase/core/operations/management/analytics_dataset_get_all.hxx +1 -0
- data/ext/couchbase/core/operations/management/analytics_dataverse_create.cxx +1 -1
- data/ext/couchbase/core/operations/management/analytics_dataverse_create.hxx +1 -0
- data/ext/couchbase/core/operations/management/analytics_dataverse_drop.cxx +1 -1
- data/ext/couchbase/core/operations/management/analytics_dataverse_drop.hxx +1 -0
- data/ext/couchbase/core/operations/management/analytics_get_pending_mutations.cxx +1 -1
- data/ext/couchbase/core/operations/management/analytics_get_pending_mutations.hxx +2 -0
- data/ext/couchbase/core/operations/management/analytics_index_create.hxx +1 -0
- data/ext/couchbase/core/operations/management/analytics_index_drop.cxx +1 -1
- data/ext/couchbase/core/operations/management/analytics_index_drop.hxx +1 -0
- data/ext/couchbase/core/operations/management/analytics_index_get_all.hxx +1 -0
- data/ext/couchbase/core/operations/management/analytics_link_connect.cxx +1 -1
- data/ext/couchbase/core/operations/management/analytics_link_connect.hxx +1 -0
- data/ext/couchbase/core/operations/management/analytics_link_create.hxx +1 -0
- data/ext/couchbase/core/operations/management/analytics_link_disconnect.cxx +1 -1
- data/ext/couchbase/core/operations/management/analytics_link_disconnect.hxx +1 -0
- data/ext/couchbase/core/operations/management/analytics_link_drop.cxx +1 -1
- data/ext/couchbase/core/operations/management/analytics_link_drop.hxx +1 -0
- data/ext/couchbase/core/operations/management/analytics_link_get_all.cxx +24 -16
- data/ext/couchbase/core/operations/management/analytics_link_get_all.hxx +4 -3
- data/ext/couchbase/core/operations/management/analytics_link_replace.hxx +1 -0
- data/ext/couchbase/core/operations/management/analytics_link_utils.hxx +4 -3
- data/ext/couchbase/core/operations/management/bucket_create.hxx +1 -0
- data/ext/couchbase/core/operations/management/bucket_describe.cxx +1 -1
- data/ext/couchbase/core/operations/management/bucket_describe.hxx +1 -0
- data/ext/couchbase/core/operations/management/bucket_drop.cxx +1 -1
- data/ext/couchbase/core/operations/management/bucket_drop.hxx +1 -0
- data/ext/couchbase/core/operations/management/bucket_flush.cxx +1 -1
- data/ext/couchbase/core/operations/management/bucket_flush.hxx +1 -0
- data/ext/couchbase/core/operations/management/bucket_get.cxx +1 -1
- data/ext/couchbase/core/operations/management/bucket_get.hxx +1 -0
- data/ext/couchbase/core/operations/management/bucket_get_all.hxx +1 -0
- data/ext/couchbase/core/operations/management/bucket_update.hxx +1 -0
- data/ext/couchbase/core/operations/management/change_password.cxx +1 -1
- data/ext/couchbase/core/operations/management/change_password.hxx +1 -0
- data/ext/couchbase/core/operations/management/cluster_describe.hxx +1 -0
- data/ext/couchbase/core/operations/management/cluster_developer_preview_enable.hxx +1 -0
- data/ext/couchbase/core/operations/management/collection_create.cxx +1 -1
- data/ext/couchbase/core/operations/management/collection_create.hxx +2 -0
- data/ext/couchbase/core/operations/management/collection_drop.cxx +1 -1
- data/ext/couchbase/core/operations/management/collection_drop.hxx +1 -0
- data/ext/couchbase/core/operations/management/collection_update.cxx +1 -1
- data/ext/couchbase/core/operations/management/collection_update.hxx +2 -0
- data/ext/couchbase/core/operations/management/collections_manifest_get.hxx +2 -0
- data/ext/couchbase/core/operations/management/eventing_deploy_function.cxx +1 -1
- data/ext/couchbase/core/operations/management/eventing_deploy_function.hxx +3 -2
- data/ext/couchbase/core/operations/management/eventing_drop_function.cxx +1 -1
- data/ext/couchbase/core/operations/management/eventing_drop_function.hxx +3 -2
- data/ext/couchbase/core/operations/management/eventing_get_all_functions.hxx +3 -2
- data/ext/couchbase/core/operations/management/eventing_get_function.cxx +1 -1
- data/ext/couchbase/core/operations/management/eventing_get_function.hxx +3 -2
- data/ext/couchbase/core/operations/management/eventing_get_status.hxx +3 -2
- data/ext/couchbase/core/operations/management/eventing_pause_function.cxx +1 -1
- data/ext/couchbase/core/operations/management/eventing_pause_function.hxx +3 -2
- data/ext/couchbase/core/operations/management/eventing_resume_function.cxx +1 -1
- data/ext/couchbase/core/operations/management/eventing_resume_function.hxx +3 -2
- data/ext/couchbase/core/operations/management/eventing_undeploy_function.cxx +1 -1
- data/ext/couchbase/core/operations/management/eventing_undeploy_function.hxx +3 -2
- data/ext/couchbase/core/operations/management/eventing_upsert_function.cxx +1 -2
- data/ext/couchbase/core/operations/management/eventing_upsert_function.hxx +3 -2
- data/ext/couchbase/core/operations/management/freeform.hxx +2 -0
- data/ext/couchbase/core/operations/management/group_drop.cxx +1 -1
- data/ext/couchbase/core/operations/management/group_drop.hxx +1 -0
- data/ext/couchbase/core/operations/management/group_get.cxx +1 -1
- data/ext/couchbase/core/operations/management/group_get.hxx +1 -0
- data/ext/couchbase/core/operations/management/group_get_all.hxx +1 -0
- data/ext/couchbase/core/operations/management/group_upsert.hxx +1 -0
- data/ext/couchbase/core/operations/management/query_index_build.hxx +7 -5
- data/ext/couchbase/core/operations/management/query_index_build_deferred.hxx +3 -0
- data/ext/couchbase/core/operations/management/query_index_create.cxx +1 -1
- data/ext/couchbase/core/operations/management/query_index_create.hxx +1 -0
- data/ext/couchbase/core/operations/management/query_index_drop.cxx +1 -1
- data/ext/couchbase/core/operations/management/query_index_drop.hxx +1 -0
- data/ext/couchbase/core/operations/management/query_index_get_all.hxx +2 -0
- data/ext/couchbase/core/operations/management/query_index_get_all_deferred.hxx +3 -0
- data/ext/couchbase/core/operations/management/role_get_all.hxx +1 -0
- data/ext/couchbase/core/operations/management/scope_create.cxx +1 -1
- data/ext/couchbase/core/operations/management/scope_create.hxx +1 -0
- data/ext/couchbase/core/operations/management/scope_drop.cxx +1 -1
- data/ext/couchbase/core/operations/management/scope_drop.hxx +1 -0
- data/ext/couchbase/core/operations/management/scope_get_all.cxx +1 -1
- data/ext/couchbase/core/operations/management/scope_get_all.hxx +1 -0
- data/ext/couchbase/core/operations/management/search_get_stats.hxx +1 -0
- data/ext/couchbase/core/operations/management/search_index_analyze_document.cxx +1 -1
- data/ext/couchbase/core/operations/management/search_index_analyze_document.hxx +1 -0
- data/ext/couchbase/core/operations/management/search_index_control_ingest.cxx +1 -1
- data/ext/couchbase/core/operations/management/search_index_control_ingest.hxx +1 -0
- data/ext/couchbase/core/operations/management/search_index_control_plan_freeze.cxx +1 -1
- data/ext/couchbase/core/operations/management/search_index_control_plan_freeze.hxx +1 -0
- data/ext/couchbase/core/operations/management/search_index_control_query.cxx +1 -1
- data/ext/couchbase/core/operations/management/search_index_control_query.hxx +1 -0
- data/ext/couchbase/core/operations/management/search_index_drop.cxx +1 -1
- data/ext/couchbase/core/operations/management/search_index_drop.hxx +1 -0
- data/ext/couchbase/core/operations/management/search_index_get.cxx +1 -1
- data/ext/couchbase/core/operations/management/search_index_get.hxx +1 -0
- data/ext/couchbase/core/operations/management/search_index_get_all.cxx +1 -1
- data/ext/couchbase/core/operations/management/search_index_get_all.hxx +1 -0
- data/ext/couchbase/core/operations/management/search_index_get_documents_count.cxx +1 -1
- data/ext/couchbase/core/operations/management/search_index_get_documents_count.hxx +2 -0
- data/ext/couchbase/core/operations/management/search_index_get_stats.cxx +1 -1
- data/ext/couchbase/core/operations/management/search_index_get_stats.hxx +1 -0
- data/ext/couchbase/core/operations/management/search_index_upsert.cxx +1 -1
- data/ext/couchbase/core/operations/management/search_index_upsert.hxx +1 -0
- data/ext/couchbase/core/operations/management/user_drop.hxx +1 -0
- data/ext/couchbase/core/operations/management/user_get.hxx +1 -0
- data/ext/couchbase/core/operations/management/user_get_all.hxx +1 -0
- data/ext/couchbase/core/operations/management/user_upsert.cxx +3 -3
- data/ext/couchbase/core/operations/management/user_upsert.hxx +1 -0
- data/ext/couchbase/core/operations/management/view_index_drop.cxx +1 -1
- data/ext/couchbase/core/operations/management/view_index_drop.hxx +1 -0
- data/ext/couchbase/core/operations/management/view_index_get.cxx +1 -1
- data/ext/couchbase/core/operations/management/view_index_get.hxx +1 -0
- data/ext/couchbase/core/operations/management/view_index_get_all.cxx +1 -1
- data/ext/couchbase/core/operations/management/view_index_get_all.hxx +2 -0
- data/ext/couchbase/core/operations/management/view_index_upsert.cxx +1 -1
- data/ext/couchbase/core/operations/management/view_index_upsert.hxx +1 -0
- data/ext/couchbase/core/origin.cxx +3 -2
- data/ext/couchbase/core/platform/base64.h +8 -8
- data/ext/couchbase/core/protocol/client_opcode_fmt.hxx +1 -1
- data/ext/couchbase/core/protocol/client_response.hxx +1 -1
- data/ext/couchbase/core/protocol/frame_info_id_fmt.hxx +1 -1
- data/ext/couchbase/core/protocol/hello_feature_fmt.hxx +1 -1
- data/ext/couchbase/core/protocol/magic_fmt.hxx +1 -1
- data/ext/couchbase/core/protocol/server_opcode_fmt.hxx +1 -1
- data/ext/couchbase/core/query_context.hxx +7 -6
- data/ext/couchbase/core/retry_orchestrator.cxx +1 -1
- data/ext/couchbase/core/sasl/CMakeLists.txt +0 -1
- data/ext/couchbase/core/sasl/error_fmt.h +1 -1
- data/ext/couchbase/core/seed_config.cxx +2 -2
- data/ext/couchbase/core/service_type_fmt.hxx +1 -1
- data/ext/couchbase/core/topology/capabilities_fmt.hxx +1 -1
- data/ext/couchbase/core/topology/collections_manifest_fmt.hxx +2 -1
- data/ext/couchbase/core/topology/configuration_fmt.hxx +1 -1
- data/ext/couchbase/core/transactions/async_attempt_context.cxx +1 -1
- data/ext/couchbase/core/transactions/async_attempt_context.hxx +9 -22
- data/ext/couchbase/core/transactions/attempt_context.cxx +1 -1
- data/ext/couchbase/core/transactions/attempt_context.hxx +6 -33
- data/ext/couchbase/core/transactions/attempt_context_impl.cxx +41 -41
- data/ext/couchbase/core/transactions/attempt_context_impl.hxx +15 -16
- data/ext/couchbase/core/transactions/exceptions_fmt.hxx +1 -1
- data/ext/couchbase/core/transactions/internal/atr_cleanup_entry.hxx +1 -1
- data/ext/couchbase/core/transactions/internal/client_record.hxx +4 -3
- data/ext/couchbase/core/transactions/internal/doc_record_fmt.hxx +1 -1
- data/ext/couchbase/core/transactions/internal/exceptions_internal.hxx +0 -2
- data/ext/couchbase/core/transactions/internal/exceptions_internal_fmt.hxx +1 -1
- data/ext/couchbase/core/transactions/internal/logging.hxx +2 -0
- data/ext/couchbase/core/transactions/internal/transaction_context.hxx +3 -0
- data/ext/couchbase/core/transactions/result_fmt.hxx +1 -1
- data/ext/couchbase/core/transactions/transaction_context.cxx +12 -2
- data/ext/couchbase/core/transactions/transaction_get_result.hxx +0 -20
- data/ext/couchbase/core/transactions/transaction_links.hxx +1 -1
- data/ext/couchbase/core/utils/join_strings.hxx +2 -2
- data/ext/couchbase/core/utils/keyspace.hxx +2 -1
- data/ext/couchbase/core/utils/url_codec.cxx +1 -1
- data/ext/couchbase/couchbase/common_options.hxx +16 -1
- data/ext/couchbase/couchbase/fmt/analytics_scan_consistency.hxx +0 -2
- data/ext/couchbase/couchbase/fmt/analytics_status.hxx +0 -2
- data/ext/couchbase/couchbase/fmt/cas.hxx +0 -2
- data/ext/couchbase/couchbase/fmt/durability_level.hxx +0 -2
- data/ext/couchbase/couchbase/fmt/error.hxx +0 -2
- data/ext/couchbase/couchbase/fmt/error_context.hxx +0 -2
- data/ext/couchbase/couchbase/fmt/mutation_token.hxx +0 -2
- data/ext/couchbase/couchbase/fmt/query_profile.hxx +0 -2
- data/ext/couchbase/couchbase/fmt/query_scan_consistency.hxx +0 -2
- data/ext/couchbase/couchbase/fmt/query_status.hxx +0 -2
- data/ext/couchbase/couchbase/fmt/retry_reason.hxx +5 -1
- data/ext/couchbase/couchbase/fmt/search_scan_consistency.hxx +0 -2
- data/ext/couchbase/couchbase/fmt/tls_verify_mode.hxx +0 -2
- data/ext/couchbase/couchbase/fmt/transaction_keyspace.hxx +0 -2
- data/ext/couchbase/couchbase/metrics/otel_meter.hxx +16 -20
- data/ext/extconf.rb +1 -0
- data/ext/rcb_analytics.cxx +7 -7
- data/ext/rcb_backend.cxx +6 -1
- data/ext/rcb_buckets.cxx +1 -1
- data/ext/rcb_collections.cxx +1 -1
- data/ext/rcb_crud.cxx +51 -30
- data/ext/rcb_diagnostics.cxx +1 -1
- data/ext/rcb_exceptions.cxx +3 -2
- data/ext/rcb_extras.cxx +1 -1
- data/ext/rcb_range_scan.cxx +1 -1
- data/ext/rcb_search.cxx +1 -1
- data/ext/rcb_users.cxx +2 -2
- data/ext/rcb_utils.hxx +32 -0
- data/lib/couchbase/logger.rb +3 -3
- data/lib/couchbase/options.rb +48 -0
- data/lib/couchbase/version.rb +1 -1
- metadata +131 -153
- data/ext/cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/CMakeLists.txt +0 -520
- data/ext/cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/ChangeLog.md +0 -2598
- data/ext/cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/LICENSE +0 -27
- data/ext/cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/README.md +0 -484
- data/ext/cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/src/fmt.cc +0 -135
- data/ext/cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/src/os.cc +0 -403
- data/ext/cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/support/cmake/FindSetEnv.cmake +0 -7
- data/ext/cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/support/cmake/JoinPaths.cmake +0 -26
- data/ext/cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/support/cmake/fmt-config.cmake.in +0 -7
- data/ext/cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/support/cmake/fmt.pc.in +0 -11
- data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled/args.h +0 -235
- data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled/chrono.h +0 -2240
- data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled/color.h +0 -643
- data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled/compile.h +0 -535
- data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled/core.h +0 -2969
- data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled/format-inl.h +0 -1678
- data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled/format.h +0 -4535
- data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled/os.h +0 -455
- data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled/ostream.h +0 -245
- data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled/printf.h +0 -675
- data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled/ranges.h +0 -738
- data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled/std.h +0 -537
- data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled/xchar.h +0 -259
- data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/src/bundled_fmtlib_format.cpp +0 -46
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/LICENSE +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/cmake/ide.cmake +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/cmake/pch.h.in +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/cmake/spdlog.pc.in +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/cmake/spdlogCPack.cmake +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/cmake/spdlogConfig.cmake.in +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/cmake/version.rc.in +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/async.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/async_logger.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/cfg/argv.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/cfg/env.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/cfg/helpers-inl.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/cfg/helpers.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/common-inl.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/common.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/backtracer-inl.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/backtracer.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/circular_q.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/console_globals.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/file_helper-inl.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/file_helper.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/fmt_helper.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/log_msg-inl.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/log_msg.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/log_msg_buffer-inl.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/log_msg_buffer.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/null_mutex.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/os.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/periodic_worker-inl.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/periodic_worker.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/registry-inl.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/registry.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/synchronous_factory.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/tcp_client-windows.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/tcp_client.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/udp_client-windows.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/udp_client.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/windows_include.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/fmt/bin_to_hex.h +0 -0
- /data/ext/cache/{fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt → spdlog/7251ead404dccd824789f8f3a13df2a6fb56440c/spdlog/include/spdlog/fmt/bundled}/args.h +0 -0
- /data/ext/cache/{fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt → spdlog/7251ead404dccd824789f8f3a13df2a6fb56440c/spdlog/include/spdlog/fmt/bundled}/chrono.h +0 -0
- /data/ext/cache/{fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt → spdlog/7251ead404dccd824789f8f3a13df2a6fb56440c/spdlog/include/spdlog/fmt/bundled}/color.h +0 -0
- /data/ext/cache/{fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt → spdlog/7251ead404dccd824789f8f3a13df2a6fb56440c/spdlog/include/spdlog/fmt/bundled}/compile.h +0 -0
- /data/ext/cache/{fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt → spdlog/7251ead404dccd824789f8f3a13df2a6fb56440c/spdlog/include/spdlog/fmt/bundled}/core.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/fmt/bundled/fmt.license.rst +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/fmt/bundled/locale.h +0 -0
- /data/ext/cache/{fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt → spdlog/7251ead404dccd824789f8f3a13df2a6fb56440c/spdlog/include/spdlog/fmt/bundled}/os.h +0 -0
- /data/ext/cache/{fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt → spdlog/7251ead404dccd824789f8f3a13df2a6fb56440c/spdlog/include/spdlog/fmt/bundled}/ostream.h +0 -0
- /data/ext/cache/{fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt → spdlog/7251ead404dccd824789f8f3a13df2a6fb56440c/spdlog/include/spdlog/fmt/bundled}/printf.h +0 -0
- /data/ext/cache/{fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt → spdlog/7251ead404dccd824789f8f3a13df2a6fb56440c/spdlog/include/spdlog/fmt/bundled}/std.h +0 -0
- /data/ext/cache/{fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt → spdlog/7251ead404dccd824789f8f3a13df2a6fb56440c/spdlog/include/spdlog/fmt/bundled}/xchar.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/fmt/chrono.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/fmt/compile.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/fmt/fmt.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/fmt/ostr.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/fmt/ranges.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/fmt/std.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/fmt/xchar.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/formatter.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/fwd.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/logger-inl.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/logger.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/pattern_formatter.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/android_sink.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/ansicolor_sink-inl.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/base_sink-inl.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/basic_file_sink-inl.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/basic_file_sink.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/dist_sink.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/dup_filter_sink.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/kafka_sink.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/mongo_sink.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/null_sink.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/ostream_sink.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/qt_sinks.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/ringbuffer_sink.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/rotating_file_sink.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/sink-inl.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/sink.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/stdout_color_sinks-inl.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/stdout_color_sinks.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/stdout_sinks-inl.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/stdout_sinks.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/systemd_sink.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/tcp_sink.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/udp_sink.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/win_eventlog_sink.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/wincolor_sink.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/spdlog-inl.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/spdlog.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/stopwatch.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/tweakme.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/src/async.cpp +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/src/cfg.cpp +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/src/color_sinks.cpp +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/src/file_sinks.cpp +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/src/spdlog.cpp +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/src/stdout_sinks.cpp +0 -0
@@ -148,19 +148,19 @@ public:
|
|
148
148
|
#endif
|
149
149
|
|
150
150
|
size_t overrun_counter() {
|
151
|
-
std::
|
151
|
+
std::lock_guard<std::mutex> lock(queue_mutex_);
|
152
152
|
return q_.overrun_counter();
|
153
153
|
}
|
154
154
|
|
155
155
|
size_t discard_counter() { return discard_counter_.load(std::memory_order_relaxed); }
|
156
156
|
|
157
157
|
size_t size() {
|
158
|
-
std::
|
158
|
+
std::lock_guard<std::mutex> lock(queue_mutex_);
|
159
159
|
return q_.size();
|
160
160
|
}
|
161
161
|
|
162
162
|
void reset_overrun_counter() {
|
163
|
-
std::
|
163
|
+
std::lock_guard<std::mutex> lock(queue_mutex_);
|
164
164
|
q_.reset_overrun_counter();
|
165
165
|
}
|
166
166
|
|
@@ -483,12 +483,12 @@ SPDLOG_INLINE void utf8_to_wstrbuf(string_view_t str, wmemory_buf_t &target) {
|
|
483
483
|
|
484
484
|
// find the size to allocate for the result buffer
|
485
485
|
int result_size =
|
486
|
-
::MultiByteToWideChar(CP_UTF8,
|
486
|
+
::MultiByteToWideChar(CP_UTF8, 0, str.data(), str_size, NULL, 0);
|
487
487
|
|
488
488
|
if (result_size > 0) {
|
489
489
|
target.resize(result_size);
|
490
|
-
result_size = ::MultiByteToWideChar(CP_UTF8,
|
491
|
-
|
490
|
+
result_size = ::MultiByteToWideChar(CP_UTF8, 0, str.data(), str_size, target.data(),
|
491
|
+
result_size);
|
492
492
|
if (result_size > 0) {
|
493
493
|
assert(result_size == target.size());
|
494
494
|
return;
|
@@ -62,13 +62,9 @@ void SPDLOG_INLINE thread_pool::post_log(async_logger_ptr &&worker_ptr,
|
|
62
62
|
post_async_msg_(std::move(async_m), overflow_policy);
|
63
63
|
}
|
64
64
|
|
65
|
-
|
66
|
-
|
67
|
-
std::
|
68
|
-
std::future<void> future = promise.get_future();
|
69
|
-
post_async_msg_(async_msg(std::move(worker_ptr), async_msg_type::flush, std::move(promise)),
|
70
|
-
overflow_policy);
|
71
|
-
return future;
|
65
|
+
void SPDLOG_INLINE thread_pool::post_flush(async_logger_ptr &&worker_ptr,
|
66
|
+
async_overflow_policy overflow_policy) {
|
67
|
+
post_async_msg_(async_msg(std::move(worker_ptr), async_msg_type::flush), overflow_policy);
|
72
68
|
}
|
73
69
|
|
74
70
|
size_t SPDLOG_INLINE thread_pool::overrun_counter() { return q_.overrun_counter(); }
|
@@ -112,7 +108,6 @@ bool SPDLOG_INLINE thread_pool::process_next_msg_() {
|
|
112
108
|
}
|
113
109
|
case async_msg_type::flush: {
|
114
110
|
incoming_async_msg.worker_ptr->backend_flush_();
|
115
|
-
incoming_async_msg.flush_promise.set_value();
|
116
111
|
return true;
|
117
112
|
}
|
118
113
|
|
@@ -9,7 +9,6 @@
|
|
9
9
|
|
10
10
|
#include <chrono>
|
11
11
|
#include <functional>
|
12
|
-
#include <future>
|
13
12
|
#include <memory>
|
14
13
|
#include <thread>
|
15
14
|
#include <vector>
|
@@ -28,7 +27,6 @@ enum class async_msg_type { log, flush, terminate };
|
|
28
27
|
struct async_msg : log_msg_buffer {
|
29
28
|
async_msg_type msg_type{async_msg_type::log};
|
30
29
|
async_logger_ptr worker_ptr;
|
31
|
-
std::promise<void> flush_promise;
|
32
30
|
|
33
31
|
async_msg() = default;
|
34
32
|
~async_msg() = default;
|
@@ -58,20 +56,12 @@ struct async_msg : log_msg_buffer {
|
|
58
56
|
async_msg(async_logger_ptr &&worker, async_msg_type the_type, const details::log_msg &m)
|
59
57
|
: log_msg_buffer{m},
|
60
58
|
msg_type{the_type},
|
61
|
-
worker_ptr{std::move(worker)}
|
62
|
-
flush_promise{} {}
|
59
|
+
worker_ptr{std::move(worker)} {}
|
63
60
|
|
64
61
|
async_msg(async_logger_ptr &&worker, async_msg_type the_type)
|
65
62
|
: log_msg_buffer{},
|
66
63
|
msg_type{the_type},
|
67
|
-
worker_ptr{std::move(worker)}
|
68
|
-
flush_promise{} {}
|
69
|
-
|
70
|
-
async_msg(async_logger_ptr &&worker, async_msg_type the_type, std::promise<void> &&promise)
|
71
|
-
: log_msg_buffer{},
|
72
|
-
msg_type{the_type},
|
73
|
-
worker_ptr{std::move(worker)},
|
74
|
-
flush_promise{std::move(promise)} {}
|
64
|
+
worker_ptr{std::move(worker)} {}
|
75
65
|
|
76
66
|
explicit async_msg(async_msg_type the_type)
|
77
67
|
: async_msg{nullptr, the_type} {}
|
@@ -98,8 +88,7 @@ public:
|
|
98
88
|
void post_log(async_logger_ptr &&worker_ptr,
|
99
89
|
const details::log_msg &msg,
|
100
90
|
async_overflow_policy overflow_policy);
|
101
|
-
|
102
|
-
async_overflow_policy overflow_policy);
|
91
|
+
void post_flush(async_logger_ptr &&worker_ptr, async_overflow_policy overflow_policy);
|
103
92
|
size_t overrun_counter();
|
104
93
|
void reset_overrun_counter();
|
105
94
|
size_t discard_counter();
|
@@ -23,7 +23,7 @@
|
|
23
23
|
#endif
|
24
24
|
|
25
25
|
// The fmt library version in the form major * 10000 + minor * 100 + patch.
|
26
|
-
#define FMT_VERSION
|
26
|
+
#define FMT_VERSION 110002
|
27
27
|
|
28
28
|
// Detect compiler versions.
|
29
29
|
#if defined(__clang__) && !defined(__ibmxl__)
|
@@ -441,7 +441,8 @@ struct is_std_string_like : std::false_type {};
|
|
441
441
|
template <typename T>
|
442
442
|
struct is_std_string_like<T, void_t<decltype(std::declval<T>().find_first_of(
|
443
443
|
typename T::value_type(), 0))>>
|
444
|
-
: std::
|
444
|
+
: std::is_convertible<decltype(std::declval<T>().data()),
|
445
|
+
const typename T::value_type*> {};
|
445
446
|
|
446
447
|
// Returns true iff the literal encoding is UTF-8.
|
447
448
|
constexpr auto is_utf8_enabled() -> bool {
|
@@ -466,6 +467,7 @@ template <typename Char> FMT_CONSTEXPR auto length(const Char* s) -> size_t {
|
|
466
467
|
template <typename Char>
|
467
468
|
FMT_CONSTEXPR auto compare(const Char* s1, const Char* s2, std::size_t n)
|
468
469
|
-> int {
|
470
|
+
if (!is_constant_evaluated() && sizeof(Char) == 1) return memcmp(s1, s2, n);
|
469
471
|
for (; n != 0; ++s1, ++s2, --n) {
|
470
472
|
if (*s1 < *s2) return -1;
|
471
473
|
if (*s1 > *s2) return 1;
|
@@ -473,14 +475,22 @@ FMT_CONSTEXPR auto compare(const Char* s1, const Char* s2, std::size_t n)
|
|
473
475
|
return 0;
|
474
476
|
}
|
475
477
|
|
478
|
+
namespace adl {
|
479
|
+
using namespace std;
|
480
|
+
|
481
|
+
template <typename Container>
|
482
|
+
auto invoke_back_inserter()
|
483
|
+
-> decltype(back_inserter(std::declval<Container&>()));
|
484
|
+
} // namespace adl
|
485
|
+
|
476
486
|
template <typename It, typename Enable = std::true_type>
|
477
487
|
struct is_back_insert_iterator : std::false_type {};
|
488
|
+
|
478
489
|
template <typename It>
|
479
490
|
struct is_back_insert_iterator<
|
480
|
-
It,
|
481
|
-
|
482
|
-
|
483
|
-
It>::value>> : std::true_type {};
|
491
|
+
It, bool_constant<std::is_same<
|
492
|
+
decltype(adl::invoke_back_inserter<typename It::container_type>()),
|
493
|
+
It>::value>> : std::true_type {};
|
484
494
|
|
485
495
|
// Extracts a reference to the container from *insert_iterator.
|
486
496
|
template <typename OutputIt>
|
@@ -611,11 +621,12 @@ namespace detail {
|
|
611
621
|
// to it, deducing Char. Explicitly convertible types such as the ones returned
|
612
622
|
// from FMT_STRING are intentionally excluded.
|
613
623
|
template <typename Char, FMT_ENABLE_IF(is_char<Char>::value)>
|
614
|
-
auto to_string_view(const Char* s) -> basic_string_view<Char> {
|
624
|
+
constexpr auto to_string_view(const Char* s) -> basic_string_view<Char> {
|
615
625
|
return s;
|
616
626
|
}
|
617
627
|
template <typename T, FMT_ENABLE_IF(is_std_string_like<T>::value)>
|
618
|
-
auto to_string_view(const T& s)
|
628
|
+
constexpr auto to_string_view(const T& s)
|
629
|
+
-> basic_string_view<typename T::value_type> {
|
619
630
|
return s;
|
620
631
|
}
|
621
632
|
template <typename Char>
|
@@ -919,12 +930,9 @@ template <typename T> class buffer {
|
|
919
930
|
try_reserve(size_ + count);
|
920
931
|
auto free_cap = capacity_ - size_;
|
921
932
|
if (free_cap < count) count = free_cap;
|
922
|
-
|
923
|
-
|
924
|
-
|
925
|
-
T* out = ptr_ + size_;
|
926
|
-
for (size_t i = 0; i < count; ++i) out[i] = begin[i];
|
927
|
-
}
|
933
|
+
// A loop is faster than memcpy on small sizes.
|
934
|
+
T* out = ptr_ + size_;
|
935
|
+
for (size_t i = 0; i < count; ++i) out[i] = begin[i];
|
928
936
|
size_ += count;
|
929
937
|
begin += count;
|
930
938
|
}
|
@@ -1157,6 +1165,7 @@ template <typename T> class basic_appender {
|
|
1157
1165
|
using difference_type = ptrdiff_t;
|
1158
1166
|
using pointer = T*;
|
1159
1167
|
using reference = T&;
|
1168
|
+
using container_type = detail::buffer<T>;
|
1160
1169
|
FMT_UNCHECKED_ITERATOR(basic_appender);
|
1161
1170
|
|
1162
1171
|
FMT_CONSTEXPR basic_appender(detail::buffer<T>& buf) : buffer_(&buf) {}
|
@@ -1173,6 +1182,8 @@ template <typename T> class basic_appender {
|
|
1173
1182
|
using appender = basic_appender<char>;
|
1174
1183
|
|
1175
1184
|
namespace detail {
|
1185
|
+
template <typename T>
|
1186
|
+
struct is_back_insert_iterator<basic_appender<T>> : std::true_type {};
|
1176
1187
|
|
1177
1188
|
template <typename T, typename Enable = void>
|
1178
1189
|
struct locking : std::true_type {};
|
@@ -1189,12 +1200,6 @@ FMT_CONSTEXPR inline auto is_locking() -> bool {
|
|
1189
1200
|
}
|
1190
1201
|
|
1191
1202
|
// An optimized version of std::copy with the output value type (T).
|
1192
|
-
template <typename T, typename InputIt>
|
1193
|
-
auto copy(InputIt begin, InputIt end, appender out) -> appender {
|
1194
|
-
get_container(out).append(begin, end);
|
1195
|
-
return out;
|
1196
|
-
}
|
1197
|
-
|
1198
1203
|
template <typename T, typename InputIt, typename OutputIt,
|
1199
1204
|
FMT_ENABLE_IF(is_back_insert_iterator<OutputIt>::value)>
|
1200
1205
|
auto copy(InputIt begin, InputIt end, OutputIt out) -> OutputIt {
|
@@ -1209,14 +1214,6 @@ FMT_CONSTEXPR auto copy(InputIt begin, InputIt end, OutputIt out) -> OutputIt {
|
|
1209
1214
|
return out;
|
1210
1215
|
}
|
1211
1216
|
|
1212
|
-
template <typename T>
|
1213
|
-
FMT_CONSTEXPR auto copy(const T* begin, const T* end, T* out) -> T* {
|
1214
|
-
if (is_constant_evaluated()) return copy<T, const T*, T*>(begin, end, out);
|
1215
|
-
auto size = to_unsigned(end - begin);
|
1216
|
-
if (size > 0) memcpy(out, begin, size * sizeof(T));
|
1217
|
-
return out + size;
|
1218
|
-
}
|
1219
|
-
|
1220
1217
|
template <typename T, typename V, typename OutputIt>
|
1221
1218
|
FMT_CONSTEXPR auto copy(basic_string_view<V> s, OutputIt out) -> OutputIt {
|
1222
1219
|
return copy<T>(s.begin(), s.end(), out);
|
@@ -1238,12 +1235,25 @@ constexpr auto has_const_formatter() -> bool {
|
|
1238
1235
|
return has_const_formatter_impl<Context>(static_cast<T*>(nullptr));
|
1239
1236
|
}
|
1240
1237
|
|
1238
|
+
template <typename It, typename Enable = std::true_type>
|
1239
|
+
struct is_buffer_appender : std::false_type {};
|
1240
|
+
template <typename It>
|
1241
|
+
struct is_buffer_appender<
|
1242
|
+
It, bool_constant<
|
1243
|
+
is_back_insert_iterator<It>::value &&
|
1244
|
+
std::is_base_of<buffer<typename It::container_type::value_type>,
|
1245
|
+
typename It::container_type>::value>>
|
1246
|
+
: std::true_type {};
|
1247
|
+
|
1241
1248
|
// Maps an output iterator to a buffer.
|
1242
|
-
template <typename T, typename OutputIt
|
1249
|
+
template <typename T, typename OutputIt,
|
1250
|
+
FMT_ENABLE_IF(!is_buffer_appender<OutputIt>::value)>
|
1243
1251
|
auto get_buffer(OutputIt out) -> iterator_buffer<OutputIt, T> {
|
1244
1252
|
return iterator_buffer<OutputIt, T>(out);
|
1245
1253
|
}
|
1246
|
-
template <typename T
|
1254
|
+
template <typename T, typename OutputIt,
|
1255
|
+
FMT_ENABLE_IF(is_buffer_appender<OutputIt>::value)>
|
1256
|
+
auto get_buffer(OutputIt out) -> buffer<T>& {
|
1247
1257
|
return get_container(out);
|
1248
1258
|
}
|
1249
1259
|
|
@@ -1475,6 +1485,12 @@ template <typename Context> struct arg_mapper {
|
|
1475
1485
|
|
1476
1486
|
FMT_MAP_API auto map(void* val) -> const void* { return val; }
|
1477
1487
|
FMT_MAP_API auto map(const void* val) -> const void* { return val; }
|
1488
|
+
FMT_MAP_API auto map(volatile void* val) -> const void* {
|
1489
|
+
return const_cast<const void*>(val);
|
1490
|
+
}
|
1491
|
+
FMT_MAP_API auto map(const volatile void* val) -> const void* {
|
1492
|
+
return const_cast<const void*>(val);
|
1493
|
+
}
|
1478
1494
|
FMT_MAP_API auto map(std::nullptr_t val) -> const void* { return val; }
|
1479
1495
|
|
1480
1496
|
// Use SFINAE instead of a const T* parameter to avoid a conflict with the
|
@@ -1760,7 +1776,7 @@ template <typename Context> class basic_format_arg {
|
|
1760
1776
|
* `vis(value)` will be called with the value of type `double`.
|
1761
1777
|
*/
|
1762
1778
|
template <typename Visitor>
|
1763
|
-
FMT_CONSTEXPR auto visit(Visitor&& vis) const -> decltype(vis(0)) {
|
1779
|
+
FMT_CONSTEXPR FMT_INLINE auto visit(Visitor&& vis) const -> decltype(vis(0)) {
|
1764
1780
|
switch (type_) {
|
1765
1781
|
case detail::type::none_type:
|
1766
1782
|
break;
|
@@ -1443,12 +1443,26 @@ template <typename T> struct span {
|
|
1443
1443
|
size_t size;
|
1444
1444
|
};
|
1445
1445
|
|
1446
|
-
|
1447
|
-
|
1448
|
-
|
1449
|
-
|
1446
|
+
template <typename F> auto flockfile(F* f) -> decltype(_lock_file(f)) {
|
1447
|
+
_lock_file(f);
|
1448
|
+
}
|
1449
|
+
template <typename F> auto funlockfile(F* f) -> decltype(_unlock_file(f)) {
|
1450
|
+
_unlock_file(f);
|
1451
|
+
}
|
1452
|
+
|
1453
|
+
#ifndef getc_unlocked
|
1454
|
+
template <typename F> auto getc_unlocked(F* f) -> decltype(_fgetc_nolock(f)) {
|
1455
|
+
return _fgetc_nolock(f);
|
1456
|
+
}
|
1450
1457
|
#endif
|
1451
1458
|
|
1459
|
+
template <typename F = FILE, typename Enable = void>
|
1460
|
+
struct has_flockfile : std::false_type {};
|
1461
|
+
|
1462
|
+
template <typename F>
|
1463
|
+
struct has_flockfile<F, void_t<decltype(flockfile(&std::declval<F&>()))>>
|
1464
|
+
: std::true_type {};
|
1465
|
+
|
1452
1466
|
// A FILE wrapper. F is FILE defined as a template parameter to make system API
|
1453
1467
|
// detection work.
|
1454
1468
|
template <typename F> class file_base {
|
@@ -1619,7 +1633,15 @@ inline auto get_file(FILE* f, ...) -> fallback_file<FILE> { return f; }
|
|
1619
1633
|
|
1620
1634
|
using file_ref = decltype(get_file(static_cast<FILE*>(nullptr), 0));
|
1621
1635
|
|
1636
|
+
template <typename F = FILE, typename Enable = void>
|
1622
1637
|
class file_print_buffer : public buffer<char> {
|
1638
|
+
public:
|
1639
|
+
explicit file_print_buffer(F*) : buffer(nullptr, size_t()) {}
|
1640
|
+
};
|
1641
|
+
|
1642
|
+
template <typename F>
|
1643
|
+
class file_print_buffer<F, enable_if_t<has_flockfile<F>::value>>
|
1644
|
+
: public buffer<char> {
|
1623
1645
|
private:
|
1624
1646
|
file_ref file_;
|
1625
1647
|
|
@@ -1634,7 +1656,7 @@ class file_print_buffer : public buffer<char> {
|
|
1634
1656
|
}
|
1635
1657
|
|
1636
1658
|
public:
|
1637
|
-
explicit file_print_buffer(
|
1659
|
+
explicit file_print_buffer(F* f) : buffer(grow, size_t()), file_(f) {
|
1638
1660
|
flockfile(f);
|
1639
1661
|
file_.init_buffer();
|
1640
1662
|
auto buf = file_.get_write_buffer();
|
@@ -1643,7 +1665,8 @@ class file_print_buffer : public buffer<char> {
|
|
1643
1665
|
~file_print_buffer() {
|
1644
1666
|
file_.advance_write_buffer(size());
|
1645
1667
|
bool flush = file_.needs_flush();
|
1646
|
-
|
1668
|
+
F* f = file_; // Make funlockfile depend on the template parameter F
|
1669
|
+
funlockfile(f); // for the system API detection to work.
|
1647
1670
|
if (flush) fflush(file_);
|
1648
1671
|
}
|
1649
1672
|
};
|
@@ -1692,8 +1715,9 @@ FMT_FUNC void vprint_buffered(std::FILE* f, string_view fmt, format_args args) {
|
|
1692
1715
|
}
|
1693
1716
|
|
1694
1717
|
FMT_FUNC void vprint(std::FILE* f, string_view fmt, format_args args) {
|
1695
|
-
if (!detail::file_ref(f).is_buffered()
|
1696
|
-
|
1718
|
+
if (!detail::file_ref(f).is_buffered() || !detail::has_flockfile<>())
|
1719
|
+
return vprint_buffered(f, fmt, args);
|
1720
|
+
auto&& buffer = detail::file_print_buffer<>(f);
|
1697
1721
|
return detail::vformat_to(buffer, fmt, args);
|
1698
1722
|
}
|
1699
1723
|
|
@@ -106,6 +106,13 @@
|
|
106
106
|
# define FMT_NOINLINE
|
107
107
|
#endif
|
108
108
|
|
109
|
+
namespace std {
|
110
|
+
template <> struct iterator_traits<fmt::appender> {
|
111
|
+
using iterator_category = output_iterator_tag;
|
112
|
+
using value_type = char;
|
113
|
+
};
|
114
|
+
} // namespace std
|
115
|
+
|
109
116
|
#ifndef FMT_THROW
|
110
117
|
# if FMT_EXCEPTIONS
|
111
118
|
# if FMT_MSC_VERSION || defined(__NVCC__)
|
@@ -546,6 +553,7 @@ constexpr auto to_pointer(OutputIt, size_t) -> T* {
|
|
546
553
|
template <typename T> auto to_pointer(basic_appender<T> it, size_t n) -> T* {
|
547
554
|
buffer<T>& buf = get_container(it);
|
548
555
|
auto size = buf.size();
|
556
|
+
buf.try_reserve(size + n);
|
549
557
|
if (buf.capacity() < size + n) return nullptr;
|
550
558
|
buf.try_resize(size + n);
|
551
559
|
return buf.data() + size;
|
@@ -1119,7 +1127,7 @@ template <typename Char, typename Sign> constexpr auto sign(Sign s) -> Char {
|
|
1119
1127
|
#if !FMT_GCC_VERSION || FMT_GCC_VERSION >= 604
|
1120
1128
|
static_assert(std::is_same<Sign, sign_t>::value, "");
|
1121
1129
|
#endif
|
1122
|
-
return static_cast<
|
1130
|
+
return static_cast<char>(((' ' << 24) | ('+' << 16) | ('-' << 8)) >> (s * 8));
|
1123
1131
|
}
|
1124
1132
|
|
1125
1133
|
template <typename T> FMT_CONSTEXPR auto count_digits_fallback(T n) -> int {
|
@@ -2317,15 +2325,13 @@ FMT_CONSTEXPR auto write(OutputIt out, T value) -> OutputIt {
|
|
2317
2325
|
if (negative) abs_value = ~abs_value + 1;
|
2318
2326
|
int num_digits = count_digits(abs_value);
|
2319
2327
|
auto size = (negative ? 1 : 0) + static_cast<size_t>(num_digits);
|
2320
|
-
auto
|
2321
|
-
if (auto ptr = to_pointer<Char>(it, size)) {
|
2328
|
+
if (auto ptr = to_pointer<Char>(out, size)) {
|
2322
2329
|
if (negative) *ptr++ = static_cast<Char>('-');
|
2323
2330
|
format_decimal<Char>(ptr, abs_value, num_digits);
|
2324
2331
|
return out;
|
2325
2332
|
}
|
2326
|
-
if (negative) *
|
2327
|
-
|
2328
|
-
return base_iterator(out, it);
|
2333
|
+
if (negative) *out++ = static_cast<Char>('-');
|
2334
|
+
return format_decimal<Char>(out, abs_value, num_digits).end;
|
2329
2335
|
}
|
2330
2336
|
|
2331
2337
|
// DEPRECATED!
|
@@ -3629,9 +3635,7 @@ auto write(OutputIt out, monostate, format_specs = {}, locale_ref = {})
|
|
3629
3635
|
template <typename Char, typename OutputIt>
|
3630
3636
|
FMT_CONSTEXPR auto write(OutputIt out, basic_string_view<Char> value)
|
3631
3637
|
-> OutputIt {
|
3632
|
-
|
3633
|
-
it = copy_noinline<Char>(value.begin(), value.end(), it);
|
3634
|
-
return base_iterator(out, it);
|
3638
|
+
return copy_noinline<Char>(value.begin(), value.end(), out);
|
3635
3639
|
}
|
3636
3640
|
|
3637
3641
|
template <typename Char, typename OutputIt, typename T,
|
@@ -3972,15 +3976,19 @@ struct formatter<T, Char, enable_if_t<detail::has_format_as<T>::value>>
|
|
3972
3976
|
: formatter<detail::format_as_t<T>, Char> {
|
3973
3977
|
template <typename FormatContext>
|
3974
3978
|
auto format(const T& value, FormatContext& ctx) const -> decltype(ctx.out()) {
|
3975
|
-
using base = formatter<detail::format_as_t<T>, Char>;
|
3976
3979
|
auto&& val = format_as(value); // Make an lvalue reference for format.
|
3977
|
-
return
|
3980
|
+
return formatter<detail::format_as_t<T>, Char>::format(val, ctx);
|
3978
3981
|
}
|
3979
3982
|
};
|
3980
3983
|
|
3981
|
-
#define FMT_FORMAT_AS(Type, Base)
|
3982
|
-
template <typename Char>
|
3983
|
-
struct formatter<Type, Char> : formatter<Base, Char> {
|
3984
|
+
#define FMT_FORMAT_AS(Type, Base) \
|
3985
|
+
template <typename Char> \
|
3986
|
+
struct formatter<Type, Char> : formatter<Base, Char> { \
|
3987
|
+
template <typename FormatContext> \
|
3988
|
+
auto format(Type value, FormatContext& ctx) const -> decltype(ctx.out()) { \
|
3989
|
+
return formatter<Base, Char>::format(value, ctx); \
|
3990
|
+
} \
|
3991
|
+
}
|
3984
3992
|
|
3985
3993
|
FMT_FORMAT_AS(signed char, int);
|
3986
3994
|
FMT_FORMAT_AS(unsigned char, unsigned);
|
@@ -490,7 +490,7 @@ struct range_formatter<
|
|
490
490
|
auto out = ctx.out();
|
491
491
|
auto it = detail::range_begin(range);
|
492
492
|
auto end = detail::range_end(range);
|
493
|
-
if (is_debug) return write_debug_string(out, it, end);
|
493
|
+
if (is_debug) return write_debug_string(out, std::move(it), end);
|
494
494
|
|
495
495
|
out = detail::copy<Char>(opening_bracket_, out);
|
496
496
|
int i = 0;
|
@@ -10,7 +10,11 @@
|
|
10
10
|
#include <spdlog/details/fmt_helper.h>
|
11
11
|
#include <spdlog/details/log_msg.h>
|
12
12
|
#include <spdlog/details/os.h>
|
13
|
-
|
13
|
+
|
14
|
+
#ifndef SPDLOG_NO_TLS
|
15
|
+
#include <spdlog/mdc.h>
|
16
|
+
#endif
|
17
|
+
|
14
18
|
#include <spdlog/fmt/fmt.h>
|
15
19
|
#include <spdlog/formatter.h>
|
16
20
|
|
@@ -176,7 +180,7 @@ public:
|
|
176
180
|
|
177
181
|
// Abbreviated month
|
178
182
|
static const std::array<const char *, 12> months{
|
179
|
-
{"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "
|
183
|
+
{"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}};
|
180
184
|
|
181
185
|
template <typename ScopedPadder>
|
182
186
|
class b_formatter final : public flag_formatter {
|
@@ -786,6 +790,7 @@ private:
|
|
786
790
|
|
787
791
|
// Class for formatting Mapped Diagnostic Context (MDC) in log messages.
|
788
792
|
// Example: [logger-name] [info] [mdc_key_1:mdc_value_1 mdc_key_2:mdc_value_2] some message
|
793
|
+
#ifndef SPDLOG_NO_TLS
|
789
794
|
template <typename ScopedPadder>
|
790
795
|
class mdc_formatter : public flag_formatter {
|
791
796
|
public:
|
@@ -824,6 +829,7 @@ public:
|
|
824
829
|
}
|
825
830
|
}
|
826
831
|
};
|
832
|
+
#endif
|
827
833
|
|
828
834
|
// Full info formatter
|
829
835
|
// pattern: [%Y-%m-%d %H:%M:%S.%e] [%n] [%l] [%s:%#] %v
|
@@ -901,6 +907,7 @@ public:
|
|
901
907
|
dest.push_back(' ');
|
902
908
|
}
|
903
909
|
|
910
|
+
#ifndef SPDLOG_NO_TLS
|
904
911
|
// add mdc if present
|
905
912
|
auto &mdc_map = mdc::get_context();
|
906
913
|
if (!mdc_map.empty()) {
|
@@ -909,6 +916,7 @@ public:
|
|
909
916
|
dest.push_back(']');
|
910
917
|
dest.push_back(' ');
|
911
918
|
}
|
919
|
+
#endif
|
912
920
|
// fmt_helper::append_string_view(msg.msg(), dest);
|
913
921
|
fmt_helper::append_string_view(msg.payload, dest);
|
914
922
|
}
|
@@ -916,7 +924,11 @@ public:
|
|
916
924
|
private:
|
917
925
|
std::chrono::seconds cache_timestamp_{0};
|
918
926
|
memory_buf_t cached_datetime_;
|
927
|
+
|
928
|
+
#ifndef SPDLOG_NO_TLS
|
919
929
|
mdc_formatter<null_scoped_padder> mdc_formatter_{padding_info{}};
|
930
|
+
#endif
|
931
|
+
|
920
932
|
};
|
921
933
|
|
922
934
|
} // namespace details
|
@@ -1211,9 +1223,11 @@ SPDLOG_INLINE void pattern_formatter::handle_flag_(char flag, details::padding_i
|
|
1211
1223
|
padding));
|
1212
1224
|
break;
|
1213
1225
|
|
1226
|
+
#ifndef SPDLOG_NO_TLS // mdc formatter requires TLS support
|
1214
1227
|
case ('&'):
|
1215
1228
|
formatters_.push_back(details::make_unique<details::mdc_formatter<Padder>>(padding));
|
1216
1229
|
break;
|
1230
|
+
#endif
|
1217
1231
|
|
1218
1232
|
default: // Unknown flag appears as is
|
1219
1233
|
auto unknown_flag = details::make_unique<details::aggregate_formatter>();
|
@@ -40,7 +40,7 @@ public:
|
|
40
40
|
|
41
41
|
void log(const details::log_msg &msg) override;
|
42
42
|
void flush() override;
|
43
|
-
void set_pattern(const std::string &pattern) final;
|
43
|
+
void set_pattern(const std::string &pattern) final override;
|
44
44
|
void set_formatter(std::unique_ptr<spdlog::formatter> sink_formatter) override;
|
45
45
|
|
46
46
|
// Formatting codes
|
@@ -28,10 +28,10 @@ public:
|
|
28
28
|
base_sink &operator=(const base_sink &) = delete;
|
29
29
|
base_sink &operator=(base_sink &&) = delete;
|
30
30
|
|
31
|
-
void log(const details::log_msg &msg) final;
|
32
|
-
void flush() final;
|
33
|
-
void set_pattern(const std::string &pattern) final;
|
34
|
-
void set_formatter(std::unique_ptr<spdlog::formatter> sink_formatter) final;
|
31
|
+
void log(const details::log_msg &msg) final override;
|
32
|
+
void flush() final override;
|
33
|
+
void set_pattern(const std::string &pattern) final override;
|
34
|
+
void set_formatter(std::unique_ptr<spdlog::formatter> sink_formatter) final override;
|
35
35
|
|
36
36
|
protected:
|
37
37
|
// sink formatter
|
@@ -62,6 +62,9 @@ struct daily_filename_format_calculator {
|
|
62
62
|
* Rotating file sink based on date.
|
63
63
|
* If truncate != false , the created file will be truncated.
|
64
64
|
* If max_files > 0, retain only the last max_files and delete previous.
|
65
|
+
* If max_files > 0, retain only the last max_files and delete previous.
|
66
|
+
* Note that old log files from previous executions will not be deleted by this class,
|
67
|
+
* rotation and deletion is only applied while the program is running.
|
65
68
|
*/
|
66
69
|
template <typename Mutex, typename FileNameCalc = daily_filename_calculator>
|
67
70
|
class daily_file_sink final : public base_sink<Mutex> {
|
@@ -39,6 +39,8 @@ struct hourly_filename_calculator {
|
|
39
39
|
* Rotating file sink based on time.
|
40
40
|
* If truncate != false , the created file will be truncated.
|
41
41
|
* If max_files > 0, retain only the last max_files and delete previous.
|
42
|
+
* Note that old log files from previous executions will not be deleted by this class,
|
43
|
+
* rotation and deletion is only applied while the program is running.
|
42
44
|
*/
|
43
45
|
template <typename Mutex, typename FileNameCalc = hourly_filename_calculator>
|
44
46
|
class hourly_file_sink final : public base_sink<Mutex> {
|
@@ -32,7 +32,7 @@ class msvc_sink : public base_sink<Mutex> {
|
|
32
32
|
public:
|
33
33
|
msvc_sink() = default;
|
34
34
|
msvc_sink(bool check_debugger_present)
|
35
|
-
: check_debugger_present_{check_debugger_present} {}
|
35
|
+
: check_debugger_present_{check_debugger_present} {}
|
36
36
|
|
37
37
|
protected:
|
38
38
|
void sink_it_(const details::log_msg &msg) override {
|
@@ -60,7 +60,7 @@ SPDLOG_INLINE filename_t rotating_file_sink<Mutex>::calc_filename(const filename
|
|
60
60
|
|
61
61
|
filename_t basename, ext;
|
62
62
|
std::tie(basename, ext) = details::file_helper::split_by_extension(filename);
|
63
|
-
return fmt_lib::format(SPDLOG_FILENAME_T("{}.{}{}"), basename, index, ext);
|
63
|
+
return fmt_lib::format(SPDLOG_FMT_STRING(SPDLOG_FILENAME_T("{}.{}{}")), basename, index, ext);
|
64
64
|
}
|
65
65
|
|
66
66
|
template <typename Mutex>
|
@@ -64,13 +64,14 @@ protected:
|
|
64
64
|
//
|
65
65
|
// Simply maps spdlog's log level to syslog priority level.
|
66
66
|
//
|
67
|
-
int syslog_prio_from_level(const details::log_msg &msg) const {
|
67
|
+
virtual int syslog_prio_from_level(const details::log_msg &msg) const {
|
68
68
|
return syslog_levels_.at(static_cast<levels_array::size_type>(msg.level));
|
69
69
|
}
|
70
70
|
|
71
|
-
private:
|
72
71
|
using levels_array = std::array<int, 7>;
|
73
72
|
levels_array syslog_levels_;
|
73
|
+
|
74
|
+
private:
|
74
75
|
// must store the ident because the man says openlog might use the pointer as
|
75
76
|
// is and not a string copy
|
76
77
|
const std::string ident_;
|