Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Embassy Compatibility? #21

Open
axiopaladin opened this issue Feb 15, 2025 · 2 comments
Open

Embassy Compatibility? #21

axiopaladin opened this issue Feb 15, 2025 · 2 comments

Comments

@axiopaladin
Copy link

I'm interested in developing an IoT device that can use MQTT to talk to other smart-home devices on its network. This project explicitly calls out both tokio and smol as usable async runtimes, but according to my (admittedly neophyte) understanding of embedded rust, embassy is the most common async system for rust-driven microprocessors. Can anyone confirm whether or not mqrstt plays nice with embassy systems?

(If not, it might be a worthwhile third target to consider supporting in the future, as I imagine that many devices that would want to use MQTT are low-power embedded systems that greatly benefit from the embassy ecosystem.)

@GunnarMorrigan
Copy link
Owner

The latest mqrstt version likely does not support embassy. The latest Mqrstt version focuses on supporting tokio. The thing is that async read/write traits are different per runtime, this adds significant overhead to the implementation.
Support for no_std is also imaginable but it comes with its limitations.

The maintenance is also an important factor. Currently, there is not enough usage or desire to warrant expanding support. I wish this was different as I believe mqrstt is an overall better client compared to rumqttc.

If you want to contribute to this project I would be more than happy to review PRs and contribute some time myself.

@axiopaladin
Copy link
Author

That's unfortunate, but perfectly understandable; there's only so much developer bandwidth available. If only we all had infinite time to work on our projects :)

I suppose you can leave this open as a tracking issue, and I'll give it a try when I have some free time, but I won't make any promises that I'll get anywhere useful with it any time soon.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants