gfe-relnote: Decouple the QuicSession from the QuicStreamIdManager by introducing a QuicStreamIdManager::DelegateInterface which the session implements. Does not change behavior, merely adds a layer of abstraction which allows unit tests of QuicStreamIdManager to be simplified.
PiperOrigin-RevId: 270302454
Change-Id: I4a66803d4a2f1f640ef68ee6373af9b67423bac4
diff --git a/quic/core/quic_session.cc b/quic/core/quic_session.cc
index 23873d0..9d0c7bf 100644
--- a/quic/core/quic_session.cc
+++ b/quic/core/quic_session.cc
@@ -62,6 +62,7 @@
config_.GetMaxIncomingBidirectionalStreamsToSend()),
v99_streamid_manager_(
this,
+ num_expected_unidirectional_static_streams,
kDefaultMaxStreamsPerConnection,
kDefaultMaxStreamsPerConnection,
config_.GetMaxIncomingBidirectionalStreamsToSend(),
@@ -771,6 +772,12 @@
control_frame_manager_.WriteOrBufferWindowUpdate(id, byte_offset);
}
+void QuicSession::OnError(QuicErrorCode error_code, std::string error_details) {
+ connection_->CloseConnection(
+ error_code, error_details,
+ ConnectionCloseBehavior::SEND_CONNECTION_CLOSE_PACKET);
+}
+
void QuicSession::SendMaxStreams(QuicStreamCount stream_count,
bool unidirectional) {
control_frame_manager_.WriteOrBufferMaxStreams(stream_count, unidirectional);
@@ -1049,6 +1056,7 @@
// STREAMS_BLOCKED or MAX_STREAMS frames against the config and either send
// the frames or discard them.
if (VersionHasIetfQuicFrames(connection_->transport_version())) {
+ QuicConnection::ScopedPacketFlusher flusher(connection());
v99_streamid_manager_.OnConfigNegotiated();
}
}