pub enum ConfigPushFailure {
SendFailed(Box<MailboxSenderError>),
ReplyTimedOut,
ReplyChannelClosed,
}Expand description
Per-host failure modes for the attach-time config push.
Implementation detail of ConfigPushError. The variant
taxonomy is not part of HM-4 or any other invariant — HM-4
commits to per-host identity in the error, not to a specific
menu of failure subtypes. The variant set may grow, shrink, or be
reshaped without changing the contract; tests should not pin to a
specific variant unless the fixture deterministically guarantees
it.
Variants§
SendFailed(Box<MailboxSenderError>)
Synchronous send failure (e.g. the request port refused the post). The error is preserved for triage.
ReplyTimedOut
The awaited reply did not arrive within
MESH_ATTACH_CONFIG_TIMEOUT. With request-bounce suppression
(HM-3 mechanism), this is the dominant failure mode for an
unreachable host: the channel-side BrokenLink is logged at
debug from MailboxClient’s buffer task; the contract surface
is just “did not reply in time”.
ReplyChannelClosed
The reply receiver closed before any value arrived (sender side dropped, or the local mailbox tore down).
Trait Implementations§
Source§impl Debug for ConfigPushFailure
impl Debug for ConfigPushFailure
Source§impl Display for ConfigPushFailure
impl Display for ConfigPushFailure
Source§impl Error for ConfigPushFailure
impl Error for ConfigPushFailure
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
Auto Trait Implementations§
impl Freeze for ConfigPushFailure
impl !RefUnwindSafe for ConfigPushFailure
impl Send for ConfigPushFailure
impl Sync for ConfigPushFailure
impl Unpin for ConfigPushFailure
impl UnsafeUnpin for ConfigPushFailure
impl !UnwindSafe for ConfigPushFailure
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§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<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<A, M> Handler<IndexedErasedUnbound<M>> for A
impl<A, M> Handler<IndexedErasedUnbound<M>> for A
§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>
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§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Layered].