Change quic::test::ServerThread to take a std::unique_ptr<QuicServer> instead of a raw pointer.
PiperOrigin-RevId: 441810018
diff --git a/quiche/quic/core/http/end_to_end_test.cc b/quiche/quic/core/http/end_to_end_test.cc
index e2891a9..ded3d87 100644
--- a/quiche/quic/core/http/end_to_end_test.cc
+++ b/quiche/quic/core/http/end_to_end_test.cc
@@ -444,12 +444,12 @@
}
void StartServer() {
- auto* test_server = new QuicTestServer(
+ auto test_server = std::make_unique<QuicTestServer>(
crypto_test_utils::ProofSourceForTesting(), server_config_,
server_supported_versions_, &memory_cache_backend_,
expected_server_connection_id_length_);
server_thread_ =
- std::make_unique<ServerThread>(test_server, server_address_);
+ std::make_unique<ServerThread>(std::move(test_server), server_address_);
if (chlo_multiplier_ != 0) {
server_thread_->server()->SetChloMultiplier(chlo_multiplier_);
}
diff --git a/quiche/quic/qbone/qbone_client_test.cc b/quiche/quic/qbone/qbone_client_test.cc
index f796c46..dee4d96 100644
--- a/quiche/quic/qbone/qbone_client_test.cc
+++ b/quiche/quic/qbone/qbone_client_test.cc
@@ -206,9 +206,11 @@
::testing::PrintToStringParamName());
TEST_P(QboneClientTest, SendDataFromClient) {
- auto server = new QboneTestServer(crypto_test_utils::ProofSourceForTesting());
+ auto server = std::make_unique<QboneTestServer>(
+ crypto_test_utils::ProofSourceForTesting());
+ QboneTestServer* server_ptr = server.get();
QuicSocketAddress server_address(TestLoopback(), 0);
- ServerThread server_thread(server, server_address);
+ ServerThread server_thread(std::move(server), server_address);
server_thread.Initialize();
server_address =
QuicSocketAddress(server_address.host(), server_thread.GetPort());
@@ -229,19 +231,19 @@
// Wait until the server has received at least two packets, timeout after 5s.
ASSERT_TRUE(
- server_thread.WaitUntil([&] { return server->data().size() >= 2; },
+ server_thread.WaitUntil([&] { return server_ptr->data().size() >= 2; },
QuicTime::Delta::FromSeconds(5)));
std::string long_data(
QboneConstants::kMaxQbonePacketBytes - sizeof(ip6_hdr) - 1, 'A');
// Pretend the server gets data.
- server_thread.Schedule([&server, &long_data]() {
- EXPECT_THAT(server->data()[0], testing::Eq(TestPacketOut("hello")));
- EXPECT_THAT(server->data()[1], testing::Eq(TestPacketOut("world")));
+ server_thread.Schedule([server_ptr, &long_data]() {
+ EXPECT_THAT(server_ptr->data()[0], testing::Eq(TestPacketOut("hello")));
+ EXPECT_THAT(server_ptr->data()[1], testing::Eq(TestPacketOut("world")));
auto server_session = static_cast<QboneServerSession*>(
QuicDispatcherPeer::GetFirstSessionIfAny(
- QuicServerPeer::GetDispatcher(server)));
+ QuicServerPeer::GetDispatcher(server_ptr)));
server_session->ProcessPacketFromNetwork(
TestPacketIn("Somethingsomething"));
server_session->ProcessPacketFromNetwork(TestPacketIn(long_data));
diff --git a/quiche/quic/test_tools/server_thread.cc b/quiche/quic/test_tools/server_thread.cc
index 12d2fc2..1a4ae06 100644
--- a/quiche/quic/test_tools/server_thread.cc
+++ b/quiche/quic/test_tools/server_thread.cc
@@ -13,10 +13,11 @@
namespace quic {
namespace test {
-ServerThread::ServerThread(QuicServer* server, const QuicSocketAddress& address)
+ServerThread::ServerThread(std::unique_ptr<QuicServer> server,
+ const QuicSocketAddress& address)
: QuicThread("server_thread"),
- server_(server),
- clock_(server->epoll_server()),
+ server_(std::move(server)),
+ clock_(server_->epoll_server()),
address_(address),
port_(0),
initialized_(false) {}
diff --git a/quiche/quic/test_tools/server_thread.h b/quiche/quic/test_tools/server_thread.h
index 7f5d45a..11c8fe1 100644
--- a/quiche/quic/test_tools/server_thread.h
+++ b/quiche/quic/test_tools/server_thread.h
@@ -21,7 +21,8 @@
// Simple wrapper class to run QuicServer in a dedicated thread.
class ServerThread : public QuicThread {
public:
- ServerThread(QuicServer* server, const QuicSocketAddress& address);
+ ServerThread(std::unique_ptr<QuicServer> server,
+ const QuicSocketAddress& address);
ServerThread(const ServerThread&) = delete;
ServerThread& operator=(const ServerThread&) = delete;