// the find
ntex-rs/ntex-mqtt
MQTT Client/Server framework for v5 and v3.1.1 protocols
ntex-mqtt is a Rust MQTT broker and client framework built on the ntex async networking stack, supporting both v3.1.1 and v5. It's aimed at developers who want to embed a high-performance MQTT server or client into a Rust application, not spin up a standalone broker like Mosquitto.
Full protocol coverage for both v3.1.1 and v5 in a single crate, including auth packets and all the v5-specific property fields. WebSocket transport is first-class — the mqtt-ws-client and mqtt-ws-server examples work out of the box alongside raw TCP and TLS. The router abstraction lets you pattern-match topic hierarchies in a way that feels natural coming from HTTP frameworks. Code coverage is tracked via codecov and CI runs on Linux, macOS, and Windows, which is more discipline than most niche Rust networking crates show.
Hard dependency on ntex means you're buying into an entire async ecosystem that isn't tokio — ntex uses its own runtime and IO model, so if your existing stack is tokio-based you're not just adding a crate, you're potentially splitting runtimes. Documentation is thin: the README is four lines and you're expected to learn from examples, which are decent but don't cover persistence, QoS 2 message flow details, or retained message behavior. Only 371 stars for a crate that's been around long enough to do v5, which suggests limited production adoption — you'll be debugging edge cases yourself. No clustering or shared-state mechanism is provided, so scaling beyond a single process requires you to bolt on an external message bus.