1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
//!
//! Wrappers around RabbitMQ connection to indefinitely (after the first successful connection) consume,
//! or publish without any errors. If the connection disconnects, the consumer and publisher will wait
//! until the connection is established back again.
//!
macro_rules! log_error {
    ($action: expr) => {
        if let Err(err) = $action {
            log::error!("{}: {}", stringify!($action), err);
        }
    };
    ($action: expr, $msg: expr) => {
        if let Err(err) = $action {
            log::error!("{}: {}", $msg, err);
        }
    };
}

#[cfg(all(feature = "tokio_runtime", feature = "async_std_runtime"))]
compile_error!("Tokio and Async-std are mutually exclusive");

pub mod config;
pub mod comms;
pub mod consumer;

pub mod exchanges;

pub mod publisher;

pub mod auto_ack;

pub mod stream_builder;