pub struct RetryConfig {
pub max_attempts: u32,
pub backoff_strategy: String,
pub initial_delay_ms: u32,
pub max_delay_ms: u32,
}Expand description
Retry configuration for observer actions.
Controls how failed actions are retried with configurable backoff strategies.
§Example
use fraiseql_core::schema::RetryConfig;
let retry = RetryConfig {
max_attempts: 5,
backoff_strategy: "exponential".to_string(),
initial_delay_ms: 1000,
max_delay_ms: 60000,
};Fields§
§max_attempts: u32Maximum number of retry attempts.
backoff_strategy: StringBackoff strategy: exponential, linear, or fixed.
initial_delay_ms: u32Initial delay in milliseconds.
max_delay_ms: u32Maximum delay in milliseconds (cap for exponential backoff).
Implementations§
Source§impl RetryConfig
impl RetryConfig
Sourcepub fn new(
max_attempts: u32,
backoff_strategy: impl Into<String>,
initial_delay_ms: u32,
max_delay_ms: u32,
) -> Self
pub fn new( max_attempts: u32, backoff_strategy: impl Into<String>, initial_delay_ms: u32, max_delay_ms: u32, ) -> Self
Create a new retry configuration.
Sourcepub fn exponential(
max_attempts: u32,
initial_delay_ms: u32,
max_delay_ms: u32,
) -> Self
pub fn exponential( max_attempts: u32, initial_delay_ms: u32, max_delay_ms: u32, ) -> Self
Create exponential backoff configuration.
Sourcepub fn linear(
max_attempts: u32,
initial_delay_ms: u32,
max_delay_ms: u32,
) -> Self
pub fn linear( max_attempts: u32, initial_delay_ms: u32, max_delay_ms: u32, ) -> Self
Create linear backoff configuration.
Sourcepub fn is_exponential(&self) -> bool
pub fn is_exponential(&self) -> bool
Check if backoff strategy is exponential.
Trait Implementations§
Source§impl Clone for RetryConfig
impl Clone for RetryConfig
Source§fn clone(&self) -> RetryConfig
fn clone(&self) -> RetryConfig
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for RetryConfig
impl Debug for RetryConfig
Source§impl Default for RetryConfig
impl Default for RetryConfig
Source§impl<'de> Deserialize<'de> for RetryConfig
impl<'de> Deserialize<'de> for RetryConfig
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for RetryConfig
impl PartialEq for RetryConfig
Source§impl Serialize for RetryConfig
impl Serialize for RetryConfig
impl Eq for RetryConfig
impl StructuralPartialEq for RetryConfig
Auto Trait Implementations§
impl Freeze for RetryConfig
impl RefUnwindSafe for RetryConfig
impl Send for RetryConfig
impl Sync for RetryConfig
impl Unpin for RetryConfig
impl UnsafeUnpin for RetryConfig
impl UnwindSafe for RetryConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.