pub struct JoinRateLimiterConfig {
pub max_joins_per_64_per_hour: u32,
pub max_joins_per_48_per_hour: u32,
pub max_joins_per_24_per_hour: u32,
pub max_global_joins_per_minute: u32,
pub global_burst_size: u32,
}Expand description
Configuration for join rate limiting
Fields§
§max_joins_per_64_per_hour: u32Maximum joins per /64 subnet per hour (default: 1) This is the strictest limit to prevent Sybil attacks
max_joins_per_48_per_hour: u32Maximum joins per /48 subnet per hour (default: 5)
max_joins_per_24_per_hour: u32Maximum joins per /24 subnet per hour for IPv4 (default: 3)
max_global_joins_per_minute: u32Maximum global joins per minute (default: 100) This protects against network-wide flooding
global_burst_size: u32Burst allowance for global limit (default: 10)
Trait Implementations§
Source§impl Clone for JoinRateLimiterConfig
impl Clone for JoinRateLimiterConfig
Source§fn clone(&self) -> JoinRateLimiterConfig
fn clone(&self) -> JoinRateLimiterConfig
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 JoinRateLimiterConfig
impl Debug for JoinRateLimiterConfig
Auto Trait Implementations§
impl Freeze for JoinRateLimiterConfig
impl RefUnwindSafe for JoinRateLimiterConfig
impl Send for JoinRateLimiterConfig
impl Sync for JoinRateLimiterConfig
impl Unpin for JoinRateLimiterConfig
impl UnsafeUnpin for JoinRateLimiterConfig
impl UnwindSafe for JoinRateLimiterConfig
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> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.