CommonLibrary/Transport/
Retry.rs1#![allow(non_snake_case, non_camel_case_types, non_upper_case_globals)]
2use std::time::Duration;
7
8#[derive(Debug, Clone)]
10pub struct RetryConfiguration {
11 pub MaximumAttempts:u32,
13 pub BaseDelay:Duration,
15 pub MaximumDelay:Duration,
17 pub JitterEnabled:bool,
19}
20
21impl Default for RetryConfiguration {
22 fn default() -> Self {
23 Self {
24 MaximumAttempts:3,
25 BaseDelay:Duration::from_millis(100),
26 MaximumDelay:Duration::from_secs(10),
27 JitterEnabled:true,
28 }
29 }
30}
31
32#[derive(Debug, Clone, Copy, PartialEq, Eq)]
34pub enum RetryStrategy {
35 None,
37 Fixed,
39 Exponential,
41 ExponentialJitter,
43}