pub struct PeerInfo {
pub id: PeerId,
pub addresses: Vec<String>,
pub public_key: [u8; 32],
pub verify_key: [u8; 32],
pub last_seen: u64,
pub reputation: f64,
pub location: Option<GeoLocation>,
pub supported_protocols: Vec<String>,
}Expand description
Information about a peer in the network
Fields§
§id: PeerIdUnique identifier for this peer
addresses: Vec<String>Network addresses where this peer can be reached
public_key: [u8; 32]Public key for encryption (X25519)
verify_key: [u8; 32]Signature verification key (Ed25519)
last_seen: u64Last seen timestamp (Unix epoch)
reputation: f64Reputation score (for Sybil resistance)
location: Option<GeoLocation>Geographic location hint (for routing optimization)
supported_protocols: Vec<String>Supported cover protocols
Implementations§
Trait Implementations§
Source§impl<'de> Deserialize<'de> for PeerInfo
impl<'de> Deserialize<'de> for PeerInfo
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for PeerInfo
impl RefUnwindSafe for PeerInfo
impl Send for PeerInfo
impl Sync for PeerInfo
impl Unpin for PeerInfo
impl UnsafeUnpin for PeerInfo
impl UnwindSafe for PeerInfo
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