pub struct IPDiversityEnforcer { /* private fields */ }
Expand description
IP diversity enforcement system
Implementations§
Source§impl IPDiversityEnforcer
impl IPDiversityEnforcer
Sourcepub fn new(config: IPDiversityConfig) -> Self
pub fn new(config: IPDiversityConfig) -> Self
Create a new IP diversity enforcer
Sourcepub fn analyze_ip(&self, ipv6_addr: Ipv6Addr) -> Result<IPAnalysis>
pub fn analyze_ip(&self, ipv6_addr: Ipv6Addr) -> Result<IPAnalysis>
Analyze an IPv6 address for diversity enforcement
Sourcepub fn can_accept_node(&self, ip_analysis: &IPAnalysis) -> bool
pub fn can_accept_node(&self, ip_analysis: &IPAnalysis) -> bool
Check if a new node can be accepted based on IP diversity constraints
Sourcepub fn add_node(&mut self, ip_analysis: &IPAnalysis) -> Result<()>
pub fn add_node(&mut self, ip_analysis: &IPAnalysis) -> Result<()>
Add a node to the diversity tracking
Sourcepub fn remove_node(&mut self, ip_analysis: &IPAnalysis)
pub fn remove_node(&mut self, ip_analysis: &IPAnalysis)
Remove a node from diversity tracking
Sourcepub fn extract_subnet_prefix(addr: Ipv6Addr, prefix_len: u8) -> Ipv6Addr
pub fn extract_subnet_prefix(addr: Ipv6Addr, prefix_len: u8) -> Ipv6Addr
Extract network prefix of specified length from IPv6 address
Sourcepub fn get_diversity_stats(&self) -> DiversityStats
pub fn get_diversity_stats(&self) -> DiversityStats
Get diversity statistics
Trait Implementations§
Auto Trait Implementations§
impl Freeze for IPDiversityEnforcer
impl RefUnwindSafe for IPDiversityEnforcer
impl Send for IPDiversityEnforcer
impl Sync for IPDiversityEnforcer
impl Unpin for IPDiversityEnforcer
impl UnwindSafe for IPDiversityEnforcer
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