Struct ratelimit::Builder

source ·
pub struct Builder { /* private fields */ }

Implementations§

source§

impl Builder

source

pub fn max_tokens(self, tokens: u64) -> Self

Set the max tokens that can be held in the the Ratelimiter at any time. This limits the size of any bursts by placing an upper bound on the number of tokens available for immediate use.

By default, the max_tokens will be set to one unless the refill amount requires a higher value.

The selected value cannot be lower than the refill amount.

source

pub fn initial_available(self, tokens: u64) -> Self

Set the number of tokens that are initially available. For admission control scenarios, you may wish for there to be some tokens initially available to avoid delays or discards until the ratelimit is hit. When using it to enforce a ratelimit on your own process, for example when generating outbound requests, you may want there to be zero tokens availble initially to make your application more well-behaved in event of process restarts.

The default is that no tokens are initially available.

source

pub fn build(self) -> Result<Ratelimiter, Error>

Consumes this Builder and attempts to construct a Ratelimiter.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.