pub struct TokenBucket;Expand description
Token Bucket rate limiting algorithm.
Allows controlled bursts while enforcing an average rate limit. Tokens are refilled at a constant rate up to maximum capacity.
Implementations§
Source§impl TokenBucket
impl TokenBucket
Trait Implementations§
Source§impl Algorithm for TokenBucket
impl Algorithm for TokenBucket
Source§async fn check_and_record<S: Storage>(
&self,
storage: &S,
key: &str,
quota: &Quota,
) -> Result<Decision>
async fn check_and_record<S: Storage>( &self, storage: &S, key: &str, quota: &Quota, ) -> Result<Decision>
Check if a request is allowed AND record it atomically. Read more
Source§impl Clone for TokenBucket
impl Clone for TokenBucket
Source§fn clone(&self) -> TokenBucket
fn clone(&self) -> TokenBucket
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 TokenBucket
impl Debug for TokenBucket
Source§impl Default for TokenBucket
impl Default for TokenBucket
Source§fn default() -> TokenBucket
fn default() -> TokenBucket
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for TokenBucket
impl RefUnwindSafe for TokenBucket
impl Send for TokenBucket
impl Sync for TokenBucket
impl Unpin for TokenBucket
impl UnwindSafe for TokenBucket
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