Struct RateLimitLayer

pub struct RateLimitLayer { /* private fields */ }

Enforces a rate limit on the number of requests the underlying service can handle over a period of time.

Implementations

impl RateLimitLayer

const fn new(num: u64, per: Duration) -> Self

Create new rate limit layer.

Trait Implementations

impl Clone for RateLimitLayer

fn clone(&self) -> RateLimitLayer

impl Debug for RateLimitLayer

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

impl<S> Layer<S> for RateLimitLayer

type Service = RateLimit<S>;
fn layer(&self, service: S) -> Self::Service

Auto Trait Implementations

impl Freeze for RateLimitLayer

impl RefUnwindSafe for RateLimitLayer

impl Send for RateLimitLayer

impl Sync for RateLimitLayer

impl Unpin for RateLimitLayer

impl UnsafeUnpin for RateLimitLayer

impl UnwindSafe for RateLimitLayer

Blanket Implementations

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

fn type_id(&self) -> TypeId

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

fn borrow(&self) -> &T

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

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

impl<T> CloneToUninit for RateLimitLayer where T: Clone,

unsafe fn clone_to_uninit(&self, dest: *mut u8)

impl<T> From<T> for RateLimitLayer

fn from(t: T) -> T

Returns the argument unchanged.

impl<T> Instrument for RateLimitLayer

impl<T> ToOwned for RateLimitLayer where T: Clone,

type Owned = T;
fn to_owned(&self) -> T
fn clone_into(&self, target: &mut T)

impl<T> WithSubscriber for RateLimitLayer

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

fn into(self) -> U

Calls U::from(self).

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

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

type Error = never;
fn try_from(value: U) -> Result<T, never>

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

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