struct FixedWindow {
count: AtomicU64,
window_start: RwLock<Instant>,
window_size: Duration,
limit: u64,
}Expand description
Fixed window rate limiter state.
Fields§
§count: AtomicU64Request count in current window.
window_start: RwLock<Instant>Window start time.
window_size: DurationWindow size.
limit: u64Maximum requests per window.
Implementations§
Source§impl FixedWindow
impl FixedWindow
fn new(window_size: Duration, limit: u64) -> Self
fn try_acquire(&self) -> RateLimitResult<()>
fn current_count(&self) -> u64
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for FixedWindow
impl !RefUnwindSafe for FixedWindow
impl Send for FixedWindow
impl Sync for FixedWindow
impl Unpin for FixedWindow
impl UnwindSafe for FixedWindow
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
§fn deserialize(
&self,
deserializer: &mut D,
) -> Result<With<T, W>, <D as Fallible>::Error>
fn deserialize( &self, deserializer: &mut D, ) -> Result<With<T, W>, <D as Fallible>::Error>
Deserializes using the given deserializer
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Gets the layout of the type.