Skip to content

allow users to change the congestion control algorithm - #458

Open
Lanius-collaris wants to merge 22 commits into
pion:mainfrom
Lanius-collaris:cc-alg
Open

allow users to change the congestion control algorithm#458
Lanius-collaris wants to merge 22 commits into
pion:mainfrom
Lanius-collaris:cc-alg

Conversation

@Lanius-collaris

Copy link
Copy Markdown

Description

Reference issue

Fixes #...
related to #439

@JoTurk

JoTurk commented Feb 20, 2026

Copy link
Copy Markdown
Member

Thank you, we'll first need to merge #450 and do any necessary refactors in assocs so we don't have to break the API later.

@Lanius-collaris
Lanius-collaris marked this pull request as ready for review February 28, 2026 15:56
if minRTT < (param.ContractMinQDel + param.UBRTTErr)
@Lanius-collaris

Copy link
Copy Markdown
Author

@JoTurk
0c8bc26
Retransmitting before sending new data can reduce SACKs, should I open one more pull request?

@JoTurk

JoTurk commented Mar 10, 2026

Copy link
Copy Markdown
Member

@Lanius-collaris yes, that's true, retransmit should be ordered before new data (we do this just not fast-retransmit). I think it's also required by the spec, This should be fixed in a new PR, also we should reference the spec. and add a test.

@Lanius-collaris
Lanius-collaris marked this pull request as ready for review April 24, 2026 12:22
@Lanius-collaris

Copy link
Copy Markdown
Author

@philipch07
If you have time, please try this and give some suggestions.
These experiments should be useful:
https://github.com/108anup/frcc/tree/main/experiments

@JoTurk JoTurk left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Lanius-collaris Thank you for working on this, I think configuration CC and more customization is something we should add eventually, after interleaving and after RFC 9260 migration, But i don't think this is mergable in the current shape.

From a library prespactive this does many things:

  1. expose CC abstraction.
  2. Add FRCC.
  3. change ACK/pacing behavior.
  4. ALl the other sender-side behavior changes.

And all of these should be split to their own API, and should be standalone and scoped, And after discussion.

Also I'm worried about turning the library into callbacks/hooks javascriptish nightmare, long term i would rather us moving towards more explicit sans/io style instead of ad hoc hooks.

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