pub enum OutboxError {
Db(Error),
InvalidSchema(String),
Publish(String),
Exhausted(String),
}Expand description
Errors from staging, relaying, or deduping durable events.
Variants§
Db(Error)
A database error.
InvalidSchema(String)
A schema name that is not a safe SQL identifier (^[a-z_][a-z0-9_]*$).
Publish(String)
The relay’s publish callback failed for a record; the row is left unpublished for retry.
Exhausted(String)
The relay’s publish callback GAVE UP on a record — its transport exhausted its own retries
or dead-lettered it, and will not deliver this event however many times it is handed over.
Distinct from OutboxError::Publish on purpose. A transport that has given up used to have
no way to say so: returning Ok marked the row published, which reads as delivered while the
effect was dropped, and returning Publish re-handed the same doomed record on every pass
forever. This variant marks the row dead — not published, visible in the table, and
re-emittable once the cause is fixed.
Trait Implementations§
Source§impl Debug for OutboxError
impl Debug for OutboxError
Source§impl Display for OutboxError
impl Display for OutboxError
Source§impl Error for OutboxError
impl Error for OutboxError
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 !RefUnwindSafe for OutboxError
impl !UnwindSafe for OutboxError
impl Freeze for OutboxError
impl Send for OutboxError
impl Sync for OutboxError
impl Unpin for OutboxError
impl UnsafeUnpin for OutboxError
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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