summaryrefslogtreecommitdiffstats
path: root/third_party/libwebrtc/p2p/base/p2p_transport_channel_unittest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/libwebrtc/p2p/base/p2p_transport_channel_unittest.cc')
-rw-r--r--third_party/libwebrtc/p2p/base/p2p_transport_channel_unittest.cc56
1 files changed, 37 insertions, 19 deletions
diff --git a/third_party/libwebrtc/p2p/base/p2p_transport_channel_unittest.cc b/third_party/libwebrtc/p2p/base/p2p_transport_channel_unittest.cc
index e414e3f558..44b1bfc5e3 100644
--- a/third_party/libwebrtc/p2p/base/p2p_transport_channel_unittest.cc
+++ b/third_party/libwebrtc/p2p/base/p2p_transport_channel_unittest.cc
@@ -26,7 +26,6 @@
#include "p2p/base/fake_port_allocator.h"
#include "p2p/base/ice_transport_internal.h"
#include "p2p/base/mock_active_ice_controller.h"
-#include "p2p/base/mock_async_resolver.h"
#include "p2p/base/mock_ice_controller.h"
#include "p2p/base/packet_transport_internal.h"
#include "p2p/base/test_stun_server.h"
@@ -45,11 +44,13 @@
#include "rtc_base/mdns_responder_interface.h"
#include "rtc_base/nat_server.h"
#include "rtc_base/nat_socket_factory.h"
+#include "rtc_base/network/received_packet.h"
#include "rtc_base/proxy_server.h"
#include "rtc_base/socket_address.h"
#include "rtc_base/ssl_adapter.h"
#include "rtc_base/strings/string_builder.h"
#include "rtc_base/thread.h"
+#include "rtc_base/time_utils.h"
#include "rtc_base/virtual_socket_server.h"
#include "system_wrappers/include/metrics.h"
#include "test/scoped_key_value_config.h"
@@ -283,7 +284,7 @@ class P2PTransportChannelTestBase : public ::testing::Test,
ss_(new rtc::FirewallSocketServer(nss_.get())),
socket_factory_(new rtc::BasicPacketSocketFactory(ss_.get())),
main_(ss_.get()),
- stun_server_(TestStunServer::Create(ss_.get(), kStunAddr)),
+ stun_server_(TestStunServer::Create(ss_.get(), kStunAddr, main_)),
turn_server_(&main_, ss_.get(), kTurnUdpIntAddr, kTurnUdpExtAddr),
socks_server1_(ss_.get(),
kSocksProxyAddrs[0],
@@ -486,8 +487,10 @@ class P2PTransportChannelTestBase : public ::testing::Test,
this, &P2PTransportChannelTestBase::OnReadyToSend);
channel->SignalCandidateGathered.connect(
this, &P2PTransportChannelTestBase::OnCandidateGathered);
- channel->SignalCandidatesRemoved.connect(
- this, &P2PTransportChannelTestBase::OnCandidatesRemoved);
+ channel->SetCandidatesRemovedCallback(
+ [this](IceTransportInternal* transport, const Candidates& candidates) {
+ OnCandidatesRemoved(transport, candidates);
+ });
channel->SignalReadPacket.connect(
this, &P2PTransportChannelTestBase::OnReadPacket);
channel->SignalRoleConflict.connect(
@@ -1023,7 +1026,7 @@ class P2PTransportChannelTestBase : public ::testing::Test,
rtc::AutoSocketServerThread main_;
rtc::scoped_refptr<PendingTaskSafetyFlag> safety_ =
PendingTaskSafetyFlag::Create();
- std::unique_ptr<TestStunServer> stun_server_;
+ TestStunServer::StunServerPtr stun_server_;
TestTurnServer turn_server_;
rtc::SocksProxyServer socks_server1_;
rtc::SocksProxyServer socks_server2_;
@@ -3479,8 +3482,10 @@ class P2PTransportChannelPingTest : public ::testing::Test,
&P2PTransportChannelPingTest::OnReadyToSend);
ch->SignalStateChanged.connect(
this, &P2PTransportChannelPingTest::OnChannelStateChanged);
- ch->SignalCandidatePairChanged.connect(
- this, &P2PTransportChannelPingTest::OnCandidatePairChanged);
+ ch->SetCandidatePairChangeCallback(
+ [this](const cricket::CandidatePairChangeEvent& event) {
+ OnCandidatePairChanged(event);
+ });
}
Connection* WaitForConnectionTo(
@@ -3595,7 +3600,8 @@ class P2PTransportChannelPingTest : public ::testing::Test,
msg.AddFingerprint();
rtc::ByteBufferWriter buf;
msg.Write(&buf);
- conn->OnReadPacket(buf.Data(), buf.Length(), rtc::TimeMicros());
+ conn->OnReadPacket(rtc::ReceivedPacket::CreateFromLegacy(
+ buf.Data(), buf.Length(), rtc::TimeMicros()));
}
void ReceivePingOnConnection(Connection* conn,
@@ -4060,7 +4066,9 @@ TEST_F(P2PTransportChannelPingTest, TestReceivingStateChange) {
clock.AdvanceTime(webrtc::TimeDelta::Seconds(1));
conn1->ReceivedPing();
- conn1->OnReadPacket("ABC", 3, rtc::TimeMicros());
+ conn1->OnReadPacket(
+ rtc::ReceivedPacket::CreateFromLegacy("ABC", 3, rtc::TimeMicros()));
+
EXPECT_TRUE_SIMULATED_WAIT(ch.receiving(), kShortTimeout, clock);
EXPECT_TRUE_SIMULATED_WAIT(!ch.receiving(), kShortTimeout, clock);
}
@@ -4370,7 +4378,8 @@ TEST_F(P2PTransportChannelPingTest, TestSelectConnectionBasedOnMediaReceived) {
Connection* conn2 = WaitForConnectionTo(&ch, "2.2.2.2", 2);
ASSERT_TRUE(conn2 != nullptr);
conn2->ReceivedPingResponse(LOW_RTT, "id"); // Become writable and receiving.
- conn2->OnReadPacket("ABC", 3, rtc::TimeMicros());
+ conn2->OnReadPacket(
+ rtc::ReceivedPacket::CreateFromLegacy("ABC", 3, rtc::TimeMicros()));
EXPECT_EQ(conn2, ch.selected_connection());
conn2->ReceivedPingResponse(LOW_RTT, "id"); // Become writable.
@@ -4397,7 +4406,8 @@ TEST_F(P2PTransportChannelPingTest, TestSelectConnectionBasedOnMediaReceived) {
// selected connection was nominated by the controlling side.
conn2->ReceivedPing();
conn2->ReceivedPingResponse(LOW_RTT, "id");
- conn2->OnReadPacket("XYZ", 3, rtc::TimeMicros());
+ conn2->OnReadPacket(
+ rtc::ReceivedPacket::CreateFromLegacy("XYZ", 3, rtc::TimeMicros()));
EXPECT_EQ_WAIT(conn3, ch.selected_connection(), kDefaultTimeout);
}
@@ -4427,12 +4437,15 @@ TEST_F(P2PTransportChannelPingTest,
// Advance the clock by 1ms so that the last data receiving timestamp of
// conn2 is larger.
SIMULATED_WAIT(false, 1, clock);
- conn2->OnReadPacket("XYZ", 3, rtc::TimeMicros());
+
+ conn2->OnReadPacket(
+ rtc::ReceivedPacket::CreateFromLegacy("XYZ", 3, rtc::TimeMicros()));
EXPECT_EQ(1, reset_selected_candidate_pair_switches());
EXPECT_TRUE(CandidatePairMatchesNetworkRoute(conn2));
// conn1 also receives data; it becomes selected due to priority again.
- conn1->OnReadPacket("XYZ", 3, rtc::TimeMicros());
+ conn1->OnReadPacket(
+ rtc::ReceivedPacket::CreateFromLegacy("ABC", 3, rtc::TimeMicros()));
EXPECT_EQ(1, reset_selected_candidate_pair_switches());
EXPECT_TRUE(CandidatePairMatchesNetworkRoute(conn2));
@@ -4441,7 +4454,8 @@ TEST_F(P2PTransportChannelPingTest,
SIMULATED_WAIT(false, 1, clock);
// Need to become writable again because it was pruned.
conn2->ReceivedPingResponse(LOW_RTT, "id");
- conn2->OnReadPacket("XYZ", 3, rtc::TimeMicros());
+ conn2->OnReadPacket(
+ rtc::ReceivedPacket::CreateFromLegacy("ABC", 3, rtc::TimeMicros()));
EXPECT_EQ(1, reset_selected_candidate_pair_switches());
EXPECT_TRUE(CandidatePairMatchesNetworkRoute(conn2));
@@ -4472,7 +4486,9 @@ TEST_F(P2PTransportChannelPingTest,
// conn1 received data; it is the selected connection.
// Advance the clock to have a non-zero last-data-receiving time.
SIMULATED_WAIT(false, 1, clock);
- conn1->OnReadPacket("XYZ", 3, rtc::TimeMicros());
+
+ conn1->OnReadPacket(
+ rtc::ReceivedPacket::CreateFromLegacy("XYZ", 3, rtc::TimeMicros()));
EXPECT_EQ(1, reset_selected_candidate_pair_switches());
EXPECT_TRUE(CandidatePairMatchesNetworkRoute(conn1));
@@ -4572,7 +4588,8 @@ TEST_F(P2PTransportChannelPingTest, TestEstimatedDisconnectedTime) {
{
clock.AdvanceTime(webrtc::TimeDelta::Seconds(1));
// This will not parse as STUN, and is considered data
- conn1->OnReadPacket("XYZ", 3, rtc::TimeMicros());
+ conn1->OnReadPacket(
+ rtc::ReceivedPacket::CreateFromLegacy("XYZ", 3, rtc::TimeMicros()));
clock.AdvanceTime(webrtc::TimeDelta::Seconds(2));
// conn2 is nominated; it becomes selected.
@@ -4584,8 +4601,8 @@ TEST_F(P2PTransportChannelPingTest, TestEstimatedDisconnectedTime) {
{
clock.AdvanceTime(webrtc::TimeDelta::Seconds(1));
- conn2->OnReadPacket("XYZ", 3, rtc::TimeMicros());
-
+ conn2->OnReadPacket(
+ rtc::ReceivedPacket::CreateFromLegacy("XYZ", 3, rtc::TimeMicros()));
clock.AdvanceTime(webrtc::TimeDelta::Seconds(2));
ReceivePingOnConnection(conn2, kIceUfrag[1], 1, nomination++);
@@ -4758,7 +4775,8 @@ TEST_F(P2PTransportChannelPingTest, TestDontPruneHighPriorityConnections) {
// conn2.
NominateConnection(conn1);
SIMULATED_WAIT(false, 1, clock);
- conn1->OnReadPacket("XYZ", 3, rtc::TimeMicros());
+ conn1->OnReadPacket(
+ rtc::ReceivedPacket::CreateFromLegacy("XYZ", 3, rtc::TimeMicros()));
SIMULATED_WAIT(conn2->pruned(), 100, clock);
EXPECT_FALSE(conn2->pruned());
}