RFR: 8371475: HttpClient: Implement CUBIC congestion controller [v3]
Daniel Jeliński
djelinski at openjdk.org
Thu Nov 13 13:25:10 UTC 2025
On Thu, 13 Nov 2025 06:29:15 GMT, Volkan Yazici <vyazici 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/QuicBaseCongestionController.java line 58:
>
>> 56: private static final int MAX_BYTES_IN_FLIGHT = Math.clamp(
>> 57: Utils.getLongProperty("jdk.httpclient.quic.maxBytesInFlight", 1 << 24),
>> 58: 1 << 14, 1 << 24);
>
> Utils#getIntegerNetProperty(String property, int min, int max, int defaultValue, boolean log)
>
> does clamping, and supports logging on invalid input. AFAICS, `Utils::getLongProperty` was introduced with HTTP/3, yet lacks the versatility of `getIntegerNetProperty`. @dfuch, is this a room for improvement, or is it not worth the code churn?
I think we could use clamping overloads of the getXXXProperty methods. There are quite a few places where they would be useful. But let's not do that in this PR.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/28195#discussion_r2523451111
More information about the net-dev
mailing list