pub struct MemoryRateLimitStore { /* private fields */ }Expand description
Token-bucket in-memory rate limiter.
Implementations§
Trait Implementations§
Source§impl Clone for MemoryRateLimitStore
impl Clone for MemoryRateLimitStore
Source§fn clone(&self) -> MemoryRateLimitStore
fn clone(&self) -> MemoryRateLimitStore
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 RateLimitStore for MemoryRateLimitStore
impl RateLimitStore for MemoryRateLimitStore
Source§fn consume<'life0, 'life1, 'async_trait>(
&'life0 self,
key: &'life1 str,
cost: u32,
) -> Pin<Box<dyn Future<Output = Result<RateLimitSnapshot, RateLimitSnapshot>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn consume<'life0, 'life1, 'async_trait>(
&'life0 self,
key: &'life1 str,
cost: u32,
) -> Pin<Box<dyn Future<Output = Result<RateLimitSnapshot, RateLimitSnapshot>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Atomically attempts to take one permit from
key’s bucket. Returns
Ok(snapshot) when the request is allowed, Err(snapshot) when the
caller exceeded the limit. The returned snapshot is what the caller
emits in the RateLimit-* response headers.Auto Trait Implementations§
impl Freeze for MemoryRateLimitStore
impl RefUnwindSafe for MemoryRateLimitStore
impl Send for MemoryRateLimitStore
impl Sync for MemoryRateLimitStore
impl Unpin for MemoryRateLimitStore
impl UnsafeUnpin for MemoryRateLimitStore
impl UnwindSafe for MemoryRateLimitStore
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