cosmic_space/
settings.rs

1use crate::wave::{Ping, WaitTime};
2
3// measured in seconds
4#[derive(Clone)]
5pub struct Timeouts {
6    pub high: u64,
7    pub med: u64,
8    pub low: u64,
9}
10
11impl Timeouts {
12    pub fn from<W: Into<WaitTime>>(&self, wait: W) -> u64 {
13        match wait.into() {
14            WaitTime::High => self.high,
15            WaitTime::Med => self.med,
16            WaitTime::Low => self.low,
17        }
18    }
19}
20
21impl Default for Timeouts {
22    fn default() -> Self {
23        Self {
24            high: 5 * 60, // 5 minutes
25            med: 1 * 60,  // 1 minute
26            low: 15,      // 15 seconds
27        }
28    }
29}