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