pub struct RateLimitGuard { /* private fields */ }Expand description
Rate limiting middleware for tracking client IPs
Implementations§
Source§impl RateLimitGuard
impl RateLimitGuard
Sourcepub fn new(
rate_limiter: Arc<WebSocketRateLimiter>,
client_ip: IpAddr,
) -> Result<Self, RateLimitError>
pub fn new( rate_limiter: Arc<WebSocketRateLimiter>, client_ip: IpAddr, ) -> Result<Self, RateLimitError>
Create new guard for a client connection
Sourcepub fn check_message(&self, frame_size: usize) -> Result<(), RateLimitError>
pub fn check_message(&self, frame_size: usize) -> Result<(), RateLimitError>
Check if message is allowed
Trait Implementations§
Source§impl Clone for RateLimitGuard
impl Clone for RateLimitGuard
Source§fn clone(&self) -> RateLimitGuard
fn clone(&self) -> RateLimitGuard
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for RateLimitGuard
impl Debug for RateLimitGuard
Auto Trait Implementations§
impl Freeze for RateLimitGuard
impl !RefUnwindSafe for RateLimitGuard
impl Send for RateLimitGuard
impl Sync for RateLimitGuard
impl Unpin for RateLimitGuard
impl !UnwindSafe for RateLimitGuard
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<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 more