On Wed, 17 Dec 2025 17:56:06 GMT, Daniel Fuchs <[email protected]> wrote:

>> When a QUIC connection receives a CONNECTION_CLOSE frame, it is supposed to 
>> enter the draining state, where all incoming (reordered / replayed) packets 
>> are silently discarded. However, the current implementation removes the 
>> connection from the endpoint, and reordered/replayed packets trigger sending 
>> of a stateless reset instead. This patch fixes that issue.
>> 
>> I modified the `StatelessResetReceiptTest` to verify that the connection is 
>> still registered with the endpoint after it enters the draining state. The 
>> new test fails (most of the time) without the fix, passes with the fix.
>> 
>> Existing httpclient tests continue to pass.
>
> Looks good to me. We now only enter draining when we receive 
> ConnectionCloseFrame, if we haven't sent ConnectionCloseFrame already.
> If we are already in draining state, nothing to do.
> If we are already in closing state, then we stay in closing state.
> Looks good.

Thanks @dfuch for the review.

-------------

PR Comment: https://git.openjdk.org/jdk/pull/28874#issuecomment-3670253507

Reply via email to