use std::time::Duration;
#[derive(Debug, Clone, Copy)]
pub struct ConnectivityConfig {
pub min_connectivity: usize,
pub connection_pool_refresh_interval: Duration,
pub is_connection_reaping_enabled: bool,
pub reaper_min_connection_threshold: usize,
pub reaper_min_inactive_age: Duration,
pub max_failures_mark_offline: usize,
pub connection_tie_break_linger: Duration,
pub expire_peer_last_seen_duration: Duration,
pub maintain_n_closest_connections_only: Option<usize>,
pub target_connection_count: usize,
pub proactive_dialing_enabled: bool,
pub dialing_multiplier: f32,
pub success_rate_tracking_window: Duration,
pub circuit_breaker_failure_threshold: usize,
pub circuit_breaker_retry_interval: Duration,
}
impl Default for ConnectivityConfig {
fn default() -> Self {
Self {
min_connectivity: 1,
connection_pool_refresh_interval: Duration::from_secs(60),
reaper_min_inactive_age: Duration::from_secs(20 * 60),
reaper_min_connection_threshold: 50,
is_connection_reaping_enabled: true,
max_failures_mark_offline: 1,
connection_tie_break_linger: Duration::from_secs(2),
expire_peer_last_seen_duration: Duration::from_secs(24 * 60 * 60),
maintain_n_closest_connections_only: None,
target_connection_count: 8,
proactive_dialing_enabled: true,
dialing_multiplier: 2.5,
success_rate_tracking_window: Duration::from_secs(5 * 60),
circuit_breaker_failure_threshold: 3,
circuit_breaker_retry_interval: Duration::from_secs(2 * 60),
}
}
}