diff --git a/test/scenario/network/network_emulation_manager.cc b/test/scenario/network/network_emulation_manager.cc index b132e808bc..8e1dc76924 100644 --- a/test/scenario/network/network_emulation_manager.cc +++ b/test/scenario/network/network_emulation_manager.cc @@ -75,13 +75,10 @@ EmulatedNetworkNode* NetworkEmulationManagerImpl::CreateEmulatedNode( auto node = absl::make_unique( clock_, &task_queue_, std::move(network_behavior)); EmulatedNetworkNode* out = node.get(); - - struct Closure { - void operator()() { manager->network_nodes_.push_back(std::move(node)); } - NetworkEmulationManagerImpl* manager; - std::unique_ptr node; - }; - task_queue_.PostTask(Closure{this, std::move(node)}); + task_queue_.PostTask(CreateResourceOwningTask( + std::move(node), [this](std::unique_ptr node) { + network_nodes_.push_back(std::move(node)); + })); return out; } diff --git a/test/scenario/network/network_emulation_manager.h b/test/scenario/network/network_emulation_manager.h index 72f15fdbf4..cb1ace7c2c 100644 --- a/test/scenario/network/network_emulation_manager.h +++ b/test/scenario/network/network_emulation_manager.h @@ -66,8 +66,6 @@ class NetworkEmulationManagerImpl : public NetworkEmulationManager { const std::vector& endpoints) override; private: - FakeNetworkSocketServer* CreateSocketServer( - const std::vector& endpoints); absl::optional GetNextIPv4Address(); Timestamp Now() const;