Coder Social home page Coder Social logo

mqtt-async-client-rs's Introduction

mqtt-async-client-rs

An MQTT 3.1.1 client written in Rust, using async functions and tokio.

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

Unpublished changes from 0.3.0 to master

  • Add --tls-client-crt-file and --tls-client-rsa-key-file options to the example mqttc. Thanks to marcelbuesing for the PR!
  • Remove ClientBuilder.set_connection_mode, which was unused. Thanks to marcelbuesing for the PR!

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 for Client and ClientOptions
  • Reduce dependencies for faster and less fiddly builds: 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!

0.1.6

  • Client is Send.

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.