pub struct SubscriptionRetryPolicy {
pub max_retries: u32,
pub base_delay_ms: u64,
pub max_delay_ms: u64,
pub backoff_multiplier: f64,
}Expand description
Configuration for subscription query retry behavior
When a subscription query fails during re-execution, it may be automatically retried with exponential backoff if the error is classified as transient.
Fields§
§max_retries: u32Maximum number of retry attempts after initial failure
Default: 3 Once retries are exhausted, the subscription enters a failed state and the error is sent to the client.
base_delay_ms: u64Base delay for the first retry in milliseconds
Default: 1000 (1 second) Used as the starting point for exponential backoff calculation.
max_delay_ms: u64Maximum delay between retries in milliseconds
Default: 30000 (30 seconds) Exponential backoff is capped at this duration to prevent excessive delays.
backoff_multiplier: f64Multiplier for exponential backoff
Default: 2.0 Delay for retry N = base_delay * (multiplier ^ N), capped at max_delay
Trait Implementations§
Source§impl Clone for SubscriptionRetryPolicy
impl Clone for SubscriptionRetryPolicy
Source§fn clone(&self) -> SubscriptionRetryPolicy
fn clone(&self) -> SubscriptionRetryPolicy
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for SubscriptionRetryPolicy
impl Debug for SubscriptionRetryPolicy
Source§impl Default for SubscriptionRetryPolicy
impl Default for SubscriptionRetryPolicy
Source§impl PartialEq for SubscriptionRetryPolicy
impl PartialEq for SubscriptionRetryPolicy
Source§fn eq(&self, other: &SubscriptionRetryPolicy) -> bool
fn eq(&self, other: &SubscriptionRetryPolicy) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for SubscriptionRetryPolicy
Auto Trait Implementations§
impl Freeze for SubscriptionRetryPolicy
impl RefUnwindSafe for SubscriptionRetryPolicy
impl Send for SubscriptionRetryPolicy
impl Sync for SubscriptionRetryPolicy
impl Unpin for SubscriptionRetryPolicy
impl UnsafeUnpin for SubscriptionRetryPolicy
impl UnwindSafe for SubscriptionRetryPolicy
Blanket Implementations§
impl<T> Allocation for T
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request