24 std::string host =
"localhost";
27 bool read_only =
false;
28 ConnectionSecurity connection_security = ConnectionSecurity::kNone;
29 using HostVector = std::vector<std::string>;
30 std::size_t database_index = 0;
32 ConnectionInfo() =
default;
37 bool read_only =
false,
38 ConnectionSecurity security = ConnectionSecurity::kNone,
39 std::size_t db_index = 0
41 : host{std::move(host)},
43 password{std::move(password)},
45 connection_security(security),
46 database_index(db_index)
60 bool buffering_enabled{
false};
61 size_t commands_buffering_threshold{0};
62 std::chrono::microseconds watch_command_timer_interval{0};
65 return buffering_enabled == o.buffering_enabled &&
66 commands_buffering_threshold == o.commands_buffering_threshold &&
67 watch_command_timer_interval == o.watch_command_timer_interval;
72 enum class Level { kCluster, kShard, kInstance };
75 bool timings_enabled{
true};
76 bool command_timings_enabled{
false};
77 bool request_sizes_enabled{
false};
78 bool reply_sizes_enabled{
false};
81 return timings_enabled == rhs.timings_enabled && command_timings_enabled == rhs.command_timings_enabled &&
82 request_sizes_enabled == rhs.request_sizes_enabled && reply_sizes_enabled == rhs.reply_sizes_enabled;
85 constexpr bool operator!=(
const DynamicSettings& rhs)
const {
return !(*
this == rhs); }
89 Level level{Level::kInstance};
91 constexpr bool operator==(
const StaticSettings& rhs)
const {
return level == rhs.level; }
93 constexpr bool operator!=(
const StaticSettings& rhs)
const {
return !(*
this == rhs); }
100 : static_settings(static_settings),
101 dynamic_settings(dynamic_settings)
103 MetricsSettings() =
default;
110 return static_settings == rhs.static_settings && dynamic_settings == rhs.dynamic_settings;
113 constexpr bool operator!=(
const MetricsSettings& rhs)
const {
return !(*
this == rhs); }
115 Level GetMetricsLevel()
const {
return static_settings.level; }
116 bool IsTimingsEnabled()
const {
return dynamic_settings.timings_enabled; }
117 bool IsCommandTimingsEnabled()
const {
return dynamic_settings.command_timings_enabled; }
118 bool IsRequestSizesEnabled()
const {
return dynamic_settings.request_sizes_enabled; }
119 bool IsReplySizesEnabled()
const {
return dynamic_settings.reply_sizes_enabled; }