gfe-relnote: Use IETF loss detection for T099. Not used in prod, not protected. PiperOrigin-RevId: 269891154 Change-Id: Ic65bba9709fde1dfa6c310ae65c1d31af6401b4b
diff --git a/quic/core/quic_connection.cc b/quic/core/quic_connection.cc index 6f1b4d5..b9f56ee 100644 --- a/quic/core/quic_connection.cc +++ b/quic/core/quic_connection.cc
@@ -3610,7 +3610,7 @@ sent_packet_manager_.SetSessionDecideWhatToWrite( enable_session_decides_what_to_write); if (version().SupportsAntiAmplificationLimit()) { - sent_packet_manager_.DisableHandshakeMode(); + sent_packet_manager_.EnableIetfPtoAndLossDetection(); } packet_generator_.SetCanSetTransmissionType( enable_session_decides_what_to_write);
diff --git a/quic/core/quic_sent_packet_manager.cc b/quic/core/quic_sent_packet_manager.cc index 8731306..132eb0a 100644 --- a/quic/core/quic_sent_packet_manager.cc +++ b/quic/core/quic_sent_packet_manager.cc
@@ -970,11 +970,12 @@ pending_timer_transmission_count_ = 1; } -void QuicSentPacketManager::DisableHandshakeMode() { +void QuicSentPacketManager::EnableIetfPtoAndLossDetection() { DCHECK(session_decides_what_to_write()); fix_rto_retransmission_ = true; pto_enabled_ = true; handshake_mode_disabled_ = true; + uber_loss_algorithm_.SetLossDetectionType(kIetfLossDetection); } QuicSentPacketManager::RetransmissionTimeoutMode
diff --git a/quic/core/quic_sent_packet_manager.h b/quic/core/quic_sent_packet_manager.h index 0199648..352ca31 100644 --- a/quic/core/quic_sent_packet_manager.h +++ b/quic/core/quic_sent_packet_manager.h
@@ -419,7 +419,8 @@ void AdjustPendingTimerTransmissions(); // Called to disable HANDSHAKE_MODE, and only PTO and LOSS modes are used. - void DisableHandshakeMode(); + // Also enable IETF loss detection. + void EnableIetfPtoAndLossDetection(); bool supports_multiple_packet_number_spaces() const { return unacked_packets_.supports_multiple_packet_number_spaces();
diff --git a/quic/core/quic_sent_packet_manager_test.cc b/quic/core/quic_sent_packet_manager_test.cc index e787715..4f6412a 100644 --- a/quic/core/quic_sent_packet_manager_test.cc +++ b/quic/core/quic_sent_packet_manager_test.cc
@@ -3179,7 +3179,7 @@ TEST_P(QuicSentPacketManagerTest, DisableHandshakeModeClient) { QuicSentPacketManagerPeer::SetPerspective(&manager_, Perspective::IS_CLIENT); manager_.SetSessionDecideWhatToWrite(true); - manager_.DisableHandshakeMode(); + manager_.EnableIetfPtoAndLossDetection(); // Send CHLO. SendCryptoPacket(1); EXPECT_NE(QuicTime::Zero(), manager_.GetRetransmissionTime()); @@ -3202,7 +3202,7 @@ TEST_P(QuicSentPacketManagerTest, DisableHandshakeModeServer) { manager_.SetSessionDecideWhatToWrite(true); - manager_.DisableHandshakeMode(); + manager_.EnableIetfPtoAndLossDetection(); // Send SHLO. SendCryptoPacket(1); EXPECT_NE(QuicTime::Zero(), manager_.GetRetransmissionTime());