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