pub struct BlacklistConfig {
pub max_entries: usize,
pub default_expiry_ms: Option<u64>,
pub auto_blacklist_strikes: u32,
pub permanent_after_strikes: u32,
pub strike_window_ms: u64,
}Expand description
Configuration for PeerBlacklist.
Fields§
§max_entries: usizeMaximum number of entries retained. Oldest entries are evicted when exceeded.
default_expiry_ms: Option<u64>Default expiry in milliseconds for blocks that do not specify one.
None means blocks without an explicit expiry are permanent by default.
auto_blacklist_strikes: u32Number of strikes (within strike_window_ms) that trigger an automatic block.
permanent_after_strikes: u32After this many total strikes, the block becomes permanent regardless of expiry.
strike_window_ms: u64Width of the rolling window (in milliseconds) used to count strikes.
Trait Implementations§
Source§impl Clone for BlacklistConfig
impl Clone for BlacklistConfig
Source§fn clone(&self) -> BlacklistConfig
fn clone(&self) -> BlacklistConfig
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 BlacklistConfig
impl Debug for BlacklistConfig
Auto Trait Implementations§
impl Freeze for BlacklistConfig
impl RefUnwindSafe for BlacklistConfig
impl Send for BlacklistConfig
impl Sync for BlacklistConfig
impl Unpin for BlacklistConfig
impl UnsafeUnpin for BlacklistConfig
impl UnwindSafe for BlacklistConfig
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