RFR: 8371475: HttpClient: Implement CUBIC congestion controller
Alan Bateman
alanb at openjdk.org
Fri Nov 7 14:12:00 UTC 2025
On Fri, 7 Nov 2025 13:38:23 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.
If jdk.httpclient.quic.congestionController is exposed then we'll need to track this with a CSR.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/28195#issuecomment-3502776805
More information about the net-dev
mailing list