Skip to main content

LimitProvider

Trait LimitProvider 

Source
pub trait LimitProvider: Clone {
    type Future: Future<Output = Result<u64, RateLimitError>>;

    // Required method
    fn limit<B>(&self, request: &Request<B>) -> Self::Future;
}
Expand description

Resolve a fixed or request-derived quota limit asynchronously.

A super::RateLimitLayer clones its provider into each produced Service.

Required Associated Types§

Source

type Future: Future<Output = Result<u64, RateLimitError>>

The concrete future returned by LimitProvider::limit.

Required Methods§

Source

fn limit<B>(&self, request: &Request<B>) -> Self::Future

Resolve the quota limit for one request.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl LimitProvider for u64

Treat a raw u64 as the fixed provider used by the builder’s .limit(...) method.

Source§

type Future = Ready<Result<u64, RateLimitError>>

Source§

fn limit<B>(&self, _request: &Request<B>) -> Self::Future

Implementors§