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,