use serde::{Deserialize, Serialize};
use time::Duration;
#[derive(Debug, Default, Clone, Copy, Serialize, Deserialize)]
pub enum TimeoutPolicy {
#[default]
Never,
FromTarget {
timeout: Duration,
},
}
impl TimeoutPolicy {
#[must_use]
pub fn from_target(timeout: Duration) -> Self {
Self::FromTarget { timeout }
}
}
impl From<Duration> for TimeoutPolicy {
fn from(timeout: Duration) -> Self {
Self::FromTarget { timeout }
}
}