Deprecate gfe2_reloadable_flag_quic_simplify_received_packet_manager_ack &
gfe2_reloadable_flag_quic_remove_unused_ack_options.

PiperOrigin-RevId: 330594392
Change-Id: Id628288b713fef6af670363523941d504c2f12ed
diff --git a/quic/core/quic_received_packet_manager.cc b/quic/core/quic_received_packet_manager.cc
index 539cdce..1c9218a 100644
--- a/quic/core/quic_received_packet_manager.cc
+++ b/quic/core/quic_received_packet_manager.cc
@@ -41,13 +41,11 @@
       time_largest_observed_(QuicTime::Zero()),
       save_timestamps_(false),
       stats_(stats),
-      ack_mode_(ACK_DECIMATION),
       num_retransmittable_packets_received_since_last_ack_sent_(0),
       min_received_before_ack_decimation_(kMinReceivedBeforeAckDecimation),
       ack_frequency_(kDefaultRetransmittablePacketsBeforeAck),
       ack_decimation_delay_(kAckDecimationDelay),
       unlimited_ack_decimation_(false),
-      fast_ack_after_quiescence_(false),
       one_immediate_ack_(false),
       local_max_ack_delay_(
           QuicTime::Delta::FromMilliseconds(kDefaultDelayedAckTimeMs)),
