On Thu, 26 Jun 2025 16:36:40 GMT, Daniel Fuchs <dfu...@openjdk.org> wrote:
>> Hi, >> >> Please find here a PR for the implementation of [JEP 517: HTTP/3 for the >> HTTP Client API](https://openjdk.org/jeps/517). >> >> The CSR can be viewed at [JDK-8350588: Implement JEP 517: HTTP/3 for the >> HTTP Client API](https://bugs.openjdk.org/browse/JDK-8350588) >> >> This JEP proposes to enhance the HttpClient implementation to support HTTP/3. >> It adds a non-exposed / non-exported internal implementation of the QUIC >> protocol based on DatagramChannel and the SunJSSE SSLContext provider. > > Daniel Fuchs has updated the pull request with a new target base due to a > merge or a rebase. The pull request now contains 525 commits: > > - merge latest changes from master branch > - http3: run H3StreamLimitReachedTest.java with > -Djdk.httpclient.http3.maxStreamLimitTimeout=0 too > - retry the ResetControlStream test as needed > - http3: fix pending connection and reconnection on stream limit reached > logic > - http3: pending acknowledgement should be registered before actually > sending the packet > - http3: fix race with ping requests in PacketSpaceManager.java causing > intermittent failures in H3ErrorHandlingTest.java > - http3: improve exceptions in Http3ServerExchange.java > - http3: fix exception handling in CancelRequestTest.java > - http3: review feedback - revert HPACK.java > - Implement X509TrustManagerImpl#checkClientTrusted for QUIC > - ... and 515 more: https://git.openjdk.org/jdk/compare/5a1301df...0229c215 src/java.base/share/classes/sun/security/ssl/KeyShareExtension.java line 49: > 47: static final ExtensionConsumer chOnLoadConsumer = > 48: new CHKeyShareConsumer(); > 49: static final HandshakeAbsence chOnTradeAbsence = Could we fix that one in mainline to remove this file from the PR? src/java.base/share/classes/sun/security/ssl/OutputRecord.java line 168: > 166: throw new UnsupportedOperationException(); > 167: } > 168: Do we need those two methods here? Or could we just have them on `QuicEngineOutputRecord` and do the appropriate cast at the point they are called? Or do we have that at this level for performance reasons? src/java.base/share/classes/sun/security/ssl/PreSharedKeyExtension.java line 61: > 59: static final HandshakeConsumer chOnTradeConsumer = > 60: new CHPreSharedKeyUpdate(); > 61: static final HandshakeAbsence chOnTradeAbsence = Could we bring this change to mainline to remove this file from this PR? ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/24751#discussion_r2169560172 PR Review Comment: https://git.openjdk.org/jdk/pull/24751#discussion_r2169583454 PR Review Comment: https://git.openjdk.org/jdk/pull/24751#discussion_r2169585913