Add version guard to QuicUtil methods which are IETF QUIC only.
This includes some minor method parameter changes along the way.
No behavior change. not protected.
PiperOrigin-RevId: 317388565
Change-Id: Ia73f1028212a318d4640afa2fbdd0239e095e1f2
diff --git a/quic/core/http/quic_spdy_client_session.cc b/quic/core/http/quic_spdy_client_session.cc
index 7440edc..78b6a56 100644
--- a/quic/core/http/quic_spdy_client_session.cc
+++ b/quic/core/http/quic_spdy_client_session.cc
@@ -152,7 +152,7 @@
}
if (VersionHasIetfQuicFrames(transport_version()) &&
- QuicUtils::IsBidirectionalStreamId(id)) {
+ QuicUtils::IsBidirectionalStreamId(id, version())) {
connection()->CloseConnection(
QUIC_HTTP_SERVER_INITIATED_BIDIRECTIONAL_STREAM,
"Server created bidirectional stream.",
diff --git a/quic/core/http/quic_spdy_client_session_test.cc b/quic/core/http/quic_spdy_client_session_test.cc
index 6408667..d5481b5 100644
--- a/quic/core/http/quic_spdy_client_session_test.cc
+++ b/quic/core/http/quic_spdy_client_session_test.cc
@@ -98,6 +98,7 @@
client_session_cache_ = client_cache.get();
SetQuicReloadableFlag(quic_enable_tls_resumption, true);
SetQuicReloadableFlag(quic_enable_zero_rtt_for_tls, true);
+ SetQuicReloadableFlag(quic_fix_gquic_stream_type, true);
client_crypto_config_ = std::make_unique<QuicCryptoClientConfig>(
crypto_test_utils::ProofVerifierForTesting(), std::move(client_cache));
server_crypto_config_ = crypto_test_utils::CryptoServerConfigForTesting();
@@ -1179,8 +1180,6 @@
return;
}
- SetQuicReloadableFlag(quic_fix_gquic_stream_type, true);
-
CompleteFirstConnection();
// Create a second connection, but disable 0-RTT on the server.
diff --git a/quic/core/http/quic_spdy_session.cc b/quic/core/http/quic_spdy_session.cc
index e69a051..08f82c8 100644
--- a/quic/core/http/quic_spdy_session.cc
+++ b/quic/core/http/quic_spdy_session.cc
@@ -558,7 +558,7 @@
bool QuicSpdySession::OnPriorityUpdateForRequestStream(QuicStreamId stream_id,
int urgency) {
if (perspective() == Perspective::IS_CLIENT ||
- !QuicUtils::IsBidirectionalStreamId(stream_id) ||
+ !QuicUtils::IsBidirectionalStreamId(stream_id, version()) ||
!QuicUtils::IsClientInitiatedStreamId(transport_version(), stream_id)) {
return true;
}
@@ -657,7 +657,7 @@
void QuicSpdySession::OnHttp3GoAway(QuicStreamId stream_id) {
DCHECK_EQ(perspective(), Perspective::IS_CLIENT);
- if (!QuicUtils::IsBidirectionalStreamId(stream_id) ||
+ if (!QuicUtils::IsBidirectionalStreamId(stream_id, version()) ||
IsIncomingStream(stream_id)) {
CloseConnectionWithDetails(
QUIC_INVALID_STREAM_ID,
diff --git a/quic/core/http/quic_spdy_session_test.cc b/quic/core/http/quic_spdy_session_test.cc
index b391c06..b2bcaa3 100644
--- a/quic/core/http/quic_spdy_session_test.cc
+++ b/quic/core/http/quic_spdy_session_test.cc
@@ -251,9 +251,8 @@
} else {
TestStream* stream = new TestStream(
id, this,
- DetermineStreamType(id, connection()->transport_version(),
- perspective(), /*is_incoming=*/true,
- BIDIRECTIONAL));
+ DetermineStreamType(id, connection()->version(), perspective(),
+ /*is_incoming=*/true, BIDIRECTIONAL));
ActivateStream(QuicWrapUnique(stream));
return stream;
}
@@ -261,11 +260,10 @@
TestStream* CreateIncomingStream(PendingStream* pending) override {
QuicStreamId id = pending->id();
- TestStream* stream =
- new TestStream(pending, this,
- DetermineStreamType(
- id, connection()->transport_version(), perspective(),
- /*is_incoming=*/true, BIDIRECTIONAL));
+ TestStream* stream = new TestStream(
+ pending, this,
+ DetermineStreamType(id, connection()->version(), perspective(),
+ /*is_incoming=*/true, BIDIRECTIONAL));
ActivateStream(QuicWrapUnique(stream));
return stream;
}