11 releases
0.3.1 | Sep 6, 2021 |
---|---|
0.3.0 | Sep 5, 2021 |
0.2.0 | Feb 18, 2021 |
0.1.7 | Oct 30, 2020 |
0.1.1 | Jan 17, 2020 |
#113 in WebSocket
818 downloads per month
Used in 4 crates
79KB
1.5K
SLoC
mqtt-async-client-rs
An MQTT 3.1.1 client written in Rust, using async functions and tokio.
- Repository: https://github.com/fluffysquirrels/mqtt-async-client-rs
- Documentation: https://docs.rs/mqtt-async-client
- Cargo crate: https://crates.io/crates/mqtt-async-client
- CI builds on Travis CI: https://travis-ci.com/fluffysquirrels/mqtt-async-client-rs
Pull requests and Github issues welcome!
To run automated tests
Simply run cargo test
.
The integration tests require an MQTT broker to run against, see the
instructions in ${REPO}/tests/integration_test.rs
.
Run the test command-line app
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.
Changelog
0.3.1
- Add
--tls-client-crt-file
and--tls-client-rsa-key-file
options to the examplemqttc
. Thanks to marcelbuesing for the PR! - Add more explanation of how to configure TLS to the
ClientBuilder
docs.
0.3.0
- Add WebSocket support under Cargo feature "websocket".
- Switch
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!
0.2.0
- Update
tokio
dependency to v1.2.0. Thanks to marcelbuesing for the PR!
0.1.7
- Implement
Debug
forClient
andClientOptions
- Reduce dependencies for faster and less fiddly builds:
env_logger
andstructopt
are now dev-dependencies,rustls
is now optional but included by default as part of thetls
feature.
Thanks to marcelbuesing for the PRs!
0.1.6
Client
isSend
.
0.1.5
- Correctly connect only once when automatic_connect is disabled.
0.1.4
-
Missing ping responses should cause a disconnect even when keepalive > op timeout.
-
Publish with retain flag.
0.1.3
- Added timeouts to disconnect, and publish when QoS=0.
0.1.2
-
Enable automatic reconnects by default.
-
This tracks subscriptions and replays them after reconnecting. No publish retries yet.
Dependencies
~5–18MB
~240K SLoC