Struct fastly::erl::ERL

source ·
pub struct ERL { /* private fields */ }
Expand description

An edge rate limiter which includes a ratecounter and a penaltybox.

Implementations§

source§

impl ERL

source

pub fn open(ratecounter: RateCounter, penaltybox: Penaltybox) -> Self

Open a ERL with the given ratecounter and penaltybox.

source

pub fn check_rate( &self, entry: &str, delta: u32, window: RateWindow, limit: u32, ttl: Duration ) -> Result<bool, ERLError>

Increment an entry in a rate counter and check if the client has exceeded some average number of requests per second (RPS) over the window. If the client is over the rps limit for the window, add to the penaltybox for ttl. Valid ttl span is 1m to 1h and TTL value is truncated to the nearest minute.

Auto Trait Implementations§

§

impl RefUnwindSafe for ERL

§

impl Send for ERL

§

impl Sync for ERL

§

impl Unpin for ERL

§

impl UnwindSafe for ERL

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> Same for T

§

type Output = T

Should always be Self
source§

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

§

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>,

§

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.