RFR: 8371475: HttpClient: Implement CUBIC congestion controller [v5]
Daniel Fuchs
dfuchs at openjdk.org
Fri Nov 21 16:02:48 UTC 2025
On Fri, 21 Nov 2025 10:10:16 GMT, Daniel Jeliński <djelinski at openjdk.org> wrote:
>>> CUBIC is a standard TCP congestion control algorithm that uses a cubic function instead of a linear congestion window increase function to improve scalability and stability over fast and long-distance networks. CUBIC has been adopted as the default TCP congestion control algorithm by the Linux, Windows, and Apple stacks.
>>
>> This PR adds a new congestion controller algorithm. It reuses a large part of the QuicRenoCongestionController, which was refactored to two classes - QuicBaseCongestionController, containing the shared code, and QuicRenoCongestionController, containing only the code that is unique to Reno.
>>
>> CUBIC is now the default congestion controller. Reno can still be selected by setting the system property `jdk.httpclient.quic.congestionController` to `reno`.
>>
>> A new test was added to exercise the new congestion controller. Existing tests continue to pass.
>
> Daniel Jeliński has updated the pull request incrementally with one additional commit since the last revision:
>
> Add more assertions
New changes look good to me. Please make sure tests remain stable before integrating.
-------------
Marked as reviewed by dfuchs (Reviewer).
PR Review: https://git.openjdk.org/jdk/pull/28195#pullrequestreview-3493382078
More information about the net-dev
mailing list