pub struct IPv6DHTIdentityManager {
pub config: IPv6DHTConfig,
pub ip_enforcer: IPDiversityEnforcer,
/* private fields */
}
Expand description
IPv6-based DHT identity manager
Fields§
§config: IPv6DHTConfig
Configuration
ip_enforcer: IPDiversityEnforcer
IP diversity enforcer
Implementations§
Source§impl IPv6DHTIdentityManager
impl IPv6DHTIdentityManager
Sourcepub fn new(config: IPv6DHTConfig) -> Self
pub fn new(config: IPv6DHTConfig) -> Self
Create a new IPv6 DHT identity manager
Sourcepub fn set_local_identity(&mut self, identity: IPv6NodeID) -> Result<()>
pub fn set_local_identity(&mut self, identity: IPv6NodeID) -> Result<()>
Set the local IPv6 identity
Sourcepub fn generate_dht_key(ipv6_identity: &IPv6NodeID) -> Key
pub fn generate_dht_key(ipv6_identity: &IPv6NodeID) -> Key
Generate DHT key from IPv6 node identity
Sourcepub async fn enhance_dht_node(
&mut self,
node: DHTNode,
ipv6_identity: IPv6NodeID,
) -> Result<IPv6DHTNode>
pub async fn enhance_dht_node( &mut self, node: DHTNode, ipv6_identity: IPv6NodeID, ) -> Result<IPv6DHTNode>
Convert a regular DHT node to IPv6-enhanced node
Sourcepub async fn verify_ipv6_identity(
&mut self,
identity: &IPv6NodeID,
) -> Result<IPv6VerificationResult>
pub async fn verify_ipv6_identity( &mut self, identity: &IPv6NodeID, ) -> Result<IPv6VerificationResult>
Verify IPv6 node identity
Sourcepub async fn validate_node_join(
&mut self,
node: &DHTNode,
ipv6_identity: &IPv6NodeID,
) -> Result<IPv6SecurityEvent>
pub async fn validate_node_join( &mut self, node: &DHTNode, ipv6_identity: &IPv6NodeID, ) -> Result<IPv6SecurityEvent>
Validate node join with IPv6 security checks
Sourcepub fn get_verified_node(&self, peer_id: &PeerId) -> Option<&IPv6DHTNode>
pub fn get_verified_node(&self, peer_id: &PeerId) -> Option<&IPv6DHTNode>
Get verified IPv6 node by peer ID
Sourcepub fn remove_node(&mut self, peer_id: &PeerId)
pub fn remove_node(&mut self, peer_id: &PeerId)
Remove node from IPv6 tracking
Sourcepub fn is_node_banned(&self, peer_id: &PeerId) -> bool
pub fn is_node_banned(&self, peer_id: &PeerId) -> bool
Check if node is banned
Sourcepub fn get_ipv6_diversity_stats(&self) -> DiversityStats
pub fn get_ipv6_diversity_stats(&self) -> DiversityStats
Get IPv6 diversity statistics
Sourcepub fn cleanup_expired(&mut self)
pub fn cleanup_expired(&mut self)
Cleanup expired entries
Sourcepub fn get_local_identity(&self) -> Option<&IPv6NodeID>
pub fn get_local_identity(&self) -> Option<&IPv6NodeID>
Get local IPv6 identity
Sourcepub fn update_ipv6_reputation(
&mut self,
peer_id: &PeerId,
positive_behavior: bool,
)
pub fn update_ipv6_reputation( &mut self, peer_id: &PeerId, positive_behavior: bool, )
Update node reputation based on IPv6 behavior
Trait Implementations§
Auto Trait Implementations§
impl Freeze for IPv6DHTIdentityManager
impl RefUnwindSafe for IPv6DHTIdentityManager
impl Send for IPv6DHTIdentityManager
impl Sync for IPv6DHTIdentityManager
impl Unpin for IPv6DHTIdentityManager
impl UnwindSafe for IPv6DHTIdentityManager
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