pub struct SlidingWindow { /* private fields */ }Expand description
Sliding window rate limiter
Implementations§
Source§impl SlidingWindow
impl SlidingWindow
Sourcepub fn try_acquire(&mut self) -> bool
pub fn try_acquire(&mut self) -> bool
Try to acquire a slot, returns true if successful
Sourcepub fn time_until_available(&self) -> Option<Duration>
pub fn time_until_available(&self) -> Option<Duration>
Get time until next slot is available
Sourcepub fn current_count(&self) -> u32
pub fn current_count(&self) -> u32
Get current request count in window
Trait Implementations§
Auto Trait Implementations§
impl Freeze for SlidingWindow
impl RefUnwindSafe for SlidingWindow
impl Send for SlidingWindow
impl Sync for SlidingWindow
impl Unpin for SlidingWindow
impl UnsafeUnpin for SlidingWindow
impl UnwindSafe for SlidingWindow
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