pub struct MessageReceipt {
pub channel: String,
pub message_id: Option<String>,
pub deduplicated: bool,
}Expand description
What a sink reports back about a delivered (or suppressed) send.
Fields§
§channel: StringThe channel that carried it.
message_id: Option<String>Channel-assigned id, when the channel exposes one. Several do not
(iMessage via JXA gives back nothing addressable), hence Option.
deduplicated: boolTrue when this send was suppressed because its idempotency key had
already been delivered. Surfaced rather than hidden: a caller that sees
deduplicated: true learns its retry was unnecessary, and a caller
that never expected a duplicate learns it has a resend bug.
Implementations§
Trait Implementations§
Source§impl Clone for MessageReceipt
impl Clone for MessageReceipt
Source§impl Debug for MessageReceipt
impl Debug for MessageReceipt
Source§impl<'de> Deserialize<'de> for MessageReceipt
impl<'de> Deserialize<'de> for MessageReceipt
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 MessageReceipt
Source§impl PartialEq for MessageReceipt
impl PartialEq for MessageReceipt
Source§impl Serialize for MessageReceipt
impl Serialize for MessageReceipt
impl StructuralPartialEq for MessageReceipt
Auto Trait Implementations§
impl Freeze for MessageReceipt
impl RefUnwindSafe for MessageReceipt
impl Send for MessageReceipt
impl Sync for MessageReceipt
impl Unpin for MessageReceipt
impl UnsafeUnpin for MessageReceipt
impl UnwindSafe for MessageReceipt
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§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.impl<T> ErasedDestructor for Twhere
T: 'static,
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