pub struct UndecodableEventError {
pub id: OutboxEventId,
pub sequence: EventSequence,
pub recorded_at: DateTime<Utc>,
pub failure: DecodeFailure,
pub commit_group: CommitGroupId,
}Expand description
A persistent event whose stored payload could not be decoded into the
consumer’s event type. Everything undecodable-shaped is this one type,
always in an Err arm: the
MailboxTables load results, the
PersistentOutboxListener /
AllOutboxListener stream items, and
the error the default
SingletonSubscriber::handle_undecodable
fails the handler job with.
The Err item IS the delivery of that event — in order, in its sequence
position — so no consumer can pass over an undecodable payload without an
explicit decision: ? (e.g. via TryStreamExt::try_next) fails loudly,
and matching the Err arm is the visible opt-out.
Display prints the serde error only — the raw
payload is available on failure but never hits log
lines by accident.
Fields§
§id: OutboxEventId§sequence: EventSequence§recorded_at: DateTime<Utc>§failure: DecodeFailureThe raw payload and the serde error.
commit_group: CommitGroupIdThe source transaction this event committed in.
Trait Implementations§
Source§impl Clone for UndecodableEventError
impl Clone for UndecodableEventError
Source§fn clone(&self) -> UndecodableEventError
fn clone(&self) -> UndecodableEventError
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 UndecodableEventError
impl Debug for UndecodableEventError
Source§impl Display for UndecodableEventError
impl Display for UndecodableEventError
Source§impl Error for UndecodableEventError
impl Error for UndecodableEventError
1.30.0 · 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
use the Display impl or to_string()
Auto Trait Implementations§
impl Freeze for UndecodableEventError
impl RefUnwindSafe for UndecodableEventError
impl Send for UndecodableEventError
impl Sync for UndecodableEventError
impl Unpin for UndecodableEventError
impl UnsafeUnpin for UndecodableEventError
impl UnwindSafe for UndecodableEventError
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> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
Source§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
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