AtherEnergy / rumqtt

Pure rust mqtt cilent
The Unlicense
202 stars 71 forks source link

New async release #72

Closed tekjar closed 6 years ago

tekjar commented 6 years ago

@jamesmunns @rschifflin @ivanovaleksey @nanomad @creativcoder @vorot93

I'm kinda happy with the status of async branch and planning to release it in the next 10 days. However qos2 and retained publishes aren't supported yet. I would like to know if anyone of you are using these features and also would like some help in reviewing and testing. Please let me know if you can spare some time for this

ivanovaleksey commented 6 years ago

Hi @tekjar, Thank you for the job!

I would like to help to get things done. However, I am very new to MQTT and Tokio, so, I am not useful at reviewing. But I can do something else, maybe testing (if you can help with good test scenarios).

I don't think I need to publish retain messages right now, but it might be nice to have in future. Is it hard to implement? As far as I understand the most difficult part of retain mechanism is on a broker's side, client just need to set special flag to true. Isn't it so? We don't support publishing of retain message, but we can receive those messages sent by another clients, can't we? Do they look just like plain messages?

And what about authentication and auto reconnect? As far as I understand those feature are implemented on master. Do they continue to work on tokio2?

tekjar commented 6 years ago

@ivanovaleksey

if you can help with good test scenarios

I'm using toxiproxy to simulate network conditions. May be you can do that with your application data?

Is it hard to implement?

No. It's easy :)

Do they look just like plain messages

I din't completely understand this question, but you'll get a Publish packet with payload as array of bytes, You need to deserialize it.

And what about authentication and auto reconnect? As far as I understand those feature are implemented on master. Do they continue to work on tokio2?

Yeah. They should work

ivanovaleksey commented 6 years ago

Hello @tekjar, sorry I totally have no time all this period. How is it going? Are there any updates?

tekjar commented 6 years ago

Hi @ivanovaleksey . I'm thinking to wait a bit on this as tokio is moving very fast and a lot of work is going on async/await. By the time I finished this, tokio 0.1 got released :)

ivanovaleksey commented 6 years ago

async/await branch seems to be stale. What is this branch about? Is it an alternative to tokio2?

tekjar commented 6 years ago

@ivanovaleksey I'm talking about rust futures-await and tokio 0.1

manifest commented 6 years ago

Hi @tekjar. Are there any updates?

tekjar commented 6 years ago

Hi @manifest. I desperately want to take this up and push it to finish line :). But I think tokio and futures-rs are being prepared for another release. I'll hold :)

tekjar commented 6 years ago

This didn't happen as planned due to a lot of movement in tokio ecosystem. But things are progressing now in v3 branch