Enum RateLimitAlgorithm
pub enum RateLimitAlgorithm {
TokenBucket,
SlidingWindow,
FixedWindow,
LeakyBucket,
}Expand description
Rate limiting algorithm to use.
Variants§
TokenBucket
Token bucket algorithm.
Tokens are added at a fixed rate. Each request consumes one token. Allows bursting up to the bucket capacity.
SlidingWindow
Sliding window algorithm.
Counts requests in a sliding time window. Provides smoother rate limiting than fixed windows.
FixedWindow
Fixed window algorithm.
Counts requests in fixed time windows. Simple but can allow bursting at window boundaries.
LeakyBucket
Leaky bucket algorithm.
Requests are processed at a constant rate. Excess requests are queued or rejected.
Trait Implementations§
§impl Clone for RateLimitAlgorithm
impl Clone for RateLimitAlgorithm
§fn clone(&self) -> RateLimitAlgorithm
fn clone(&self) -> RateLimitAlgorithm
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read more§impl Debug for RateLimitAlgorithm
impl Debug for RateLimitAlgorithm
§impl Default for RateLimitAlgorithm
impl Default for RateLimitAlgorithm
§fn default() -> RateLimitAlgorithm
fn default() -> RateLimitAlgorithm
Returns the “default value” for a type. Read more
§impl PartialEq for RateLimitAlgorithm
impl PartialEq for RateLimitAlgorithm
impl Copy for RateLimitAlgorithm
impl Eq for RateLimitAlgorithm
impl StructuralPartialEq for RateLimitAlgorithm
Auto Trait Implementations§
impl Freeze for RateLimitAlgorithm
impl RefUnwindSafe for RateLimitAlgorithm
impl Send for RateLimitAlgorithm
impl Sync for RateLimitAlgorithm
impl Unpin for RateLimitAlgorithm
impl UnwindSafe for RateLimitAlgorithm
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§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>
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§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.