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