gfe-relnote: Remove num_expected_static_streams_ from QuicStreamIdManager. Protected by disabled flags quic_enable_version_q099 and quic_enable_version_t099.
PiperOrigin-RevId: 284800705
Change-Id: I59704833d2030bf477f47d11de0fd9826dd15e27
diff --git a/quic/core/quic_session.cc b/quic/core/quic_session.cc
index 2b50ebc..60fea01 100644
--- a/quic/core/quic_session.cc
+++ b/quic/core/quic_session.cc
@@ -67,7 +67,6 @@
perspective(),
connection->version(),
this,
- num_expected_unidirectional_static_streams,
kDefaultMaxStreamsPerConnection,
kDefaultMaxStreamsPerConnection,
config_.GetMaxIncomingBidirectionalStreamsToSend(),
@@ -999,6 +998,15 @@
if (config_.HasReceivedMaxIncomingUnidirectionalStreams()) {
max_streams = config_.ReceivedMaxIncomingUnidirectionalStreams();
}
+ if (max_streams < num_expected_unidirectional_static_streams_) {
+ // TODO(ianswett): Change this to an application error for HTTP/3.
+ QUIC_DLOG(ERROR) << "Received unidirectional stream limit of "
+ << max_streams << " < "
+ << num_expected_unidirectional_static_streams_;
+ connection_->CloseConnection(
+ QUIC_MAX_STREAMS_ERROR, "New unidirectional stream limit is too low.",
+ ConnectionCloseBehavior::SEND_CONNECTION_CLOSE_PACKET);
+ }
QUIC_DVLOG(1) << ENDPOINT
<< "Setting Unidirectional outgoing_max_streams_ to "
<< max_streams;
diff --git a/quic/core/quic_stream_id_manager.cc b/quic/core/quic_stream_id_manager.cc
index b39d85e..d9f3477 100644
--- a/quic/core/quic_stream_id_manager.cc
+++ b/quic/core/quic_stream_id_manager.cc
@@ -24,14 +24,12 @@
bool unidirectional,
Perspective perspective,
QuicTransportVersion transport_version,
- QuicStreamCount num_expected_static_streams,
QuicStreamCount max_allowed_outgoing_streams,
QuicStreamCount max_allowed_incoming_streams)
: delegate_(delegate),
unidirectional_(unidirectional),
perspective_(perspective),
transport_version_(transport_version),
- num_expected_static_streams_(num_expected_static_streams),
is_config_negotiated_(false),
outgoing_max_streams_(max_allowed_outgoing_streams),
next_outgoing_stream_id_(GetFirstOutgoingStreamId()),
@@ -96,16 +94,6 @@
// Used when configuration has been done and we have an initial
// maximum stream count from the peer.
bool QuicStreamIdManager::SetMaxOpenOutgoingStreams(size_t max_open_streams) {
- if (max_open_streams < num_expected_static_streams_) {
- QUIC_DLOG(ERROR) << "Received max streams " << max_open_streams << " < "
- << num_expected_static_streams_;
- delegate_->OnError(QUIC_MAX_STREAMS_ERROR,
- unidirectional_
- ? "New unidirectional stream limit is too low."
- : "New bidirectional stream limit is too low.");
-
- return false;
- }
if (using_default_max_streams_) {
// This is the first MAX_STREAMS/transport negotiation we've received. Treat
// this a bit differently than later ones. The difference is that
diff --git a/quic/core/quic_stream_id_manager.h b/quic/core/quic_stream_id_manager.h
index e39e14f..f1b6556 100644
--- a/quic/core/quic_stream_id_manager.h
+++ b/quic/core/quic_stream_id_manager.h
@@ -58,7 +58,6 @@
bool unidirectional,
Perspective perspective,
QuicTransportVersion transport_version,
- QuicStreamCount num_expected_static_streams,
QuicStreamCount max_allowed_outgoing_streams,
QuicStreamCount max_allowed_incoming_streams);
@@ -213,9 +212,6 @@
// Transport version used for this manager.
const QuicTransportVersion transport_version_;
- // Number of expected static streams.
- const QuicStreamCount num_expected_static_streams_;
-
// True if the config has been negotiated_;
bool is_config_negotiated_;
diff --git a/quic/core/quic_stream_id_manager_test.cc b/quic/core/quic_stream_id_manager_test.cc
index 2ff55be..6916ba8 100644
--- a/quic/core/quic_stream_id_manager_test.cc
+++ b/quic/core/quic_stream_id_manager_test.cc
@@ -63,7 +63,6 @@
IsUnidirectional(),
perspective(),
transport_version(),
- 0,
kDefaultMaxStreamsPerConnection,
kDefaultMaxStreamsPerConnection) {
DCHECK(VersionHasIetfQuicFrames(transport_version()));
diff --git a/quic/core/uber_quic_stream_id_manager.cc b/quic/core/uber_quic_stream_id_manager.cc
index 3fb5be8..6d1121a 100644
--- a/quic/core/uber_quic_stream_id_manager.cc
+++ b/quic/core/uber_quic_stream_id_manager.cc
@@ -13,7 +13,6 @@
Perspective perspective,
ParsedQuicVersion version,
QuicStreamIdManager::DelegateInterface* delegate,
- QuicStreamCount num_expected_unidirectiona_static_streams,
QuicStreamCount max_open_outgoing_bidirectional_streams,
QuicStreamCount max_open_outgoing_unidirectional_streams,
QuicStreamCount max_open_incoming_bidirectional_streams,
@@ -22,7 +21,6 @@
/*unidirectional=*/false,
perspective,
version.transport_version,
- 0,
max_open_outgoing_bidirectional_streams,
max_open_incoming_bidirectional_streams),
unidirectional_stream_id_manager_(
@@ -30,7 +28,6 @@
/*unidirectional=*/true,
perspective,
version.transport_version,
- num_expected_unidirectiona_static_streams,
max_open_outgoing_unidirectional_streams,
max_open_incoming_unidirectional_streams) {}
diff --git a/quic/core/uber_quic_stream_id_manager.h b/quic/core/uber_quic_stream_id_manager.h
index 75fcb9d..13aa1b5 100644
--- a/quic/core/uber_quic_stream_id_manager.h
+++ b/quic/core/uber_quic_stream_id_manager.h
@@ -24,7 +24,6 @@
Perspective perspective,
ParsedQuicVersion version,
QuicStreamIdManager::DelegateInterface* delegate,
- QuicStreamCount num_expected_unidirectional_static_streams,
QuicStreamCount max_open_outgoing_bidirectional_streams,
QuicStreamCount max_open_outgoing_unidirectional_streams,
QuicStreamCount max_open_incoming_bidirectional_streams,
diff --git a/quic/core/uber_quic_stream_id_manager_test.cc b/quic/core/uber_quic_stream_id_manager_test.cc
index 265756f..fca11a9 100644
--- a/quic/core/uber_quic_stream_id_manager_test.cc
+++ b/quic/core/uber_quic_stream_id_manager_test.cc
@@ -33,7 +33,6 @@
: manager_(perspective(),
version(),
&delegate_,
- /*num_expected_unidirectional_static_streams=*/0,
kDefaultMaxStreamsPerConnection,
kDefaultMaxStreamsPerConnection,
kDefaultMaxStreamsPerConnection,