use std::time::Duration;
#[derive(Debug, Clone)]
pub struct TranslateOptions {
pub timeout: Option<Duration>,
pub max_retries: u32,
}
impl Default for TranslateOptions {
fn default() -> Self {
Self {
timeout: Some(Duration::from_secs(30)), max_retries: 3, }
}
}
impl TranslateOptions {
pub fn timeout(mut self, timeout: Duration) -> Self {
self.timeout = Some(timeout);
self
}
pub fn no_timeout(mut self) -> Self {
self.timeout = None;
self
}
pub fn max_retries(mut self, max_retries: u32) -> Self {
self.max_retries = max_retries;
self
}
pub fn no_retries(mut self) -> Self {
self.max_retries = 0;
self
}
}