Queue problems in Class-B with Class-A simultaneously
- [x] 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.