pub struct TopologyNode {
pub zid: String,
pub whatami: String,
pub version: Option<String>,
pub locators: Vec<String>,
pub locators_via_links: Vec<String>,
pub answered: bool,
}Expand description
One node of the mesh, as the topology join sees it (#118).
Fields§
§zid: String§whatami: Stringrouter | peer | client, as the admin key (or a neighbour’s
session list) spells it.
version: Option<String>§locators: Vec<String>Locators as the node’s own root doc declares them. Since zenoh
1.10.0 the root doc filters loopback endpoints out of this list
(upstream eclipse-zenoh/zenoh#2671, the loopback scouting fix:
get_locators() → get_locators_noloopback()) — deliberate, so a
loopback-only node honestly declares [] here.
locators_via_links: Vec<String>Endpoints corroborated from session links when the root doc
declares no locators: addresses a live link actually used on this
node’s side (#155). Evidence of reachability, not a
listen-endpoint claim — renderers label the provenance (“via
session link”) rather than folding these into locators.
answered: booltrue = this node’s own admin space answered; false = only heard
of via a neighbour’s session list — “heard of, not queryable”,
rendered as such rather than omitted (the issue’s honesty rule).
Trait Implementations§
Source§impl Clone for TopologyNode
impl Clone for TopologyNode
Source§fn clone(&self) -> TopologyNode
fn clone(&self) -> TopologyNode
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for TopologyNode
impl Debug for TopologyNode
Auto Trait Implementations§
impl Freeze for TopologyNode
impl RefUnwindSafe for TopologyNode
impl Send for TopologyNode
impl Sync for TopologyNode
impl Unpin for TopologyNode
impl UnsafeUnpin for TopologyNode
impl UnwindSafe for TopologyNode
Blanket Implementations§
Source§impl<Source> AccessAs for Source
impl<Source> AccessAs for Source
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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