An MQTT 3.1.1 client written in Rust, using async functions and tokio.
Pull requests and Github issues welcome!
Simply run cargo test
.
The integration tests require an MQTT broker to run against, see the
instructions in ${REPO}/tests/integration_test.rs
.
Run cargo run --example mqttc
to print usage.
The test app requires an MQTT broker to run against, see the
instructions in ${REPO}/tests/integration_test.rs
.
Run cargo run --example mqttc -- --host localhost publish topic payload
to publish payload payload
to topic topic
.
Run RUST_LOG="info" cargo run --example mqttc -- --host localhost subscribe topic
to subscribe to topic topic
and print any messages that are published to it.
tokio
dependency to v1.2.0.Debug
for Client
and ClientOptions
env_logger
and structopt
are now dev-dependencies, rustls
is now optional but
included by default as part of the tls
feature.Client
is Send
.Missing ping responses should cause a disconnect even when keepalive > op timeout.
Publish with retain flag.
Enable automatic reconnects by default.
This tracks subscriptions and replays them after reconnecting. No publish retries yet.