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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
//! Rust core of the [`RustStream`](https://github.com/ruststream/ruststream-rs) messaging
//! framework: broker-agnostic traits, message types, codecs, router runtime, and a
//! conformance harness for broker authors.
//!
//! # Cargo features
//!
//! Every feature is additive. Default features cover the common path: typed messages, a
//! router, and JSON codec. Broker authors enable `conformance` to pick up the in-memory
//! reference broker and the contract harness. Codec features are mutually compatible and
//! enable only the deserializers you need.
//!
//! * `runtime` (default): [`runtime::Router`] plus middleware, lifecycle, and dispatch.
//! * `json` (default): [`codec::JsonCodec`].
//! * `msgpack`: [`codec::MsgpackCodec`].
//! * `cbor`: [`codec::CborCodec`].
//! * `memory`: [`memory::MemoryBroker`], an in-process broker usable in applications,
//! prototypes and tests.
//! * `conformance`: the [`conformance::harness`] contract suite and broker-agnostic
//! [`conformance::helpers`] for application tests. Generic over any broker's `TestClient`,
//! so it pulls in no concrete broker (enable `memory` too to run it against
//! [`memory::MemoryBroker`]).
//!
//! Disable defaults (`default-features = false`) to depend only on the core traits, with no
//! runtime, no codecs, and no Tokio. Useful for crates that only consume the trait surface
//! (broker authors implementing their own [`Broker`] from scratch).
pub use Broker;
pub use ;
pub use AckError;
pub use Headers;
pub use ;
pub use Publisher;
pub use Subscriber;