pub struct DiscoveredAgent {
pub agent_id: AgentId,
pub machine_id: MachineId,
pub user_id: Option<UserId>,
pub addresses: Vec<SocketAddr>,
pub announced_at: u64,
pub last_seen: u64,
pub nat_type: Option<String>,
pub can_receive_direct: Option<bool>,
pub is_relay: Option<bool>,
pub is_coordinator: Option<bool>,
/* private fields */
}Expand description
Cached discovery data derived from identity announcements.
Fields§
§agent_id: AgentIdPortable agent identity.
machine_id: MachineIdMachine identity.
user_id: Option<UserId>Optional human identity (when consented and attested).
addresses: Vec<SocketAddr>Reachability hints.
announced_at: u64Announcement timestamp from the sender.
last_seen: u64Local timestamp (seconds) when this record was last updated.
nat_type: Option<String>NAT type reported by this agent (e.g. “FullCone”, “Symmetric”, “Unknown”).
None if the agent did not include NAT information.
can_receive_direct: Option<bool>Whether this agent’s machine can receive direct inbound connections.
None if not reported.
is_relay: Option<bool>Whether this agent’s machine is acting as a relay for peers behind strict NATs.
None if not reported.
is_coordinator: Option<bool>Whether this agent’s machine is coordinating NAT traversal timing for peers.
None if not reported.
Trait Implementations§
Source§impl Clone for DiscoveredAgent
impl Clone for DiscoveredAgent
Source§fn clone(&self) -> DiscoveredAgent
fn clone(&self) -> DiscoveredAgent
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 moreAuto Trait Implementations§
impl Freeze for DiscoveredAgent
impl RefUnwindSafe for DiscoveredAgent
impl Send for DiscoveredAgent
impl Sync for DiscoveredAgent
impl Unpin for DiscoveredAgent
impl UnsafeUnpin for DiscoveredAgent
impl UnwindSafe for DiscoveredAgent
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> 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