Skip to content

Conversation

@mengelbart
Copy link
Contributor

@mengelbart mengelbart commented Oct 4, 2025

This PR contains a refactored version of the GCC implementation from pion/interceptor. It includes a simulation test that runs >100 simulations using vnet from pion/transport. Simulations are hidden behind a simulation build tag, because they generate a lot of log files. The simulation package contains a simple python script to create plots for each of the simulation experiments. In a future PR, I plan to replace the GCC implementation in pion/interceptor with the one implemented here.

To run the simulation, run go test -v -tags=simulation ./simulation/. It will create a directory simulation/logs containing two log files for each run, one containing packet logs from the packet dumper interceptor and one containing pion logs. To create plots, run ./main.py from within the simulation directory. The plots will be placed in the logs directory. Alternatively, you can pass input or output to the script manually, using the '-i', or '-o' flags.

This PR should not be merged before pion/interceptor#374. When that PR is merged, the go.mod reference in this PR needs to be updated.

@codecov
Copy link

codecov bot commented Oct 10, 2025

Codecov Report

❌ Patch coverage is 54.95050% with 182 lines in your changes missing coverage. Please review.
✅ Project coverage is 54.95%. Comparing base (e2f5773) to head (6fb5b52).

Files with missing lines Patch % Lines
gcc/delay_rate_controller.go 0.00% 55 Missing ⚠️
gcc/kalman.go 0.00% 45 Missing ⚠️
gcc/send_side_bwe.go 0.00% 43 Missing ⚠️
gcc/state.go 69.56% 14 Missing ⚠️
gcc/usage.go 0.00% 10 Missing ⚠️
gcc/arrival_group_accumulator.go 80.95% 7 Missing and 1 partial ⚠️
gcc/rate_controller.go 83.33% 7 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff             @@
##           master       #2       +/-   ##
===========================================
+ Coverage        0   54.95%   +54.95%     
===========================================
  Files           0       11       +11     
  Lines           0      404      +404     
===========================================
+ Hits            0      222      +222     
- Misses          0      181      +181     
- Partials        0        1        +1     
Flag Coverage Δ
go 54.95% <54.95%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@mengelbart mengelbart marked this pull request as ready for review January 28, 2026 16:33
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

Successfully merging this pull request may close these issues.

2 participants