#![allow(missing_docs)] use std::time::Duration;
#[derive(Debug, Clone, PartialEq, property::Property, serde::Serialize)]
#[property(get(public), set(private), mut(disable))]
#[allow(missing_copy_implementations)]
#[non_exhaustive]
pub struct ExecutionSettings {
pub timeout: Option<Duration>,
}
impl ExecutionSettings {
#[must_use]
pub const fn new(timeout: Option<Duration>) -> Self {
Self { timeout }
}
#[must_use]
pub const fn from_timeout_millis(millis: u64) -> Self {
Self {
timeout: Some(Duration::from_millis(millis)),
}
}
#[must_use]
pub fn timeout_millis(&self) -> Option<u64> {
self.timeout.map(|d| d.as_millis() as _)
}
}