Rust types, encode/decode functions, and a tokio codec for MQTT V5.
codec
: Export an MqttCodec
type under mqtt_v5::codec::MqttCodec
. Enabled by default.
$ cargo build --release
$ cargo test
The formatting options currently use nightly-only options.
$ cargo +nightly fmt
$ cargo clippy
Fuzzing requires a nightly toolchain. Fuzzing for this project is currently confirmed to work with:
rustc 1.42.0-nightly (6d3f4e0aa 2020-01-25)
Run this from the root project, not inside the mqtt-v5
directory.
cargo install cargo-fuzz
cargo +nightly fuzz run decoder_fuzzer_v311
cargo +nightly fuzz run decoder_fuzzer_v500
cargo +nightly fuzz run topic_filter_fuzzer
cargo +nightly fuzz run topic_fuzzer