1#![warn(missing_docs)]
2mod consumer;
5mod message;
6mod publisher;
7pub mod test;
8
9pub use consumer::{DmqConsumer, DmqConsumerPallas};
10pub use message::DmqMessageBuilder;
11pub use publisher::{DmqPublisher, DmqPublisherPallas};
12
13#[cfg(test)]
14pub(crate) mod test_tools {
15 use std::io;
16 use std::sync::Arc;
17
18 use slog::{Drain, Logger};
19 use slog_async::Async;
20 use slog_term::{CompactFormat, PlainDecorator};
21
22 pub struct TestLogger;
23
24 impl TestLogger {
25 fn from_writer<W: io::Write + Send + 'static>(writer: W) -> Logger {
26 let decorator = PlainDecorator::new(writer);
27 let drain = CompactFormat::new(decorator).build().fuse();
28 let drain = Async::new(drain).build().fuse();
29 Logger::root(Arc::new(drain), slog::o!())
30 }
31
32 pub fn stdout() -> Logger {
33 Self::from_writer(slog_term::TestStdoutWriter)
34 }
35 }
36}