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>,
pub reachable_via: Vec<MachineId>,
pub relay_candidates: Vec<MachineId>,
/* 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 advertises relay service capability.
None if not reported.
is_coordinator: Option<bool>Whether this agent’s machine advertises coordinator capability.
None if not reported.
reachable_via: Vec<MachineId>Coordinator machines through which this agent advertises itself as reachable when behind NAT that blocks direct inbound connections.
relay_candidates: Vec<MachineId>Relay machines this agent proposes as fallback paths.
Trait Implementations§
Source§impl Clone for DiscoveredAgent
impl Clone for DiscoveredAgent
Source§fn clone(&self) -> DiscoveredAgent
fn clone(&self) -> DiscoveredAgent
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
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
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>
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>
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