Removes Start/Stop on network emulation manager.
Bug: None
Change-Id: I4a1d780d909e9abdd6d09e4da3bec52ca274d36b
Reviewed-on: https://webrtc-review.googlesource.com/c/121950
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26631}
diff --git a/test/pc/e2e/peer_connection_e2e_smoke_test.cc b/test/pc/e2e/peer_connection_e2e_smoke_test.cc
index 6737be1..f0c11f2 100644
--- a/test/pc/e2e/peer_connection_e2e_smoke_test.cc
+++ b/test/pc/e2e/peer_connection_e2e_smoke_test.cc
@@ -66,7 +66,7 @@
/*output_dump_file_name=*/absl::nullopt, cricket::AudioOptions()};
// Setup emulated network
- NetworkEmulationManager network_emulation_manager(Clock::GetRealTimeClock());
+ NetworkEmulationManager network_emulation_manager;
EmulatedNetworkNode* alice_node =
network_emulation_manager.CreateEmulatedNode(
@@ -105,16 +105,12 @@
auto* video_analyzer = static_cast<ExampleVideoQualityAnalyzer*>(
analyzers->video_quality_analyzer.get());
- network_emulation_manager.Start();
-
auto fixture = CreatePeerConnectionE2EQualityTestFixture(
std::move(alice_components), std::move(alice_params),
std::move(bob_components), absl::make_unique<Params>(),
std::move(analyzers));
fixture->Run(RunParams{TimeDelta::seconds(5)});
- network_emulation_manager.Stop();
-
RTC_LOG(INFO) << "Captured: " << video_analyzer->frames_captured();
RTC_LOG(INFO) << "Sent : " << video_analyzer->frames_sent();
RTC_LOG(INFO) << "Received: " << video_analyzer->frames_received();
diff --git a/test/scenario/network/network_emulation_manager.cc b/test/scenario/network/network_emulation_manager.cc
index 629f448..489529b 100644
--- a/test/scenario/network/network_emulation_manager.cc
+++ b/test/scenario/network/network_emulation_manager.cc
@@ -25,14 +25,21 @@
} // namespace
-NetworkEmulationManager::NetworkEmulationManager(webrtc::Clock* clock)
- : clock_(clock),
+NetworkEmulationManager::NetworkEmulationManager()
+ : clock_(Clock::GetRealTimeClock()),
next_node_id_(1),
- task_queue_("network_emulation_manager") {}
-NetworkEmulationManager::~NetworkEmulationManager() {
- Stop();
+ task_queue_("network_emulation_manager") {
+ process_task_handle_ = RepeatingTaskHandle::Start(&task_queue_, [this] {
+ ProcessNetworkPackets();
+ return TimeDelta::ms(kPacketProcessingIntervalMs);
+ });
}
+// TODO(srte): Ensure that any pending task that must be run for consistency
+// (such as stats collection tasks) are not cancelled when the task queue is
+// destroyed.
+NetworkEmulationManager::~NetworkEmulationManager() = default;
+
EmulatedNetworkNode* NetworkEmulationManager::CreateEmulatedNode(
std::unique_ptr<NetworkBehaviorInterface> network_behavior) {
auto node =
@@ -101,17 +108,6 @@
return out;
}
-void NetworkEmulationManager::Start() {
- process_task_handle_ = RepeatingTaskHandle::Start(&task_queue_, [this] {
- ProcessNetworkPackets();
- return TimeDelta::ms(kPacketProcessingIntervalMs);
- });
-}
-
-void NetworkEmulationManager::Stop() {
- process_task_handle_.PostStop();
-}
-
FakeNetworkSocketServer* NetworkEmulationManager::CreateSocketServer(
std::vector<EndpointNode*> endpoints) {
auto socket_server =
diff --git a/test/scenario/network/network_emulation_manager.h b/test/scenario/network/network_emulation_manager.h
index f06fb75..6d42ed7 100644
--- a/test/scenario/network/network_emulation_manager.h
+++ b/test/scenario/network/network_emulation_manager.h
@@ -22,6 +22,7 @@
#include "rtc_base/task_queue.h"
#include "rtc_base/task_utils/repeating_task.h"
#include "rtc_base/thread.h"
+#include "system_wrappers/include/clock.h"
#include "test/scenario/network/fake_network_socket_server.h"
#include "test/scenario/network/network_emulation.h"
@@ -30,7 +31,7 @@
class NetworkEmulationManager {
public:
- explicit NetworkEmulationManager(Clock* clock);
+ NetworkEmulationManager();
~NetworkEmulationManager();
EmulatedNetworkNode* CreateEmulatedNode(
@@ -49,9 +50,6 @@
rtc::Thread* CreateNetworkThread(std::vector<EndpointNode*> endpoints);
- void Start();
- void Stop();
-
private:
FakeNetworkSocketServer* CreateSocketServer(
std::vector<EndpointNode*> endpoints);
diff --git a/test/scenario/network/network_emulation_pc_unittest.cc b/test/scenario/network/network_emulation_pc_unittest.cc
index f2fcb07..d8a2b8a 100644
--- a/test/scenario/network/network_emulation_pc_unittest.cc
+++ b/test/scenario/network/network_emulation_pc_unittest.cc
@@ -102,7 +102,7 @@
signaling_thread->Start();
// Setup emulated network
- NetworkEmulationManager network_manager(Clock::GetRealTimeClock());
+ NetworkEmulationManager network_manager;
EmulatedNetworkNode* alice_node = network_manager.CreateEmulatedNode(
absl::make_unique<SimulatedNetwork>(BuiltInNetworkBehaviorConfig()));
@@ -156,8 +156,6 @@
absl::make_unique<PeerConnectionWrapper>(bob_pcf, bob_pc,
std::move(bob_observer));
- network_manager.Start();
-
signaling_thread->Invoke<void>(RTC_FROM_HERE, [&]() {
rtc::scoped_refptr<webrtc::AudioSourceInterface> source =
alice_pcf->CreateAudioSource(cricket::AudioOptions());
@@ -191,8 +189,6 @@
alice.reset();
bob.reset();
});
-
- network_manager.Stop();
}
} // namespace test
diff --git a/test/scenario/network/network_emulation_unittest.cc b/test/scenario/network/network_emulation_unittest.cc
index d04a99f..c55b412 100644
--- a/test/scenario/network/network_emulation_unittest.cc
+++ b/test/scenario/network/network_emulation_unittest.cc
@@ -58,7 +58,7 @@
};
TEST(NetworkEmulationManagerTest, Run) {
- NetworkEmulationManager network_manager(Clock::GetRealTimeClock());
+ NetworkEmulationManager network_manager;
EmulatedNetworkNode* alice_node = network_manager.CreateEmulatedNode(
absl::make_unique<SimulatedNetwork>(BuiltInNetworkBehaviorConfig()));
@@ -74,8 +74,6 @@
auto* nt1 = network_manager.CreateNetworkThread({alice_endpoint});
auto* nt2 = network_manager.CreateNetworkThread({bob_endpoint});
- network_manager.Start();
-
for (uint64_t j = 0; j < 2; j++) {
auto* s1 = nt1->socketserver()->CreateAsyncSocket(AF_INET, SOCK_DGRAM);
auto* s2 = nt2->socketserver()->CreateAsyncSocket(AF_INET, SOCK_DGRAM);
@@ -106,8 +104,6 @@
delete s1;
delete s2;
}
-
- network_manager.Stop();
}
} // namespace test