RFR: 8370024: HttpClient: QUIC congestion controller doesn't implement pacing
Daniel Jeliński
djelinski at openjdk.org
Thu Nov 6 10:43:20 UTC 2025
Implement pacing for QUIC.
This is required by RFC 9002. Also, it improves the network utilization on links with long round-trip times.
The pacing algorithm itself was created based on the suggestions found in RFC 9002, and on the description of the Linux pacing algorithm.
Pacing is enabled when the round-trip time is less than twice the period at which the selector timeout fires. On Linux the selector timeout fires every millisecond, on Windows it's 15.6 milliseconds by default.
HttpClient tests came back clean.
-------------
Commit messages:
- Fix race in pacer updates, increase low-RTT quota
- Fix CRLF
- Keep track of pacer-limited events
- Less verbose CC logging
- Implement packet pacing
Changes: https://git.openjdk.org/jdk/pull/28156/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=28156&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8370024
Stats: 674 lines in 7 files changed: 658 ins; 2 del; 14 mod
Patch: https://git.openjdk.org/jdk/pull/28156.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/28156/head:pull/28156
PR: https://git.openjdk.org/jdk/pull/28156
More information about the net-dev
mailing list