mqtt-v5

Crates.iomqtt-v5
lib.rsmqtt-v5
version0.1.1
sourcesrc
created_at2020-01-28 10:16:31.526381
updated_at2020-05-20 02:58:56.135562
descriptionRust types, encode/decode functions, and a tokio codec for MQTT V5
homepage
repositoryhttps://github.com/bschwind/mqtt-broker
max_upload_size
id202732
size148,242
Brian Schwind (bschwind)

documentation

README

mqtt-v5

Rust types, encode/decode functions, and a tokio codec for MQTT V5.

Dependencies

  • cargo
  • rustc

Feature Flags

codec: Export an MqttCodec type under mqtt_v5::codec::MqttCodec. Enabled by default.

Build

$ cargo build --release

Testing

$ cargo test

Code Format

The formatting options currently use nightly-only options.

$ cargo +nightly fmt

Code Linting

$ cargo clippy

Code Fuzzing

Fuzzing requires a nightly toolchain. Fuzzing for this project is currently confirmed to work with:

rustc 1.42.0-nightly (6d3f4e0aa 2020-01-25)

Running

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
Commit count: 169

cargo fmt