Add interceptor to aggregate CCFB reports#374
Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #374 +/- ##
==========================================
- Coverage 80.03% 79.78% -0.26%
==========================================
Files 84 88 +4
Lines 4268 4581 +313
==========================================
+ Hits 3416 3655 +239
- Misses 681 741 +60
- Partials 171 185 +14
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
0912350 to
ceaeb98
Compare
pkg/rtpfb/ccfb_receiver.go
Outdated
| } | ||
| } | ||
|
|
||
| return referenceTime.Sub(latestArrival), result |
There was a problem hiding this comment.
What will happen if latestArrival is never set? shouldn't we return 0, nil?
There was a problem hiding this comment.
Good point, I think we should initialize latestArrival as latestArrival = referenceTime. That way it will be 0 if it is there were no packets received after the reference time.
There was a problem hiding this comment.
Sorry, this doesn't work because we are actually looking for the latest arrival before the referenceTime. So you're right, we have to add a check and return 0.
e2d4aff to
82ff788
Compare
e5d1861 to
35b6c22
Compare
JoTurk
left a comment
There was a problem hiding this comment.
I'm so sorry for taking long with the second review, The code is great, and I think it works as expected would love if we can add more tests, esp around concurrency & life-cycle, but ofc this can be done in the future.
Thank you. sorry again.
|
Thank you @JoTurk ! |
Co-authored-by: Joe Turki <git@joeturki.com>
fd061e7 to
89b5044
Compare
Alternative but cleaner implementation for congestion control feedback receiver (#300). The main difference between this and #300 is that #300 organizes the feedback per stream, while this version organizes it as a single linear stream, which is easier to process. If one still needs to know which stream a packet was sent on, that information is still included in the reports for each packet.