pub struct PollState {
pub consecutive_errors: u32,
pub total_attempts: u32,
/* private fields */
}Expand description
State tracker for a polling loop.
Fields§
§consecutive_errors: u32Number of consecutive errors
total_attempts: u32Total number of poll attempts
Implementations§
Source§impl PollState
impl PollState
Sourcepub fn new(config: PollConfig) -> Self
pub fn new(config: PollConfig) -> Self
Create a new polling state.
Sourcepub fn record_success(&mut self)
pub fn record_success(&mut self)
Record a successful poll (resets consecutive errors).
Sourcepub fn record_error(&mut self)
pub fn record_error(&mut self)
Record a failed poll.
Sourcepub fn should_give_up(&self) -> bool
pub fn should_give_up(&self) -> bool
Check if we should give up due to too many errors.
Sourcepub fn is_timed_out(&self) -> bool
pub fn is_timed_out(&self) -> bool
Check if we’ve timed out.
Sourcepub fn next_delay(&self) -> Duration
pub fn next_delay(&self) -> Duration
Get the next delay to wait.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for PollState
impl RefUnwindSafe for PollState
impl Send for PollState
impl Sync for PollState
impl Unpin for PollState
impl UnwindSafe for PollState
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 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>
Wrap the input message
T in a tonic::Request