Fix RTX seq num ending up in main receive register #272
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When we received blank padding packets on the RTX stream those would end up getting
registered in the receive register for the main stream. This would in
turn cause us to NACK packets that never existed in the main stream.
The relevant code looked like this:
A blank padding packet with seq no X would skip the
!data.is_empty()
(1) branch and thus not have the sequencenumber in the header rewritten. Then we would call
StreamRx::update
with the unmodified sequencer number X, that of the RTXstream, and it would be registered as received in the
ReceiveRegister
for the main stream.