Change PeerConnection creation to use a static "Create" method
This allows making more members (including IsUnifiedPlan) const in a future CL.
Also revises the test for ReportUsageHistogram to use a configuration member
variable rather than a hook function in PeerConnectionFactory.
Bug: webrtc:12079
Change-Id: I6f1af7d6164c8a0d8466f76378a925d72d57d685
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/190280
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32485}
diff --git a/pc/peer_connection_histogram_unittest.cc b/pc/peer_connection_histogram_unittest.cc
index a9c5c9b..8730ac4 100644
--- a/pc/peer_connection_histogram_unittest.cc
+++ b/pc/peer_connection_histogram_unittest.cc
@@ -85,18 +85,6 @@
dependencies.call_factory = CreateCallFactory();
return dependencies;
}()) {}
-
- void ActionsBeforeInitializeForTesting(PeerConnectionInterface* pc) override {
- PeerConnection* internal_pc = static_cast<PeerConnection*>(pc);
- if (return_histogram_very_quickly_) {
- internal_pc->ReturnHistogramVeryQuicklyForTesting();
- }
- }
-
- void ReturnHistogramVeryQuickly() { return_histogram_very_quickly_ = true; }
-
- private:
- bool return_histogram_very_quickly_ = false;
};
class PeerConnectionWrapperForUsageHistogramTest;
@@ -255,14 +243,13 @@
}
WrapperPtr CreatePeerConnection() {
- return CreatePeerConnection(RTCConfiguration(),
- PeerConnectionFactoryInterface::Options(),
- nullptr, false);
+ return CreatePeerConnection(
+ RTCConfiguration(), PeerConnectionFactoryInterface::Options(), nullptr);
}
WrapperPtr CreatePeerConnection(const RTCConfiguration& config) {
return CreatePeerConnection(
- config, PeerConnectionFactoryInterface::Options(), nullptr, false);
+ config, PeerConnectionFactoryInterface::Options(), nullptr);
}
WrapperPtr CreatePeerConnectionWithMdns(const RTCConfiguration& config) {
@@ -282,15 +269,15 @@
deps.async_resolver_factory = std::move(resolver_factory);
deps.allocator = std::move(port_allocator);
- return CreatePeerConnection(config,
- PeerConnectionFactoryInterface::Options(),
- std::move(deps), false);
+ return CreatePeerConnection(
+ config, PeerConnectionFactoryInterface::Options(), std::move(deps));
}
WrapperPtr CreatePeerConnectionWithImmediateReport() {
- return CreatePeerConnection(RTCConfiguration(),
- PeerConnectionFactoryInterface::Options(),
- nullptr, true);
+ RTCConfiguration configuration;
+ configuration.report_usage_pattern_delay_ms = 0;
+ return CreatePeerConnection(
+ configuration, PeerConnectionFactoryInterface::Options(), nullptr);
}
WrapperPtr CreatePeerConnectionWithPrivateLocalAddresses() {
@@ -300,10 +287,9 @@
auto port_allocator =
std::make_unique<cricket::BasicPortAllocator>(fake_network);
-
return CreatePeerConnection(RTCConfiguration(),
PeerConnectionFactoryInterface::Options(),
- std::move(port_allocator), false);
+ std::move(port_allocator));
}
WrapperPtr CreatePeerConnectionWithPrivateIpv6LocalAddresses() {
@@ -316,32 +302,26 @@
return CreatePeerConnection(RTCConfiguration(),
PeerConnectionFactoryInterface::Options(),
- std::move(port_allocator), false);
+ std::move(port_allocator));
}
WrapperPtr CreatePeerConnection(
const RTCConfiguration& config,
const PeerConnectionFactoryInterface::Options factory_options,
- std::unique_ptr<cricket::PortAllocator> allocator,
- bool immediate_report) {
+ std::unique_ptr<cricket::PortAllocator> allocator) {
PeerConnectionDependencies deps(nullptr);
deps.allocator = std::move(allocator);
- return CreatePeerConnection(config, factory_options, std::move(deps),
- immediate_report);
+ return CreatePeerConnection(config, factory_options, std::move(deps));
}
WrapperPtr CreatePeerConnection(
const RTCConfiguration& config,
const PeerConnectionFactoryInterface::Options factory_options,
- PeerConnectionDependencies deps,
- bool immediate_report) {
+ PeerConnectionDependencies deps) {
rtc::scoped_refptr<PeerConnectionFactoryForUsageHistogramTest> pc_factory(
new PeerConnectionFactoryForUsageHistogramTest());
pc_factory->SetOptions(factory_options);
- if (immediate_report) {
- pc_factory->ReturnHistogramVeryQuickly();
- }
// If no allocator is provided, one will be created using a network manager
// that uses the host network. This doesn't work on all trybots.