Deprecate gfe2_reloadable_flag_quic_suppress_write_mid_packet_processing.
PiperOrigin-RevId: 428535641
diff --git a/quic/core/quic_connection.cc b/quic/core/quic_connection.cc
index 254f33a..81fab03 100644
--- a/quic/core/quic_connection.cc
+++ b/quic/core/quic_connection.cc
@@ -3272,11 +3272,9 @@
return false;
}
- if (GetQuicReloadableFlag(quic_suppress_write_mid_packet_processing) &&
- version().CanSendCoalescedPackets() &&
+ if (version().CanSendCoalescedPackets() &&
framer_.HasEncrypterOfEncryptionLevel(ENCRYPTION_INITIAL) &&
framer_.is_processing_packet()) {
- QUIC_RELOADABLE_FLAG_COUNT(quic_suppress_write_mid_packet_processing);
// While we still have initial keys, suppress sending in mid of packet
// processing.
// TODO(fayang): always suppress sending while in the mid of packet
diff --git a/quic/core/quic_connection_test.cc b/quic/core/quic_connection_test.cc
index de59528..98978e9 100644
--- a/quic/core/quic_connection_test.cc
+++ b/quic/core/quic_connection_test.cc
@@ -15209,6 +15209,25 @@
}
}
+TEST_P(QuicConnectionTest, ReceivedChloAndAck) {
+ if (!version().HasIetfQuicFrames()) {
+ return;
+ }
+ set_perspective(Perspective::IS_SERVER);
+ QuicFrames frames;
+ QuicAckFrame ack_frame = InitAckFrame(1);
+ frames.push_back(MakeCryptoFrame());
+ frames.push_back(QuicFrame(&ack_frame));
+
+ EXPECT_CALL(visitor_, OnCryptoFrame(_))
+ .WillOnce(IgnoreResult(InvokeWithoutArgs(
+ &connection_, &TestConnection::SendCryptoStreamData)));
+ EXPECT_CALL(visitor_, BeforeConnectionCloseSent());
+ EXPECT_CALL(visitor_, OnConnectionClosed(_, _));
+ ProcessFramesPacketWithAddresses(frames, kSelfAddress, kPeerAddress,
+ ENCRYPTION_INITIAL);
+}
+
// Regression test for b/201643321.
TEST_P(QuicConnectionTest, FailedToRetransmitShlo) {
if (!version().HasIetfQuicFrames()) {
diff --git a/quic/core/quic_flags_list.h b/quic/core/quic_flags_list.h
index 2e7b263..d955f5d 100644
--- a/quic/core/quic_flags_list.h
+++ b/quic/core/quic_flags_list.h
@@ -105,8 +105,6 @@
QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_conservative_bursts, false)
// If true, stop resetting ideal_next_packet_send_time_ in pacing sender.
QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_donot_reset_ideal_next_packet_send_time, false)
-// If true, suppress crypto data write in mid of packet processing.
-QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_suppress_write_mid_packet_processing, true)
// If true, use BBRv2 as the default congestion controller. Takes precedence over --quic_default_to_bbr.
QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_default_to_bbr_v2, false)
// If true, use max(max_bw, send_rate) as the estimated bandwidth in QUIC\'s MaxAckHeightTracker.