pub struct TokenBucketRateLimiter { /* private fields */ }Implementations§
Source§impl TokenBucketRateLimiter
impl TokenBucketRateLimiter
pub fn new(capacity: u64, refill_per_second: f64) -> TokenBucketRateLimiter
Sourcepub fn with_max_keys(self, max_keys: usize) -> TokenBucketRateLimiter
pub fn with_max_keys(self, max_keys: usize) -> TokenBucketRateLimiter
配置最大 key 数量(v0.2.1 新增,修复 Critical S-3 OOM DoS)
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more