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