use std::time::Duration;
#[derive(Clone, Copy, Debug, Default)]
pub struct Timeouts {
connect: Option<Duration>,
read: Option<Duration>,
}
impl Timeouts {
pub fn connect(&self) -> Duration {
self
.connect
.unwrap_or(Duration::from_secs(super::APP_CONNECT_TIMEOUT))
}
pub fn read(&self) -> Duration {
self.read.unwrap_or(self.connect())
}
pub fn with_connect_secs(mut self, value: u64) -> Self {
self.connect.clone_from(&Some(Duration::from_secs(value)));
self
}
pub fn with_read_secs(mut self, value: u64) -> Self {
self.read.clone_from(&Some(Duration::from_secs(value)));
self
}
}