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();
}
}