pub enum RateLimitFailure {
FailOpen,
FailClosed,
}Expand description
What a limiter transport error means for the request (issue #133). Every call site picks one deliberately; it used to be an implicit “allow” buried in each module’s copy of the limiter loop.
Variants§
FailOpen
Allow the request with a warning: availability first. Sound only
where durable backstops sit behind the limiter — a captcha gate
and a DB-enforced SendCooldown,
as on the waitlist and email-signup joins.
FailClosed
Deny the request. Correct when the limiter is the only thing between the route and an enumeration or brute-force budget.
Trait Implementations§
Source§impl Clone for RateLimitFailure
impl Clone for RateLimitFailure
Source§fn clone(&self) -> RateLimitFailure
fn clone(&self) -> RateLimitFailure
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for RateLimitFailure
Source§impl Debug for RateLimitFailure
impl Debug for RateLimitFailure
impl Eq for RateLimitFailure
Source§impl PartialEq for RateLimitFailure
impl PartialEq for RateLimitFailure
impl StructuralPartialEq for RateLimitFailure
Auto Trait Implementations§
impl Freeze for RateLimitFailure
impl RefUnwindSafe for RateLimitFailure
impl Send for RateLimitFailure
impl Sync for RateLimitFailure
impl Unpin for RateLimitFailure
impl UnsafeUnpin for RateLimitFailure
impl UnwindSafe for RateLimitFailure
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.