RFR: 8371475: HttpClient: Implement CUBIC congestion controller [v3]

Daniel Fuchs dfuchs at openjdk.org
Fri Nov 14 13:27:06 UTC 2025


On Fri, 14 Nov 2025 13:03:44 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 129:
> 
>> 127:             }
>> 128:             if (targetBytes > congestionWindow) {
>> 129:                 congestionWindow += Math.max((targetBytes - congestionWindow) * packetBytes / congestionWindow, 1L);
> 
> Can `(targetBytes - congestionWindow) * packetBytes / congestionWindow` overflow?

Should we assert that congestionWindow is >= minimumWindow after this operation?

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/28195#discussion_r2527438742


More information about the net-dev mailing list