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));
}