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§
Sourcefn poll(
&self,
max: usize,
) -> BoxFuture<'_, Result<Vec<InboundMessage>, BoxError>>
fn poll( &self, max: usize, ) -> BoxFuture<'_, Result<Vec<InboundMessage>, BoxError>>
Pull up to max messages. An empty Vec means “nothing right now”.
Sourcefn ack<'a>(
&'a self,
msg: &'a InboundMessage,
) -> BoxFuture<'a, Result<(), BoxError>>
fn ack<'a>( &'a self, msg: &'a InboundMessage, ) -> BoxFuture<'a, Result<(), BoxError>>
Acknowledge successful processing (message will not be redelivered).
Sourcefn nack<'a>(
&'a self,
msg: &'a InboundMessage,
) -> BoxFuture<'a, Result<(), BoxError>>
fn nack<'a>( &'a self, msg: &'a InboundMessage, ) -> BoxFuture<'a, Result<(), BoxError>>
Negative-ack: requeue for a later retry.
Sourcefn dead_letter<'a>(
&'a self,
msg: &'a InboundMessage,
reason: &'a str,
) -> BoxFuture<'a, Result<(), BoxError>>
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".