Skip to main content

MessageTransport

Trait MessageTransport 

Source
pub trait MessageTransport:
    Send
    + Sync
    + 'static {
    // Required methods
    fn poll(
        &self,
        max: usize,
    ) -> BoxFuture<'_, Result<Vec<InboundMessage>, BoxError>>;
    fn ack<'a>(
        &'a self,
        msg: &'a InboundMessage,
    ) -> BoxFuture<'a, Result<(), BoxError>>;
    fn nack<'a>(
        &'a self,
        msg: &'a InboundMessage,
    ) -> BoxFuture<'a, Result<(), BoxError>>;
    fn dead_letter<'a>(
        &'a self,
        msg: &'a InboundMessage,
        reason: &'a str,
    ) -> BoxFuture<'a, Result<(), BoxError>>;
}

Required Methods§

Source

fn poll( &self, max: usize, ) -> BoxFuture<'_, Result<Vec<InboundMessage>, BoxError>>

Pull up to max messages. An empty Vec means “nothing right now”.

Source

fn ack<'a>( &'a self, msg: &'a InboundMessage, ) -> BoxFuture<'a, Result<(), BoxError>>

Acknowledge successful processing (message will not be redelivered).

Source

fn nack<'a>( &'a self, msg: &'a InboundMessage, ) -> BoxFuture<'a, Result<(), BoxError>>

Negative-ack: requeue for a later retry.

Source

fn dead_letter<'a>( &'a self, msg: &'a InboundMessage, reason: &'a str, ) -> BoxFuture<'a, Result<(), BoxError>>

Park a poison message out of band, with the final failure reason.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§