-
Notifications
You must be signed in to change notification settings - Fork 861
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
[core] WIP: Extending ACK with RCV drop total #1889
base: master
Are you sure you want to change the base?
Conversation
Why can't this be simply the number of dropped packets among those being ACK-ed with this control packet? |
To handle the cases when ACK packet is lost. |
@maxsharabayko Please take into consideration Issue #1001 when proceeding with the current PR. |
41cb53a
to
a382d61
Compare
Codecov Report
❗ Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more. @@ Coverage Diff @@
## master #1889 +/- ##
==========================================
- Coverage 67.51% 66.92% -0.60%
==========================================
Files 99 99
Lines 20166 20182 +16
==========================================
- Hits 13616 13506 -110
- Misses 6550 6676 +126
... and 9 files with indirect coverage changes 📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
Problem: Sender does not know if and how many packets are being dropped by the receiver. SRT receiver, dropping a packet, just sends a regular ACK control packet, as if it had received them.
Proposed Solution: Extend ACK control packet to contain information about the number of packets dropped by the receiver: "Total Dropped Packets Count" field.
Total Dropped Packets Count - the total number of packets dropped by the receiver
from the start of receiving. Only sent if differs from the previous value,
sent in previous ACK packets, that were acknowledged by the sender (ACKACK).
In other words, included in ACK packet until ACKACK is received acknowledging that the sender has received this number of dropped packets.
Older SRT versions will ignore this field (maximum size is not restricted). Also receiver knows sender’s SRT version, and can only send an extended ACK packet for newer versions.
ACKACK control packet: no changes are required. The structure remains the same.
Advantages
Disadvantages
TODO
uint32_t
overflow on the sender side.