@@ -59,40 +57,12 @@
 
 void QuicReceivedPacketManager::SetFromConfig(const QuicConfig& config,
                                               Perspective perspective) {
-  if (remove_unused_ack_options_) {
-    QUIC_RELOADABLE_FLAG_COUNT(quic_remove_unused_ack_options);
-  }
-  if (!remove_unused_ack_options_) {
-    if (config.HasClientSentConnectionOption(kACD0, perspective)) {
-      ack_mode_ = TCP_ACKING;
-    }
-    if (config.HasClientSentConnectionOption(kACKD, perspective)) {
-      ack_mode_ = ACK_DECIMATION;
-    }
-    if (config.HasClientSentConnectionOption(kAKD2, perspective)) {
-      ack_mode_ = ACK_DECIMATION_WITH_REORDERING;
-    }
-  }
   if (config.HasClientSentConnectionOption(kAKD3, perspective)) {
-    if (!remove_unused_ack_options_) {
-      ack_mode_ = ACK_DECIMATION;
-    }
     ack_decimation_delay_ = kShortAckDecimationDelay;
   }
-  if (!remove_unused_ack_options_) {
-    if (config.HasClientSentConnectionOption(kAKD4, perspective)) {
-      ack_mode_ = ACK_DECIMATION_WITH_REORDERING;
-      ack_decimation_delay_ = kShortAckDecimationDelay;
-    }
-  }
   if (config.HasClientSentConnectionOption(kAKDU, perspective)) {
     unlimited_ack_decimation_ = true;
   }
-  if (!remove_unused_ack_options_) {
-    if (config.HasClientSentConnectionOption(kACKQ, perspective)) {
-      fast_ack_after_quiescence_ = true;
-    }
-  }
   if (config.HasClientSentConnectionOption(k1ACK, perspective)) {
     one_immediate_ack_ = true;
   }
@@ -224,7 +194,6 @@
 QuicTime::Delta QuicReceivedPacketManager::GetMaxAckDelay(
     QuicPacketNumber last_received_packet_number,
     const RttStats& rtt_stats) const {
-  DCHECK(simplify_received_packet_manager_ack_);
   if (last_received_packet_number <
       PeerFirstSendingPacketNumber() + min_received_before_ack_decimation_) {
     return local_max_ack_delay_;
@@ -243,7 +212,6 @@
 
 void QuicReceivedPacketManager::MaybeUpdateAckFrequency(
     QuicPacketNumber last_received_packet_number) {
-  DCHECK(simplify_received_packet_manager_ack_);
   if (last_received_packet_number <
       PeerFirstSendingPacketNumber() + min_received_before_ack_decimation_) {
     return;
@@ -256,7 +224,6 @@
 void QuicReceivedPacketManager::MaybeUpdateAckTimeout(
     bool should_last_packet_instigate_acks,
     QuicPacketNumber last_received_packet_number,
-    QuicTime time_of_last_received_packet,
     QuicTime now,
     const RttStats* rtt_stats) {
   if (!ack_frame_updated_) {
@@ -278,85 +245,20 @@
 
   ++num_retransmittable_packets_received_since_last_ack_sent_;
 
-  if (simplify_received_packet_manager_ack_) {
-    QUIC_RELOADABLE_FLAG_COUNT(quic_simplify_received_packet_manager_ack);
-    MaybeUpdateAckFrequency(last_received_packet_number);
-    if (num_retransmittable_packets_received_since_last_ack_sent_ >=
-        ack_frequency_) {
-      ack_timeout_ = now;
-      return;
-    }
-
-    if (HasNewMissingPackets()) {
-      ack_timeout_ = now;
-      return;
-    }
-
-    MaybeUpdateAckTimeoutTo(
-        now + GetMaxAckDelay(last_received_packet_number, *rtt_stats));
+  MaybeUpdateAckFrequency(last_received_packet_number);
+  if (num_retransmittable_packets_received_since_last_ack_sent_ >=
+      ack_frequency_) {
+    ack_timeout_ = now;
     return;
   }
 
-  if (ack_mode_ != TCP_ACKING &&
-      last_received_packet_number >= PeerFirstSendingPacketNumber() +
-                                         min_received_before_ack_decimation_) {
-    // Ack up to 10 packets at once unless ack decimation is unlimited.
-    if (!unlimited_ack_decimation_ &&
-        num_retransmittable_packets_received_since_last_ack_sent_ >=
-            kMaxRetransmittablePacketsBeforeAck) {
-      ack_timeout_ = now;
-      return;
-    }
-    // Wait for the minimum of the ack decimation delay or the delayed ack time
-    // before sending an ack.
-    QuicTime::Delta ack_delay = std::min(
-        local_max_ack_delay_, rtt_stats->min_rtt() * ack_decimation_delay_);
-    if (GetQuicReloadableFlag(quic_ack_delay_alarm_granularity)) {
-      QUIC_RELOADABLE_FLAG_COUNT(quic_ack_delay_alarm_granularity);
-      ack_delay = std::max(ack_delay, kAlarmGranularity);
-    }
-    if (fast_ack_after_quiescence_ && now - time_of_previous_received_packet_ >
-                                          rtt_stats->SmoothedOrInitialRtt()) {
-      // Ack the first packet out of queiscence faster, because QUIC does
-      // not pace the first few packets and commonly these may be handshake
-      // or TLP packets, which we'd like to acknowledge quickly.
-      ack_delay = kAlarmGranularity;
-    }
-    MaybeUpdateAckTimeoutTo(now + ack_delay);
-  } else {
-    // Ack with a timer or every 2 packets by default.
-    if (num_retransmittable_packets_received_since_last_ack_sent_ >=
-        ack_frequency_) {
-      ack_timeout_ = now;
-    } else if (fast_ack_after_quiescence_ &&
-               (now - time_of_previous_received_packet_) >
-                   rtt_stats->SmoothedOrInitialRtt()) {
-      // Ack the first packet out of queiscence faster, because QUIC does
-      // not pace the first few packets and commonly these may be handshake
-      // or TLP packets, which we'd like to acknowledge quickly.
-      MaybeUpdateAckTimeoutTo(now + kAlarmGranularity);
-    } else {
-      MaybeUpdateAckTimeoutTo(now + local_max_ack_delay_);
-    }
-  }
-
-  // If there are new missing packets to report, send an ack immediately.
   if (HasNewMissingPackets()) {
-    // TODO(haoyuewang) Remove ACK_DECIMATION_WITH_REORDERING after
-    // quic_remove_unused_ack_options is deprecated.
-    if (ack_mode_ == ACK_DECIMATION_WITH_REORDERING) {
-      DCHECK(!remove_unused_ack_options_);
-      // Wait the minimum of an eighth min_rtt and the existing ack time.
-      QuicTime ack_time = now + kShortAckDecimationDelay * rtt_stats->min_rtt();
-      MaybeUpdateAckTimeoutTo(ack_time);
-    } else {
-      ack_timeout_ = now;
-    }
+    ack_timeout_ = now;
+    return;
   }
 
-  if (fast_ack_after_quiescence_) {
-    time_of_previous_received_packet_ = time_of_last_received_packet;
-  }
+  MaybeUpdateAckTimeoutTo(
+      now + GetMaxAckDelay(last_received_packet_number, *rtt_stats));
 }
 
 void QuicReceivedPacketManager::ResetAckStates() {