RFR: 8371475: HttpClient: Implement CUBIC congestion controller [v3]
Daniel Jeliński
djelinski at openjdk.org
Mon Nov 17 12:41:11 UTC 2025
On Fri, 14 Nov 2025 12:53:28 GMT, Daniel Fuchs <dfuchs at openjdk.org> wrote:
>> Daniel Jeliński has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 24 commits:
>>
>> - Update test comments
>> - Convert CubicTest to JUnit
>> - Merge declaration and assignment
>> - More aggressive target growth
>> - Merge remote-tracking branch 'origin/master' into quic-cubic
>> - Make classes final
>> - Rename system property to internal
>> - Add a system property to select congestion controller
>> - Implement fast convergence
>> - Add comments
>> - ... and 14 more: https://git.openjdk.org/jdk/compare/1f1f7bb4...195b0f89
>
> src/java.net.http/share/classes/jdk/internal/net/http/quic/QuicCubicCongestionController.java line 114:
>
>> 112: if (!isAppLimited) {
>> 113: if (wEstBytes < cwndPriorBytes) {
>> 114: wEstBytes += Math.max((long) (ALPHA * maxDatagramSize * packetBytes / congestionWindow), 1);
>
> should we assert that congestionWindow is > 2 ?
The congestion window is in bytes, and it's never reduced below 2*maxDatagramSize, which is never less than 2400. Not sure if we should add that particular assertion, but it would probably make sense to assert that packetAcked does not decrease the congestion window. I'll see what I can do.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/28195#discussion_r2533913741
More information about the net-dev
mailing list