gfe-relnote: Reset consecutive_pto_count and loss detection when discarding keys. Protected by existing quic_enable_version_draft_25_v3 and quic_enable_version_draft_27.
PiperOrigin-RevId: 303776374
Change-Id: I01d59ef42e988c3b2a0738c1735bebfa4a61f123
diff --git a/quic/core/quic_sent_packet_manager_test.cc b/quic/core/quic_sent_packet_manager_test.cc
index 573a857..98e6af0 100644
--- a/quic/core/quic_sent_packet_manager_test.cc
+++ b/quic/core/quic_sent_packet_manager_test.cc
@@ -3231,6 +3231,7 @@
// Send packet 4 in application data with 0-RTT.
clock_.AdvanceTime(QuicTime::Delta::FromMilliseconds(10));
SendDataPacket(4, ENCRYPTION_ZERO_RTT);
+ const QuicTime packet4_sent_time = clock_.Now();
// Verify PTO timeout is still based on packet 3.
EXPECT_EQ(packet3_sent_time + expected_pto_delay * 2,
manager_.GetRetransmissionTime());
@@ -3261,8 +3262,9 @@
// Neuter handshake key.
manager_.SetHandshakeConfirmed();
- // Verify PTO timeout remains unchanged.
- EXPECT_EQ(packet6_sent_time + expected_pto_delay * 2,
+ // Forward progress has been made, verify PTO counter gets reset. PTO timeout
+ // is armed by left edge.
+ EXPECT_EQ(packet4_sent_time + expected_pto_delay,
manager_.GetRetransmissionTime());
}