Struct carapax::ratelimit::DirectRateLimitPredicate
source · pub struct DirectRateLimitPredicate<J, M> { /* private fields */ }
Available on crate feature
ratelimit
only.Expand description
A predicate with a direct rate limiter.
Use this predicate when you need to limit all updates.
Implementations§
source§impl DirectRateLimitPredicate<Jitter, MethodWait>
impl DirectRateLimitPredicate<Jitter, MethodWait>
sourcepub fn wait_with_jitter(quota: Quota, jitter: Jitter) -> Self
pub fn wait_with_jitter(quota: Quota, jitter: Jitter) -> Self
Creates a new DirectRateLimitPredicate
with the wait method and jitter.
Predicate will pause update propagation when the rate limit is reached.
§Arguments
quota
- A rate limiting quota.jitter
- An interval specification for deviating from the nominal wait time.
Trait Implementations§
source§impl<J: Clone, M: Clone> Clone for DirectRateLimitPredicate<J, M>
impl<J: Clone, M: Clone> Clone for DirectRateLimitPredicate<J, M>
source§fn clone(&self) -> DirectRateLimitPredicate<J, M>
fn clone(&self) -> DirectRateLimitPredicate<J, M>
Returns a copy 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 moresource§impl Handler<()> for DirectRateLimitPredicate<Jitter, MethodWait>
impl Handler<()> for DirectRateLimitPredicate<Jitter, MethodWait>
source§impl Handler<()> for DirectRateLimitPredicate<NoJitter, MethodDiscard>
impl Handler<()> for DirectRateLimitPredicate<NoJitter, MethodDiscard>
source§impl Handler<()> for DirectRateLimitPredicate<NoJitter, MethodWait>
impl Handler<()> for DirectRateLimitPredicate<NoJitter, MethodWait>
Auto Trait Implementations§
impl<J, M> Freeze for DirectRateLimitPredicate<J, M>
impl<J, M> RefUnwindSafe for DirectRateLimitPredicate<J, M>where
J: RefUnwindSafe,
M: RefUnwindSafe,
impl<J, M> Send for DirectRateLimitPredicate<J, M>
impl<J, M> Sync for DirectRateLimitPredicate<J, M>
impl<J, M> Unpin for DirectRateLimitPredicate<J, M>
impl<J, M> UnwindSafe for DirectRateLimitPredicate<J, M>where
J: UnwindSafe,
M: UnwindSafe,
Blanket Implementations§
source§impl<P, H, HI> AccessExt<P, HI> for Hwhere
H: Handler<HI>,
HI: TryFromInput,
impl<P, H, HI> AccessExt<P, HI> for Hwhere
H: Handler<HI>,
HI: TryFromInput,
source§fn with_access_policy(
self,
policy: P
) -> Predicate<AccessPredicate<P>, HandlerInput, Self, HI>
fn with_access_policy( self, policy: P ) -> Predicate<AccessPredicate<P>, HandlerInput, Self, HI>
Available on crate feature
access
only.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<H, I> CommandExt<I> for Hwhere
H: Handler<I>,
I: TryFromInput,
impl<H, I> CommandExt<I> for Hwhere
H: Handler<I>,
I: TryFromInput,
source§fn with_command<S: Into<String>>(
self,
name: S
) -> Predicate<CommandPredicate, Command, Self, I>
fn with_command<S: Into<String>>( self, name: S ) -> Predicate<CommandPredicate, Command, Self, I>
Shortcut to create a command handler. Read more
source§impl<P, PI, H, HI, HS> DialogueExt<P, PI, HI, HS> for H
impl<P, PI, H, HI, HS> DialogueExt<P, PI, HI, HS> for H
source§fn with_dialogue<B>(
self,
predicate: P
) -> Predicate<DialoguePredicate<B, P, PI, HS>, HandlerInput, DialogueDecorator<B, Self, HI, HS>, HandlerInput>
fn with_dialogue<B>( self, predicate: P ) -> Predicate<DialoguePredicate<B, P, PI, HS>, HandlerInput, DialogueDecorator<B, Self, HI, HS>, HandlerInput>
Available on crate feature
dialogue
only.source§impl<E, H, HI> ErrorExt<E, HI> for Hwhere
H: Handler<HI>,
HI: TryFromInput,
impl<E, H, HI> ErrorExt<E, HI> for Hwhere
H: Handler<HI>,
HI: TryFromInput,
source§fn on_error(self, error_handler: E) -> ErrorDecorator<E, Self, HI>
fn on_error(self, error_handler: E) -> ErrorDecorator<E, Self, HI>
A shortcut to create a new error decorator. Read more
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