Deprecate gfe2_reloabable_flag_quic_can_send_ack_frequency. PiperOrigin-RevId: 778626011
diff --git a/quiche/common/quiche_feature_flags_list.h b/quiche/common/quiche_feature_flags_list.h index 9d27ee1..eb4aecc 100755 --- a/quiche/common/quiche_feature_flags_list.h +++ b/quiche/common/quiche_feature_flags_list.h
@@ -18,7 +18,6 @@ QUICHE_FLAG(bool, quiche_reloadable_flag_quic_bbr2_probe_two_rounds, true, true, "When true, the BB2U copt causes BBR2 to wait two rounds with out draining the queue before exiting PROBE_UP and BB2S has the same effect in STARTUP.") QUICHE_FLAG(bool, quiche_reloadable_flag_quic_bbr2_simplify_inflight_hi, true, true, "When true, the BBHI copt causes QUIC BBRv2 to use a simpler algorithm for raising inflight_hi in PROBE_UP.") QUICHE_FLAG(bool, quiche_reloadable_flag_quic_block_until_settings_received_copt, true, true, "If enabled and a BSUS connection is received, blocks server connections until SETTINGS frame is received.") -QUICHE_FLAG(bool, quiche_reloadable_flag_quic_can_send_ack_frequency, false, false, "If true, ack frequency frame can be sent from server to client.") QUICHE_FLAG(bool, quiche_reloadable_flag_quic_conservative_bursts, false, false, "If true, set burst token to 2 in cwnd bootstrapping experiment.") QUICHE_FLAG(bool, quiche_reloadable_flag_quic_conservative_cwnd_and_pacing_gains, false, false, "If true, uses conservative cwnd gain and pacing gain when cwnd gets bootstrapped.") QUICHE_FLAG(bool, quiche_reloadable_flag_quic_default_enable_5rto_blackhole_detection2, true, true, "If true, default-enable 5RTO blachole detection.")
diff --git a/quiche/quic/core/quic_connection.cc b/quiche/quic/core/quic_connection.cc index 38f2996..7b40eda 100644 --- a/quiche/quic/core/quic_connection.cc +++ b/quiche/quic/core/quic_connection.cc
@@ -3259,7 +3259,6 @@ FirstSendingPacketNumber() + kMinReceivedBeforeAckDecimation; if (should_bundle_ack_frequency) { - QUIC_RELOADABLE_FLAG_COUNT_N(quic_can_send_ack_frequency, 3, 3); ack_frequency_sent_ = true; auto frame = sent_packet_manager_.GetUpdatedAckFrequencyFrame(); visitor_->SendAckFrequency(frame); @@ -4099,7 +4098,6 @@ } if (send_ack_frequency_on_handshake_completion_ && sent_packet_manager_.CanSendAckFrequency()) { - QUIC_RELOADABLE_FLAG_COUNT_N(quic_can_send_ack_frequency, 2, 3); auto ack_frequency_frame = sent_packet_manager_.GetUpdatedAckFrequencyFrame(); // This AckFrequencyFrame is meant to only update the max_ack_delay. All
diff --git a/quiche/quic/core/quic_connection_test.cc b/quiche/quic/core/quic_connection_test.cc index 74060c0..87e13dd 100644 --- a/quiche/quic/core/quic_connection_test.cc +++ b/quiche/quic/core/quic_connection_test.cc
@@ -13267,11 +13267,13 @@ TestConnectionCloseQuicErrorCode(QUIC_AEAD_LIMIT_REACHED); } +// TODO(b/389762349): Re-enable these tests when sending AckFrequency is +// restored. +#if 0 TEST_P(QuicConnectionTest, SendAckFrequencyFrame) { if (!version().HasIetfQuicFrames()) { return; } - SetQuicReloadableFlag(quic_can_send_ack_frequency, true); set_perspective(Perspective::IS_SERVER); EXPECT_CALL(*send_algorithm_, OnCongestionEvent(_, _, _, _, _, _, _)) .Times(AnyNumber()); @@ -13314,7 +13316,6 @@ if (!version().HasIetfQuicFrames()) { return; } - SetQuicReloadableFlag(quic_can_send_ack_frequency, true); set_perspective(Perspective::IS_SERVER); EXPECT_CALL(*send_algorithm_, OnCongestionEvent(_, _, _, _, _, _, _)) .Times(AnyNumber()); @@ -13346,6 +13347,7 @@ EXPECT_EQ(captured_frame.requested_max_ack_delay, QuicTime::Delta::FromMilliseconds(GetDefaultDelayedAckTimeMs())); } +#endif TEST_P(QuicConnectionTest, FastRecoveryOfLostServerHello) { if (!connection_.SupportsMultiplePacketNumberSpaces()) { @@ -14322,12 +14324,14 @@ EXPECT_FALSE(connection_.connected()); } -// Regresstion test for b/175685916 +// TODO(b/389762349): Re-enable these tests when sending AckFrequency is +// restored. +#if 0 +// Regression test for b/175685916 TEST_P(QuicConnectionTest, TryToFlushAckWithAckQueued) { if (!version().HasIetfQuicFrames()) { return; } - SetQuicReloadableFlag(quic_can_send_ack_frequency, true); set_perspective(Perspective::IS_SERVER); QuicConfig config; @@ -14349,6 +14353,7 @@ &SimpleSessionNotifier::WriteOrBufferAckFrequency)); QuicConnectionPeer::SendPing(&connection_); } +#endif TEST_P(QuicConnectionTest, PathChallengeBeforePeerIpAddressChangeAtServer) { set_perspective(Perspective::IS_SERVER);
diff --git a/quiche/quic/core/quic_sent_packet_manager.cc b/quiche/quic/core/quic_sent_packet_manager.cc index 2c60d23..62e879c 100644 --- a/quiche/quic/core/quic_sent_packet_manager.cc +++ b/quiche/quic/core/quic_sent_packet_manager.cc
@@ -131,16 +131,10 @@ peer_max_ack_delay_ = QuicTime::Delta::FromMilliseconds(config.ReceivedMaxAckDelayMs()); } - if (GetQuicReloadableFlag(quic_can_send_ack_frequency) && - perspective == Perspective::IS_SERVER) { - if (config.HasReceivedMinAckDelayDraft10Ms()) { - peer_min_ack_delay_ = QuicTime::Delta::FromMilliseconds( - config.ReceivedMinAckDelayDraft10Ms()); - } - if (config.HasClientSentConnectionOption(kAFF1, perspective)) { - use_smoothed_rtt_in_ack_delay_ = true; - } - } + // TODO(b/389762349): set peer_min_ack_delay_ if + // config.HasReceivedMinAckDelayDraft10Ms(). Set + // use_smoothed_rtt_in_ack_delay_ based on + // config.HasClientSentConnectionOption(kAFF1, perspective). if (config.HasClientSentConnectionOption(kMAD0, perspective)) { ignore_ack_delay_ = true; } @@ -675,7 +669,6 @@ return frame; } - QUIC_RELOADABLE_FLAG_COUNT_N(quic_can_send_ack_frequency, 1, 3); frame.ack_eliciting_threshold = kMaxRetransmittablePacketsBeforeAck; auto rtt = use_smoothed_rtt_in_ack_delay_ ? rtt_stats_.SmoothedOrInitialRtt() : rtt_stats_.MinOrInitialRtt();
diff --git a/quiche/quic/core/quic_sent_packet_manager_test.cc b/quiche/quic/core/quic_sent_packet_manager_test.cc index d7c051b..925c41b 100644 --- a/quiche/quic/core/quic_sent_packet_manager_test.cc +++ b/quiche/quic/core/quic_sent_packet_manager_test.cc
@@ -3120,6 +3120,9 @@ EXPECT_EQ(message_frame->message_length, 0); } +// TODO(b/389762349): Re-enable these tests when sending AckFrequency is +// restored. +#if 0 TEST_F(QuicSentPacketManagerTest, BuildAckFrequencyFrame) { SetQuicReloadableFlag(quic_can_send_ack_frequency, true); EXPECT_CALL(*send_algorithm_, SetFromConfig(_, _)); @@ -3146,6 +3149,7 @@ QuicTime::Delta::FromMilliseconds(1u))); EXPECT_EQ(frame.ack_eliciting_threshold, 10u); } +#endif TEST_F(QuicSentPacketManagerTest, SmoothedRttIgnoreAckDelay) { QuicConfig config; @@ -3259,6 +3263,9 @@ EXPECT_EQ(kTestRTT, manager_.GetRttStats()->latest_rtt()); } +// TODO(b/389762349): Re-enable these tests when sending AckFrequency is +// restored. +#if 0 TEST_F(QuicSentPacketManagerTest, BuildAckFrequencyFrameWithSRTT) { SetQuicReloadableFlag(quic_can_send_ack_frequency, true); EXPECT_CALL(*send_algorithm_, SetFromConfig(_, _)); @@ -3287,6 +3294,7 @@ std::max(rtt_stats->SmoothedOrInitialRtt() * 0.25, QuicTime::Delta::FromMilliseconds(1u))); } +#endif TEST_F(QuicSentPacketManagerTest, SetInitialRtt) { // Upper bounds.