pub struct ReconnectionStrategy { /* private fields */ }Expand description
Reconnection strategy with exponential backoff
Implementations§
Source§impl ReconnectionStrategy
impl ReconnectionStrategy
Sourcepub fn new(base_backoff_ms: u64, max_attempts: u32) -> Self
pub fn new(base_backoff_ms: u64, max_attempts: u32) -> Self
Create a new reconnection strategy
§Arguments
base_backoff_ms- Initial backoff duration in millisecondsmax_attempts- Maximum retry attempts (0 = infinite)
Sourcepub fn next_backoff(&mut self) -> Option<Duration>
pub fn next_backoff(&mut self) -> Option<Duration>
Get next backoff duration with exponential increase
Sourcepub fn attempt_number(&self) -> u32
pub fn attempt_number(&self) -> u32
Get current attempt number
Sourcepub fn is_exhausted(&self) -> bool
pub fn is_exhausted(&self) -> bool
Check if attempts exhausted
Auto Trait Implementations§
impl Freeze for ReconnectionStrategy
impl RefUnwindSafe for ReconnectionStrategy
impl Send for ReconnectionStrategy
impl Sync for ReconnectionStrategy
impl Unpin for ReconnectionStrategy
impl UnwindSafe for ReconnectionStrategy
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> 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>
Converts
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>
Converts
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 more