pub struct TransactionRule { /* private fields */ }Expand description
Rule that limits the total number of transactions per user
Supports both lifetime limits (never resets) and time-windowed limits (resets periodically).
Implementations§
Source§impl TransactionRule
impl TransactionRule
pub fn new(max: u64, window_seconds: Option<u64>) -> Self
pub fn storage_key(&self, user_id: &str, timestamp: u64) -> String
Sourcepub fn count_increment(&self, _ctx: &mut LimiterContext<'_>) -> u64
pub fn count_increment(&self, _ctx: &mut LimiterContext<'_>) -> u64
How many units to increment for this transaction (always 1)
Sourcepub fn window_seconds(&self) -> Option<u64>
pub fn window_seconds(&self) -> Option<u64>
Time window in seconds
pub fn description(&self) -> String
Trait Implementations§
Auto Trait Implementations§
impl Freeze for TransactionRule
impl RefUnwindSafe for TransactionRule
impl Send for TransactionRule
impl Sync for TransactionRule
impl Unpin for TransactionRule
impl UnsafeUnpin for TransactionRule
impl UnwindSafe for TransactionRule
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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> 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 moreCreates a shared type from an unshared type.