5#include <userver/dynamic_config/snapshot.hpp>
6#include <userver/dynamic_config/value.hpp>
7#include <userver/formats/parse/to.hpp>
8#include <userver/storages/redis/impl/base.hpp>
9#include <userver/storages/redis/impl/wait_connected_mode.hpp>
10#include <userver/utils/retry_budget.hpp>
12USERVER_NAMESPACE_BEGIN
19WaitConnectedMode Parse(
const formats::
json::Value& elem, formats::
parse::
To<WaitConnectedMode>);
21RedisWaitConnected Parse(
const formats::
json::Value& elem, formats::
parse::
To<RedisWaitConnected>);
23CommandsBufferingSettings Parse(
const formats::
json::Value& elem, formats::
parse::
To<CommandsBufferingSettings>);
25MetricsSettings::DynamicSettings
26Parse(
const formats::
json::Value& elem, formats::
parse::
To<MetricsSettings::DynamicSettings>);
28ReplicationMonitoringSettings
29Parse(
const formats::
json::Value& elem, formats::
parse::
To<ReplicationMonitoringSettings>);
31PubsubMetricsSettings Parse(
const formats::
json::Value& elem, formats::
parse::
To<PubsubMetricsSettings>);
34namespace storages::
redis {
37 static Config Parse(
const dynamic_config::DocsMap& docs_map);
40 USERVER_NAMESPACE::redis::
CommandControl subscriber_default_command_control;
41 std::chrono::seconds subscriptions_rebalance_min_interval{};
42 USERVER_NAMESPACE::redis::RedisWaitConnected redis_wait_connected;
43 USERVER_NAMESPACE::redis::CommandsBufferingSettings commands_buffering_settings;
44 USERVER_NAMESPACE::redis::MetricsSettings::DynamicSettings metrics_settings;
45 USERVER_NAMESPACE::redis::PubsubMetricsSettings pubsub_metrics_settings;
46 dynamic_config::ValueDict<USERVER_NAMESPACE::redis::ReplicationMonitoringSettings> replication_monitoring_settings;
47 dynamic_config::ValueDict<USERVER_NAMESPACE::utils::RetryBudgetSettings> retry_budget_settings;
50extern const dynamic_config::Key<Config> kConfig;