Remove QuicheMemSlice(QuicUniqueBufferPtr, size_t) constructor.

Always use QuicBuffer instead, since we almost never should need to pass a pointer without the length attached around.

PiperOrigin-RevId: 431321090
diff --git a/common/platform/api/quiche_mem_slice.h b/common/platform/api/quiche_mem_slice.h
index 6c4f81a..c7a8fd6 100644
--- a/common/platform/api/quiche_mem_slice.h
+++ b/common/platform/api/quiche_mem_slice.h
@@ -8,6 +8,7 @@
 #include <memory>
 
 #include "absl/strings/string_view.h"
+#include "quic/core/quic_buffer_allocator.h"
 #include "common/platform/api/quiche_export.h"
 #include "net/quiche/common/platform/impl/quiche_mem_slice_impl.h"
 
@@ -30,22 +31,10 @@
   // count.
   QuicheMemSlice() = default;
 
-  // Constructs a QuicheMemSlice that takes ownership of |buffer|.  |length|
-  // must not be zero.  To construct an empty QuicheMemSlice, use the
-  // zero-argument constructor instead.
-  // TODO(vasilvv): switch all users to QuicBuffer version, and make this
-  // private.
-  QuicheMemSlice(quic::QuicUniqueBufferPtr buffer, size_t length)
-      : impl_(std::move(buffer), length) {}
-
   // Constructs a QuicheMemSlice that takes ownership of |buffer|.  The length
   // of the |buffer| must not be zero.  To construct an empty QuicheMemSlice,
   // use the zero-argument constructor instead.
-  explicit QuicheMemSlice(quic::QuicBuffer buffer) : QuicheMemSlice() {
-    // Store the size of the buffer *before* calling buffer.Release().
-    const size_t size = buffer.size();
-    *this = QuicheMemSlice(buffer.Release(), size);
-  }
+  explicit QuicheMemSlice(quic::QuicBuffer buffer) : impl_(std::move(buffer)) {}
 
   // Constructs a QuicheMemSlice that takes ownership of |buffer| allocated on
   // heap.  |length| must not be zero.
diff --git a/common/platform/api/quiche_mem_slice_test.cc b/common/platform/api/quiche_mem_slice_test.cc
index de6adbe..4500b5d 100644
--- a/common/platform/api/quiche_mem_slice_test.cc
+++ b/common/platform/api/quiche_mem_slice_test.cc
@@ -19,7 +19,7 @@
  public:
   QuicheMemSliceTest() {
     size_t length = 1024;
-    slice_ = QuicheMemSlice(MakeUniqueBuffer(&allocator_, length), length);
+    slice_ = QuicheMemSlice(quic::QuicBuffer(&allocator_, length));
     orig_data_ = slice_.data();
     orig_length_ = slice_.length();
   }
diff --git a/quic/core/quic_datagram_queue_test.cc b/quic/core/quic_datagram_queue_test.cc
index 8449e15..041275c 100644
--- a/quic/core/quic_datagram_queue_test.cc
+++ b/quic/core/quic_datagram_queue_test.cc
@@ -71,10 +71,8 @@
   ~QuicDatagramQueueTestBase() = default;
 
   quiche::QuicheMemSlice CreateMemSlice(absl::string_view data) {
-    QuicUniqueBufferPtr buffer =
-        MakeUniqueBuffer(helper_.GetStreamSendBufferAllocator(), data.size());
-    memcpy(buffer.get(), data.data(), data.size());
-    return quiche::QuicheMemSlice(std::move(buffer), data.size());
+    return quiche::QuicheMemSlice(
+        QuicBuffer::Copy(helper_.GetStreamSendBufferAllocator(), data));
   }
 
   MockQuicConnectionHelper helper_;
diff --git a/quic/core/quic_sent_packet_manager_test.cc b/quic/core/quic_sent_packet_manager_test.cc
index 8335103..e561731 100644
--- a/quic/core/quic_sent_packet_manager_test.cc
+++ b/quic/core/quic_sent_packet_manager_test.cc
@@ -4469,7 +4469,7 @@
 
   QuicMessageFrame* message_frame = nullptr;
   {
-    quiche::QuicheMemSlice slice(MakeUniqueBuffer(&allocator_, 1024), 1024);
+    quiche::QuicheMemSlice slice(QuicBuffer(&allocator_, 1024));
     message_frame = new QuicMessageFrame(/*message_id=*/1, std::move(slice));
     EXPECT_FALSE(message_frame->message_data.empty());
     EXPECT_EQ(message_frame->message_length, 1024);
diff --git a/quic/core/quic_stream_send_buffer.cc b/quic/core/quic_stream_send_buffer.cc
index 2c68dc1..e1e437b 100644
--- a/quic/core/quic_stream_send_buffer.cc
+++ b/quic/core/quic_stream_send_buffer.cc
@@ -67,10 +67,10 @@
       GetQuicFlag(FLAGS_quic_send_buffer_max_data_slice_size);
   while (data_length > 0) {
     size_t slice_len = std::min(data_length, max_data_slice_size);
-    QuicUniqueBufferPtr buffer = MakeUniqueBuffer(allocator_, slice_len);
+    QuicBuffer buffer(allocator_, slice_len);
     QuicUtils::CopyToBuffer(iov, iov_count, iov_offset, slice_len,
-                            buffer.get());
-    SaveMemSlice(quiche::QuicheMemSlice(std::move(buffer), slice_len));
+                            buffer.data());
+    SaveMemSlice(quiche::QuicheMemSlice(std::move(buffer)));
     data_length -= slice_len;
     iov_offset += slice_len;
   }
diff --git a/quic/tools/quic_transport_simple_server_session.cc b/quic/tools/quic_transport_simple_server_session.cc
index f4496fa..157c16c 100644
--- a/quic/tools/quic_transport_simple_server_session.cc
+++ b/quic/tools/quic_transport_simple_server_session.cc
@@ -128,11 +128,8 @@
   if (mode_ != ECHO) {
     return;
   }
-  QuicUniqueBufferPtr buffer = MakeUniqueBuffer(
-      connection()->helper()->GetStreamSendBufferAllocator(), message.size());
-  memcpy(buffer.get(), message.data(), message.size());
-  datagram_queue()->SendOrQueueDatagram(
-      quiche::QuicheMemSlice(std::move(buffer), message.size()));
+  datagram_queue()->SendOrQueueDatagram(quiche::QuicheMemSlice(QuicBuffer::Copy(
+      connection()->helper()->GetStreamSendBufferAllocator(), message)));
 }
 
 void QuicTransportSimpleServerSession::MaybeEchoStreamsBack() {
diff --git a/quic/tools/web_transport_test_visitors.h b/quic/tools/web_transport_test_visitors.h
index 9451ba7..4fdac1c 100644
--- a/quic/tools/web_transport_test_visitors.h
+++ b/quic/tools/web_transport_test_visitors.h
@@ -219,9 +219,7 @@
   }
 
   void OnDatagramReceived(absl::string_view datagram) override {
-    auto buffer = MakeUniqueBuffer(&allocator_, datagram.size());
-    memcpy(buffer.get(), datagram.data(), datagram.size());
-    quiche::QuicheMemSlice slice(std::move(buffer), datagram.size());
+    quiche::QuicheMemSlice slice(QuicBuffer::Copy(&allocator_, datagram));
     session_->SendOrQueueDatagram(std::move(slice));
   }