Consult only stream map for gQUIC in QuicSession::GetNumActiveStreams().
Protected by gfe2_reloadable_flag_quic_get_stream_information_from_stream_map
PiperOrigin-RevId: 324887981
Change-Id: I560062234d5c9e6dadb770732e3159b1b77cd52b
diff --git a/quic/core/http/quic_spdy_session.cc b/quic/core/http/quic_spdy_session.cc
index 90304c0..c1b7661 100644
--- a/quic/core/http/quic_spdy_session.cc
+++ b/quic/core/http/quic_spdy_session.cc
@@ -844,10 +844,8 @@
// True if there are open HTTP requests.
bool QuicSpdySession::ShouldKeepConnectionAlive() const {
- if (!VersionUsesHttp3(transport_version())) {
- DCHECK(pending_streams().empty());
- }
- return GetNumActiveStreams() + pending_streams().size() > 0;
+ DCHECK(VersionUsesHttp3(transport_version()) || 0u == pending_streams_size());
+ return GetNumActiveStreams() + pending_streams_size() > 0;
}
bool QuicSpdySession::UsesPendingStreams() const {
diff --git a/quic/core/quic_session.cc b/quic/core/quic_session.cc
index ecfb2b2..f68a9cb 100644
--- a/quic/core/quic_session.cc
+++ b/quic/core/quic_session.cc
@@ -2017,13 +2017,17 @@
}
size_t QuicSession::GetNumActiveStreams() const {
- if (!VersionHasIetfQuicFrames(transport_version())) {
+ if (!VersionHasIetfQuicFrames(transport_version()) &&
+ !GetQuicReloadableFlag(quic_get_stream_information_from_stream_map)) {
// Exclude locally_closed_streams when determine whether to keep connection
// alive.
return stream_id_manager_.num_open_incoming_streams() +
stream_id_manager_.num_open_outgoing_streams() -
locally_closed_streams_highest_offset_.size();
}
+ if (GetQuicReloadableFlag(quic_get_stream_information_from_stream_map)) {
+ QUIC_RELOADABLE_FLAG_COUNT(quic_get_stream_information_from_stream_map);
+ }
DCHECK_GE(static_cast<QuicStreamCount>(stream_map_.size()),
num_static_streams_ + num_draining_streams_ + num_zombie_streams_);
return stream_map_.size() - num_draining_streams_ - num_static_streams_ -
diff --git a/quic/core/quic_session.h b/quic/core/quic_session.h
index 0f53f09..9bb05ff 100644
--- a/quic/core/quic_session.h
+++ b/quic/core/quic_session.h
@@ -570,9 +570,7 @@
// TODO(b/136274541): remove this getter and only expose GetNumActiveStreams()
size_t stream_map_size() const { return stream_map_.size(); }
- const PendingStreamMap& pending_streams() const {
- return pending_stream_map_;
- }
+ size_t pending_streams_size() const { return pending_stream_map_.size(); }
ClosedStreams* closed_streams() { return &closed_streams_; }