Deprecate --gfe2_reloadable_flag_quic_avoid_leak_writer_buffer. PiperOrigin-RevId: 322151857 Change-Id: Ie85db746d5ff06ca3b7ad53d2b83620d148af1c8
diff --git a/quic/core/quic_connection_test.cc b/quic/core/quic_connection_test.cc index e637ad2..060a971 100644 --- a/quic/core/quic_connection_test.cc +++ b/quic/core/quic_connection_test.cc
@@ -473,12 +473,8 @@ QuicPacketBuffer GetNextWriteLocation( const QuicIpAddress& /*self_address*/, const QuicSocketAddress& /*peer_address*/) override { - if (GetQuicReloadableFlag(quic_avoid_leak_writer_buffer)) { - return {AllocPacketBuffer(), - [this](const char* p) { FreePacketBuffer(p); }}; - } - // Do not use writer buffer for serializing packets. - return {nullptr, nullptr}; + return {AllocPacketBuffer(), + [this](const char* p) { FreePacketBuffer(p); }}; } WriteResult Flush() override {
diff --git a/quic/core/quic_packet_creator.cc b/quic/core/quic_packet_creator.cc index 131ef5e..a0f189c 100644 --- a/quic/core/quic_packet_creator.cc +++ b/quic/core/quic_packet_creator.cc
@@ -469,14 +469,6 @@ QUIC_CACHELINE_ALIGNED char stack_buffer[kMaxOutgoingPacketSize]; QuicOwnedPacketBuffer external_buffer(delegate_->GetPacketBuffer()); - if (!avoid_leak_writer_buffer_ && external_buffer.release_buffer != nullptr) { - // This is not a flag count because it is incremented when flag is false. - QUIC_CODE_COUNT(quic_avoid_leak_writer_buffer_flag_false_noop_1); - - // Setting it to nullptr to keep the behavior unchanged when flag is false. - external_buffer.release_buffer = nullptr; - } - if (external_buffer.buffer == nullptr) { external_buffer.buffer = stack_buffer; external_buffer.release_buffer = nullptr; @@ -510,12 +502,9 @@ packet_.encrypted_buffer = nullptr; packet_.encrypted_length = 0; packet_.fate = SEND_TO_WRITER; - if (avoid_leak_writer_buffer_) { - QUIC_RELOADABLE_FLAG_COUNT_N(quic_avoid_leak_writer_buffer, 2, 3); - QUIC_BUG_IF(packet_.release_encrypted_buffer != nullptr) - << "packet_.release_encrypted_buffer should be empty"; - packet_.release_encrypted_buffer = nullptr; - } + QUIC_BUG_IF(packet_.release_encrypted_buffer != nullptr) + << "packet_.release_encrypted_buffer should be empty"; + packet_.release_encrypted_buffer = nullptr; DCHECK(packet_.retransmittable_frames.empty()); DCHECK(packet_.nonretransmittable_frames.empty()); packet_.largest_acked.Clear(); @@ -594,14 +583,6 @@ QUIC_CACHELINE_ALIGNED char stack_buffer[kMaxOutgoingPacketSize]; QuicOwnedPacketBuffer packet_buffer(delegate_->GetPacketBuffer()); - if (!avoid_leak_writer_buffer_ && packet_buffer.release_buffer != nullptr) { - // This is not a flag count because it is incremented when flag is false. - QUIC_CODE_COUNT(quic_avoid_leak_writer_buffer_flag_false_noop_2); - - // Setting it to nullptr to keep the behavior unchanged when flag is false. - packet_buffer.release_buffer = nullptr; - } - if (packet_buffer.buffer == nullptr) { packet_buffer.buffer = stack_buffer; packet_buffer.release_buffer = nullptr; @@ -692,15 +673,10 @@ packet_size_ = 0; packet_.encrypted_buffer = encrypted_buffer; packet_.encrypted_length = encrypted_length; - if (avoid_leak_writer_buffer_) { - QUIC_RELOADABLE_FLAG_COUNT_N(quic_avoid_leak_writer_buffer, 3, 3); - packet_buffer.buffer = nullptr; - packet_.release_encrypted_buffer = std::move(packet_buffer).release_buffer; - } else { - // If flag --quic_avoid_leak_writer_buffer is false, the release function - // should be empty. - DCHECK(packet_buffer.release_buffer == nullptr); - } + + packet_buffer.buffer = nullptr; + packet_.release_encrypted_buffer = std::move(packet_buffer).release_buffer; + packet_.retransmittable_frames.push_back(QuicFrame(frame)); OnSerializedPacket(); } @@ -850,16 +826,9 @@ queued_frames_.clear(); packet_.encrypted_buffer = encrypted_buffer.buffer; packet_.encrypted_length = encrypted_length; - if (avoid_leak_writer_buffer_) { - QUIC_RELOADABLE_FLAG_COUNT_N(quic_avoid_leak_writer_buffer, 1, 3); - encrypted_buffer.buffer = nullptr; - packet_.release_encrypted_buffer = - std::move(encrypted_buffer).release_buffer; - } else { - // If flag --quic_avoid_leak_writer_buffer is false, the release function - // should be empty. - DCHECK(encrypted_buffer.release_buffer == nullptr); - } + + encrypted_buffer.buffer = nullptr; + packet_.release_encrypted_buffer = std::move(encrypted_buffer).release_buffer; } std::unique_ptr<QuicEncryptedPacket>
diff --git a/quic/core/quic_packet_creator.h b/quic/core/quic_packet_creator.h index 976f4f6..7f3aa51 100644 --- a/quic/core/quic_packet_creator.h +++ b/quic/core/quic_packet_creator.h
@@ -639,9 +639,6 @@ // negotiates this during the handshake. QuicByteCount max_datagram_frame_size_; - const bool avoid_leak_writer_buffer_ = - GetQuicReloadableFlag(quic_avoid_leak_writer_buffer); - // When true, this will override the padding generation code to disable it. // TODO(fayang): remove this when deprecating // quic_determine_serialized_packet_fate_early.
diff --git a/quic/core/quic_packet_creator_test.cc b/quic/core/quic_packet_creator_test.cc index 65377ef..4361ed9 100644 --- a/quic/core/quic_packet_creator_test.cc +++ b/quic/core/quic_packet_creator_test.cc
@@ -1723,9 +1723,6 @@ EXPECT_EQ(external_buffer.buffer, serialized_packet.encrypted_buffer); })); creator_.FlushCurrentPacket(); - if (!GetQuicReloadableFlag(quic_avoid_leak_writer_buffer)) { - delete[] buffer; - } } // Test for error found in