pub struct AdaptiveRateLimiter { /* private fields */ }Expand description
Adaptive rate limiter that adjusts based on provider responses
Implementations§
Source§impl AdaptiveRateLimiter
impl AdaptiveRateLimiter
Sourcepub async fn current_delay(&self) -> Duration
pub async fn current_delay(&self) -> Duration
Get the current delay
Sourcepub async fn record_success(&self, headers: Option<&HashMap<String, String>>)
pub async fn record_success(&self, headers: Option<&HashMap<String, String>>)
Record a successful request with optional rate limit headers
Sourcepub async fn record_rate_limit_hit(&self, retry_after: Option<u64>)
pub async fn record_rate_limit_hit(&self, retry_after: Option<u64>)
Record a rate limit hit (429 response)
Sourcepub async fn record_retry(&self)
pub async fn record_retry(&self)
Record a retry attempt
Sourcepub async fn get_stats(&self) -> RateLimitStats
pub async fn get_stats(&self) -> RateLimitStats
Get current statistics
Sourcepub async fn get_rate_limit_info(&self) -> RateLimitInfo
pub async fn get_rate_limit_info(&self) -> RateLimitInfo
Get current rate limit info
Trait Implementations§
Source§impl Clone for AdaptiveRateLimiter
impl Clone for AdaptiveRateLimiter
Source§fn clone(&self) -> AdaptiveRateLimiter
fn clone(&self) -> AdaptiveRateLimiter
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 AdaptiveRateLimiter
impl Debug for AdaptiveRateLimiter
Auto Trait Implementations§
impl Freeze for AdaptiveRateLimiter
impl !RefUnwindSafe for AdaptiveRateLimiter
impl Send for AdaptiveRateLimiter
impl Sync for AdaptiveRateLimiter
impl Unpin for AdaptiveRateLimiter
impl !UnwindSafe for AdaptiveRateLimiter
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<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::RequestSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ServiceExt for T
impl<T> ServiceExt for T
Source§fn map_response_body<F>(self, f: F) -> MapResponseBody<Self, F>where
Self: Sized,
fn map_response_body<F>(self, f: F) -> MapResponseBody<Self, F>where
Self: Sized,
Apply a transformation to the response body. Read more
Source§fn trace_for_http(self) -> Trace<Self, SharedClassifier<ServerErrorsAsFailures>>where
Self: Sized,
fn trace_for_http(self) -> Trace<Self, SharedClassifier<ServerErrorsAsFailures>>where
Self: Sized,
High level tracing that classifies responses using HTTP status codes. Read more
Source§fn trace_for_grpc(self) -> Trace<Self, SharedClassifier<GrpcErrorsAsFailures>>where
Self: Sized,
fn trace_for_grpc(self) -> Trace<Self, SharedClassifier<GrpcErrorsAsFailures>>where
Self: Sized,
High level tracing that classifies responses using gRPC headers. Read more