What is RMDE

2024-01-01

RDME is my attempt at creating a messaging broker. Currently it only supports MQTT v3.1.1 packets, but I am looking to expand into MQTT v5, and v1.2. While MQTT is network protocol agnostic, RDME only supports TCP connections.

RMDE logo

Broad Overview

RMDE is a library written in rust and includes a broker binary and a client library. I have worked towards utilizing minimal dependencies, however some have been introduced to speed up development of infrastructure.

It currently supports plaintext and TLS connections, and has some of the framework for client authentication with a username and password. TLS connections currently only support Broker certificates, but I do intend to utilize client certificates at some point.

I would like to say it is MQTT v3.1.1 compliant, but my CI/CD and testing pipelines are not built out to handle such a claim. To the extent of my knowledge it is compliant, but the resiliancy of the broker itself is not yet made to handle large networks.

Integration with other ecosystems

I have yet to do any testing with other client libraries or brokers, but I know my packet Id generator is a possible pain point.

Wrapup

I am going to be updating this page with more information as the project develops. But it's still a small project, and things will change. If you want to see the current status, check it out on github. The README there will be more up to date than this post.