Skip to content

Support for QoS = 1 #68

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

Closed
jasiek opened this issue Jun 26, 2017 · 6 comments
Closed

Support for QoS = 1 #68

jasiek opened this issue Jun 26, 2017 · 6 comments

Comments

@jasiek
Copy link

jasiek commented Jun 26, 2017

I think it would make a lot of sense to support QoS 1 in this client - from my understanding of the protocol, it would require:

  • allocating storage space for tracking packets which are yet to be acknowledged (capacity should be configurable)
  • retransmitting packets when no confirmation has been received

I think a good starting point would be retaining 10 last packet ids by default. Once a packet is confirmed, it is removed from the set.

Further refinements could add an exponential delay mechanism for retransmissions, etc.

Did I miss anything?

@256dpi
Copy link
Owner

256dpi commented Jun 28, 2017

Thanks for your suggestions. Actually, QoS1 can be achived without any extra storage when the ack is immediately checked by waiting for it. (This is what the Paho and lwmqtt library do).

In anycase V2 (#59) will support QoS 1 and 2. Some earlier discussion can be found here #49.

I'll close this as it is a duplicate and already taken care of.

@256dpi 256dpi closed this as completed Jun 28, 2017
@jasiek
Copy link
Author

jasiek commented Jun 28, 2017

Is anyone working on this? If not, I could look into it.

@256dpi
Copy link
Owner

256dpi commented Jun 28, 2017

Yes, I'm just finishing the PR. I plan to release V2 this week. :)

In the meantime your are welcome to test the branch in your project. The API is fixed and the code stable. I'm just clearing up some docs.

@jasiek
Copy link
Author

jasiek commented Jun 28, 2017

Awesome. 👍 👍 👍 🥇

@jasiek
Copy link
Author

jasiek commented Jun 29, 2017

So which branch is it? I can only see -master in this repo.

@256dpi
Copy link
Owner

256dpi commented Jun 29, 2017

I merged V2 yesterday. You can use master or wait until the library manager has been updated.

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