Remove QuicSession::num_active_request() and allow subclasses to account the number of request individually.

gfe-relnote: n/a - code refactor.
PiperOrigin-RevId: 237508966
Change-Id: Id33ba212a4cfbd73f07264d5f6bcf95908fe772b
diff --git a/quic/core/http/quic_spdy_client_session_base.cc b/quic/core/http/quic_spdy_client_session_base.cc
index 5a8fe8d..924ab36 100644
--- a/quic/core/http/quic_spdy_client_session_base.cc
+++ b/quic/core/http/quic_spdy_client_session_base.cc
@@ -203,7 +203,7 @@
 }
 
 bool QuicSpdyClientSessionBase::ShouldReleaseHeadersStreamSequencerBuffer() {
-  return num_active_requests() == 0 && promised_by_id_.empty();
+  return !HasActiveRequestStreams() && promised_by_id_.empty();
 }
 
 }  // namespace quic
diff --git a/quic/core/http/quic_spdy_session.cc b/quic/core/http/quic_spdy_session.cc
index 01e630d..ddae51a 100644
--- a/quic/core/http/quic_spdy_session.cc
+++ b/quic/core/http/quic_spdy_session.cc
@@ -693,4 +693,9 @@
       error, details, ConnectionCloseBehavior::SEND_CONNECTION_CLOSE_PACKET);
 }
 
+bool QuicSpdySession::HasActiveRequestStreams() const {
+  // TODO(renjietang): Exclude static streams.
+  return !dynamic_streams().empty();
+}
+
 }  // namespace quic
diff --git a/quic/core/http/quic_spdy_session.h b/quic/core/http/quic_spdy_session.h
index 00f241e..93067fa 100644
--- a/quic/core/http/quic_spdy_session.h
+++ b/quic/core/http/quic_spdy_session.h
@@ -159,6 +159,9 @@
     max_inbound_header_list_size_ = max_inbound_header_list_size;
   }
 
+  // Returns true if the session has active request streams.
+  bool HasActiveRequestStreams() const;
+
  protected:
   // Override CreateIncomingStream(), CreateOutgoingBidirectionalStream() and
   // CreateOutgoingUnidirectionalStream() with QuicSpdyStream return type to
diff --git a/quic/core/quic_session.h b/quic/core/quic_session.h
index 8976842..6cd766f 100644
--- a/quic/core/quic_session.h
+++ b/quic/core/quic_session.h
@@ -275,7 +275,6 @@
 
   QuicConnection* connection() { return connection_; }
   const QuicConnection* connection() const { return connection_; }
-  size_t num_active_requests() const { return dynamic_stream_map_.size(); }
   const QuicSocketAddress& peer_address() const {
     return connection_->peer_address();
   }