pub enum DeliveryOutcome {
Delivered,
Retry(String),
Reject(String),
}Expand description
What a delivery says about one request.
Variants§
Delivered
The notification was handed to the provider (sent, queued by it, or recorded). The request is done and will not be offered again.
Retry(String)
The provider could not take it now (a timeout, a 5xx, a rate limit): offer it again later. The text is the reason, kept for the log and for the dead letter when the retries run out.
Reject(String)
The request can never be delivered however often it is offered (an unknown template, an address no provider will accept). It is dead-lettered at once with this reason.
Trait Implementations§
Source§impl Clone for DeliveryOutcome
impl Clone for DeliveryOutcome
Source§impl Debug for DeliveryOutcome
impl Debug for DeliveryOutcome
impl Eq for DeliveryOutcome
Source§impl PartialEq for DeliveryOutcome
impl PartialEq for DeliveryOutcome
impl StructuralPartialEq for DeliveryOutcome
Auto Trait Implementations§
impl Freeze for DeliveryOutcome
impl RefUnwindSafe for DeliveryOutcome
impl Send for DeliveryOutcome
impl Sync for DeliveryOutcome
impl Unpin for DeliveryOutcome
impl UnsafeUnpin for DeliveryOutcome
impl UnwindSafe for DeliveryOutcome
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,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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.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