pub trait Queue:
Clone
+ Send
+ Sync
+ 'static {
// Required methods
fn publish(&self, topic: &str, message: Message) -> QueueFuture<()>;
fn receive(&self, topic: &str) -> QueueFuture<Option<Delivery>>;
fn ack(&self, receipt: &str) -> QueueFuture<()>;
fn nack(&self, receipt: &str, delay: Duration) -> QueueFuture<()>;
}Expand description
Adapter surface implemented by NATS, RabbitMQ, Kafka, SQS, and test
queues.
Required Methods§
Sourcefn publish(&self, topic: &str, message: Message) -> QueueFuture<()>
fn publish(&self, topic: &str, message: Message) -> QueueFuture<()>
Publishes one message to a topic.
Sourcefn receive(&self, topic: &str) -> QueueFuture<Option<Delivery>>
fn receive(&self, topic: &str) -> QueueFuture<Option<Delivery>>
Takes the next visible delivery from a topic, if any.
Sourcefn ack(&self, receipt: &str) -> QueueFuture<()>
fn ack(&self, receipt: &str) -> QueueFuture<()>
Settles a delivery so it is never redelivered.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".