#[non_exhaustive]pub enum OutboxStatus {
Pending,
Dispatching,
OutcomeUnknown,
Completed,
Failed,
}Expand description
Status of an outbox row (spec §16.4).
Dispatch strategies grow, so downstream matches need a wildcard arm.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Pending
Waiting for dispatch.
Dispatching
A dispatcher is calling the external system.
OutcomeUnknown
The call was made and the outcome is unknown; reconcile, do not retry blindly.
Completed
The external system confirmed.
Failed
The external system definitively refused.
Implementations§
Source§impl OutboxStatus
impl OutboxStatus
Sourcepub fn is_terminal(self) -> bool
pub fn is_terminal(self) -> bool
Returns true when no further dispatch will happen.
Sourcepub fn can_transition(from: Self, to: Self) -> bool
pub fn can_transition(from: Self, to: Self) -> bool
Legal transitions of the outbox state machine.
Trait Implementations§
Source§impl Clone for OutboxStatus
impl Clone for OutboxStatus
impl Copy for OutboxStatus
Source§impl Debug for OutboxStatus
impl Debug for OutboxStatus
Source§impl<'de> Deserialize<'de> for OutboxStatus
impl<'de> Deserialize<'de> for OutboxStatus
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>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for OutboxStatus
Source§impl Hash for OutboxStatus
impl Hash for OutboxStatus
Source§impl PartialEq for OutboxStatus
impl PartialEq for OutboxStatus
Source§impl Serialize for OutboxStatus
impl Serialize for OutboxStatus
impl StructuralPartialEq for OutboxStatus
Auto Trait Implementations§
impl Freeze for OutboxStatus
impl RefUnwindSafe for OutboxStatus
impl Send for OutboxStatus
impl Sync for OutboxStatus
impl Unpin for OutboxStatus
impl UnsafeUnpin for OutboxStatus
impl UnwindSafe for OutboxStatus
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
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§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.