Crates.io | mqtt-async-client |
lib.rs | mqtt-async-client |
version | 0.3.1 |
source | src |
created_at | 2020-01-17 21:05:06.993433 |
updated_at | 2021-09-06 00:33:02.090861 |
description | An MQTT 3.1.1 client written in Rust, using async functions and tokio. |
homepage | |
repository | https://github.com/fluffysquirrels/mqtt-async-client-rs |
max_upload_size | |
id | 199506 |
size | 151,364 |
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.
--tls-client-crt-file
and --tls-client-rsa-key-file
options to the example mqttc
. Thanks to marcelbuesing for the PR!ClientBuilder
docs.ClientBuilder
to use a URL instead of host and port. This was a breaking change to make it simple for consumers to switch protocol.Thanks to JarredAllen for the implementation!
tokio
dependency to v1.2.0. Thanks to marcelbuesing for the PR!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.Thanks to marcelbuesing for the PRs!
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.