Internal QUICHE change
PiperOrigin-RevId: 327247864
Change-Id: I65d20201ea9765434b8fd6a8a4da5f9cd292a2ea
diff --git a/quic/core/batch_writer/quic_batch_writer_test.cc b/quic/core/batch_writer/quic_batch_writer_test.cc
index 583b248..1100761 100644
--- a/quic/core/batch_writer/quic_batch_writer_test.cc
+++ b/quic/core/batch_writer/quic_batch_writer_test.cc
@@ -37,8 +37,7 @@
}
void ResetWriter(int fd) override {
- writer_ = std::make_unique<QuicGsoBatchWriter>(
- std::make_unique<QuicBatchWriterBuffer>(), fd);
+ writer_ = std::make_unique<QuicGsoBatchWriter>(fd);
}
QuicUdpBatchWriter* GetWriter() override { return writer_.get(); }
diff --git a/quic/core/batch_writer/quic_gso_batch_writer.cc b/quic/core/batch_writer/quic_gso_batch_writer.cc
index 5feb595..bda5fe2 100644
--- a/quic/core/batch_writer/quic_gso_batch_writer.cc
+++ b/quic/core/batch_writer/quic_gso_batch_writer.cc
@@ -12,16 +12,18 @@
namespace quic {
-QuicGsoBatchWriter::QuicGsoBatchWriter(
- std::unique_ptr<QuicBatchWriterBuffer> batch_buffer,
- int fd)
- : QuicGsoBatchWriter(std::move(batch_buffer), fd, CLOCK_MONOTONIC) {}
+// static
+std::unique_ptr<QuicBatchWriterBuffer>
+QuicGsoBatchWriter::CreateBatchWriterBuffer() {
+ return std::make_unique<QuicBatchWriterBuffer>();
+}
-QuicGsoBatchWriter::QuicGsoBatchWriter(
- std::unique_ptr<QuicBatchWriterBuffer> batch_buffer,
- int fd,
- clockid_t clockid_for_release_time)
- : QuicUdpBatchWriter(std::move(batch_buffer), fd),
+QuicGsoBatchWriter::QuicGsoBatchWriter(int fd)
+ : QuicGsoBatchWriter(fd, CLOCK_MONOTONIC) {}
+
+QuicGsoBatchWriter::QuicGsoBatchWriter(int fd,
+ clockid_t clockid_for_release_time)
+ : QuicUdpBatchWriter(CreateBatchWriterBuffer(), fd),
clockid_for_release_time_(clockid_for_release_time),
supports_release_time_(
GetQuicRestartFlag(quic_support_release_time_for_gso) &&
diff --git a/quic/core/batch_writer/quic_gso_batch_writer.h b/quic/core/batch_writer/quic_gso_batch_writer.h
index ce8a71d..0c2fd1f 100644
--- a/quic/core/batch_writer/quic_gso_batch_writer.h
+++ b/quic/core/batch_writer/quic_gso_batch_writer.h
@@ -13,14 +13,11 @@
// segmentation offload(GSO) capability.
class QUIC_EXPORT_PRIVATE QuicGsoBatchWriter : public QuicUdpBatchWriter {
public:
- QuicGsoBatchWriter(std::unique_ptr<QuicBatchWriterBuffer> batch_buffer,
- int fd);
+ explicit QuicGsoBatchWriter(int fd);
// |clockid_for_release_time|: FQ qdisc requires CLOCK_MONOTONIC, EDF requires
// CLOCK_TAI.
- QuicGsoBatchWriter(std::unique_ptr<QuicBatchWriterBuffer> batch_buffer,
- int fd,
- clockid_t clockid_for_release_time);
+ QuicGsoBatchWriter(int fd, clockid_t clockid_for_release_time);
bool SupportsReleaseTime() const final { return supports_release_time_; }
@@ -109,6 +106,8 @@
}
private:
+ static std::unique_ptr<QuicBatchWriterBuffer> CreateBatchWriterBuffer();
+
const clockid_t clockid_for_release_time_;
const bool supports_release_time_;
};
diff --git a/quic/core/batch_writer/quic_gso_batch_writer_test.cc b/quic/core/batch_writer/quic_gso_batch_writer_test.cc
index bc075b2..731b19f 100644
--- a/quic/core/batch_writer/quic_gso_batch_writer_test.cc
+++ b/quic/core/batch_writer/quic_gso_batch_writer_test.cc
@@ -276,8 +276,7 @@
}
TEST_F(QuicGsoBatchWriterTest, WriteSuccess) {
- TestQuicGsoBatchWriter writer(std::make_unique<QuicBatchWriterBuffer>(),
- /*fd=*/-1);
+ TestQuicGsoBatchWriter writer(/*fd=*/-1);
ASSERT_EQ(WriteResult(WRITE_STATUS_OK, 0), WritePacket(&writer, 1000));
@@ -292,8 +291,7 @@
}
TEST_F(QuicGsoBatchWriterTest, WriteBlockDataNotBuffered) {
- TestQuicGsoBatchWriter writer(std::make_unique<QuicBatchWriterBuffer>(),
- /*fd=*/-1);
+ TestQuicGsoBatchWriter writer(/*fd=*/-1);
ASSERT_EQ(WriteResult(WRITE_STATUS_OK, 0), WritePacket(&writer, 100));
ASSERT_EQ(WriteResult(WRITE_STATUS_OK, 0), WritePacket(&writer, 100));
@@ -311,8 +309,7 @@
}
TEST_F(QuicGsoBatchWriterTest, WriteBlockDataBuffered) {
- TestQuicGsoBatchWriter writer(std::make_unique<QuicBatchWriterBuffer>(),
- /*fd=*/-1);
+ TestQuicGsoBatchWriter writer(/*fd=*/-1);
ASSERT_EQ(WriteResult(WRITE_STATUS_OK, 0), WritePacket(&writer, 100));
ASSERT_EQ(WriteResult(WRITE_STATUS_OK, 0), WritePacket(&writer, 100));
@@ -330,8 +327,7 @@
}
TEST_F(QuicGsoBatchWriterTest, WriteErrorWithoutDataBuffered) {
- TestQuicGsoBatchWriter writer(std::make_unique<QuicBatchWriterBuffer>(),
- /*fd=*/-1);
+ TestQuicGsoBatchWriter writer(/*fd=*/-1);
ASSERT_EQ(WriteResult(WRITE_STATUS_OK, 0), WritePacket(&writer, 100));
ASSERT_EQ(WriteResult(WRITE_STATUS_OK, 0), WritePacket(&writer, 100));
@@ -351,8 +347,7 @@
}
TEST_F(QuicGsoBatchWriterTest, WriteErrorAfterDataBuffered) {
- TestQuicGsoBatchWriter writer(std::make_unique<QuicBatchWriterBuffer>(),
- /*fd=*/-1);
+ TestQuicGsoBatchWriter writer(/*fd=*/-1);
ASSERT_EQ(WriteResult(WRITE_STATUS_OK, 0), WritePacket(&writer, 100));
ASSERT_EQ(WriteResult(WRITE_STATUS_OK, 0), WritePacket(&writer, 100));
@@ -372,8 +367,7 @@
}
TEST_F(QuicGsoBatchWriterTest, FlushError) {
- TestQuicGsoBatchWriter writer(std::make_unique<QuicBatchWriterBuffer>(),
- /*fd=*/-1);
+ TestQuicGsoBatchWriter writer(/*fd=*/-1);
ASSERT_EQ(WriteResult(WRITE_STATUS_OK, 0), WritePacket(&writer, 100));
ASSERT_EQ(WriteResult(WRITE_STATUS_OK, 0), WritePacket(&writer, 100));