Integrated: 8371475: HttpClient: Implement CUBIC congestion controller

Daniel Jeliński djelinski at openjdk.org
Mon Nov 24 15:14:29 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.

This pull request has now been integrated.

Changeset: a091af1d
Author:    Daniel Jeliński <djelinski at openjdk.org>
URL:       https://git.openjdk.org/jdk/commit/a091af1db34bc9e1646b687aad7704c3105d7ec7
Stats:     1018 lines in 9 files changed: 756 ins; 254 del; 8 mod

8371475: HttpClient: Implement CUBIC congestion controller

Reviewed-by: dfuchs

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

PR: https://git.openjdk.org/jdk/pull/28195


More information about the net-dev mailing list