deprecate gfe2_reloadable_flag_quic_remove_streams_waiting_for_acks.

PiperOrigin-RevId: 331017437
Change-Id: I5dc87c2a3528ddc6aaabe1f7d975e8586fa0c3e8
diff --git a/quic/core/quic_session.cc b/quic/core/quic_session.cc
index 462e073..f0b9d92 100644
--- a/quic/core/quic_session.cc
+++ b/quic/core/quic_session.cc
@@ -101,12 +101,10 @@
       enable_round_robin_scheduling_(false),
       was_zero_rtt_rejected_(false),
       liveness_testing_in_progress_(false),
-      remove_streams_waiting_for_acks_(
-          GetQuicReloadableFlag(quic_remove_streams_waiting_for_acks)),
       do_not_use_stream_map_(GetQuicReloadableFlag(quic_do_not_use_stream_map)),
       remove_zombie_streams_(
           GetQuicReloadableFlag(quic_remove_zombie_streams) &&
-          do_not_use_stream_map_ && remove_streams_waiting_for_acks_) {
+          do_not_use_stream_map_) {
   closed_streams_clean_up_alarm_ =
       QuicWrapUnique<QuicAlarm>(connection_->alarm_factory()->CreateAlarm(
           new ClosedStreamsCleanUpDelegate(this)));
@@ -933,12 +931,6 @@
       zombie_streams_[stream_id] = std::move(it->second);
     }
   } else {
-    // Clean up the stream since it is no longer waiting for acks.
-    if (remove_streams_waiting_for_acks_) {
-      QUIC_RELOADABLE_FLAG_COUNT_N(quic_remove_streams_waiting_for_acks, 1, 4);
-    } else {
-      streams_waiting_for_acks_.erase(stream_id);
-    }
     closed_streams_.push_back(std::move(it->second));
     if (remove_zombie_streams_) {
       // When zombie_streams_ is removed, stream is only erased from stream map
@@ -2073,12 +2065,6 @@
 }
 
 void QuicSession::OnStreamDoneWaitingForAcks(QuicStreamId id) {
-  if (remove_streams_waiting_for_acks_) {
-    QUIC_RELOADABLE_FLAG_COUNT_N(quic_remove_streams_waiting_for_acks, 2, 4);
-  } else {
-    streams_waiting_for_acks_.erase(id);
-  }
-
   if (!remove_zombie_streams_) {
     auto it = zombie_streams_.find(id);
     if (it == zombie_streams_.end()) {
@@ -2105,31 +2091,6 @@
   streams_with_pending_retransmission_.erase(id);
 }
 
-void QuicSession::OnStreamWaitingForAcks(QuicStreamId id) {
-  if (remove_streams_waiting_for_acks_) {
-    QUIC_RELOADABLE_FLAG_COUNT_N(quic_remove_streams_waiting_for_acks, 3, 4);
-    return;
-  }
-  // Exclude crypto stream's status since it is counted in HasUnackedCryptoData.
-  if (GetCryptoStream() != nullptr && id == GetCryptoStream()->id()) {
-    return;
-  }
-
-  streams_waiting_for_acks_.insert(id);
-
-  // The number of the streams waiting for acks should not be larger than the
-  // number of streams.
-  DCHECK(!remove_zombie_streams_ || zombie_streams_.empty());
-  if (static_cast<size_t>(stream_map_.size() + zombie_streams_.size()) <
-      streams_waiting_for_acks_.size()) {
-    QUIC_BUG << "More streams are waiting for acks than the number of streams. "
-             << "Sizes: streams: " << stream_map_.size()
-             << ", zombie streams: " << zombie_streams_.size()
-             << ", vs streams waiting for acks: "
-             << streams_waiting_for_acks_.size();
-  }
-}
-
 QuicStream* QuicSession::GetStream(QuicStreamId id) const {
   auto active_stream = stream_map_.find(id);
   if (active_stream != stream_map_.end()) {
@@ -2282,10 +2243,6 @@
 }
 
 bool QuicSession::HasUnackedStreamData() const {
-  if (!remove_streams_waiting_for_acks_) {
-    return !streams_waiting_for_acks_.empty();
-  }
-  QUIC_RELOADABLE_FLAG_COUNT_N(quic_remove_streams_waiting_for_acks, 4, 4);
   DCHECK(!remove_zombie_streams_ || zombie_streams_.empty());
   if (!zombie_streams().empty()) {
     return true;
diff --git a/quic/core/quic_session.h b/quic/core/quic_session.h
index 14a46dd..7a8c2c1 100644
--- a/quic/core/quic_session.h
+++ b/quic/core/quic_session.h
@@ -346,10 +346,6 @@
   // TODO(b/136274541): rename to CloseZombieStreams.
   void OnStreamDoneWaitingForAcks(QuicStreamId id);
 
-  // TODO(b/136274541): Remove this once quic_remove_streams_waiting_for_acks is
-  // deprecated. Called when stream |id| is newly waiting for acks.
-  void OnStreamWaitingForAcks(QuicStreamId id);
-
   // Returns true if there is pending handshake data in the crypto stream.
   // TODO(ianswett): Make this private or remove.
   bool HasPendingHandshake() const;
@@ -768,11 +764,6 @@
   // which are waiting for the first byte of payload to arrive.
   PendingStreamMap pending_stream_map_;
 
-  // TODO(b/136274541): Remove this once quic_remove_streams_waiting_for_acks is
-  // deprecated. Set of stream ids that are waiting for acks excluding crypto
-  // stream id.
-  QuicHashSet<QuicStreamId> streams_waiting_for_acks_;
-
   // TODO(fayang): Consider moving LegacyQuicStreamIdManager into
   // UberQuicStreamIdManager.
   // Manages stream IDs for Google QUIC.
@@ -856,9 +847,6 @@
   // creation of new outgoing bidirectional streams.
   bool liveness_testing_in_progress_;
 
-  // Latched value of flag quic_remove_streams_waiting_for_acks.
-  const bool remove_streams_waiting_for_acks_;
-
   // Latched value of flag quic_do_not_use_stream_map.
   const bool do_not_use_stream_map_;
 
diff --git a/quic/core/quic_stream.cc b/quic/core/quic_stream.cc
index 0271352..9849239 100644
--- a/quic/core/quic_stream.cc
+++ b/quic/core/quic_stream.cc
@@ -1215,10 +1215,6 @@
   if (consumed_data.bytes_consumed > 0 || consumed_data.fin_consumed) {
     busy_counter_ = 0;
   }
-
-  if (IsWaitingForAcks()) {
-    session_->OnStreamWaitingForAcks(id_);
-  }
 }
 
 uint64_t QuicStream::BufferedDataBytes() const {