Do not busy loop waiting to process MAX_STREAMS if liveness testing is in progress. PiperOrigin-RevId: 324215585 Change-Id: I7942623b9bb401d3982c644ad45297bb8a01ae06
diff --git a/quic/core/quic_session.h b/quic/core/quic_session.h index b15bb3a..a366ea5 100644 --- a/quic/core/quic_session.h +++ b/quic/core/quic_session.h
@@ -494,6 +494,10 @@ return connection()->helper()->GetClock(); } + bool liveness_testing_in_progress() const { + return liveness_testing_in_progress_; + } + protected: using StreamMap = QuicHashMap<QuicStreamId, std::unique_ptr<QuicStream>>;
diff --git a/quic/tools/quic_spdy_client_base.cc b/quic/tools/quic_spdy_client_base.cc index 6ee3ad6..f7d86aa 100644 --- a/quic/tools/quic_spdy_client_base.cc +++ b/quic/tools/quic_spdy_client_base.cc
@@ -181,7 +181,8 @@ } if (VersionHasIetfQuicFrames(client_session()->transport_version())) { // Process MAX_STREAMS from peer. - while (!client_session()->CanOpenNextOutgoingBidirectionalStream()) { + while (!client_session()->CanOpenNextOutgoingBidirectionalStream() && + !client_session()->liveness_testing_in_progress()) { network_helper()->RunEventLoop(); } }