Enable IETF QUIC for more gfe/gfe2/e2e tests. Also let quic_spdy_client process MAX_STREAMS if it cannot open new streams.
gfe-relnote: n/a (test only)
PiperOrigin-RevId: 303384725
Change-Id: Iff726ab1a55de0a521e287434bfbae2b3548cc8b
diff --git a/quic/core/http/quic_spdy_client_session.h b/quic/core/http/quic_spdy_client_session.h
index 32424ea..e8171ba 100644
--- a/quic/core/http/quic_spdy_client_session.h
+++ b/quic/core/http/quic_spdy_client_session.h
@@ -71,6 +71,8 @@
int GetNumReceivedServerConfigUpdates() const;
+ using QuicSession::CanOpenNextOutgoingBidirectionalStream;
+
void set_respect_goaway(bool respect_goaway) {
respect_goaway_ = respect_goaway;
}
diff --git a/quic/tools/quic_spdy_client_base.cc b/quic/tools/quic_spdy_client_base.cc
index b4d4382..a944d60 100644
--- a/quic/tools/quic_spdy_client_base.cc
+++ b/quic/tools/quic_spdy_client_base.cc
@@ -180,7 +180,12 @@
if (!connected()) {
return nullptr;
}
-
+ if (VersionHasIetfQuicFrames(client_session()->transport_version())) {
+ // Process MAX_STREAMS from peer.
+ while (!client_session()->CanOpenNextOutgoingBidirectionalStream()) {
+ network_helper()->RunEventLoop();
+ }
+ }
auto* stream = static_cast<QuicSpdyClientStream*>(
client_session()->CreateOutgoingBidirectionalStream());
if (stream) {