async_mq/
lib.rs

1// SPDX-License-Identifier: Apache-2.0 AND MIT
2//! Zero-cost async-await abstraction of [lapin] [AMQP] client crate
3//!
4//! [lapin]: https://crates.io/crates/lapin
5//! [amqp]: https://www.amqp.org
6pub use client::{Client, Connection};
7pub use consume::{Consumer, ConsumerBuilder};
8pub use error::Error;
9pub use message::{Message, MessageError, MessagePeek, MessageProcess};
10pub use produce::{Producer, ProducerBuilder};
11
12pub mod client;
13pub mod consume;
14pub mod error;
15pub mod message;
16pub mod produce;
17
18/// Crate local type aliases for less typing.  Those are meant for the
19/// internal use cases and won't be published.
20type Result<T> = std::result::Result<T, error::Error>;
21
22/// DEFAULT_EXCHANGE and DEFAULT_QUEUE for both consumers and producers.
23const DEFAULT_EXCHANGE: &str = "";
24const DEFAULT_QUEUE: &str = "";
25const EPHEMERAL_QUEUE: &str = "";
26
27/// A "prelude" for the crate
28///
29/// This prelude is similar to the standard library's prelude in that you'll
30/// almost always want to import its entire contents, but unlike the standard
31/// library's prelude you'll have to do so manually.
32///
33/// We may add items to this over time as they become ubiquitous as well.
34pub mod prelude {
35    #[doc(no_inline)]
36    pub use crate::{Client, Connection};
37    #[doc(no_inline)]
38    pub use crate::{Consumer, ConsumerBuilder};
39    #[doc(no_inline)]
40    pub use crate::{Producer, ProducerBuilder};
41}