async_translate/
options.rs1use std::time::Duration;
4
5#[derive(Debug, Clone)]
7pub struct TranslateOptions {
8 pub timeout: Option<Duration>,
10 pub max_retries: u32,
12}
13
14impl Default for TranslateOptions {
15 fn default() -> Self {
16 Self {
17 timeout: Some(Duration::from_secs(30)), max_retries: 3, }
20 }
21}
22
23impl TranslateOptions {
24 pub fn timeout(mut self, timeout: Duration) -> Self {
26 self.timeout = Some(timeout);
27 self
28 }
29
30 pub fn no_timeout(mut self) -> Self {
32 self.timeout = None;
33 self
34 }
35
36 pub fn max_retries(mut self, max_retries: u32) -> Self {
38 self.max_retries = max_retries;
39 self
40 }
41
42 pub fn no_retries(mut self) -> Self {
44 self.max_retries = 0;
45 self
46 }
47}