#[non_exhaustive]pub enum ExternalStatus {
Prepared,
Validated,
AwaitingConfirmation,
Submitted,
ReceivedByIntermediary,
ReceivedByAuthority,
Accepted,
Rejected,
Issued,
NotDelivered,
Delivered,
Completed,
}Expand description
Fine-grained state of a request another system decides (spec §17.4).
Never collapse these into a generic “done”. New states appear whenever that system adds a step, so downstream matches need a wildcard arm.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Prepared
Payload prepared locally.
Validated
Payload validated locally.
AwaitingConfirmation
Waiting for the user’s confirmation.
Submitted
Transmitted to the first hop.
ReceivedByIntermediary
An intermediary acknowledged receipt.
ReceivedByAuthority
The deciding system acknowledged receipt.
Accepted
Accepted by the deciding system.
Rejected
Rejected by the deciding system or an intermediary.
Issued
Issued by the deciding system: a ticket, a permit, a booking.
NotDelivered
Could not be delivered to the recipient.
Delivered
Delivered to the recipient.
Completed
The whole flow is complete.
Implementations§
Source§impl ExternalStatus
impl ExternalStatus
Sourcepub fn is_final(self) -> bool
pub fn is_final(self) -> bool
Returns true for states after which no further external transition is
expected: Self::Rejected, Self::NotDelivered, Self::Completed.
Sourcepub fn is_transmitted(self) -> bool
pub fn is_transmitted(self) -> bool
Returns true once the payload has left the system, i.e. an external
effect may exist.
Trait Implementations§
Source§impl Clone for ExternalStatus
impl Clone for ExternalStatus
impl Copy for ExternalStatus
Source§impl Debug for ExternalStatus
impl Debug for ExternalStatus
Source§impl<'de> Deserialize<'de> for ExternalStatus
impl<'de> Deserialize<'de> for ExternalStatus
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>,
impl Eq for ExternalStatus
Source§impl Hash for ExternalStatus
impl Hash for ExternalStatus
Source§impl Ord for ExternalStatus
impl Ord for ExternalStatus
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
1.21.0 (const: unstable) · Source§fn min(self, other: Self) -> Selfwhere
Self: Sized,
fn min(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl PartialEq for ExternalStatus
impl PartialEq for ExternalStatus
Source§impl PartialOrd for ExternalStatus
impl PartialOrd for ExternalStatus
Source§impl Serialize for ExternalStatus
impl Serialize for ExternalStatus
impl StructuralPartialEq for ExternalStatus
Auto Trait Implementations§
impl Freeze for ExternalStatus
impl RefUnwindSafe for ExternalStatus
impl Send for ExternalStatus
impl Sync for ExternalStatus
impl Unpin for ExternalStatus
impl UnsafeUnpin for ExternalStatus
impl UnwindSafe for ExternalStatus
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
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
key and return true if they are equal.