Retransmit initial data immediately upon receiving RETRY.
This change is IETF QUIC only and client only.
This is a reland of cl/351231997
Protected by quic_reloadable_flag_quic_retransmit_after_receiving_retry.
PiperOrigin-RevId: 351475378
Change-Id: Icc816bbe5e2ff161f4fa3cfab1f222a7ec369fc6
diff --git a/quic/core/quic_sent_packet_manager_test.cc b/quic/core/quic_sent_packet_manager_test.cc
index b2ab341..ad30c41 100644
--- a/quic/core/quic_sent_packet_manager_test.cc
+++ b/quic/core/quic_sent_packet_manager_test.cc
@@ -3898,6 +3898,15 @@
manager_.NeuterUnencryptedPackets();
}
+TEST_F(QuicSentPacketManagerTest, MarkInitialPacketsForRetransmission) {
+ SetQuicReloadableFlag(quic_retransmit_after_receiving_retry, true);
+ SendCryptoPacket(1);
+ SendPingPacket(2, ENCRYPTION_HANDSHAKE);
+ // Only the INITIAL packet will be retransmitted.
+ EXPECT_CALL(notifier_, OnFrameLost(_)).Times(1);
+ manager_.MarkInitialPacketsForRetransmission();
+}
+
TEST_F(QuicSentPacketManagerTest, NoPacketThresholdDetectionForRuntPackets) {
EXPECT_TRUE(
QuicSentPacketManagerPeer::UsePacketThresholdForRuntPackets(&manager_));