|Re: [paho-dev] Paho MQTT Rust Language Library|
Thanks Frank.If my Grandma were reviewing my code I imagine an experience similar to that in a Christmas Carol.
I'll point to your message on Twitter to perhaps reach a wider audience. Ian On 20/12/2017 13:32, Frank Pagliughi wrote:
Hello All,The Paho Rust Language library is now just about functionally complete. With the addition of user-defined persistence this week, the Rust library now has full coverage of the capabilities of the underlying Paho C library for MQTT 3.x. It's still fairly messy, lacks full error detection, and has an evolving API, but it is quickly progressing towards a release candidate. I'm still on track to have an initial release by February - and then on to MQTT v5 by June.It's like having Grandma doing your code reviews. Frank On 11/07/2017 09:07 AM, Frank Pagliughi wrote:Hello Ian,I found a number of MQTT libraries for Rust, but none seemed complete or up-to-date. Strangely, while researching how to wrap C library calls in Rust, I repeatedly found questions by people who were attempting to wrap the Mosquitto API. So it seems that there is some MQTT interest in the Rust crowd.I've found Rust to be very intriguing. It's a compiled, typed language, and overlaps the space where C and C++ would be used. A primary feature is its concept of memory ownership and borrowing whereby the compiler tracks references to memory distinguishing between mutable and immutable variations - even across threads - to prevents race conditions. The compiler tends to nag about these things, like an overbearing grandmother, forcing you to promise you'll never do bad things again. But in the end, when you grow up, you know she's right.I recommend people have a look at Rust. If nothing else, it will make you reconsider the way you program C and C++.Working with Rust has once again brought up the concept of "const-ness" in the C library. If the library receives a buffer which it will not change, it should mark the buffer as being "const" (as const void* or const char*, etc). It has been moving in that direction for a while now, but we should give a review to make sure that it's consistent. I can help with that.My intent was to knock out an initial, stable, version that worked with the existing Paho 1.3, but I definitely intend follow it with the MQTT v5 additions. If you're ready to get started, then perhaps some of that work will happen in parallel.Let's start to discuss work and schedules. Frank On 11/07/2017 06:32 AM, Ian Craggs wrote:Hi Frank,thanks, that's great progress! Were there any existing MQTT clients for Rust?Can you give an idea of when one might consider using the Rust language - an alternative to C?I intend to start working on updates to the C client for MQTT V5 soon, I don't know if you'd like to accommodate those changes at the same time? I haven't formulated the API changes yet - I'll need to do that first.Ian On 07/11/2017 05:08, Frank Pagliughi wrote:Hey All,I've started uploading some code for a new Paho Rust Language library at:It's very early days, but the library can connect (via TCP or SSL/TLS), publish, subscribe, and disconnect cleanly using an asynchronous interface. I'm currently developing on Linux x86_64, but other platforms that are supported by Rust and Paho C should be relatively straightforward. At this point, the library sorely lacks error handling, documentation, and stability.I'm hoping to stabilize the API by the end of the year and release in early 2018.I'm a relative newcomer to Rust (as, apparently, are 97% or Rust users), so am hoping to get advice and guidance on the API from others having more experience with the language. But I also hope to keep it familiar to existing Paho users.So far, I'm fairly impressed with Rust. It looks like an interesting language for some MQTT programming. Fast and safe.Frank Pagliughi _______________________________________________ paho-dev mailing list paho-dev@xxxxxxxxxxxTo change your delivery options, retrieve your password, or unsubscribe from this list, visit
-- Ian Craggs icraggs@xxxxxxxxxx IBM United Kingdom Paho Project Lead; Committer on Mosquitto
Back to the top