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_; }