Appendix C. Change Log¶
-
@@ -1736,8 +1736,9 @@
A sender recomputes and may need to reset its PTO timer every time an
ack-eliciting packet is sent or acknowledged, when the handshake is confirmed,
or when Initial or Handshake keys are discarded. This ensures the PTO is always
-set based on the latest RTT information and for the last sent packet in the
-correct packet number space.¶
+set based on the latest RTT information and for the last sent ack-eliciting
+packet in the correct packet number space. When the PTO expires and there are
+no ack-eliciting packets in flight, the PTO is set from that moment.¶
When ack-eliciting packets in multiple packet number spaces are in flight,
the timer MUST be set for the packet number space with the earliest timeout,
with one exception. The Application Data packet number space (Section 4.1.1
@@ -1806,14 +1807,10 @@
until it is certain that the server has finished its address validation
(see Section 8 of [QUIC-TRANSPORT]). That is, the client MUST set the
probe timer if the client has not received an acknowledgement for one of its
-Handshake or 1-RTT packets, and has not received a HANDSHAKE_DONE frame.
-If Handshake keys are available to the client, it MUST send a Handshake
-packet, and otherwise it MUST send an Initial packet in a UDP datagram of
-at least 1200 bytes.¶
-
A client could have received and acknowledged a Handshake packet, causing it to
-discard state for the Initial packet number space, but not sent any
-ack-eliciting Handshake packets. In this case, the PTO timer is armed from the
-time that the Initial packet number space is discarded.¶
+Handshake or 1-RTT packets and has not received a HANDSHAKE_DONE frame,
+even if there are no packets in flight. When the PTO fires, the client MUST
+send a Handshake packet if it has Handshake keys, otherwise it MUST
+send an Initial packet in a UDP datagram of at least 1200 bytes.¶
@@ -3195,8 +3192,8 @@