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.