Skip to main content

ConfirmsPublisher

Struct ConfirmsPublisher 

Source
pub struct ConfirmsPublisher { /* private fields */ }
Expand description

A publisher that awaits broker confirms for every message.

Outside a transaction each publish resolves only once the broker confirmed the message. Between begin_transaction and commit messages buffer in memory; commit publishes them in order and awaits all confirms, and abort discards the buffer without touching the broker.

Clones share one confirm channel and one transaction buffer.

Trait Implementations§

Source§

impl Clone for ConfirmsPublisher

Source§

fn clone(&self) -> ConfirmsPublisher

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ConfirmsPublisher

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Publisher for ConfirmsPublisher

Source§

async fn publish(&self, msg: OutgoingMessage<'_>) -> Result<(), Self::Error>

Publishes msg, awaiting the broker confirm (or buffering inside a transaction).

§Errors

Returns AmqpError::NotConnected before Broker::connect resolves the connection and AmqpError::Publish when the channel rejects the frame or the broker returns a negative confirm.

§Cancel safety

Not cancel safe outside a transaction: dropping the future may leave the message published but unconfirmed. Inside a transaction buffering is synchronous and dropping the future is harmless.

Source§

type Error = AmqpError

The error type returned by publish.
Source§

impl TransactionalPublisher for ConfirmsPublisher

Source§

async fn begin_transaction(&self) -> Result<(), Self::Error>

Opens the buffering transaction; a no-op when one is already open.

§Errors

Never fails today; the signature leaves room for transport errors.

Source§

async fn commit(&self) -> Result<(), Self::Error>

Publishes the buffered messages in order and awaits every confirm.

§Errors

Returns AmqpError::Publish when any message fails to publish or the broker returns a negative confirm. Messages already flushed stay published: publisher confirms give durability per message, not atomicity across them (use server_tx for that).

Source§

async fn abort(&self) -> Result<(), Self::Error>

Discards the buffered messages without publishing anything.

§Errors

Never fails today; the signature leaves room for transport errors.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<'a, T, E> AsTaggedExplicit<'a, E> for T
where T: 'a,

Source§

fn explicit(self, class: Class, tag: u32) -> TaggedParser<'a, Explicit, Self, E>

Source§

impl<'a, T, E> AsTaggedImplicit<'a, E> for T
where T: 'a,

Source§

fn implicit( self, class: Class, constructed: bool, tag: u32, ) -> TaggedParser<'a, Implicit, Self, E>

Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> CompatExt for T

Source§

fn compat(self) -> Compat<T>
where T: Sized,

Applies the Compat adapter by value. Read more
Source§

fn compat_ref(&self) -> Compat<&T>

Applies the Compat adapter by shared reference. Read more
Source§

fn compat_mut(&mut self) -> Compat<&mut T>

Applies the Compat adapter by mutable reference. Read more
Source§

impl<P> ErasedPublisher for P
where P: Publisher,

Source§

fn publish_bytes<'a>( &'a self, name: &'a str, payload: &'a [u8], ) -> Pin<Box<dyn Future<Output = Result<(), Box<dyn Error + Send + Sync>>> + Send + 'a>>

Publishes payload to name, with no headers. Read more
Source§

fn publish_message<'a>( &'a self, name: &'a str, payload: &'a [u8], headers: &'a Headers, ) -> Pin<Box<dyn Future<Output = Result<(), Box<dyn Error + Send + Sync>>> + Send + 'a>>

Publishes payload to name with headers. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more