pub struct InMemoryTokenBucketStore { /* private fields */ }Expand description
In-memory TokenBucketStore backed by a concurrent hash map.
This is the default store used by TokenBucketRateLimiter.
It holds per-key token state in a DashMap and performs lazy eviction.
Implementations§
Trait Implementations§
Source§impl Clone for InMemoryTokenBucketStore
impl Clone for InMemoryTokenBucketStore
Source§fn clone(&self) -> InMemoryTokenBucketStore
fn clone(&self) -> InMemoryTokenBucketStore
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 InMemoryTokenBucketStore
impl Debug for InMemoryTokenBucketStore
Source§impl Default for InMemoryTokenBucketStore
impl Default for InMemoryTokenBucketStore
Source§impl TokenBucketStore for InMemoryTokenBucketStore
impl TokenBucketStore for InMemoryTokenBucketStore
Source§fn try_consume(&self, params: TokenBucketParams) -> bool
fn try_consume(&self, params: TokenBucketParams) -> bool
Atomically refills and tries to consume one token.
Auto Trait Implementations§
impl Freeze for InMemoryTokenBucketStore
impl !RefUnwindSafe for InMemoryTokenBucketStore
impl Send for InMemoryTokenBucketStore
impl Sync for InMemoryTokenBucketStore
impl Unpin for InMemoryTokenBucketStore
impl UnsafeUnpin for InMemoryTokenBucketStore
impl !UnwindSafe for InMemoryTokenBucketStore
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