pub struct OutputRouting {
pub daemon_only: bool,
pub required_ackers: BTreeSet<RequiredAcker>,
}Expand description
Data-plane routing for one node output — see
NodeConfig::output_routing.
Fields§
§daemon_only: boolThis output must stay on the reliable daemon path for the node’s
lifetime; it gets no direct zenoh publisher. The daemon sets it when
some consumer runs under another daemon (only this node’s daemon can
feed inter-daemon forwarding, dora #2738 — the direct node-to-node
zenoh mesh is same-machine only), when a remote static consumer has no
dialable endpoint or watches input_timeout, or when any consumer
declares queue_policy: backpressure (the direct zenoh ingress can
drop before the per-input policy applies). The full policy lives in
the daemon’s output_routing module.
required_ackers: BTreeSet<RequiredAcker>The static same-daemon consumers whose startup acks the producer must collect before switching this output from the reliable daemon path to the direct node-to-node zenoh path. Dynamic consumers are never required: they join at arbitrary times (or never), and nothing may wait on them.
The producer only collects these during a bounded startup window; an acker that is slow to answer costs this output the fast path for the whole run rather than upgrading it mid-stream (dora-rs/dora#2891).
Trait Implementations§
Source§impl Clone for OutputRouting
impl Clone for OutputRouting
Source§impl Debug for OutputRouting
impl Debug for OutputRouting
Source§impl Default for OutputRouting
impl Default for OutputRouting
Source§impl<'de> Deserialize<'de> for OutputRouting
impl<'de> Deserialize<'de> for OutputRouting
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>,
impl Eq for OutputRouting
Source§impl PartialEq for OutputRouting
impl PartialEq for OutputRouting
Source§impl Serialize for OutputRouting
impl Serialize for OutputRouting
impl StructuralPartialEq for OutputRouting
Auto Trait Implementations§
impl Freeze for OutputRouting
impl RefUnwindSafe for OutputRouting
impl Send for OutputRouting
impl Sync for OutputRouting
impl Unpin for OutputRouting
impl UnsafeUnpin for OutputRouting
impl UnwindSafe for OutputRouting
Blanket Implementations§
impl<T> Allocation for T
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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