pub struct NodeInfo {
pub peer_id: String,
pub user_fingerprint: String,
pub user_alias: Option<String>,
pub service_type: ServiceType,
pub service_id: String,
pub network_id: String,
pub listen_addrs: Vec<String>,
pub announced_at: u64,
pub metadata: HashMap<String, Value>,
}Expand description
Gossipped information about a single node (one peer = one service instance).
Multiple nodes can belong to the same user (same user_fingerprint).
Fields§
§peer_id: Stringlibp2p PeerId (base58 string).
user_fingerprint: StringSHA-256(pubkey)[0..8] hex — ties multiple nodes to one user.
user_alias: Option<String>Optional alias chosen at login.
service_type: ServiceType§service_id: StringUUID of the local service instance.
network_id: StringNetwork this node belongs to.
listen_addrs: Vec<String>Multiaddrs the node is listening on.
announced_at: u64Unix timestamp (seconds) when this announcement was created.
metadata: HashMap<String, Value>Extensible key-value metadata (storage size, capabilities, …).
Implementations§
Trait Implementations§
Source§impl<'de> Deserialize<'de> for NodeInfo
impl<'de> Deserialize<'de> for NodeInfo
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 NodeInfo
impl RefUnwindSafe for NodeInfo
impl Send for NodeInfo
impl Sync for NodeInfo
impl Unpin for NodeInfo
impl UnwindSafe for NodeInfo
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,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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