pub struct TokenBucketRateLimiter { /* private fields */ }Implementations§
Source§impl TokenBucketRateLimiter
impl TokenBucketRateLimiter
pub fn new(capacity: u64, refill_per_second: f64) -> Self
Sourcepub fn with_max_keys(self, max_keys: usize) -> Self
pub fn with_max_keys(self, max_keys: usize) -> Self
Configures the maximum number of keys (added in v0.2.1, fixes Critical S-3 OOM DoS)
pub fn capacity(&self) -> u64
pub fn refill_rate(&self) -> f64
pub fn max_keys(&self) -> usize
pub fn key_count(&self) -> usize
Trait Implementations§
Source§impl RateLimiter for TokenBucketRateLimiter
impl RateLimiter for TokenBucketRateLimiter
fn acquire(&self, key: &str) -> Result<RateLimitResult, RateLimitError>
fn try_acquire(&self, key: &str) -> Result<RateLimitResult, RateLimitError>
fn reset(&self, key: &str) -> Result<(), RateLimitError>
Auto Trait Implementations§
impl Freeze for TokenBucketRateLimiter
impl RefUnwindSafe for TokenBucketRateLimiter
impl Send for TokenBucketRateLimiter
impl Sync for TokenBucketRateLimiter
impl Unpin for TokenBucketRateLimiter
impl UnsafeUnpin for TokenBucketRateLimiter
impl UnwindSafe for TokenBucketRateLimiter
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