mqtt_async_client/lib.rs
1//! An MQTT 3.1.1 client written in Rust.
2//!
3//! For example usage see the command-line test app at
4//! `examples/mqttc.rs`, and integration tests at `tests/*.rs`.
5//!
6//! This crate uses the log crate. To enable extra, potentially
7//! sensitive logging (including passwords) enable the
8//! "unsafe-logging" Cargo feature. With "unsafe-logging" enabled at
9//! the "trace" log level every packet is logged.
10//!
11//! The "tls" feature is enabled by default and allows connections
12//! over TLS using [rustls](https://crates.io/crates/rustls).
13//! If TLS is not required you can opt out by specifying
14//! `default-features = false`.
15//! E.g. `mqtt-async-client = { version = "0.1", default-features = false }`
16//!
17//! The "websocket" feature is disabled by default and allows connections
18//! over websocket using [tokio-tungstenite](https://crates.io/crates/tokio-tungstenite).
19//! If websocket functionality is desired, you can opt in by enabling that
20//! feature in your cargo.toml file.
21#![deny(warnings)]
22#![deny(missing_docs)]
23// The futures_util::select! macro needs a higher recursion_limit
24#![recursion_limit = "1024"]
25
26pub mod client;
27mod error;
28pub mod util;
29
30pub use error::{Error, Result};