use std::time::Duration;
use super::ReconnectStrategy;
const DEFAULT_SILENCE_DURATION: Duration = Duration::from_secs(20);
const MAXIMUM_SILENCE_DURATION: Duration = Duration::from_millis(68719476734);
#[derive(Clone, Debug)]
pub struct ClientConfig {
pub reconnect_strategy: ReconnectStrategy,
pub shutdown_on_drop: bool,
pub silence_duration: Duration,
}
impl ClientConfig {
pub fn with_maximum_silence_duration(self) -> Self {
Self {
reconnect_strategy: self.reconnect_strategy,
shutdown_on_drop: self.shutdown_on_drop,
silence_duration: MAXIMUM_SILENCE_DURATION,
}
}
}
impl Default for ClientConfig {
fn default() -> Self {
Self {
reconnect_strategy: ReconnectStrategy::Fail,
shutdown_on_drop: false,
silence_duration: DEFAULT_SILENCE_DURATION,
}
}
}