pub struct RateLimitingConfig {
pub enabled: bool,
pub rps_per_ip: u32,
pub rps_per_user: u32,
pub burst_size: u32,
pub cleanup_interval_secs: u64,
}Expand description
Rate limiting configuration for GraphQL requests.
Fields§
§enabled: boolEnable rate limiting (default: true for security).
rps_per_ip: u32Requests per second per IP address.
rps_per_user: u32Requests per second per authenticated user.
burst_size: u32Burst capacity (maximum accumulated tokens).
cleanup_interval_secs: u64Cleanup interval for stale entries (seconds).
Trait Implementations§
Source§impl Clone for RateLimitingConfig
impl Clone for RateLimitingConfig
Source§fn clone(&self) -> RateLimitingConfig
fn clone(&self) -> RateLimitingConfig
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 RateLimitingConfig
impl Debug for RateLimitingConfig
Source§impl<'de> Deserialize<'de> for RateLimitingConfig
impl<'de> Deserialize<'de> for RateLimitingConfig
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for RateLimitingConfig
impl RefUnwindSafe for RateLimitingConfig
impl Send for RateLimitingConfig
impl Sync for RateLimitingConfig
impl Unpin for RateLimitingConfig
impl UnwindSafe for RateLimitingConfig
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request