use std::time::Duration;
const DEFAULT_TIMEOUT: Duration = Duration::from_secs(30);
#[derive(Debug, Clone, PartialEq)]
#[cfg_attr(any(feature = "serde", test), derive(serde::Serialize, serde::Deserialize))]
#[non_exhaustive]
pub struct TimeoutConfig {
pub enabled: bool,
#[cfg_attr(
any(feature = "serde", test),
serde(with = "jiff::fmt::serde::unsigned_duration::friendly::compact::required")
)]
pub timeout: Duration,
}
impl Default for TimeoutConfig {
fn default() -> Self {
Self {
enabled: true,
timeout: DEFAULT_TIMEOUT,
}
}
}
#[cfg_attr(coverage_nightly, coverage(off))]
#[cfg(test)]
mod tests {
use super::*;
#[cfg_attr(miri, ignore)]
#[test]
fn default_snapshot() {
let config = TimeoutConfig::default();
insta::assert_json_snapshot!(config);
}
}