Deprecate EmulatedNetworkManagerInterface::network_dependencies
That accessor forces test helpers to create BasicPortAllocator themself
rather than deligate such task to PeerConnectionFactory
Bug: webrtc:42232556
Change-Id: I262e032da110222198e6308f57a5e5f2d7ba4601
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/376741
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43870}
diff --git a/api/test/network_emulation_manager.h b/api/test/network_emulation_manager.h
index 8db1099..03a9d2d 100644
--- a/api/test/network_emulation_manager.h
+++ b/api/test/network_emulation_manager.h
@@ -159,9 +159,9 @@
virtual absl::Nonnull<std::unique_ptr<rtc::NetworkManager>>
ReleaseNetworkManager() = 0;
- // TODO: bugs.webrtc.org/42232556 - Cleanup usages of this accessor in WebRTC,
- // and then deprecate or remove it.
- webrtc::webrtc_pc_e2e::PeerNetworkDependencies network_dependencies() {
+ [[deprecated("bugs.webrtc.org/42232556")]] //
+ webrtc::webrtc_pc_e2e::PeerNetworkDependencies
+ network_dependencies() {
return {network_thread(), network_manager(), packet_socket_factory()};
}
// Returns list of endpoints that are associated with this instance. Pointers
diff --git a/api/test/pclf/BUILD.gn b/api/test/pclf/BUILD.gn
index e4ae4a5..d296197 100644
--- a/api/test/pclf/BUILD.gn
+++ b/api/test/pclf/BUILD.gn
@@ -98,6 +98,7 @@
":media_configuration",
":media_quality_test_params",
"../..:async_dns_resolver",
+ "../..:network_emulation_manager_api",
"../../../api:create_peer_connection_quality_test_frame_generator",
"../../../api:fec_controller_api",
"../../../api:field_trials_view",
diff --git a/api/test/pclf/peer_configurer.cc b/api/test/pclf/peer_configurer.cc
index e608ee8..1002b62 100644
--- a/api/test/pclf/peer_configurer.cc
+++ b/api/test/pclf/peer_configurer.cc
@@ -32,6 +32,7 @@
#include "api/scoped_refptr.h"
#include "api/test/create_peer_connection_quality_test_frame_generator.h"
#include "api/test/frame_generator_interface.h"
+#include "api/test/network_emulation_manager.h"
#include "api/test/pclf/media_configuration.h"
#include "api/test/pclf/media_quality_test_params.h"
#include "api/test/peer_network_dependencies.h"
@@ -55,6 +56,14 @@
params_(std::make_unique<Params>()),
configurable_params_(std::make_unique<ConfigurableParams>()) {}
+PeerConfigurer::PeerConfigurer(EmulatedNetworkManagerInterface& network)
+ : components_(std::make_unique<InjectableComponents>(
+ network.network_thread(),
+ network.network_manager(),
+ network.packet_socket_factory())),
+ params_(std::make_unique<Params>()),
+ configurable_params_(std::make_unique<ConfigurableParams>()) {}
+
PeerConfigurer* PeerConfigurer::SetName(absl::string_view name) {
params_->name = std::string(name);
return this;
diff --git a/api/test/pclf/peer_configurer.h b/api/test/pclf/peer_configurer.h
index 1cb7c3a..2c83561 100644
--- a/api/test/pclf/peer_configurer.h
+++ b/api/test/pclf/peer_configurer.h
@@ -30,6 +30,7 @@
#include "api/rtc_event_log/rtc_event_log_factory_interface.h"
#include "api/scoped_refptr.h"
#include "api/test/frame_generator_interface.h"
+#include "api/test/network_emulation_manager.h"
#include "api/test/pclf/media_configuration.h"
#include "api/test/pclf/media_quality_test_params.h"
#include "api/test/peer_network_dependencies.h"
@@ -50,7 +51,9 @@
absl::variant<std::unique_ptr<test::FrameGeneratorInterface>,
CapturingDeviceIndex>;
- explicit PeerConfigurer(const PeerNetworkDependencies& network_dependencies);
+ [[deprecated("bugs.webrtc.org/42232556")]] explicit PeerConfigurer(
+ const PeerNetworkDependencies& network_dependencies);
+ explicit PeerConfigurer(EmulatedNetworkManagerInterface& network);
// Sets peer name that will be used to report metrics related to this peer.
// If not set, some default name will be assigned. All names have to be
diff --git a/pc/test/svc_e2e_tests.cc b/pc/test/svc_e2e_tests.cc
index 332e553..97187af 100644
--- a/pc/test/svc_e2e_tests.cc
+++ b/pc/test/svc_e2e_tests.cc
@@ -71,10 +71,8 @@
auto fixture = webrtc_pc_e2e::CreatePeerConnectionE2EQualityTestFixture(
std::string(test_case_name), time_controller, nullptr,
std::move(video_quality_analyzer));
- auto alice = std::make_unique<PeerConfigurer>(
- network_links.first->network_dependencies());
- auto bob = std::make_unique<PeerConfigurer>(
- network_links.second->network_dependencies());
+ auto alice = std::make_unique<PeerConfigurer>(*network_links.first);
+ auto bob = std::make_unique<PeerConfigurer>(*network_links.second);
alice_configurer(alice.get());
bob_configurer(bob.get());
fixture->AddPeer(std::move(alice));
diff --git a/test/pc/e2e/peer_connection_e2e_smoke_test.cc b/test/pc/e2e/peer_connection_e2e_smoke_test.cc
index 4144962..e36e4d7 100644
--- a/test/pc/e2e/peer_connection_e2e_smoke_test.cc
+++ b/test/pc/e2e/peer_connection_e2e_smoke_test.cc
@@ -82,8 +82,7 @@
void AddPeer(EmulatedNetworkManagerInterface* network,
rtc::FunctionView<void(PeerConfigurer*)> update_configurer) {
- auto configurer =
- std::make_unique<PeerConfigurer>(network->network_dependencies());
+ auto configurer = std::make_unique<PeerConfigurer>(*network);
update_configurer(configurer.get());
fixture_->AddPeer(std::move(configurer));
}
diff --git a/test/pc/e2e/peer_connection_quality_test_metric_names_test.cc b/test/pc/e2e/peer_connection_quality_test_metric_names_test.cc
index f86f892..5d5cead 100644
--- a/test/pc/e2e/peer_connection_quality_test_metric_names_test.cc
+++ b/test/pc/e2e/peer_connection_quality_test_metric_names_test.cc
@@ -46,17 +46,16 @@
// Adds a peer with some audio and video (the client should not care about
// details about audio and video configs).
-void AddDefaultAudioVideoPeer(
- absl::string_view peer_name,
- absl::string_view audio_stream_label,
- absl::string_view video_stream_label,
- const PeerNetworkDependencies& network_dependencies,
- PeerConnectionE2EQualityTestFixture& fixture) {
+void AddDefaultAudioVideoPeer(absl::string_view peer_name,
+ absl::string_view audio_stream_label,
+ absl::string_view video_stream_label,
+ EmulatedNetworkManagerInterface& network,
+ PeerConnectionE2EQualityTestFixture& fixture) {
AudioConfig audio{.stream_label = std::string(audio_stream_label),
.sync_group = std::string(peer_name)};
VideoConfig video(std::string(video_stream_label), 320, 180, 15);
video.sync_group = std::string(peer_name);
- auto peer = std::make_unique<PeerConfigurer>(network_dependencies);
+ auto peer = std::make_unique<PeerConfigurer>(network);
peer->SetName(peer_name);
peer->SetAudioConfig(std::move(audio));
peer->AddVideoConfig(std::move(video));
@@ -135,9 +134,9 @@
network_emulation->CreateEmulatedNetworkManagerInterface({bob_endpoint});
AddDefaultAudioVideoPeer("alice", "alice_audio", "alice_video",
- alice_network->network_dependencies(), fixture);
- AddDefaultAudioVideoPeer("bob", "bob_audio", "bob_video",
- bob_network->network_dependencies(), fixture);
+ *alice_network, fixture);
+ AddDefaultAudioVideoPeer("bob", "bob_audio", "bob_video", *bob_network,
+ fixture);
fixture.AddQualityMetricsReporter(
std::make_unique<StatsBasedNetworkQualityMetricsReporter>(
std::map<std::string, std::vector<EmulatedEndpoint*>>(
@@ -1175,9 +1174,9 @@
network_emulation->CreateEmulatedNetworkManagerInterface({bob_endpoint});
AddDefaultAudioVideoPeer("alice", "alice_audio", "alice_video",
- alice_network->network_dependencies(), fixture);
- AddDefaultAudioVideoPeer("bob", "bob_audio", "bob_video",
- bob_network->network_dependencies(), fixture);
+ *alice_network, fixture);
+ AddDefaultAudioVideoPeer("bob", "bob_audio", "bob_video", *bob_network,
+ fixture);
std::string kAliceNetworkLabel = "alice_label";
std::string kBobNetworkLabel = "bob_label";
fixture.AddQualityMetricsReporter(
diff --git a/test/pc/e2e/peer_connection_quality_test_test.cc b/test/pc/e2e/peer_connection_quality_test_test.cc
index 87e0c3f..35e299b 100644
--- a/test/pc/e2e/peer_connection_quality_test_test.cc
+++ b/test/pc/e2e/peer_connection_quality_test_test.cc
@@ -116,12 +116,12 @@
VideoConfig alice_video("alice_video", 320, 180, 15);
alice_video.output_dump_options = VideoDumpOptions(test_directory_);
- PeerConfigurer alice(alice_network->network_dependencies());
+ PeerConfigurer alice(*alice_network);
alice.SetName("alice");
alice.AddVideoConfig(std::move(alice_video));
fixture.AddPeer(std::make_unique<PeerConfigurer>(std::move(alice)));
- PeerConfigurer bob(bob_network->network_dependencies());
+ PeerConfigurer bob(*bob_network);
bob.SetName("bob");
fixture.AddPeer(std::make_unique<PeerConfigurer>(std::move(bob)));
diff --git a/test/pc/e2e/stats_based_network_quality_metrics_reporter_test.cc b/test/pc/e2e/stats_based_network_quality_metrics_reporter_test.cc
index 1e423f8..d5ecbe8 100644
--- a/test/pc/e2e/stats_based_network_quality_metrics_reporter_test.cc
+++ b/test/pc/e2e/stats_based_network_quality_metrics_reporter_test.cc
@@ -47,17 +47,16 @@
// Adds a peer with some audio and video (the client should not care about
// details about audio and video configs).
-void AddDefaultAudioVideoPeer(
- absl::string_view peer_name,
- absl::string_view audio_stream_label,
- absl::string_view video_stream_label,
- const PeerNetworkDependencies& network_dependencies,
- PeerConnectionE2EQualityTestFixture& fixture) {
+void AddDefaultAudioVideoPeer(absl::string_view peer_name,
+ absl::string_view audio_stream_label,
+ absl::string_view video_stream_label,
+ EmulatedNetworkManagerInterface& network,
+ PeerConnectionE2EQualityTestFixture& fixture) {
AudioConfig audio{.stream_label = std::string(audio_stream_label),
.sync_group = std::string(peer_name)};
VideoConfig video(std::string(video_stream_label), 320, 180, 15);
video.sync_group = std::string(peer_name);
- auto peer = std::make_unique<PeerConfigurer>(network_dependencies);
+ auto peer = std::make_unique<PeerConfigurer>(network);
peer->SetName(peer_name);
peer->SetAudioConfig(std::move(audio));
peer->AddVideoConfig(std::move(video));
@@ -108,9 +107,9 @@
network_emulation->CreateEmulatedNetworkManagerInterface({bob_endpoint});
AddDefaultAudioVideoPeer("alice", "alice_audio", "alice_video",
- alice_network->network_dependencies(), fixture);
- AddDefaultAudioVideoPeer("bob", "bob_audio", "bob_video",
- bob_network->network_dependencies(), fixture);
+ *alice_network, fixture);
+ AddDefaultAudioVideoPeer("bob", "bob_audio", "bob_video", *bob_network,
+ fixture);
auto network_stats_reporter =
std::make_unique<StatsBasedNetworkQualityMetricsReporter>(
diff --git a/video/pc_full_stack_tests.cc b/video/pc_full_stack_tests.cc
index 345d090..c4a053e 100644
--- a/video/pc_full_stack_tests.cc
+++ b/video/pc_full_stack_tests.cc
@@ -60,10 +60,8 @@
auto fixture = webrtc_pc_e2e::CreatePeerConnectionE2EQualityTestFixture(
test_case_name, time_controller, /*audio_quality_analyzer=*/nullptr,
/*video_quality_analyzer=*/nullptr);
- auto alice = std::make_unique<PeerConfigurer>(
- network_links.first->network_dependencies());
- auto bob = std::make_unique<PeerConfigurer>(
- network_links.second->network_dependencies());
+ auto alice = std::make_unique<PeerConfigurer>(*network_links.first);
+ auto bob = std::make_unique<PeerConfigurer>(*network_links.second);
alice_configurer(alice.get());
bob_configurer(bob.get());
fixture->AddPeer(std::move(alice));