pub struct Config { /* private fields */ }
Expand description
Config for rate limiting.
This object contains the configuration for the rate limits but does not actually hold any rate limiting state. It is often constructed once globally and used for many rate limits however it can also be constructed dynamically if desired.
Implementations
sourceimpl Config
impl Config
sourcepub const fn new(rate: Duration, burst: u32) -> Self
pub const fn new(rate: Duration, burst: u32) -> Self
Create a new config.
rate: The amount of time that must elapse between each unit of request on average. burst: The maximum units that can be used instantaneously.
In other words this is configuring a token bucket where rate
is the fill rate and burst
is the maximum capacity.
The tokens are always replenished one-at-a-time. For example “10 tokens even 1min” isn’t supported. Instead you would configure “1 token every 6 seconds” which is the same average rate but granted evenly throughout the minute.
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for Config
impl Send for Config
impl Sync for Config
impl Unpin for Config
impl UnwindSafe for Config
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more