Skip to content

Conversation

@djelinski
Copy link
Member

@djelinski djelinski commented Nov 5, 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.


Progress

  • Change must be properly reviewed (1 review required, with at least 1 Reviewer)
  • Change must not contain extraneous whitespace
  • Commit message must refer to an issue

Issue

  • JDK-8370024: HttpClient: QUIC congestion controller doesn't implement pacing (Bug - P3)

Reviewing

Using git

Checkout this PR locally:
$ git fetch https://git.openjdk.org/jdk.git pull/28156/head:pull/28156
$ git checkout pull/28156

Update a local copy of the PR:
$ git checkout pull/28156
$ git pull https://git.openjdk.org/jdk.git pull/28156/head

Using Skara CLI tools

Checkout this PR locally:
$ git pr checkout 28156

View PR using the GUI difftool:
$ git pr show -t 28156

Using diff file

Download this PR as a diff file:
https://git.openjdk.org/jdk/pull/28156.diff

Using Webrev

Link to Webrev Comment

@bridgekeeper
Copy link

bridgekeeper bot commented Nov 5, 2025

👋 Welcome back djelinski! A progress list of the required criteria for merging this PR into master will be added to the body of your pull request. There are additional pull request commands available for use with this pull request.

@openjdk
Copy link

openjdk bot commented Nov 5, 2025

❗ This change is not yet ready to be integrated.
See the Progress checklist in the description for automated requirements.

@openjdk openjdk bot added the net net-dev@openjdk.org label Nov 5, 2025
@openjdk
Copy link

openjdk bot commented Nov 5, 2025

@djelinski The following label will be automatically applied to this pull request:

  • net

When this pull request is ready to be reviewed, an "RFR" email will be sent to the corresponding mailing list. If you would like to change these labels, use the /label pull request command.

@djelinski djelinski changed the title Quic pacer 8370024 Nov 5, 2025
@openjdk openjdk bot changed the title 8370024 8370024: HttpClient: QUIC congestion controller doesn't implement pacing Nov 5, 2025
@djelinski djelinski marked this pull request as ready for review November 6, 2025 10:37
@openjdk openjdk bot added the rfr Pull request is ready for review label Nov 6, 2025
@mlbridge
Copy link

mlbridge bot commented Nov 6, 2025

Webrevs

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

net net-dev@openjdk.org rfr Pull request is ready for review

Development

Successfully merging this pull request may close these issues.

2 participants