pub enum BodyState {
Present(String),
Missing {
publication: &'static str,
why: BusError,
},
Unreachable(BusError),
}Expand description
What is known about one message’s body.
A body that cannot be served is not an error when reading a thread: the message keeps its sequence, its sender and its receipts, and the reason is stated on the message itself. Only a caller who asked for one specific body gets a refusal.
Variants§
Present(String)
Missing
publication is the honest status — pending_publication, failed
or tombstoned — and why says what it means for this caller.
Unreachable(BusError)
The backend holding this body cannot be reached. Different from missing in the way that matters: the message is stored, nothing is lost, and the body comes back when the backend does. The row keeps its own publication state and the reader is told why it cannot see the body right now.
Auto Trait Implementations§
impl !RefUnwindSafe for BodyState
impl !UnwindSafe for BodyState
impl Freeze for BodyState
impl Send for BodyState
impl Sync for BodyState
impl Unpin for BodyState
impl UnsafeUnpin for BodyState
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
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