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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
//! `mqtt-client` — an MQTT 3.1.1 / MQTT 5.0 client written in Rust,
//! exposed to other languages (Kotlin, Swift, and Python) via
//! [UniFFI](https://mozilla.github.io/uniffi-rs/).
//!
//! The wire format lives in the runtime-free [`stem-mqtt-proto`] crate, re-exported
//! here as [`protocol`] and [`error`] (the paths are unchanged); [`client`] builds an
//! async, `tokio`-based client on top of it. The `mqtt-broker` crate re-uses the same
//! codec instead of duplicating it.
//!
//! [`stem-mqtt-proto`]: https://docs.rs/stem-mqtt-proto
/// The MQTT wire protocol codec (the `stem-mqtt-proto` crate, re-exported).
/// The error type (from `stem-mqtt-proto`, re-exported).
pub use ;
pub use redacted_debug;
pub use ;
setup_scaffolding!;
// The codec types live in `stem-mqtt-proto`, which has no UniFFI dependency. They are declared
// here as *remote* types so that they belong to this crate's UniFFI namespace exactly as before:
// the generated Kotlin, Swift, Python, ... bindings are unchanged. Keep these definitions in sync
// with `mqtt_proto` (a mismatch is a compile error).
/// The MQTT protocol version negotiated for a connection.
/// MQTT Quality of Service level.
/// All errors that can be produced while encoding/decoding MQTT packets or
/// operating an [`crate::client::MqttClient`].
///
/// Exposed to foreign languages through UniFFI as a plain error enum.