No longer send SETTINGS in gQUIC.
The frame is discarded by the peer. So we don't need to send this data.
gfe-relnote: protected by gfe2_reloadable_flag_quic_do_not_send_settings.
PiperOrigin-RevId: 265543664
Change-Id: Ie2333e55051bb6c3111b855be481b2d64bca079a
diff --git a/quic/core/http/quic_spdy_session.cc b/quic/core/http/quic_spdy_session.cc
index 08ff7e6..491f1de 100644
--- a/quic/core/http/quic_spdy_session.cc
+++ b/quic/core/http/quic_spdy_session.cc
@@ -568,6 +568,11 @@
qpack_decoder_send_stream_->MaybeSendStreamType();
return;
}
+ if (GetQuicReloadableFlag(quic_do_not_send_settings)) {
+ QUIC_RELOADABLE_FLAG_COUNT(quic_do_not_send_settings);
+ return;
+ }
+
SpdySettingsIR settings_frame;
settings_frame.AddSetting(SETTINGS_MAX_HEADER_LIST_SIZE, value);
diff --git a/quic/core/http/quic_spdy_session_test.cc b/quic/core/http/quic_spdy_session_test.cc
index 0520c70..34f0b92 100644
--- a/quic/core/http/quic_spdy_session_test.cc
+++ b/quic/core/http/quic_spdy_session_test.cc
@@ -417,7 +417,14 @@
}
TEST_P(QuicSpdySessionTestServer, IsCryptoHandshakeConfirmed) {
- EXPECT_CALL(*connection_, CloseConnection(_, _, _));
+ if (!GetQuicReloadableFlag(quic_do_not_send_settings) ||
+ VersionUsesQpack(transport_version())) {
+ MockPacketWriter* writer = static_cast<MockPacketWriter*>(
+ QuicConnectionPeer::GetWriter(session_.connection()));
+ EXPECT_CALL(*writer, WritePacket(_, _, _, _, _))
+ .Times(1)
+ .WillRepeatedly(Return(WriteResult(WRITE_STATUS_OK, 0)));
+ }
EXPECT_FALSE(session_.IsCryptoHandshakeConfirmed());
CryptoHandshakeMessage message;
session_.GetMutableCryptoStream()->OnHandshakeMessage(message);
@@ -1030,7 +1037,14 @@
}
TEST_P(QuicSpdySessionTestServer, IncreasedTimeoutAfterCryptoHandshake) {
- EXPECT_CALL(*connection_, CloseConnection(_, _, _));
+ if (!GetQuicReloadableFlag(quic_do_not_send_settings) ||
+ VersionUsesQpack(transport_version())) {
+ MockPacketWriter* writer = static_cast<MockPacketWriter*>(
+ QuicConnectionPeer::GetWriter(session_.connection()));
+ EXPECT_CALL(*writer, WritePacket(_, _, _, _, _))
+ .Times(1)
+ .WillRepeatedly(Return(WriteResult(WRITE_STATUS_OK, 0)));
+ }
EXPECT_EQ(kInitialIdleTimeoutSecs + 3,
QuicConnectionPeer::GetNetworkTimeout(connection_).ToSeconds());
CryptoHandshakeMessage msg;