In quic, stop sending duplicate max_streams. protected by gfe2_reloadable_flag_quic_stop_sending_duplicate_max_streams.
PiperOrigin-RevId: 315729190
Change-Id: Ic5ad61858823706e563e860cc6096970156de4bc
diff --git a/quic/core/quic_stream_id_manager_test.cc b/quic/core/quic_stream_id_manager_test.cc
index 2179ba2..689d411 100644
--- a/quic/core/quic_stream_id_manager_test.cc
+++ b/quic/core/quic_stream_id_manager_test.cc
@@ -139,13 +139,18 @@
}
// Check the case of the stream count in a STREAMS_BLOCKED frame is less than
-// the count most recently advertised in a MAX_STREAMS frame. This should cause
-// a MAX_STREAMS frame with the most recently advertised count to be sent.
+// the count most recently advertised in a MAX_STREAMS frame.
TEST_P(QuicStreamIdManagerTest, ProcessStreamsBlockedOk) {
QuicStreamCount stream_count =
stream_id_manager_.incoming_initial_max_open_streams();
QuicStreamsBlockedFrame frame(0, stream_count - 1, IsUnidirectional());
- EXPECT_CALL(delegate_, SendMaxStreams(stream_count, IsUnidirectional()));
+ if (GetQuicReloadableFlag(quic_stop_sending_duplicate_max_streams)) {
+ // We have notified peer about current max.
+ EXPECT_CALL(delegate_, SendMaxStreams(stream_count, IsUnidirectional()))
+ .Times(0);
+ } else {
+ EXPECT_CALL(delegate_, SendMaxStreams(stream_count, IsUnidirectional()));
+ }
std::string error_details;
EXPECT_TRUE(stream_id_manager_.OnStreamsBlockedFrame(frame, &error_details));
}
@@ -398,7 +403,12 @@
// Check that receipt of a STREAMS BLOCKED with stream-count = 0 invokes a
// MAX STREAMS, count = 123, when the MaxOpen... is set to 123.
EXPECT_CALL(delegate_, SendMaxStreams(123u, IsUnidirectional()));
- stream_id_manager_.SetMaxOpenIncomingStreams(123);
+ if (GetQuicReloadableFlag(quic_stop_sending_duplicate_max_streams)) {
+ QuicStreamIdManagerPeer::set_incoming_actual_max_streams(
+ &stream_id_manager_, 123);
+ } else {
+ stream_id_manager_.SetMaxOpenIncomingStreams(123);
+ }
frame.stream_count = 0;
EXPECT_TRUE(stream_id_manager_.OnStreamsBlockedFrame(frame, &error_details));
}