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

Queue problems in Class-B with Class-A simultaneously #556

Open
1 task done
RobertoHE opened this issue Nov 2, 2021 · 0 comments
Open
1 task done

Queue problems in Class-B with Class-A simultaneously #556

RobertoHE opened this issue Nov 2, 2021 · 0 comments

Comments

@RobertoHE
Copy link

RobertoHE commented Nov 2, 2021

  • I have searched the issues of this repository and believe that this is not a duplicate.

Summary

Queue problems in Class-B with Class-A simultaneously
https://forum.chirpstack.io/t/queue-problems-in-class-b-with-class-a-simultaneously/12534?u=robertohe

The queue doesn't refresh the ping-slot scheduler of a Class-B queued message after a downlink in Class-A. This causes that Class-B messages to be delayed although previous messages are sent before correctly and some previous ping-slots are free/unused.

After a Class-A downlink, all queued items must be updated and refreshed their Class-B time-slot scheduler sending.

What is the use-case?

When uses a node in Class-B and the node uses Class-A uplinks to respond. This new Class-A uplink trigs a Class-A downlink, and it may trigger another response. This may cause that some messages may down to the node after a Class-B message, and those Class-A sent messages set free some ping-slot. Those ping-slots can't be used by other queued messages, which causes that these messages are delayed.

Implementation description

After a Class-A downlink or periodically, the network-server must check if any ping-slot are free/unused and refresh and re-assign ping-slots to the queued messages.

Can you implement this by yourself and make a pull request?

I think that no, because I haven't coded anything in GO before.

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

1 participant