NegativeMultiDecision

Enum NegativeMultiDecision 

Source
pub enum NegativeMultiDecision<E: Display> {
    BatchNonConforming(u32, E),
    InsufficientCapacity(u32),
}
Expand description

Gives additional information about the negative outcome of a batch cell decision.

Since batch queries can be made for batch sizes bigger than the rate limiter parameter could accomodate, there are now two possible negative outcomes:

  • BatchNonConforming - the query is valid but the Decider can not accomodate them.

  • InsufficientCapacity - the query was invalid as the rate limite parameters can never accomodate the number of cells queried for.

Variants§

§

BatchNonConforming(u32, E)

A batch of cells (the first argument) is non-conforming and can not be let through at this time. The second argument gives information about when that batch of cells might be let through again (not accounting for thundering herds and other, simultaneous decisions).

§

InsufficientCapacity(u32)

The number of cells tested (the first argument) is larger than the bucket’s capacity, which means the decision can never have a conforming result.

Trait Implementations§

Source§

impl<E: Debug + Display> Debug for NegativeMultiDecision<E>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<E> Display for NegativeMultiDecision<E>
where E: Display,

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl<E: PartialEq + Display> PartialEq for NegativeMultiDecision<E>

Source§

fn eq(&self, other: &NegativeMultiDecision<E>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<E: Display> StructuralPartialEq for NegativeMultiDecision<E>

Auto Trait Implementations§

§

impl<E> Freeze for NegativeMultiDecision<E>
where E: Freeze,

§

impl<E> RefUnwindSafe for NegativeMultiDecision<E>
where E: RefUnwindSafe,

§

impl<E> Send for NegativeMultiDecision<E>
where E: Send,

§

impl<E> Sync for NegativeMultiDecision<E>
where E: Sync,

§

impl<E> Unpin for NegativeMultiDecision<E>
where E: Unpin,

§

impl<E> UnwindSafe for NegativeMultiDecision<E>
where E: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.