pub struct FloodConfig {
pub global_rps: u64,
pub per_peer_rps: u64,
pub dedup_window_ms: u64,
pub dedup_capacity: usize,
pub ban_threshold: u32,
pub ban_duration_ms: u64,
pub burst_multiplier: f64,
}Expand description
Configuration for FloodProtection.
Fields§
§global_rps: u64Global maximum requests per second (token bucket).
per_peer_rps: u64Per-peer maximum requests per second (token bucket).
dedup_window_ms: u64Sliding window for message deduplication, in milliseconds.
dedup_capacity: usizeMaximum number of entries in the deduplication cache.
ban_threshold: u32Number of violations before a peer is banned.
ban_duration_ms: u64How long a ban lasts, in milliseconds.
burst_multiplier: f64Token-bucket burst capacity = rps * burst_multiplier.
Trait Implementations§
Source§impl Clone for FloodConfig
impl Clone for FloodConfig
Source§fn clone(&self) -> FloodConfig
fn clone(&self) -> FloodConfig
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 FloodConfig
impl Debug for FloodConfig
Auto Trait Implementations§
impl Freeze for FloodConfig
impl RefUnwindSafe for FloodConfig
impl Send for FloodConfig
impl Sync for FloodConfig
impl Unpin for FloodConfig
impl UnsafeUnpin for FloodConfig
impl UnwindSafe for FloodConfig
Blanket Implementations§
impl<T> Allocation for T
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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