distant_net/client/
config.rs1use std::time::Duration;
2
3use super::ReconnectStrategy;
4
5const DEFAULT_SILENCE_DURATION: Duration = Duration::from_secs(20);
6const MAXIMUM_SILENCE_DURATION: Duration = Duration::from_millis(68719476734);
7
8#[derive(Clone, Debug)]
10pub struct ClientConfig {
11 pub reconnect_strategy: ReconnectStrategy,
13
14 pub shutdown_on_drop: bool,
17
18 pub silence_duration: Duration,
21}
22
23impl ClientConfig {
24 pub fn with_maximum_silence_duration(self) -> Self {
25 Self {
26 reconnect_strategy: self.reconnect_strategy,
27 shutdown_on_drop: self.shutdown_on_drop,
28 silence_duration: MAXIMUM_SILENCE_DURATION,
29 }
30 }
31}
32
33impl Default for ClientConfig {
34 fn default() -> Self {
35 Self {
36 reconnect_strategy: ReconnectStrategy::Fail,
37 shutdown_on_drop: false,
38 silence_duration: DEFAULT_SILENCE_DURATION,
39 }
40 }
41}