Move QuicBufferAllocator and SimpleBufferAllocator to third_party/quiche. Move QuicBufferAllocator and SimpleBufferAllocator from third_party/quic/core to third_party/quiche/common, because they are used by QuicheMemSliceStorage and its tests in third_party/quiche/common/. PiperOrigin-RevId: 432173303
diff --git a/common/platform/api/quiche_mem_slice.h b/common/platform/api/quiche_mem_slice.h index 61249bc..ce59c75 100644 --- a/common/platform/api/quiche_mem_slice.h +++ b/common/platform/api/quiche_mem_slice.h
@@ -9,8 +9,8 @@ #include "quiche_platform_impl/quiche_mem_slice_impl.h" #include "absl/strings/string_view.h" -#include "quic/core/quic_buffer_allocator.h" #include "common/platform/api/quiche_export.h" +#include "common/quiche_buffer_allocator.h" namespace quiche { @@ -24,7 +24,7 @@ // 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) : impl_(std::move(buffer)) {} + explicit QuicheMemSlice(QuicheBuffer 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 4500b5d..e110f90 100644 --- a/common/platform/api/quiche_mem_slice_test.cc +++ b/common/platform/api/quiche_mem_slice_test.cc
@@ -7,9 +7,9 @@ #include <memory> #include "absl/strings/string_view.h" -#include "quic/core/quic_buffer_allocator.h" -#include "quic/core/quic_simple_buffer_allocator.h" #include "common/platform/api/quiche_test.h" +#include "common/quiche_buffer_allocator.h" +#include "common/simple_buffer_allocator.h" namespace quiche { namespace test { @@ -19,12 +19,12 @@ public: QuicheMemSliceTest() { size_t length = 1024; - slice_ = QuicheMemSlice(quic::QuicBuffer(&allocator_, length)); + slice_ = QuicheMemSlice(QuicheBuffer(&allocator_, length)); orig_data_ = slice_.data(); orig_length_ = slice_.length(); } - quic::SimpleBufferAllocator allocator_; + SimpleBufferAllocator allocator_; QuicheMemSlice slice_; const char* orig_data_; size_t orig_length_; @@ -62,7 +62,7 @@ TEST_F(QuicheMemSliceTest, SliceFromBuffer) { const absl::string_view kTestString = "RFC 9000 Release Celebration Memorial Test String"; - auto buffer = quic::QuicBuffer::Copy(&allocator_, kTestString); + auto buffer = QuicheBuffer::Copy(&allocator_, kTestString); QuicheMemSlice slice(std::move(buffer)); EXPECT_EQ(buffer.data(), nullptr); // NOLINT(bugprone-use-after-move)
diff --git a/common/platform/default/quiche_platform_impl/quiche_mem_slice_impl.h b/common/platform/default/quiche_platform_impl/quiche_mem_slice_impl.h index 0d13dec..2db6c44 100644 --- a/common/platform/default/quiche_platform_impl/quiche_mem_slice_impl.h +++ b/common/platform/default/quiche_platform_impl/quiche_mem_slice_impl.h
@@ -1,9 +1,9 @@ #ifndef QUICHE_COMMON_PLATFORM_DEFAULT_QUICHE_PLATFORM_IMPL_QUICHE_MEM_SLICE_IMPL_H_ #define QUICHE_COMMON_PLATFORM_DEFAULT_QUICHE_PLATFORM_IMPL_QUICHE_MEM_SLICE_IMPL_H_ -#include "quic/core/quic_buffer_allocator.h" -#include "quic/core/quic_simple_buffer_allocator.h" #include "common/platform/api/quiche_export.h" +#include "common/quiche_buffer_allocator.h" +#include "common/simple_buffer_allocator.h" namespace quiche { @@ -11,15 +11,15 @@ public: QuicheMemSliceImpl() = default; - explicit QuicheMemSliceImpl(quic::QuicBuffer buffer) + explicit QuicheMemSliceImpl(QuicheBuffer buffer) : buffer_(std::move(buffer)) {} QuicheMemSliceImpl(std::unique_ptr<char[]> buffer, size_t length) - : buffer_(quic::QuicBuffer( - quic::QuicUniqueBufferPtr( - buffer.release(), - quic::QuicBufferDeleter(quic::SimpleBufferAllocator::Get())), - length)) {} + : buffer_( + QuicheBuffer(QuicheUniqueBufferPtr( + buffer.release(), + QuicheBufferDeleter(SimpleBufferAllocator::Get())), + length)) {} QuicheMemSliceImpl(const QuicheMemSliceImpl& other) = delete; QuicheMemSliceImpl& operator=(const QuicheMemSliceImpl& other) = delete; @@ -31,14 +31,14 @@ ~QuicheMemSliceImpl() = default; - void Reset() { buffer_ = quic::QuicBuffer(); } + void Reset() { buffer_ = QuicheBuffer(); } const char* data() const { return buffer_.data(); } size_t length() const { return buffer_.size(); } bool empty() const { return buffer_.empty(); } private: - quic::QuicBuffer buffer_; + QuicheBuffer buffer_; }; } // namespace quiche
diff --git a/common/quiche_buffer_allocator.h b/common/quiche_buffer_allocator.h new file mode 100644 index 0000000..40140ac --- /dev/null +++ b/common/quiche_buffer_allocator.h
@@ -0,0 +1,117 @@ +// Copyright (c) 2012 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef QUICHE_COMMON_QUICHE_BUFFER_ALLOCATOR_H_ +#define QUICHE_COMMON_QUICHE_BUFFER_ALLOCATOR_H_ + +#include <stddef.h> + +#include <memory> + +#include "absl/strings/string_view.h" +#include "common/platform/api/quiche_export.h" + +namespace quiche { + +// Abstract base class for classes which allocate and delete buffers. +class QUICHE_EXPORT_PRIVATE QuicheBufferAllocator { + public: + virtual ~QuicheBufferAllocator() = default; + + // Returns or allocates a new buffer of |size|. Never returns null. + virtual char* New(size_t size) = 0; + + // Returns or allocates a new buffer of |size| if |flag_enable| is true. + // Otherwise, returns a buffer that is compatible with this class directly + // with operator new. Never returns null. + virtual char* New(size_t size, bool flag_enable) = 0; + + // Releases a buffer. + virtual void Delete(char* buffer) = 0; + + // Marks the allocator as being idle. Serves as a hint to notify the allocator + // that it should release any resources it's still holding on to. + virtual void MarkAllocatorIdle() {} +}; + +// A deleter that can be used to manage ownership of buffers allocated via +// QuicheBufferAllocator through std::unique_ptr. +class QUICHE_EXPORT_PRIVATE QuicheBufferDeleter { + public: + explicit QuicheBufferDeleter(QuicheBufferAllocator* allocator) + : allocator_(allocator) {} + + QuicheBufferAllocator* allocator() { return allocator_; } + void operator()(char* buffer) { allocator_->Delete(buffer); } + + private: + QuicheBufferAllocator* allocator_; +}; + +using QuicheUniqueBufferPtr = std::unique_ptr<char[], QuicheBufferDeleter>; + +inline QuicheUniqueBufferPtr MakeUniqueBuffer(QuicheBufferAllocator* allocator, + size_t size) { + return QuicheUniqueBufferPtr(allocator->New(size), + QuicheBufferDeleter(allocator)); +} + +// QuicheUniqueBufferPtr with a length attached to it. Similar to +// QuicheMemSlice, except unlike QuicheMemSlice, QuicheBuffer is mutable and is +// not platform-specific. Also unlike QuicheMemSlice, QuicheBuffer can be +// empty. +class QUICHE_EXPORT_PRIVATE QuicheBuffer { + public: + QuicheBuffer() : buffer_(nullptr, QuicheBufferDeleter(nullptr)), size_(0) {} + QuicheBuffer(QuicheBufferAllocator* allocator, size_t size) + : buffer_(MakeUniqueBuffer(allocator, size)), size_(size) {} + + QuicheBuffer(QuicheUniqueBufferPtr buffer, size_t size) + : buffer_(std::move(buffer)), size_(size) {} + + // Make sure the move constructor zeroes out the size field. + QuicheBuffer(QuicheBuffer&& other) + : buffer_(std::move(other.buffer_)), size_(other.size_) { + other.buffer_ = nullptr; + other.size_ = 0; + } + QuicheBuffer& operator=(QuicheBuffer&& other) { + buffer_ = std::move(other.buffer_); + size_ = other.size_; + + other.buffer_ = nullptr; + other.size_ = 0; + return *this; + } + + // Factory method to create a QuicheBuffer that holds a copy of `data`. + static QuicheBuffer Copy(QuicheBufferAllocator* allocator, + absl::string_view data) { + QuicheBuffer result(allocator, data.size()); + memcpy(result.data(), data.data(), data.size()); + return result; + } + + const char* data() const { return buffer_.get(); } + char* data() { return buffer_.get(); } + size_t size() const { return size_; } + bool empty() const { return size_ == 0; } + absl::string_view AsStringView() const { + return absl::string_view(data(), size()); + } + + // Releases the ownership of the underlying buffer. + QuicheUniqueBufferPtr Release() { + size_ = 0; + return std::move(buffer_); + } + + private: + QuicheUniqueBufferPtr buffer_; + size_t size_; +}; + +} // namespace quiche + +#endif // QUICHE_COMMON_QUICHE_BUFFER_ALLOCATOR_H_
diff --git a/common/quiche_mem_slice_storage.cc b/common/quiche_mem_slice_storage.cc index e3e1c5a..2b1b5e1 100644 --- a/common/quiche_mem_slice_storage.cc +++ b/common/quiche_mem_slice_storage.cc
@@ -9,8 +9,7 @@ namespace quiche { QuicheMemSliceStorage::QuicheMemSliceStorage( - const struct iovec* iov, int iov_count, - quic::QuicBufferAllocator* allocator, + const struct iovec* iov, int iov_count, QuicheBufferAllocator* allocator, const quic::QuicByteCount max_slice_len) { if (iov == nullptr) { return; @@ -24,7 +23,7 @@ size_t io_offset = 0; while (write_len > 0) { size_t slice_len = std::min(write_len, max_slice_len); - quic::QuicBuffer buffer(allocator, slice_len); + QuicheBuffer buffer(allocator, slice_len); quic::QuicUtils::CopyToBuffer(iov, iov_count, io_offset, slice_len, buffer.data()); storage_.push_back(QuicheMemSlice(std::move(buffer)));
diff --git a/common/quiche_mem_slice_storage.h b/common/quiche_mem_slice_storage.h index 6ec68bb..155169f 100644 --- a/common/quiche_mem_slice_storage.h +++ b/common/quiche_mem_slice_storage.h
@@ -8,11 +8,11 @@ #include <vector> #include "absl/types/span.h" -#include "quic/core/quic_buffer_allocator.h" #include "quic/core/quic_types.h" #include "quic/platform/api/quic_iovec.h" #include "common/platform/api/quiche_export.h" #include "common/platform/api/quiche_mem_slice.h" +#include "common/quiche_buffer_allocator.h" namespace quiche { @@ -21,7 +21,7 @@ class QUICHE_EXPORT_PRIVATE QuicheMemSliceStorage { public: QuicheMemSliceStorage(const struct iovec* iov, int iov_count, - quic::QuicBufferAllocator* allocator, + QuicheBufferAllocator* allocator, const quic::QuicByteCount max_slice_len); QuicheMemSliceStorage(const QuicheMemSliceStorage& other) = default;
diff --git a/common/quiche_mem_slice_storage_test.cc b/common/quiche_mem_slice_storage_test.cc index a07c71d..15d8294 100644 --- a/common/quiche_mem_slice_storage_test.cc +++ b/common/quiche_mem_slice_storage_test.cc
@@ -4,8 +4,8 @@ #include "common/quiche_mem_slice_storage.h" -#include "quic/core/quic_simple_buffer_allocator.h" #include "common/platform/api/quiche_test.h" +#include "common/simple_buffer_allocator.h" namespace quiche { namespace test { @@ -22,7 +22,7 @@ } TEST_F(QuicheMemSliceStorageImplTest, SingleIov) { - quic::SimpleBufferAllocator allocator; + SimpleBufferAllocator allocator; std::string body(3, 'c'); struct iovec iov = {const_cast<char*>(body.data()), body.length()}; QuicheMemSliceStorage storage(&iov, 1, &allocator, 1024); @@ -32,7 +32,7 @@ } TEST_F(QuicheMemSliceStorageImplTest, MultipleIovInSingleSlice) { - quic::SimpleBufferAllocator allocator; + SimpleBufferAllocator allocator; std::string body1(3, 'a'); std::string body2(4, 'b'); struct iovec iov[] = {{const_cast<char*>(body1.data()), body1.length()}, @@ -44,7 +44,7 @@ } TEST_F(QuicheMemSliceStorageImplTest, MultipleIovInMultipleSlice) { - quic::SimpleBufferAllocator allocator; + SimpleBufferAllocator allocator; std::string body1(4, 'a'); std::string body2(4, 'b'); struct iovec iov[] = {{const_cast<char*>(body1.data()), body1.length()},
diff --git a/quic/core/quic_simple_buffer_allocator.cc b/common/simple_buffer_allocator.cc similarity index 81% rename from quic/core/quic_simple_buffer_allocator.cc rename to common/simple_buffer_allocator.cc index aba8c43..64501a1 100644 --- a/quic/core/quic_simple_buffer_allocator.cc +++ b/common/simple_buffer_allocator.cc
@@ -2,9 +2,9 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "quic/core/quic_simple_buffer_allocator.h" +#include "common/simple_buffer_allocator.h" -namespace quic { +namespace quiche { char* SimpleBufferAllocator::New(size_t size) { return new char[size]; @@ -18,4 +18,4 @@ delete[] buffer; } -} // namespace quic +} // namespace quiche
diff --git a/quic/core/quic_simple_buffer_allocator.h b/common/simple_buffer_allocator.h similarity index 62% rename from quic/core/quic_simple_buffer_allocator.h rename to common/simple_buffer_allocator.h index 62f406b..586c0f3 100644 --- a/quic/core/quic_simple_buffer_allocator.h +++ b/common/simple_buffer_allocator.h
@@ -2,18 +2,19 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef QUICHE_QUIC_CORE_QUIC_SIMPLE_BUFFER_ALLOCATOR_H_ -#define QUICHE_QUIC_CORE_QUIC_SIMPLE_BUFFER_ALLOCATOR_H_ +#ifndef QUICHE_COMMON_QUICHE_SIMPLE_BUFFER_ALLOCATOR_H_ +#define QUICHE_COMMON_QUICHE_SIMPLE_BUFFER_ALLOCATOR_H_ -#include "quic/core/quic_buffer_allocator.h" -#include "quic/platform/api/quic_export.h" +#include "common/platform/api/quiche_export.h" +#include "common/quiche_buffer_allocator.h" -namespace quic { +namespace quiche { // Provides buffer allocation using operators new[] and delete[] on char arrays. // Note that some of the QUICHE code relies on this being the case for deleting // new[]-allocated arrays from elsewhere. -class QUIC_EXPORT_PRIVATE SimpleBufferAllocator : public QuicBufferAllocator { +class QUICHE_EXPORT_PRIVATE SimpleBufferAllocator + : public QuicheBufferAllocator { public: static SimpleBufferAllocator* Get() { static SimpleBufferAllocator* singleton = new SimpleBufferAllocator(); @@ -25,6 +26,6 @@ void Delete(char* buffer) override; }; -} // namespace quic +} // namespace quiche -#endif // QUICHE_QUIC_CORE_QUIC_SIMPLE_BUFFER_ALLOCATOR_H_ +#endif // QUICHE_COMMON_QUICHE_SIMPLE_BUFFER_ALLOCATOR_H_
diff --git a/quic/core/quic_simple_buffer_allocator_test.cc b/common/simple_buffer_allocator_test.cc similarity index 63% rename from quic/core/quic_simple_buffer_allocator_test.cc rename to common/simple_buffer_allocator_test.cc index 5416cd4..e768bbb 100644 --- a/quic/core/quic_simple_buffer_allocator_test.cc +++ b/common/simple_buffer_allocator_test.cc
@@ -2,46 +2,43 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "quic/core/quic_simple_buffer_allocator.h" +#include "common/simple_buffer_allocator.h" -#include "quic/core/quic_packets.h" -#include "quic/platform/api/quic_test.h" +#include "common/platform/api/quiche_test.h" -namespace quic { +namespace quiche { namespace { -class SimpleBufferAllocatorTest : public QuicTest {}; - -TEST_F(SimpleBufferAllocatorTest, NewDelete) { +TEST(SimpleBufferAllocatorTest, NewDelete) { SimpleBufferAllocator alloc; char* buf = alloc.New(4); EXPECT_NE(nullptr, buf); alloc.Delete(buf); } -TEST_F(SimpleBufferAllocatorTest, DeleteNull) { +TEST(SimpleBufferAllocatorTest, DeleteNull) { SimpleBufferAllocator alloc; alloc.Delete(nullptr); } -TEST_F(SimpleBufferAllocatorTest, MoveBuffersConstructor) { +TEST(SimpleBufferAllocatorTest, MoveBuffersConstructor) { SimpleBufferAllocator alloc; - QuicBuffer buffer1(&alloc, 16); + QuicheBuffer buffer1(&alloc, 16); EXPECT_NE(buffer1.data(), nullptr); EXPECT_EQ(buffer1.size(), 16u); - QuicBuffer buffer2(std::move(buffer1)); + QuicheBuffer buffer2(std::move(buffer1)); EXPECT_EQ(buffer1.data(), nullptr); // NOLINT(bugprone-use-after-move) EXPECT_EQ(buffer1.size(), 0u); EXPECT_NE(buffer2.data(), nullptr); EXPECT_EQ(buffer2.size(), 16u); } -TEST_F(SimpleBufferAllocatorTest, MoveBuffersAssignment) { +TEST(SimpleBufferAllocatorTest, MoveBuffersAssignment) { SimpleBufferAllocator alloc; - QuicBuffer buffer1(&alloc, 16); - QuicBuffer buffer2; + QuicheBuffer buffer1(&alloc, 16); + QuicheBuffer buffer2; EXPECT_NE(buffer1.data(), nullptr); EXPECT_EQ(buffer1.size(), 16u); @@ -55,12 +52,12 @@ EXPECT_EQ(buffer2.size(), 16u); } -TEST_F(SimpleBufferAllocatorTest, CopyBuffer) { +TEST(SimpleBufferAllocatorTest, CopyBuffer) { SimpleBufferAllocator alloc; const absl::string_view original = "Test string"; - QuicBuffer copy = QuicBuffer::Copy(&alloc, original); + QuicheBuffer copy = QuicheBuffer::Copy(&alloc, original); EXPECT_EQ(copy.AsStringView(), original); } } // namespace -} // namespace quic +} // namespace quiche
diff --git a/quic/core/frames/quic_crypto_frame.h b/quic/core/frames/quic_crypto_frame.h index e1e79a6..6e15fbe 100644 --- a/quic/core/frames/quic_crypto_frame.h +++ b/quic/core/frames/quic_crypto_frame.h
@@ -9,7 +9,6 @@ #include <ostream> #include "absl/strings/string_view.h" -#include "quic/core/quic_buffer_allocator.h" #include "quic/core/quic_types.h" #include "quic/platform/api/quic_export.h"
diff --git a/quic/core/frames/quic_frame.cc b/quic/core/frames/quic_frame.cc index e83e422..48bc12a 100644 --- a/quic/core/frames/quic_frame.cc +++ b/quic/core/frames/quic_frame.cc
@@ -6,12 +6,12 @@ #include "quic/core/frames/quic_new_connection_id_frame.h" #include "quic/core/frames/quic_retire_connection_id_frame.h" -#include "quic/core/quic_buffer_allocator.h" #include "quic/core/quic_constants.h" #include "quic/core/quic_types.h" #include "quic/platform/api/quic_bug_tracker.h" #include "quic/platform/api/quic_logging.h" #include "common/platform/api/quiche_mem_slice.h" +#include "common/quiche_buffer_allocator.h" namespace quic { @@ -327,7 +327,7 @@ return copy; } -QuicFrame CopyQuicFrame(QuicBufferAllocator* allocator, +QuicFrame CopyQuicFrame(quiche::QuicheBufferAllocator* allocator, const QuicFrame& frame) { QuicFrame copy; switch (frame.type) { @@ -392,7 +392,8 @@ copy.message_frame->data = frame.message_frame->data; copy.message_frame->message_length = frame.message_frame->message_length; for (const auto& slice : frame.message_frame->message_data) { - QuicBuffer buffer = QuicBuffer::Copy(allocator, slice.AsStringView()); + quiche::QuicheBuffer buffer = + quiche::QuicheBuffer::Copy(allocator, slice.AsStringView()); copy.message_frame->message_data.push_back( quiche::QuicheMemSlice(std::move(buffer))); } @@ -419,7 +420,7 @@ return copy; } -QuicFrames CopyQuicFrames(QuicBufferAllocator* allocator, +QuicFrames CopyQuicFrames(quiche::QuicheBufferAllocator* allocator, const QuicFrames& frames) { QuicFrames copy; for (const auto& frame : frames) {
diff --git a/quic/core/frames/quic_frame.h b/quic/core/frames/quic_frame.h index 9ee4568..7de9bb6 100644 --- a/quic/core/frames/quic_frame.h +++ b/quic/core/frames/quic_frame.h
@@ -163,12 +163,12 @@ CopyRetransmittableControlFrame(const QuicFrame& frame); // Returns a copy of |frame|. -QUIC_EXPORT_PRIVATE QuicFrame CopyQuicFrame(QuicBufferAllocator* allocator, - const QuicFrame& frame); +QUIC_EXPORT_PRIVATE QuicFrame +CopyQuicFrame(quiche::QuicheBufferAllocator* allocator, const QuicFrame& frame); // Returns a copy of |frames|. -QUIC_EXPORT_PRIVATE QuicFrames CopyQuicFrames(QuicBufferAllocator* allocator, - const QuicFrames& frames); +QUIC_EXPORT_PRIVATE QuicFrames CopyQuicFrames( + quiche::QuicheBufferAllocator* allocator, const QuicFrames& frames); // Human-readable description suitable for logging. QUIC_EXPORT_PRIVATE std::string QuicFramesToString(const QuicFrames& frames);
diff --git a/quic/core/frames/quic_frames_test.cc b/quic/core/frames/quic_frames_test.cc index 43eabf7..6955094 100644 --- a/quic/core/frames/quic_frames_test.cc +++ b/quic/core/frames/quic_frames_test.cc
@@ -625,7 +625,8 @@ } } - QuicFrames copy = CopyQuicFrames(SimpleBufferAllocator::Get(), frames); + QuicFrames copy = + CopyQuicFrames(quiche::SimpleBufferAllocator::Get(), frames); ASSERT_EQ(NUM_FRAME_TYPES, copy.size()); for (uint8_t i = 0; i < NUM_FRAME_TYPES; ++i) { EXPECT_EQ(i, copy[i].type);
diff --git a/quic/core/frames/quic_new_token_frame.h b/quic/core/frames/quic_new_token_frame.h index 805216b..d0d7e8e 100644 --- a/quic/core/frames/quic_new_token_frame.h +++ b/quic/core/frames/quic_new_token_frame.h
@@ -9,7 +9,6 @@ #include <ostream> #include "absl/strings/string_view.h" -#include "quic/core/quic_buffer_allocator.h" #include "quic/core/quic_constants.h" #include "quic/core/quic_types.h" #include "quic/platform/api/quic_export.h"
diff --git a/quic/core/frames/quic_stream_frame.h b/quic/core/frames/quic_stream_frame.h index 9ba8ccc..2e2daba 100644 --- a/quic/core/frames/quic_stream_frame.h +++ b/quic/core/frames/quic_stream_frame.h
@@ -10,7 +10,6 @@ #include "absl/strings/string_view.h" #include "quic/core/frames/quic_inlined_frame.h" -#include "quic/core/quic_buffer_allocator.h" #include "quic/core/quic_types.h" #include "quic/platform/api/quic_export.h"
diff --git a/quic/core/http/capsule.cc b/quic/core/http/capsule.cc index 21df166..fd89b38 100644 --- a/quic/core/http/capsule.cc +++ b/quic/core/http/capsule.cc
@@ -392,8 +392,8 @@ QUICHE_DCHECK_NE(visitor_, nullptr); } -QuicBuffer SerializeCapsule(const Capsule& capsule, - QuicBufferAllocator* allocator) { +quiche::QuicheBuffer SerializeCapsule( + const Capsule& capsule, quiche::QuicheBufferAllocator* allocator) { QuicByteCount capsule_type_length = QuicDataWriter::GetVarInt62Len( static_cast<uint64_t>(capsule.capsule_type())); QuicByteCount capsule_data_length; @@ -454,15 +454,15 @@ QuicDataWriter::GetVarInt62Len(capsule_data_length); QuicByteCount total_capsule_length = capsule_type_length + capsule_length_length + capsule_data_length; - QuicBuffer buffer(allocator, total_capsule_length); + quiche::QuicheBuffer buffer(allocator, total_capsule_length); QuicDataWriter writer(buffer.size(), buffer.data()); if (!writer.WriteVarInt62(static_cast<uint64_t>(capsule.capsule_type()))) { QUIC_BUG(capsule type write fail) << "Failed to write CAPSULE type"; - return QuicBuffer(); + return {}; } if (!writer.WriteVarInt62(capsule_data_length)) { QUIC_BUG(capsule length write fail) << "Failed to write CAPSULE length"; - return QuicBuffer(); + return {}; } switch (capsule.capsule_type()) { case CapsuleType::LEGACY_DATAGRAM: @@ -471,14 +471,14 @@ capsule.legacy_datagram_capsule().context_id.value())) { QUIC_BUG(datagram capsule context ID write fail) << "Failed to write LEGACY_DATAGRAM CAPSULE context ID"; - return QuicBuffer(); + return {}; } } if (!writer.WriteStringPiece( capsule.legacy_datagram_capsule().http_datagram_payload)) { QUIC_BUG(datagram capsule payload write fail) << "Failed to write LEGACY_DATAGRAM CAPSULE payload"; - return QuicBuffer(); + return {}; } break; case CapsuleType::DATAGRAM_WITH_CONTEXT: @@ -486,13 +486,13 @@ capsule.datagram_with_context_capsule().context_id)) { QUIC_BUG(datagram capsule context ID write fail) << "Failed to write DATAGRAM_WITH_CONTEXT CAPSULE context ID"; - return QuicBuffer(); + return {}; } if (!writer.WriteStringPiece( capsule.datagram_with_context_capsule().http_datagram_payload)) { QUIC_BUG(datagram capsule payload write fail) << "Failed to write DATAGRAM_WITH_CONTEXT CAPSULE payload"; - return QuicBuffer(); + return {}; } break; case CapsuleType::DATAGRAM_WITHOUT_CONTEXT: @@ -500,7 +500,7 @@ .http_datagram_payload)) { QUIC_BUG(datagram capsule payload write fail) << "Failed to write DATAGRAM_WITHOUT_CONTEXT CAPSULE payload"; - return QuicBuffer(); + return {}; } break; case CapsuleType::REGISTER_DATAGRAM_CONTEXT: @@ -508,20 +508,20 @@ capsule.register_datagram_context_capsule().context_id)) { QUIC_BUG(register context capsule context ID write fail) << "Failed to write REGISTER_DATAGRAM_CONTEXT CAPSULE context ID"; - return QuicBuffer(); + return {}; } if (!writer.WriteVarInt62(static_cast<uint64_t>( capsule.register_datagram_context_capsule().format_type))) { QUIC_BUG(register context capsule format type write fail) << "Failed to write REGISTER_DATAGRAM_CONTEXT CAPSULE format type"; - return QuicBuffer(); + return {}; } if (!writer.WriteStringPiece(capsule.register_datagram_context_capsule() .format_additional_data)) { QUIC_BUG(register context capsule additional data write fail) << "Failed to write REGISTER_DATAGRAM_CONTEXT CAPSULE additional " "data"; - return QuicBuffer(); + return {}; } break; case CapsuleType::REGISTER_DATAGRAM_NO_CONTEXT: @@ -530,7 +530,7 @@ QUIC_BUG(register no context capsule format type write fail) << "Failed to write REGISTER_DATAGRAM_NO_CONTEXT CAPSULE format " "type"; - return QuicBuffer(); + return {}; } if (!writer.WriteStringPiece( capsule.register_datagram_no_context_capsule() @@ -538,7 +538,7 @@ QUIC_BUG(register no context capsule additional data write fail) << "Failed to write REGISTER_DATAGRAM_NO_CONTEXT CAPSULE " "additional data"; - return QuicBuffer(); + return {}; } break; case CapsuleType::CLOSE_DATAGRAM_CONTEXT: @@ -546,19 +546,19 @@ capsule.close_datagram_context_capsule().context_id)) { QUIC_BUG(close context capsule context ID write fail) << "Failed to write CLOSE_DATAGRAM_CONTEXT CAPSULE context ID"; - return QuicBuffer(); + return {}; } if (!writer.WriteVarInt62(static_cast<uint64_t>( capsule.close_datagram_context_capsule().close_code))) { QUIC_BUG(close context capsule close code write fail) << "Failed to write CLOSE_DATAGRAM_CONTEXT CAPSULE close code"; - return QuicBuffer(); + return {}; } if (!writer.WriteStringPiece( capsule.close_datagram_context_capsule().close_details)) { QUIC_BUG(close context capsule close details write fail) << "Failed to write CLOSE_DATAGRAM_CONTEXT CAPSULE close details"; - return QuicBuffer(); + return {}; } break; case CapsuleType::CLOSE_WEBTRANSPORT_SESSION: @@ -566,19 +566,19 @@ capsule.close_web_transport_session_capsule().error_code)) { QUIC_BUG(close webtransport session capsule error code write fail) << "Failed to write CLOSE_WEBTRANSPORT_SESSION error code"; - return QuicBuffer(); + return {}; } if (!writer.WriteStringPiece( capsule.close_web_transport_session_capsule().error_message)) { QUIC_BUG(close webtransport session capsule error message write fail) << "Failed to write CLOSE_WEBTRANSPORT_SESSION error message"; - return QuicBuffer(); + return {}; } break; default: if (!writer.WriteStringPiece(capsule.unknown_capsule_data())) { QUIC_BUG(capsule data write fail) << "Failed to write CAPSULE data"; - return QuicBuffer(); + return {}; } break; } @@ -586,7 +586,7 @@ QUIC_BUG(capsule write length mismatch) << "CAPSULE serialization wrote " << writer.length() << " instead of " << writer.capacity(); - return QuicBuffer(); + return {}; } return buffer; }
diff --git a/quic/core/http/capsule.h b/quic/core/http/capsule.h index 42190bb..94601f9 100644 --- a/quic/core/http/capsule.h +++ b/quic/core/http/capsule.h
@@ -11,10 +11,10 @@ #include "absl/strings/str_cat.h" #include "absl/strings/string_view.h" #include "absl/types/optional.h" -#include "quic/core/quic_buffer_allocator.h" #include "quic/core/quic_data_reader.h" #include "quic/core/quic_types.h" #include "common/platform/api/quiche_logging.h" +#include "common/quiche_buffer_allocator.h" namespace quic { @@ -283,8 +283,8 @@ }; // Serializes |capsule| into a newly allocated buffer. -QUIC_EXPORT_PRIVATE QuicBuffer SerializeCapsule(const Capsule& capsule, - QuicBufferAllocator* allocator); +QUIC_EXPORT_PRIVATE quiche::QuicheBuffer SerializeCapsule( + const Capsule& capsule, quiche::QuicheBufferAllocator* allocator); } // namespace quic
diff --git a/quic/core/http/capsule_test.cc b/quic/core/http/capsule_test.cc index 2dfdef4..c971826 100644 --- a/quic/core/http/capsule_test.cc +++ b/quic/core/http/capsule_test.cc
@@ -60,8 +60,8 @@ void TestSerialization(const Capsule& capsule, const std::string& expected_bytes) { - QuicBuffer serialized_capsule = - SerializeCapsule(capsule, SimpleBufferAllocator::Get()); + quiche::QuicheBuffer serialized_capsule = + SerializeCapsule(capsule, quiche::SimpleBufferAllocator::Get()); quiche::test::CompareCharArraysWithHexError( "Serialized capsule", serialized_capsule.data(), serialized_capsule.size(), expected_bytes.data(),
diff --git a/quic/core/http/end_to_end_test.cc b/quic/core/http/end_to_end_test.cc index ccf2d3a..c778faa 100644 --- a/quic/core/http/end_to_end_test.cc +++ b/quic/core/http/end_to_end_test.cc
@@ -6642,7 +6642,7 @@ ASSERT_TRUE(session != nullptr); NiceMock<MockClientVisitor>& visitor = SetupWebTransportVisitor(session); - SimpleBufferAllocator allocator; + quiche::SimpleBufferAllocator allocator; for (int i = 0; i < 10; i++) { session->SendOrQueueDatagram(MemSliceFromString("test")); } @@ -6672,7 +6672,7 @@ ASSERT_TRUE(connect_stream != nullptr); NiceMock<MockClientVisitor>& visitor = SetupWebTransportVisitor(session); - SimpleBufferAllocator allocator; + quiche::SimpleBufferAllocator allocator; for (int i = 0; i < 10; i++) { session->SendOrQueueDatagram(MemSliceFromString("test")); }
diff --git a/quic/core/http/http_decoder_test.cc b/quic/core/http/http_decoder_test.cc index 95d5913..d8a54e0 100644 --- a/quic/core/http/http_decoder_test.cc +++ b/quic/core/http/http_decoder_test.cc
@@ -419,8 +419,8 @@ InSequence s; // A large input that will occupy more than 1 byte in the length field. std::string input(2048, 'x'); - QuicBuffer header = HttpEncoder::SerializeDataFrameHeader( - input.length(), SimpleBufferAllocator::Get()); + quiche::QuicheBuffer header = HttpEncoder::SerializeDataFrameHeader( + input.length(), quiche::SimpleBufferAllocator::Get()); // Partially send only 1 byte of the header to process. EXPECT_EQ(1u, decoder_.ProcessInput(header.data(), 1)); EXPECT_THAT(decoder_.error(), IsQuicNoError());
diff --git a/quic/core/http/http_encoder.cc b/quic/core/http/http_encoder.cc index 25f6200..684fdde 100644 --- a/quic/core/http/http_encoder.cc +++ b/quic/core/http/http_encoder.cc
@@ -43,13 +43,12 @@ } // static -QuicBuffer HttpEncoder::SerializeDataFrameHeader( - QuicByteCount payload_length, - QuicBufferAllocator* allocator) { +quiche::QuicheBuffer HttpEncoder::SerializeDataFrameHeader( + QuicByteCount payload_length, quiche::QuicheBufferAllocator* allocator) { QUICHE_DCHECK_NE(0u, payload_length); QuicByteCount header_length = GetDataFrameHeaderLength(payload_length); - QuicBuffer header(allocator, header_length); + quiche::QuicheBuffer header(allocator, header_length); QuicDataWriter writer(header.size(), header.data()); if (WriteFrameHeader(payload_length, HttpFrameType::DATA, &writer)) { @@ -57,7 +56,7 @@ } QUIC_DLOG(ERROR) << "Http encoder failed when attempting to serialize data frame header."; - return QuicBuffer(); + return quiche::QuicheBuffer(); } // static
diff --git a/quic/core/http/http_encoder.h b/quic/core/http/http_encoder.h index 585e739..97f4b3d 100644 --- a/quic/core/http/http_encoder.h +++ b/quic/core/http/http_encoder.h
@@ -6,11 +6,12 @@ #define QUICHE_QUIC_CORE_HTTP_HTTP_ENCODER_H_ #include <memory> + #include "quic/core/http/http_frames.h" -#include "quic/core/quic_buffer_allocator.h" #include "quic/core/quic_error_codes.h" #include "quic/core/quic_types.h" #include "quic/platform/api/quic_export.h" +#include "common/quiche_buffer_allocator.h" namespace quic { @@ -25,10 +26,10 @@ // Returns the length of the header for a DATA frame. static QuicByteCount GetDataFrameHeaderLength(QuicByteCount payload_length); - // Serializes a DATA frame header into a QuicBuffer; returns said QuicBuffer - // on success, empty buffer otherwise. - static QuicBuffer SerializeDataFrameHeader(QuicByteCount payload_length, - QuicBufferAllocator* allocator); + // Serializes a DATA frame header into a QuicheBuffer; returns said + // QuicheBuffer on success, empty buffer otherwise. + static quiche::QuicheBuffer SerializeDataFrameHeader( + QuicByteCount payload_length, quiche::QuicheBufferAllocator* allocator); // Serializes a HEADERS frame header into a new buffer stored in |output|. // Returns the length of the buffer on success, or 0 otherwise.
diff --git a/quic/core/http/http_encoder_test.cc b/quic/core/http/http_encoder_test.cc index c2b0f36..aab63a1 100644 --- a/quic/core/http/http_encoder_test.cc +++ b/quic/core/http/http_encoder_test.cc
@@ -5,18 +5,18 @@ #include "quic/core/http/http_encoder.h" #include "absl/base/macros.h" -#include "quic/core/quic_simple_buffer_allocator.h" #include "quic/platform/api/quic_flags.h" #include "quic/platform/api/quic_test.h" #include "quic/test_tools/quic_test_utils.h" +#include "common/simple_buffer_allocator.h" #include "common/test_tools/quiche_test_utils.h" namespace quic { namespace test { TEST(HttpEncoderTest, SerializeDataFrameHeader) { - QuicBuffer buffer = HttpEncoder::SerializeDataFrameHeader( - /* payload_length = */ 5, SimpleBufferAllocator::Get()); + quiche::QuicheBuffer buffer = HttpEncoder::SerializeDataFrameHeader( + /* payload_length = */ 5, quiche::SimpleBufferAllocator::Get()); char output[] = {// type (DATA) 0x00, // length
diff --git a/quic/core/http/quic_receive_control_stream_test.cc b/quic/core/http/quic_receive_control_stream_test.cc index ae7a0d8..4fc2ddf 100644 --- a/quic/core/http/quic_receive_control_stream_test.cc +++ b/quic/core/http/quic_receive_control_stream_test.cc
@@ -9,13 +9,13 @@ #include "absl/strings/string_view.h" #include "quic/core/http/http_constants.h" #include "quic/core/qpack/qpack_header_table.h" -#include "quic/core/quic_simple_buffer_allocator.h" #include "quic/core/quic_types.h" #include "quic/core/quic_utils.h" #include "quic/test_tools/qpack/qpack_encoder_peer.h" #include "quic/test_tools/quic_spdy_session_peer.h" #include "quic/test_tools/quic_stream_peer.h" #include "quic/test_tools/quic_test_utils.h" +#include "common/simple_buffer_allocator.h" namespace quic { @@ -240,8 +240,8 @@ TEST_P(QuicReceiveControlStreamTest, ReceiveWrongFrame) { // DATA frame header without payload. - QuicBuffer data = HttpEncoder::SerializeDataFrameHeader( - /* payload_length = */ 2, SimpleBufferAllocator::Get()); + quiche::QuicheBuffer data = HttpEncoder::SerializeDataFrameHeader( + /* payload_length = */ 2, quiche::SimpleBufferAllocator::Get()); QuicStreamFrame frame(receive_control_stream_->id(), false, 1, data.AsStringView());
diff --git a/quic/core/http/quic_spdy_client_stream_test.cc b/quic/core/http/quic_spdy_client_stream_test.cc index 32a0c0c..a7e5d86 100644 --- a/quic/core/http/quic_spdy_client_stream_test.cc +++ b/quic/core/http/quic_spdy_client_stream_test.cc
@@ -12,7 +12,6 @@ #include "quic/core/crypto/null_encrypter.h" #include "quic/core/http/quic_spdy_client_session.h" #include "quic/core/http/spdy_utils.h" -#include "quic/core/quic_simple_buffer_allocator.h" #include "quic/core/quic_utils.h" #include "quic/platform/api/quic_logging.h" #include "quic/platform/api/quic_socket_address.h" @@ -20,6 +19,7 @@ #include "quic/test_tools/crypto_test_utils.h" #include "quic/test_tools/quic_spdy_session_peer.h" #include "quic/test_tools/quic_test_utils.h" +#include "common/simple_buffer_allocator.h" using spdy::SpdyHeaderBlock; using testing::_; @@ -158,8 +158,8 @@ auto headers = AsHeaderList(headers_); stream_->OnStreamHeaderList(false, headers.uncompressed_header_bytes(), headers); - QuicBuffer header = HttpEncoder::SerializeDataFrameHeader( - body_.length(), SimpleBufferAllocator::Get()); + quiche::QuicheBuffer header = HttpEncoder::SerializeDataFrameHeader( + body_.length(), quiche::SimpleBufferAllocator::Get()); std::string data = VersionUsesHttp3(connection_->transport_version()) ? absl::StrCat(header.AsStringView(), body_) : body_; @@ -185,8 +185,8 @@ headers = AsHeaderList(headers_); stream_->OnStreamHeaderList(false, headers.uncompressed_header_bytes(), headers); - QuicBuffer header = HttpEncoder::SerializeDataFrameHeader( - body_.length(), SimpleBufferAllocator::Get()); + quiche::QuicheBuffer header = HttpEncoder::SerializeDataFrameHeader( + body_.length(), quiche::SimpleBufferAllocator::Get()); std::string data = VersionUsesHttp3(connection_->transport_version()) ? absl::StrCat(header.AsStringView(), body_) : body_; @@ -214,8 +214,8 @@ headers = AsHeaderList(headers_); stream_->OnStreamHeaderList(false, headers.uncompressed_header_bytes(), headers); - QuicBuffer header = HttpEncoder::SerializeDataFrameHeader( - body_.length(), SimpleBufferAllocator::Get()); + quiche::QuicheBuffer header = HttpEncoder::SerializeDataFrameHeader( + body_.length(), quiche::SimpleBufferAllocator::Get()); std::string data = VersionUsesHttp3(connection_->transport_version()) ? absl::StrCat(header.AsStringView(), body_) : body_; @@ -245,8 +245,8 @@ auto headers = AsHeaderList(headers_); stream_->OnStreamHeaderList(false, headers.uncompressed_header_bytes(), headers); - QuicBuffer header = HttpEncoder::SerializeDataFrameHeader( - body_.length(), SimpleBufferAllocator::Get()); + quiche::QuicheBuffer header = HttpEncoder::SerializeDataFrameHeader( + body_.length(), quiche::SimpleBufferAllocator::Get()); std::string data = VersionUsesHttp3(connection_->transport_version()) ? absl::StrCat(header.AsStringView(), body_) : body_; @@ -268,8 +268,8 @@ EXPECT_THAT(stream_->stream_error(), IsQuicStreamNoError()); EXPECT_EQ("200", stream_->response_headers().find(":status")->second); EXPECT_EQ(200, stream_->response_code()); - QuicBuffer header = HttpEncoder::SerializeDataFrameHeader( - large_body.length(), SimpleBufferAllocator::Get()); + quiche::QuicheBuffer header = HttpEncoder::SerializeDataFrameHeader( + large_body.length(), quiche::SimpleBufferAllocator::Get()); std::string data = VersionUsesHttp3(connection_->transport_version()) ? absl::StrCat(header.AsStringView(), large_body) : large_body; @@ -309,8 +309,8 @@ // Now send the body, which should close the stream as the FIN has been // received, as well as all data. - QuicBuffer header = HttpEncoder::SerializeDataFrameHeader( - body_.length(), SimpleBufferAllocator::Get()); + quiche::QuicheBuffer header = HttpEncoder::SerializeDataFrameHeader( + body_.length(), quiche::SimpleBufferAllocator::Get()); std::string data = VersionUsesHttp3(connection_->transport_version()) ? absl::StrCat(header.AsStringView(), body_) : body_;
diff --git a/quic/core/http/quic_spdy_session.cc b/quic/core/http/quic_spdy_session.cc index 6a57107..095efdd 100644 --- a/quic/core/http/quic_spdy_session.cc +++ b/quic/core/http/quic_spdy_session.cc
@@ -1663,8 +1663,8 @@ if (context_id.has_value()) { slice_length += QuicDataWriter::GetVarInt62Len(context_id.value()); } - QuicBuffer buffer(connection()->helper()->GetStreamSendBufferAllocator(), - slice_length); + quiche::QuicheBuffer buffer( + connection()->helper()->GetStreamSendBufferAllocator(), slice_length); QuicDataWriter writer(slice_length, buffer.data()); if (!writer.WriteVarInt62(stream_id_to_write)) { QUIC_BUG(h3 datagram stream ID write fail)
diff --git a/quic/core/http/quic_spdy_stream.cc b/quic/core/http/quic_spdy_stream.cc index 2fcece7..adeb224 100644 --- a/quic/core/http/quic_spdy_stream.cc +++ b/quic/core/http/quic_spdy_stream.cc
@@ -401,7 +401,7 @@ bool force_write) { QUICHE_DCHECK(VersionUsesHttp3(transport_version())); QUICHE_DCHECK_GT(data_length, 0u); - QuicBuffer header = HttpEncoder::SerializeDataFrameHeader( + quiche::QuicheBuffer header = HttpEncoder::SerializeDataFrameHeader( data_length, spdy_session_->connection()->helper()->GetStreamSendBufferAllocator()); const bool can_write = CanWriteNewDataAfterData(header.size()); @@ -1563,7 +1563,7 @@ void QuicSpdyStream::WriteCapsule(const Capsule& capsule, bool fin) { QUIC_DLOG(INFO) << ENDPOINT << "Stream " << id() << " sending capsule " << capsule; - QuicBuffer serialized_capsule = SerializeCapsule( + quiche::QuicheBuffer serialized_capsule = SerializeCapsule( capsule, spdy_session_->connection()->helper()->GetStreamSendBufferAllocator()); QUICHE_DCHECK_GT(serialized_capsule.size(), 0u);
diff --git a/quic/core/http/quic_spdy_stream_test.cc b/quic/core/http/quic_spdy_stream_test.cc index cb00c2a..bf4dc45 100644 --- a/quic/core/http/quic_spdy_stream_test.cc +++ b/quic/core/http/quic_spdy_stream_test.cc
@@ -20,7 +20,6 @@ #include "quic/core/http/spdy_utils.h" #include "quic/core/http/web_transport_http3.h" #include "quic/core/quic_connection.h" -#include "quic/core/quic_simple_buffer_allocator.h" #include "quic/core/quic_stream_sequencer_buffer.h" #include "quic/core/quic_utils.h" #include "quic/core/quic_versions.h" @@ -38,6 +37,7 @@ #include "quic/test_tools/quic_stream_peer.h" #include "quic/test_tools/quic_test_utils.h" #include "common/quiche_mem_slice_storage.h" +#include "common/simple_buffer_allocator.h" using spdy::kV3HighestPriority; using spdy::kV3LowestPriority; @@ -477,8 +477,8 @@ } std::string DataFrame(absl::string_view payload) { - QuicBuffer header = HttpEncoder::SerializeDataFrameHeader( - payload.length(), SimpleBufferAllocator::Get()); + quiche::QuicheBuffer header = HttpEncoder::SerializeDataFrameHeader( + payload.length(), quiche::SimpleBufferAllocator::Get()); return absl::StrCat(header.AsStringView(), payload); } @@ -1010,8 +1010,8 @@ std::string data; if (UsesHttp3()) { - QuicBuffer header = HttpEncoder::SerializeDataFrameHeader( - body.length(), SimpleBufferAllocator::Get()); + quiche::QuicheBuffer header = HttpEncoder::SerializeDataFrameHeader( + body.length(), quiche::SimpleBufferAllocator::Get()); data = absl::StrCat(header.AsStringView(), body); header_length = header.size(); } else { @@ -1053,8 +1053,8 @@ std::string data; if (UsesHttp3()) { - QuicBuffer header = HttpEncoder::SerializeDataFrameHeader( - body.length(), SimpleBufferAllocator::Get()); + quiche::QuicheBuffer header = HttpEncoder::SerializeDataFrameHeader( + body.length(), quiche::SimpleBufferAllocator::Get()); data = absl::StrCat(header.AsStringView(), body); header_length = header.size(); } else { @@ -1118,12 +1118,12 @@ if (UsesHttp3()) { body = std::string(kWindow / 4 - 2, 'a'); - QuicBuffer header = HttpEncoder::SerializeDataFrameHeader( - body.length(), SimpleBufferAllocator::Get()); + quiche::QuicheBuffer header = HttpEncoder::SerializeDataFrameHeader( + body.length(), quiche::SimpleBufferAllocator::Get()); data = absl::StrCat(header.AsStringView(), body); header_length = header.size(); - QuicBuffer header2 = HttpEncoder::SerializeDataFrameHeader( - body.length(), SimpleBufferAllocator::Get()); + quiche::QuicheBuffer header2 = HttpEncoder::SerializeDataFrameHeader( + body.length(), quiche::SimpleBufferAllocator::Get()); data2 = absl::StrCat(header2.AsStringView(), body2); } else { body = std::string(kWindow / 4, 'a'); @@ -1596,7 +1596,7 @@ QuicByteCount header_length = 0; if (UsesHttp3()) { header_length = HttpEncoder::SerializeDataFrameHeader( - body.length(), SimpleBufferAllocator::Get()) + body.length(), quiche::SimpleBufferAllocator::Get()) .size(); } @@ -1940,10 +1940,10 @@ stream_->WriteOrBufferBody(body, false); stream_->WriteOrBufferBody(body2, true); - QuicBuffer header = HttpEncoder::SerializeDataFrameHeader( - body.length(), SimpleBufferAllocator::Get()); - QuicBuffer header2 = HttpEncoder::SerializeDataFrameHeader( - body2.length(), SimpleBufferAllocator::Get()); + quiche::QuicheBuffer header = HttpEncoder::SerializeDataFrameHeader( + body.length(), quiche::SimpleBufferAllocator::Get()); + quiche::QuicheBuffer header2 = HttpEncoder::SerializeDataFrameHeader( + body2.length(), quiche::SimpleBufferAllocator::Get()); EXPECT_CALL(*mock_ack_listener, OnPacketAcked(body.length(), _)); QuicStreamFrame frame(stream_->id(), false, 0,
diff --git a/quic/core/http/web_transport_stream_adapter.cc b/quic/core/http/web_transport_stream_adapter.cc index eb42fd8..7c6e990 100644 --- a/quic/core/http/web_transport_stream_adapter.cc +++ b/quic/core/http/web_transport_stream_adapter.cc
@@ -46,7 +46,7 @@ return false; } - quiche::QuicheMemSlice memslice(QuicBuffer::Copy( + quiche::QuicheMemSlice memslice(quiche::QuicheBuffer::Copy( session_->connection()->helper()->GetStreamSendBufferAllocator(), data)); QuicConsumedData consumed = stream_->WriteMemSlices(absl::MakeSpan(&memslice, 1), /*fin=*/false);
diff --git a/quic/core/quic_buffer_allocator.cc b/quic/core/quic_buffer_allocator.cc deleted file mode 100644 index 41491d9..0000000 --- a/quic/core/quic_buffer_allocator.cc +++ /dev/null
@@ -1,11 +0,0 @@ -// Copyright (c) 2012 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "quic/core/quic_buffer_allocator.h" - -namespace quic { - -QuicBufferAllocator::~QuicBufferAllocator() = default; - -} // namespace quic
diff --git a/quic/core/quic_buffer_allocator.h b/quic/core/quic_buffer_allocator.h deleted file mode 100644 index 4d62f84..0000000 --- a/quic/core/quic_buffer_allocator.h +++ /dev/null
@@ -1,117 +0,0 @@ -// Copyright (c) 2012 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef QUICHE_QUIC_CORE_QUIC_BUFFER_ALLOCATOR_H_ -#define QUICHE_QUIC_CORE_QUIC_BUFFER_ALLOCATOR_H_ - -#include <stddef.h> - -#include <memory> - -#include "absl/strings/string_view.h" -#include "quic/platform/api/quic_export.h" - -namespace quic { - -// Abstract base class for classes which allocate and delete buffers. -class QUIC_EXPORT_PRIVATE QuicBufferAllocator { - public: - virtual ~QuicBufferAllocator(); - - // Returns or allocates a new buffer of |size|. Never returns null. - virtual char* New(size_t size) = 0; - - // Returns or allocates a new buffer of |size| if |flag_enable| is true. - // Otherwise, returns a buffer that is compatible with this class directly - // with operator new. Never returns null. - virtual char* New(size_t size, bool flag_enable) = 0; - - // Releases a buffer. - virtual void Delete(char* buffer) = 0; - - // Marks the allocator as being idle. Serves as a hint to notify the allocator - // that it should release any resources it's still holding on to. - virtual void MarkAllocatorIdle() {} -}; - -// A deleter that can be used to manage ownership of buffers allocated via -// QuicBufferAllocator through std::unique_ptr. -class QUIC_EXPORT_PRIVATE QuicBufferDeleter { - public: - explicit QuicBufferDeleter(QuicBufferAllocator* allocator) - : allocator_(allocator) {} - - QuicBufferAllocator* allocator() { return allocator_; } - void operator()(char* buffer) { allocator_->Delete(buffer); } - - private: - QuicBufferAllocator* allocator_; -}; - -using QuicUniqueBufferPtr = std::unique_ptr<char[], QuicBufferDeleter>; - -inline QuicUniqueBufferPtr MakeUniqueBuffer(QuicBufferAllocator* allocator, - size_t size) { - return QuicUniqueBufferPtr(allocator->New(size), - QuicBufferDeleter(allocator)); -} - -// QuicUniqueBufferPtr with a length attached to it. Similar to QuicheMemSlice, -// except unlike QuicheMemSlice, QuicBuffer is mutable and is not -// platform-specific. Also unlike QuicheMemSlice, QuicBuffer can be empty. -class QUIC_EXPORT_PRIVATE QuicBuffer { - public: - QuicBuffer() : buffer_(nullptr, QuicBufferDeleter(nullptr)), size_(0) {} - QuicBuffer(QuicBufferAllocator* allocator, size_t size) - : buffer_(MakeUniqueBuffer(allocator, size)), size_(size) {} - - QuicBuffer(QuicUniqueBufferPtr buffer, size_t size) - : buffer_(std::move(buffer)), size_(size) {} - - // Make sure the move constructor zeroes out the size field. - QuicBuffer(QuicBuffer&& other) - : buffer_(std::move(other.buffer_)), size_(other.size_) { - other.buffer_ = nullptr; - other.size_ = 0; - } - QuicBuffer& operator=(QuicBuffer&& other) { - buffer_ = std::move(other.buffer_); - size_ = other.size_; - - other.buffer_ = nullptr; - other.size_ = 0; - return *this; - } - - // Convenience method to initialize a QuicBuffer by copying from an existing - // one. - static QuicBuffer Copy(QuicBufferAllocator* allocator, - absl::string_view data) { - QuicBuffer result(allocator, data.size()); - memcpy(result.data(), data.data(), data.size()); - return result; - } - - const char* data() const { return buffer_.get(); } - char* data() { return buffer_.get(); } - size_t size() const { return size_; } - bool empty() const { return size_ == 0; } - absl::string_view AsStringView() const { - return absl::string_view(data(), size()); - } - - // Releases the ownership of the underlying buffer. - QuicUniqueBufferPtr Release() { - size_ = 0; - return std::move(buffer_); - } - - private: - QuicUniqueBufferPtr buffer_; - size_t size_; -}; - -} // namespace quic - -#endif // QUICHE_QUIC_CORE_QUIC_BUFFER_ALLOCATOR_H_
diff --git a/quic/core/quic_coalesced_packet.cc b/quic/core/quic_coalesced_packet.cc index 52673b6..e8ce931 100644 --- a/quic/core/quic_coalesced_packet.cc +++ b/quic/core/quic_coalesced_packet.cc
@@ -18,10 +18,9 @@ } bool QuicCoalescedPacket::MaybeCoalescePacket( - const SerializedPacket& packet, - const QuicSocketAddress& self_address, + const SerializedPacket& packet, const QuicSocketAddress& self_address, const QuicSocketAddress& peer_address, - QuicBufferAllocator* allocator, + quiche::QuicheBufferAllocator* allocator, QuicPacketLength current_max_packet_length) { if (packet.encrypted_length == 0) { QUIC_BUG(quic_bug_10611_1) << "Trying to coalesce an empty packet";
diff --git a/quic/core/quic_coalesced_packet.h b/quic/core/quic_coalesced_packet.h index e8bc2c3..9b8295c 100644 --- a/quic/core/quic_coalesced_packet.h +++ b/quic/core/quic_coalesced_packet.h
@@ -21,7 +21,7 @@ bool MaybeCoalescePacket(const SerializedPacket& packet, const QuicSocketAddress& self_address, const QuicSocketAddress& peer_address, - QuicBufferAllocator* allocator, + quiche::QuicheBufferAllocator* allocator, QuicPacketLength current_max_packet_length); // Clears this coalesced packet.
diff --git a/quic/core/quic_coalesced_packet_test.cc b/quic/core/quic_coalesced_packet_test.cc index 34f6da3..f626891 100644 --- a/quic/core/quic_coalesced_packet_test.cc +++ b/quic/core/quic_coalesced_packet_test.cc
@@ -17,7 +17,7 @@ QuicCoalescedPacket coalesced; EXPECT_EQ("total_length: 0 padding_size: 0 packets: {}", coalesced.ToString(0)); - SimpleBufferAllocator allocator; + quiche::SimpleBufferAllocator allocator; EXPECT_EQ(0u, coalesced.length()); EXPECT_EQ(0u, coalesced.NumberOfPackets()); char buffer[1000]; @@ -96,7 +96,7 @@ TEST(QuicCoalescedPacketTest, CopyEncryptedBuffers) { QuicCoalescedPacket coalesced; - SimpleBufferAllocator allocator; + quiche::SimpleBufferAllocator allocator; QuicSocketAddress self_address(QuicIpAddress::Loopback4(), 1); QuicSocketAddress peer_address(QuicIpAddress::Loopback4(), 2); std::string buffer(500, 'a'); @@ -139,7 +139,7 @@ EXPECT_EQ("total_length: 0 padding_size: 0 packets: {}", coalesced.ToString(0)); - SimpleBufferAllocator allocator; + quiche::SimpleBufferAllocator allocator; EXPECT_EQ(0u, coalesced.length()); char buffer[1000]; QuicSocketAddress self_address(QuicIpAddress::Loopback4(), 1);
diff --git a/quic/core/quic_connection.h b/quic/core/quic_connection.h index 42b4358..40c55a3 100644 --- a/quic/core/quic_connection.h +++ b/quic/core/quic_connection.h
@@ -452,8 +452,8 @@ // Returns a QuicRandom to be used for all random number related functions. virtual QuicRandom* GetRandomGenerator() = 0; - // Returns a QuicBufferAllocator to be used for stream send buffers. - virtual QuicBufferAllocator* GetStreamSendBufferAllocator() = 0; + // Returns a QuicheBufferAllocator to be used for stream send buffers. + virtual quiche::QuicheBufferAllocator* GetStreamSendBufferAllocator() = 0; }; class QUIC_EXPORT_PRIVATE QuicConnection
diff --git a/quic/core/quic_connection_test.cc b/quic/core/quic_connection_test.cc index 1162de1..fc4df23 100644 --- a/quic/core/quic_connection_test.cc +++ b/quic/core/quic_connection_test.cc
@@ -30,7 +30,6 @@ #include "quic/core/quic_packet_creator.h" #include "quic/core/quic_packets.h" #include "quic/core/quic_path_validator.h" -#include "quic/core/quic_simple_buffer_allocator.h" #include "quic/core/quic_types.h" #include "quic/core/quic_utils.h" #include "quic/core/quic_versions.h" @@ -53,6 +52,7 @@ #include "quic/test_tools/quic_test_utils.h" #include "quic/test_tools/simple_data_producer.h" #include "quic/test_tools/simple_session_notifier.h" +#include "common/simple_buffer_allocator.h" using testing::_; using testing::AnyNumber; @@ -169,14 +169,14 @@ QuicRandom* GetRandomGenerator() override { return random_generator_; } - QuicBufferAllocator* GetStreamSendBufferAllocator() override { + quiche::QuicheBufferAllocator* GetStreamSendBufferAllocator() override { return &buffer_allocator_; } private: MockClock* clock_; MockRandom* random_generator_; - SimpleBufferAllocator buffer_allocator_; + quiche::SimpleBufferAllocator buffer_allocator_; }; class TestConnection : public QuicConnection { @@ -1068,7 +1068,7 @@ MessageStatus SendMessage(absl::string_view message) { connection_.SetDefaultEncryptionLevel(ENCRYPTION_FORWARD_SECURE); - quiche::QuicheMemSlice slice(QuicBuffer::Copy( + quiche::QuicheMemSlice slice(quiche::QuicheBuffer::Copy( connection_.helper()->GetStreamSendBufferAllocator(), message)); return connection_.SendMessage(1, absl::MakeSpan(&slice, 1), false); } @@ -1465,7 +1465,7 @@ std::unique_ptr<MockLossAlgorithm> loss_algorithm_; MockClock clock_; MockRandom random_generator_; - SimpleBufferAllocator buffer_allocator_; + quiche::SimpleBufferAllocator buffer_allocator_; std::unique_ptr<TestConnectionHelper> helper_; std::unique_ptr<TestAlarmFactory> alarm_factory_; QuicFramer peer_framer_;
diff --git a/quic/core/quic_datagram_queue_test.cc b/quic/core/quic_datagram_queue_test.cc index 041275c..295e72a 100644 --- a/quic/core/quic_datagram_queue_test.cc +++ b/quic/core/quic_datagram_queue_test.cc
@@ -9,13 +9,13 @@ #include "absl/strings/string_view.h" #include "absl/types/optional.h" #include "quic/core/crypto/null_encrypter.h" -#include "quic/core/quic_buffer_allocator.h" #include "quic/core/quic_time.h" #include "quic/core/quic_types.h" #include "quic/platform/api/quic_reference_counted.h" #include "quic/platform/api/quic_test.h" #include "quic/test_tools/quic_test_utils.h" #include "common/platform/api/quiche_mem_slice.h" +#include "common/quiche_buffer_allocator.h" namespace quic { namespace test { @@ -71,8 +71,8 @@ ~QuicDatagramQueueTestBase() = default; quiche::QuicheMemSlice CreateMemSlice(absl::string_view data) { - return quiche::QuicheMemSlice( - QuicBuffer::Copy(helper_.GetStreamSendBufferAllocator(), data)); + return quiche::QuicheMemSlice(quiche::QuicheBuffer::Copy( + helper_.GetStreamSendBufferAllocator(), data)); } MockQuicConnectionHelper helper_;
diff --git a/quic/core/quic_dispatcher.cc b/quic/core/quic_dispatcher.cc index 0da608c..1cc4cf3 100644 --- a/quic/core/quic_dispatcher.cc +++ b/quic/core/quic_dispatcher.cc
@@ -77,7 +77,7 @@ class PacketCollector : public QuicPacketCreator::DelegateInterface, public QuicStreamFrameDataProducer { public: - explicit PacketCollector(QuicBufferAllocator* allocator) + explicit PacketCollector(quiche::QuicheBufferAllocator* allocator) : send_buffer_(allocator) {} ~PacketCollector() override = default;
diff --git a/quic/core/quic_epoll_connection_helper.cc b/quic/core/quic_epoll_connection_helper.cc index 42d2e02..980a09f 100644 --- a/quic/core/quic_epoll_connection_helper.cc +++ b/quic/core/quic_epoll_connection_helper.cc
@@ -27,7 +27,8 @@ return random_generator_; } -QuicBufferAllocator* QuicEpollConnectionHelper::GetStreamSendBufferAllocator() { +quiche::QuicheBufferAllocator* +QuicEpollConnectionHelper::GetStreamSendBufferAllocator() { if (allocator_type_ == QuicAllocator::BUFFER_POOL) { return &stream_buffer_allocator_; } else {
diff --git a/quic/core/quic_epoll_connection_helper.h b/quic/core/quic_epoll_connection_helper.h index d363d6b..e433ff5 100644 --- a/quic/core/quic_epoll_connection_helper.h +++ b/quic/core/quic_epoll_connection_helper.h
@@ -9,17 +9,18 @@ #define QUICHE_QUIC_CORE_QUIC_EPOLL_CONNECTION_HELPER_H_ #include <sys/types.h> + #include <set> #include "quic/core/quic_connection.h" #include "quic/core/quic_default_packet_writer.h" #include "quic/core/quic_packet_writer.h" #include "quic/core/quic_packets.h" -#include "quic/core/quic_simple_buffer_allocator.h" #include "quic/core/quic_time.h" #include "quic/platform/api/quic_epoll.h" #include "quic/platform/api/quic_stream_buffer_allocator.h" #include "net/quic/platform/impl/quic_epoll_clock.h" +#include "common/simple_buffer_allocator.h" namespace quic { @@ -40,7 +41,7 @@ // QuicConnectionHelperInterface const QuicClock* GetClock() const override; QuicRandom* GetRandomGenerator() override; - QuicBufferAllocator* GetStreamSendBufferAllocator() override; + quiche::QuicheBufferAllocator* GetStreamSendBufferAllocator() override; private: const QuicEpollClock clock_; @@ -48,7 +49,7 @@ // Set up allocators. They take up minimal memory before use. // Allocator for stream send buffers. QuicStreamBufferAllocator stream_buffer_allocator_; - SimpleBufferAllocator simple_buffer_allocator_; + quiche::SimpleBufferAllocator simple_buffer_allocator_; QuicAllocator allocator_type_; };
diff --git a/quic/core/quic_framer_test.cc b/quic/core/quic_framer_test.cc index d24664d..150f2b8 100644 --- a/quic/core/quic_framer_test.cc +++ b/quic/core/quic_framer_test.cc
@@ -921,7 +921,7 @@ QuicTime start_; QuicFramer framer_; test::TestQuicVisitor visitor_; - SimpleBufferAllocator allocator_; + quiche::SimpleBufferAllocator allocator_; }; // Multiple test cases of QuicFramerTest use byte arrays to define packets for
diff --git a/quic/core/quic_packet_creator_test.cc b/quic/core/quic_packet_creator_test.cc index c7b7dcb..3b56f82 100644 --- a/quic/core/quic_packet_creator_test.cc +++ b/quic/core/quic_packet_creator_test.cc
@@ -21,7 +21,6 @@ #include "quic/core/frames/quic_stream_frame.h" #include "quic/core/quic_connection_id.h" #include "quic/core/quic_data_writer.h" -#include "quic/core/quic_simple_buffer_allocator.h" #include "quic/core/quic_types.h" #include "quic/core/quic_utils.h" #include "quic/platform/api/quic_expect_bug.h" @@ -33,6 +32,7 @@ #include "quic/test_tools/quic_test_utils.h" #include "quic/test_tools/simple_data_producer.h" #include "quic/test_tools/simple_quic_framer.h" +#include "common/simple_buffer_allocator.h" #include "common/test_tools/quiche_test_utils.h" using ::testing::_; @@ -287,7 +287,7 @@ TestPacketCreator creator_; std::unique_ptr<SerializedPacket> serialized_packet_; SimpleDataProducer producer_; - SimpleBufferAllocator allocator_; + quiche::SimpleBufferAllocator allocator_; }; // Run all packet creator tests with all supported versions of QUIC, and with @@ -2140,7 +2140,7 @@ TEST_P(QuicPacketCreatorTest, SerializeCoalescedPacket) { QuicCoalescedPacket coalesced; - SimpleBufferAllocator allocator; + quiche::SimpleBufferAllocator allocator; QuicSocketAddress self_address(QuicIpAddress::Loopback4(), 1); QuicSocketAddress peer_address(QuicIpAddress::Loopback4(), 2); for (size_t i = ENCRYPTION_INITIAL; i < NUM_ENCRYPTION_LEVELS; ++i) { @@ -2606,7 +2606,7 @@ std::vector<SerializedPacket> packets_; QuicAckFrame ack_frame_; struct iovec iov_; - SimpleBufferAllocator allocator_; + quiche::SimpleBufferAllocator allocator_; private: std::unique_ptr<char[]> data_array_;
diff --git a/quic/core/quic_packets.cc b/quic/core/quic_packets.cc index d625b5d..91840f8 100644 --- a/quic/core/quic_packets.cc +++ b/quic/core/quic_packets.cc
@@ -511,7 +511,7 @@ } SerializedPacket* CopySerializedPacket(const SerializedPacket& serialized, - QuicBufferAllocator* allocator, + quiche::QuicheBufferAllocator* allocator, bool copy_buffer) { SerializedPacket* copy = new SerializedPacket( serialized.packet_number, serialized.packet_number_length,
diff --git a/quic/core/quic_packets.h b/quic/core/quic_packets.h index c79e5a5..c373327 100644 --- a/quic/core/quic_packets.h +++ b/quic/core/quic_packets.h
@@ -410,8 +410,7 @@ // indicates whether the encrypted buffer should be copied. QUIC_EXPORT_PRIVATE SerializedPacket* CopySerializedPacket( const SerializedPacket& serialized, - QuicBufferAllocator* allocator, - bool copy_buffer); + quiche::QuicheBufferAllocator* allocator, bool copy_buffer); // Allocates a new char[] of size |packet.encrypted_length| and copies in // |packet.encrypted_buffer|.
diff --git a/quic/core/quic_packets_test.cc b/quic/core/quic_packets_test.cc index a07e289..ce7cf8e 100644 --- a/quic/core/quic_packets_test.cc +++ b/quic/core/quic_packets_test.cc
@@ -74,7 +74,7 @@ TEST_F(QuicPacketsTest, CopySerializedPacket) { std::string buffer(1000, 'a'); - SimpleBufferAllocator allocator; + quiche::SimpleBufferAllocator allocator; SerializedPacket packet(QuicPacketNumber(1), PACKET_1BYTE_PACKET_NUMBER, buffer.data(), buffer.length(), /*has_ack=*/false, /*has_stop_waiting=*/false);
diff --git a/quic/core/quic_sent_packet_manager_test.cc b/quic/core/quic_sent_packet_manager_test.cc index 565eb96..02ae04c 100644 --- a/quic/core/quic_sent_packet_manager_test.cc +++ b/quic/core/quic_sent_packet_manager_test.cc
@@ -335,7 +335,7 @@ return 4; } - SimpleBufferAllocator allocator_; + quiche::SimpleBufferAllocator allocator_; QuicSentPacketManager manager_; MockClock clock_; QuicConnectionStats stats_; @@ -4495,7 +4495,7 @@ QuicMessageFrame* message_frame = nullptr; { - quiche::QuicheMemSlice slice(QuicBuffer(&allocator_, 1024)); + quiche::QuicheMemSlice slice(quiche::QuicheBuffer(&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 e1e437b..aa58ead 100644 --- a/quic/core/quic_stream_send_buffer.cc +++ b/quic/core/quic_stream_send_buffer.cc
@@ -47,7 +47,8 @@ return offset == other.offset && length == other.length; } -QuicStreamSendBuffer::QuicStreamSendBuffer(QuicBufferAllocator* allocator) +QuicStreamSendBuffer::QuicStreamSendBuffer( + quiche::QuicheBufferAllocator* allocator) : current_end_offset_(0), stream_offset_(0), allocator_(allocator), @@ -67,7 +68,7 @@ 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); - QuicBuffer buffer(allocator_, slice_len); + quiche::QuicheBuffer buffer(allocator_, slice_len); QuicUtils::CopyToBuffer(iov, iov_count, iov_offset, slice_len, buffer.data()); SaveMemSlice(quiche::QuicheMemSlice(std::move(buffer)));
diff --git a/quic/core/quic_stream_send_buffer.h b/quic/core/quic_stream_send_buffer.h index 2069e8b..6fe7b75 100644 --- a/quic/core/quic_stream_send_buffer.h +++ b/quic/core/quic_stream_send_buffer.h
@@ -64,7 +64,7 @@ // across slice boundaries. class QUIC_EXPORT_PRIVATE QuicStreamSendBuffer { public: - explicit QuicStreamSendBuffer(QuicBufferAllocator* allocator); + explicit QuicStreamSendBuffer(quiche::QuicheBufferAllocator* allocator); QuicStreamSendBuffer(const QuicStreamSendBuffer& other) = delete; QuicStreamSendBuffer(QuicStreamSendBuffer&& other) = delete; ~QuicStreamSendBuffer(); @@ -153,7 +153,7 @@ // Offset of next inserted byte. QuicStreamOffset stream_offset_; - QuicBufferAllocator* allocator_; + quiche::QuicheBufferAllocator* allocator_; // Bytes that have been consumed by the stream. uint64_t stream_bytes_written_;
diff --git a/quic/core/quic_stream_send_buffer_test.cc b/quic/core/quic_stream_send_buffer_test.cc index 15e0d3f..2e0f9dc 100644 --- a/quic/core/quic_stream_send_buffer_test.cc +++ b/quic/core/quic_stream_send_buffer_test.cc
@@ -8,13 +8,13 @@ #include "absl/strings/string_view.h" #include "quic/core/quic_data_writer.h" -#include "quic/core/quic_simple_buffer_allocator.h" #include "quic/core/quic_utils.h" #include "quic/platform/api/quic_expect_bug.h" #include "quic/platform/api/quic_flags.h" #include "quic/platform/api/quic_test.h" #include "quic/test_tools/quic_stream_send_buffer_peer.h" #include "quic/test_tools/quic_test_utils.h" +#include "common/simple_buffer_allocator.h" namespace quic { namespace test { @@ -38,10 +38,10 @@ iov[0] = MakeIovec(absl::string_view(data1)); iov[1] = MakeIovec(absl::string_view(data2)); - QuicBuffer buffer1(&allocator_, 1024); + quiche::QuicheBuffer buffer1(&allocator_, 1024); memset(buffer1.data(), 'c', buffer1.size()); quiche::QuicheMemSlice slice1(std::move(buffer1)); - QuicBuffer buffer2(&allocator_, 768); + quiche::QuicheBuffer buffer2(&allocator_, 768); memset(buffer2.data(), 'd', buffer2.size()); quiche::QuicheMemSlice slice2(std::move(buffer2)); @@ -73,7 +73,7 @@ EXPECT_EQ(3840u, send_buffer_.stream_bytes_outstanding()); } - SimpleBufferAllocator allocator_; + quiche::SimpleBufferAllocator allocator_; QuicStreamSendBuffer send_buffer_; }; @@ -308,7 +308,7 @@ // Last offset is end offset of last slice. EXPECT_EQ(3840u, QuicStreamSendBufferPeer::EndOffset(&send_buffer_)); - QuicBuffer buffer(&allocator_, 60); + quiche::QuicheBuffer buffer(&allocator_, 60); memset(buffer.data(), 'e', buffer.size()); quiche::QuicheMemSlice slice(std::move(buffer)); send_buffer_.SaveMemSlice(std::move(slice)); @@ -317,7 +317,7 @@ } TEST_F(QuicStreamSendBufferTest, SaveMemSliceSpan) { - SimpleBufferAllocator allocator; + quiche::SimpleBufferAllocator allocator; QuicStreamSendBuffer send_buffer(&allocator); std::string data(1024, 'a'); @@ -331,7 +331,7 @@ } TEST_F(QuicStreamSendBufferTest, SaveEmptyMemSliceSpan) { - SimpleBufferAllocator allocator; + quiche::SimpleBufferAllocator allocator; QuicStreamSendBuffer send_buffer(&allocator); std::string data(1024, 'a');
diff --git a/quic/core/quic_stream_test.cc b/quic/core/quic_stream_test.cc index 7c97ce9..a1c0560 100644 --- a/quic/core/quic_stream_test.cc +++ b/quic/core/quic_stream_test.cc
@@ -1249,14 +1249,18 @@ Initialize(); constexpr QuicByteCount kDataSize = 1024; - QuicBufferAllocator* allocator = + quiche::QuicheBufferAllocator* allocator = connection_->helper()->GetStreamSendBufferAllocator(); std::vector<quiche::QuicheMemSlice> vector1; - vector1.push_back(quiche::QuicheMemSlice(QuicBuffer(allocator, kDataSize))); - vector1.push_back(quiche::QuicheMemSlice(QuicBuffer(allocator, kDataSize))); + vector1.push_back( + quiche::QuicheMemSlice(quiche::QuicheBuffer(allocator, kDataSize))); + vector1.push_back( + quiche::QuicheMemSlice(quiche::QuicheBuffer(allocator, kDataSize))); std::vector<quiche::QuicheMemSlice> vector2; - vector2.push_back(quiche::QuicheMemSlice(QuicBuffer(allocator, kDataSize))); - vector2.push_back(quiche::QuicheMemSlice(QuicBuffer(allocator, kDataSize))); + vector2.push_back( + quiche::QuicheMemSlice(quiche::QuicheBuffer(allocator, kDataSize))); + vector2.push_back( + quiche::QuicheMemSlice(quiche::QuicheBuffer(allocator, kDataSize))); absl::Span<quiche::QuicheMemSlice> span1(vector1); absl::Span<quiche::QuicheMemSlice> span2(vector2);
diff --git a/quic/masque/masque_compression_engine.cc b/quic/masque/masque_compression_engine.cc index ca9ed93..69f75c0 100644 --- a/quic/masque/masque_compression_engine.cc +++ b/quic/masque/masque_compression_engine.cc
@@ -7,7 +7,6 @@ #include <cstdint> #include "absl/strings/string_view.h" -#include "quic/core/quic_buffer_allocator.h" #include "quic/core/quic_data_reader.h" #include "quic/core/quic_data_writer.h" #include "quic/core/quic_framer.h" @@ -16,6 +15,7 @@ #include "quic/core/quic_versions.h" #include "quic/platform/api/quic_containers.h" #include "common/platform/api/quiche_mem_slice.h" +#include "common/quiche_buffer_allocator.h" #include "common/quiche_text_utils.h" namespace quic { @@ -269,7 +269,7 @@ sizeof(server_address.port()) + sizeof(uint8_t) + server_address.host().ToPackedString().length(); } - QuicBuffer buffer( + quiche::QuicheBuffer buffer( masque_session_->connection()->helper()->GetStreamSendBufferAllocator(), slice_length); QuicDataWriter writer(buffer.size(), buffer.data());
diff --git a/quic/qbone/qbone_session_base.cc b/quic/qbone/qbone_session_base.cc index a5e8a2d..c12ec4e 100644 --- a/quic/qbone/qbone_session_base.cc +++ b/quic/qbone/qbone_session_base.cc
@@ -10,7 +10,6 @@ #include <utility> #include "absl/strings/string_view.h" -#include "quic/core/quic_buffer_allocator.h" #include "quic/core/quic_data_reader.h" #include "quic/core/quic_types.h" #include "quic/platform/api/quic_exported_stats.h" @@ -20,6 +19,7 @@ #include "quic/qbone/qbone_constants.h" #include "common/platform/api/quiche_command_line_flags.h" #include "common/platform/api/quiche_mem_slice.h" +#include "common/quiche_buffer_allocator.h" DEFINE_QUICHE_COMMAND_LINE_FLAG( bool, qbone_close_ephemeral_frames, true, @@ -140,7 +140,7 @@ } if (send_packets_as_messages_) { - quiche::QuicheMemSlice slice(QuicBuffer::Copy( + quiche::QuicheMemSlice slice(quiche::QuicheBuffer::Copy( connection()->helper()->GetStreamSendBufferAllocator(), packet)); switch (SendMessage(absl::MakeSpan(&slice, 1), /*flush=*/true).status) { case MESSAGE_STATUS_SUCCESS:
diff --git a/quic/qbone/qbone_stream_test.cc b/quic/qbone/qbone_stream_test.cc index 8e724a4..c2c862a 100644 --- a/quic/qbone/qbone_stream_test.cc +++ b/quic/qbone/qbone_stream_test.cc
@@ -9,7 +9,6 @@ #include "absl/strings/string_view.h" #include "quic/core/crypto/quic_random.h" #include "quic/core/quic_session.h" -#include "quic/core/quic_simple_buffer_allocator.h" #include "quic/core/quic_utils.h" #include "quic/platform/api/quic_test.h" #include "quic/platform/api/quic_test_loopback.h" @@ -17,6 +16,7 @@ #include "quic/qbone/qbone_session_base.h" #include "quic/test_tools/mock_clock.h" #include "quic/test_tools/quic_test_utils.h" +#include "common/simple_buffer_allocator.h" #include "spdy/core/spdy_protocol.h" namespace quic { @@ -159,7 +159,7 @@ return QuicRandom::GetInstance(); } - QuicBufferAllocator* GetStreamSendBufferAllocator() override { + quiche::QuicheBufferAllocator* GetStreamSendBufferAllocator() override { return &buffer_allocator_; } @@ -170,7 +170,7 @@ std::unique_ptr<QuicAlarmFactory> alarm_factory_; std::unique_ptr<QuicConnection> connection_; // Used to implement the QuicConnectionHelperInterface. - SimpleBufferAllocator buffer_allocator_; + quiche::SimpleBufferAllocator buffer_allocator_; MockClock clock_; const QuicStreamId kStreamId = QuicUtils::GetFirstUnidirectionalStreamId( CurrentSupportedVersions()[0].transport_version, Perspective::IS_CLIENT);
diff --git a/quic/quic_transport/quic_transport_integration_test.cc b/quic/quic_transport/quic_transport_integration_test.cc index 7bb8479..742fd46 100644 --- a/quic/quic_transport/quic_transport_integration_test.cc +++ b/quic/quic_transport/quic_transport_integration_test.cc
@@ -13,7 +13,6 @@ #include "url/origin.h" #include "quic/core/crypto/quic_crypto_client_config.h" #include "quic/core/crypto/quic_crypto_server_config.h" -#include "quic/core/quic_buffer_allocator.h" #include "quic/core/quic_connection.h" #include "quic/core/quic_error_codes.h" #include "quic/core/quic_types.h"
diff --git a/quic/quic_transport/quic_transport_stream.cc b/quic/quic_transport/quic_transport_stream.cc index 4def1de..a66f24c 100644 --- a/quic/quic_transport/quic_transport_stream.cc +++ b/quic/quic_transport/quic_transport_stream.cc
@@ -7,7 +7,6 @@ #include <sys/types.h> #include "absl/strings/string_view.h" -#include "quic/core/quic_buffer_allocator.h" #include "quic/core/quic_error_codes.h" #include "quic/core/quic_types.h" #include "quic/core/quic_utils.h"
diff --git a/quic/test_tools/quic_test_backend.cc b/quic/test_tools/quic_test_backend.cc index 12f530a..f84e93e 100644 --- a/quic/test_tools/quic_test_backend.cc +++ b/quic/test_tools/quic_test_backend.cc
@@ -10,8 +10,6 @@ #include "absl/strings/str_cat.h" #include "absl/strings/str_split.h" #include "absl/strings/string_view.h" -#include "quic/core/quic_buffer_allocator.h" -#include "quic/core/quic_simple_buffer_allocator.h" #include "quic/core/web_transport_interface.h" #include "quic/test_tools/web_transport_resets_backend.h" #include "quic/tools/web_transport_test_visitors.h"
diff --git a/quic/test_tools/quic_test_utils.cc b/quic/test_tools/quic_test_utils.cc index 52eafed..9bc950f 100644 --- a/quic/test_tools/quic_test_utils.cc +++ b/quic/test_tools/quic_test_utils.cc
@@ -21,12 +21,10 @@ #include "quic/core/crypto/quic_decrypter.h" #include "quic/core/crypto/quic_encrypter.h" #include "quic/core/http/quic_spdy_client_session.h" -#include "quic/core/quic_buffer_allocator.h" #include "quic/core/quic_config.h" #include "quic/core/quic_data_writer.h" #include "quic/core/quic_framer.h" #include "quic/core/quic_packet_creator.h" -#include "quic/core/quic_simple_buffer_allocator.h" #include "quic/core/quic_types.h" #include "quic/core/quic_utils.h" #include "quic/core/quic_versions.h" @@ -36,7 +34,9 @@ #include "quic/test_tools/crypto_test_utils.h" #include "quic/test_tools/quic_config_peer.h" #include "quic/test_tools/quic_connection_peer.h" +#include "common/quiche_buffer_allocator.h" #include "common/quiche_endian.h" +#include "common/simple_buffer_allocator.h" #include "spdy/core/spdy_frame_builder.h" using testing::_; @@ -486,7 +486,8 @@ } } -QuicBufferAllocator* MockQuicConnectionHelper::GetStreamSendBufferAllocator() { +quiche::QuicheBufferAllocator* +MockQuicConnectionHelper::GetStreamSendBufferAllocator() { return &buffer_allocator_; } @@ -1315,8 +1316,9 @@ return quiche::QuicheMemSlice(); } - static SimpleBufferAllocator* allocator = new SimpleBufferAllocator(); - return quiche::QuicheMemSlice(QuicBuffer::Copy(allocator, data)); + static quiche::SimpleBufferAllocator* allocator = + new quiche::SimpleBufferAllocator(); + return quiche::QuicheMemSlice(quiche::QuicheBuffer::Copy(allocator, data)); } bool TaggingEncrypter::EncryptPacket(uint64_t /*packet_number*/,
diff --git a/quic/test_tools/quic_test_utils.h b/quic/test_tools/quic_test_utils.h index 3f6842e..869e416 100644 --- a/quic/test_tools/quic_test_utils.h +++ b/quic/test_tools/quic_test_utils.h
@@ -30,7 +30,6 @@ #include "quic/core/quic_path_validator.h" #include "quic/core/quic_sent_packet_manager.h" #include "quic/core/quic_server_id.h" -#include "quic/core/quic_simple_buffer_allocator.h" #include "quic/core/quic_types.h" #include "quic/core/quic_utils.h" #include "quic/platform/api/quic_socket_address.h" @@ -41,6 +40,7 @@ #include "quic/test_tools/quic_framer_peer.h" #include "quic/test_tools/simple_quic_framer.h" #include "common/quiche_mem_slice_storage.h" +#include "common/simple_buffer_allocator.h" namespace quic { @@ -517,13 +517,13 @@ ~MockQuicConnectionHelper() override; const QuicClock* GetClock() const override; QuicRandom* GetRandomGenerator() override; - QuicBufferAllocator* GetStreamSendBufferAllocator() override; + quiche::QuicheBufferAllocator* GetStreamSendBufferAllocator() override; void AdvanceTime(QuicTime::Delta delta); private: MockClock clock_; MockRandom random_generator_; - SimpleBufferAllocator buffer_allocator_; + quiche::SimpleBufferAllocator buffer_allocator_; }; class MockAlarmFactory : public QuicAlarmFactory {
diff --git a/quic/test_tools/simple_data_producer.h b/quic/test_tools/simple_data_producer.h index dc0c076..e8dd4e4 100644 --- a/quic/test_tools/simple_data_producer.h +++ b/quic/test_tools/simple_data_producer.h
@@ -7,10 +7,10 @@ #include "absl/container/flat_hash_map.h" #include "absl/strings/string_view.h" -#include "quic/core/quic_simple_buffer_allocator.h" #include "quic/core/quic_stream_frame_data_producer.h" #include "quic/core/quic_stream_send_buffer.h" #include "quic/platform/api/quic_containers.h" +#include "common/simple_buffer_allocator.h" namespace quic { @@ -57,7 +57,7 @@ absl::flat_hash_map<std::pair<EncryptionLevel, QuicStreamOffset>, std::string>; - SimpleBufferAllocator allocator_; + quiche::SimpleBufferAllocator allocator_; SendBufferMap send_buffer_map_;
diff --git a/quic/test_tools/simulator/simulator.cc b/quic/test_tools/simulator/simulator.cc index a9835e8..2cdfe44 100644 --- a/quic/test_tools/simulator/simulator.cc +++ b/quic/test_tools/simulator/simulator.cc
@@ -113,7 +113,7 @@ return random_generator_; } -QuicBufferAllocator* Simulator::GetStreamSendBufferAllocator() { +quiche::QuicheBufferAllocator* Simulator::GetStreamSendBufferAllocator() { return &buffer_allocator_; }
diff --git a/quic/test_tools/simulator/simulator.h b/quic/test_tools/simulator/simulator.h index b4298f5..225441d 100644 --- a/quic/test_tools/simulator/simulator.h +++ b/quic/test_tools/simulator/simulator.h
@@ -10,11 +10,11 @@ #include "absl/container/flat_hash_map.h" #include "absl/container/flat_hash_set.h" #include "quic/core/quic_connection.h" -#include "quic/core/quic_simple_buffer_allocator.h" #include "quic/platform/api/quic_bug_tracker.h" #include "quic/platform/api/quic_containers.h" #include "quic/test_tools/simulator/actor.h" #include "quic/test_tools/simulator/alarm_factory.h" +#include "common/simple_buffer_allocator.h" namespace quic { namespace simulator { @@ -42,7 +42,7 @@ // Begin QuicConnectionHelperInterface implementation. const QuicClock* GetClock() const override; QuicRandom* GetRandomGenerator() override; - QuicBufferAllocator* GetStreamSendBufferAllocator() override; + quiche::QuicheBufferAllocator* GetStreamSendBufferAllocator() override; // End QuicConnectionHelperInterface implementation. QuicAlarmFactory* GetAlarmFactory(); @@ -110,7 +110,7 @@ Clock clock_; QuicRandom* random_generator_; - SimpleBufferAllocator buffer_allocator_; + quiche::SimpleBufferAllocator buffer_allocator_; AlarmFactory alarm_factory_; // Alarm for RunFor() method.
diff --git a/quic/tools/quic_simple_server_stream_test.cc b/quic/tools/quic_simple_server_stream_test.cc index b75246f..40b470e 100644 --- a/quic/tools/quic_simple_server_stream_test.cc +++ b/quic/tools/quic_simple_server_stream_test.cc
@@ -16,7 +16,6 @@ #include "quic/core/http/http_encoder.h" #include "quic/core/http/spdy_utils.h" #include "quic/core/quic_error_codes.h" -#include "quic/core/quic_simple_buffer_allocator.h" #include "quic/core/quic_types.h" #include "quic/core/quic_utils.h" #include "quic/platform/api/quic_expect_bug.h" @@ -32,6 +31,7 @@ #include "quic/tools/quic_backend_response.h" #include "quic/tools/quic_memory_cache_backend.h" #include "quic/tools/quic_simple_server_session.h" +#include "common/simple_buffer_allocator.h" using testing::_; using testing::AnyNumber; @@ -280,8 +280,8 @@ .WillRepeatedly( Invoke(&session_, &MockQuicSimpleServerSession::ConsumeData)); stream_->OnStreamHeaderList(false, kFakeFrameLen, header_list_); - QuicBuffer header = HttpEncoder::SerializeDataFrameHeader( - body_.length(), SimpleBufferAllocator::Get()); + quiche::QuicheBuffer header = HttpEncoder::SerializeDataFrameHeader( + body_.length(), quiche::SimpleBufferAllocator::Get()); std::string data = UsesHttp3() ? absl::StrCat(header.AsStringView(), body_) : body_; stream_->OnStreamFrame( @@ -298,8 +298,8 @@ Invoke(&session_, &MockQuicSimpleServerSession::ConsumeData)); stream_->OnStreamHeaderList(false, kFakeFrameLen, header_list_); - QuicBuffer header = HttpEncoder::SerializeDataFrameHeader( - body_.length(), SimpleBufferAllocator::Get()); + quiche::QuicheBuffer header = HttpEncoder::SerializeDataFrameHeader( + body_.length(), quiche::SimpleBufferAllocator::Get()); std::string data = UsesHttp3() ? absl::StrCat(header.AsStringView(), body_) : body_; stream_->OnStreamFrame( @@ -349,8 +349,8 @@ EXPECT_CALL(session_, WritevData(_, kErrorLength, _, FIN, _, _)); stream_->OnStreamHeaderList(false, kFakeFrameLen, header_list_); - QuicBuffer header = HttpEncoder::SerializeDataFrameHeader( - body_.length(), SimpleBufferAllocator::Get()); + quiche::QuicheBuffer header = HttpEncoder::SerializeDataFrameHeader( + body_.length(), quiche::SimpleBufferAllocator::Get()); std::string data = UsesHttp3() ? absl::StrCat(header.AsStringView(), body_) : body_; @@ -358,8 +358,8 @@ QuicStreamFrame(stream_->id(), /*fin=*/false, /*offset=*/0, data)); // Content length is still 11. This will register as an error and we won't // accept the bytes. - header = HttpEncoder::SerializeDataFrameHeader(large_body.length(), - SimpleBufferAllocator::Get()); + header = HttpEncoder::SerializeDataFrameHeader( + large_body.length(), quiche::SimpleBufferAllocator::Get()); std::string data2 = UsesHttp3() ? absl::StrCat(header.AsStringView(), large_body) : large_body; @@ -381,8 +381,8 @@ response_headers_[":status"] = "200 OK"; response_headers_["content-length"] = "5"; std::string body = "Yummm"; - QuicBuffer header = HttpEncoder::SerializeDataFrameHeader( - body.length(), SimpleBufferAllocator::Get()); + quiche::QuicheBuffer header = HttpEncoder::SerializeDataFrameHeader( + body.length(), quiche::SimpleBufferAllocator::Get()); memory_cache_backend_.AddResponse("www.google.com", "/bar", std::move(response_headers_), body); @@ -413,8 +413,8 @@ response_headers_["content-length"] = "5"; std::string body = "Yummm"; - QuicBuffer header = HttpEncoder::SerializeDataFrameHeader( - body.length(), SimpleBufferAllocator::Get()); + quiche::QuicheBuffer header = HttpEncoder::SerializeDataFrameHeader( + body.length(), quiche::SimpleBufferAllocator::Get()); memory_cache_backend_.AddResponse("www.google.com", "/bar", std::move(response_headers_), body); @@ -482,8 +482,8 @@ response_headers_["content-length"] = "5"; std::string body = "Yummm"; - QuicBuffer header = HttpEncoder::SerializeDataFrameHeader( - body.length(), SimpleBufferAllocator::Get()); + quiche::QuicheBuffer header = HttpEncoder::SerializeDataFrameHeader( + body.length(), quiche::SimpleBufferAllocator::Get()); memory_cache_backend_.AddResponse("www.google.com", "/bar", std::move(response_headers_), body); @@ -512,8 +512,8 @@ (*request_headers)[":authority"] = host; (*request_headers)[":method"] = "GET"; - QuicBuffer header = HttpEncoder::SerializeDataFrameHeader( - body.length(), SimpleBufferAllocator::Get()); + quiche::QuicheBuffer header = HttpEncoder::SerializeDataFrameHeader( + body.length(), quiche::SimpleBufferAllocator::Get()); std::vector<spdy::Http2HeaderBlock> early_hints; // Add two Early Hints. const size_t kNumEarlyHintsResponses = 2; @@ -581,8 +581,8 @@ response_headers_[":status"] = "200"; response_headers_["content-length"] = "5"; const std::string kBody = "Hello"; - QuicBuffer header = HttpEncoder::SerializeDataFrameHeader( - body_.length(), SimpleBufferAllocator::Get()); + quiche::QuicheBuffer header = HttpEncoder::SerializeDataFrameHeader( + body_.length(), quiche::SimpleBufferAllocator::Get()); memory_cache_backend_.AddResponse(kHost, kPath, std::move(response_headers_), kBody); @@ -742,8 +742,8 @@ header_list.OnHeaderBlockEnd(128, 128); EXPECT_CALL(*stream_, WriteHeadersMock(/*fin=*/false)); stream_->OnStreamHeaderList(/*fin=*/false, kFakeFrameLen, header_list); - QuicBuffer header = HttpEncoder::SerializeDataFrameHeader( - body_.length(), SimpleBufferAllocator::Get()); + quiche::QuicheBuffer header = HttpEncoder::SerializeDataFrameHeader( + body_.length(), quiche::SimpleBufferAllocator::Get()); std::string data = UsesHttp3() ? absl::StrCat(header.AsStringView(), body_) : body_; stream_->OnStreamFrame(
diff --git a/quic/tools/quic_transport_simple_server_session.cc b/quic/tools/quic_transport_simple_server_session.cc index 157c16c..b8616d8 100644 --- a/quic/tools/quic_transport_simple_server_session.cc +++ b/quic/tools/quic_transport_simple_server_session.cc
@@ -8,7 +8,6 @@ #include "url/gurl.h" #include "url/origin.h" -#include "quic/core/quic_buffer_allocator.h" #include "quic/core/quic_types.h" #include "quic/core/quic_versions.h" #include "quic/platform/api/quic_flags.h" @@ -17,6 +16,7 @@ #include "quic/quic_transport/quic_transport_stream.h" #include "quic/tools/web_transport_test_visitors.h" #include "common/platform/api/quiche_mem_slice.h" +#include "common/quiche_buffer_allocator.h" namespace quic { @@ -128,8 +128,9 @@ if (mode_ != ECHO) { return; } - datagram_queue()->SendOrQueueDatagram(quiche::QuicheMemSlice(QuicBuffer::Copy( - connection()->helper()->GetStreamSendBufferAllocator(), message))); + datagram_queue()->SendOrQueueDatagram( + quiche::QuicheMemSlice(quiche::QuicheBuffer::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 4fdac1c..27605b1 100644 --- a/quic/tools/web_transport_test_visitors.h +++ b/quic/tools/web_transport_test_visitors.h
@@ -7,11 +7,11 @@ #include <string> -#include "quic/core/quic_simple_buffer_allocator.h" #include "quic/core/web_transport_interface.h" #include "quic/platform/api/quic_logging.h" #include "common/platform/api/quiche_mem_slice.h" #include "common/quiche_circular_deque.h" +#include "common/simple_buffer_allocator.h" namespace quic { @@ -219,7 +219,8 @@ } void OnDatagramReceived(absl::string_view datagram) override { - quiche::QuicheMemSlice slice(QuicBuffer::Copy(&allocator_, datagram)); + quiche::QuicheMemSlice slice( + quiche::QuicheBuffer::Copy(&allocator_, datagram)); session_->SendOrQueueDatagram(std::move(slice)); } @@ -251,7 +252,7 @@ private: WebTransportSession* session_; - SimpleBufferAllocator allocator_; + quiche::SimpleBufferAllocator allocator_; bool echo_stream_opened_ = false; quiche::QuicheCircularDeque<std::string> streams_to_echo_back_;