pub struct RetryMetadata {
pub attempts: u32,
pub total_retry_wait: Duration,
pub last_rate_limit_info: Option<RateLimitInfo>,
}Expand description
Metadata about retry attempts for observability
Fields§
§attempts: u32Number of retry attempts made (0 = succeeded on first try)
total_retry_wait: DurationTotal time spent waiting between retries
last_rate_limit_info: Option<RateLimitInfo>Rate limit info from the last 429 response (if any)
Implementations§
Source§impl RetryMetadata
impl RetryMetadata
Sourcepub fn had_retries(&self) -> bool
pub fn had_retries(&self) -> bool
Check if any retries were made
Sourcepub fn first_attempt_success() -> RetryMetadata
pub fn first_attempt_success() -> RetryMetadata
Create metadata for a successful first attempt
Sourcepub fn record_retry(
&mut self,
wait_duration: Duration,
rate_limit_info: Option<RateLimitInfo>,
)
pub fn record_retry( &mut self, wait_duration: Duration, rate_limit_info: Option<RateLimitInfo>, )
Record a retry attempt
Trait Implementations§
Source§impl Clone for RetryMetadata
impl Clone for RetryMetadata
Source§fn clone(&self) -> RetryMetadata
fn clone(&self) -> RetryMetadata
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 RetryMetadata
impl Debug for RetryMetadata
Source§impl Default for RetryMetadata
impl Default for RetryMetadata
Source§fn default() -> RetryMetadata
fn default() -> RetryMetadata
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for RetryMetadata
impl RefUnwindSafe for RetryMetadata
impl Send for RetryMetadata
impl Sync for RetryMetadata
impl Unpin for RetryMetadata
impl UnsafeUnpin for RetryMetadata
impl UnwindSafe for RetryMetadata
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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>
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