mqtt_client/lib.rs
1//! `mqtt-client` — an MQTT 3.1.1 / MQTT 5.0 client written in Rust,
2//! exposed to other languages (Kotlin, Swift, and Python) via
3//! [UniFFI](https://mozilla.github.io/uniffi-rs/).
4//!
5//! The [`protocol`] module is a pure, allocation-friendly codec for the MQTT
6//! wire format with no networking dependencies; [`client`] builds an async,
7//! `tokio`-based client on top of it. The `mqtt-broker` crate re-uses
8//! [`protocol`] directly instead of duplicating the codec.
9
10#![cfg_attr(not(test), deny(clippy::unwrap_used))]
11pub mod client;
12pub mod error;
13pub mod protocol;
14pub mod support;
15
16pub use client::{
17 ConnectOptions, ConnectResult, MqttAuthHandler, MqttClient, MqttMessage, MqttMessageListener,
18 TlsOptions, WillOptions,
19};
20pub use error::MqttError;
21pub use protocol::{MqttVersion, QoS};
22
23uniffi::setup_scaffolding!();