| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2009 The WebRTC Project Authors. All rights reserved. | 2 * Copyright 2009 The WebRTC Project Authors. All rights reserved. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
| 5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
| 6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
| 7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
| 8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
| 9 */ | 9 */ |
| 10 | 10 |
| (...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 135 | 135 |
| 136 cricket::BasicPortAllocator* CreateBasicPortAllocator( | 136 cricket::BasicPortAllocator* CreateBasicPortAllocator( |
| 137 rtc::NetworkManager* network_manager, | 137 rtc::NetworkManager* network_manager, |
| 138 const cricket::ServerAddresses& stun_servers, | 138 const cricket::ServerAddresses& stun_servers, |
| 139 const rtc::SocketAddress& turn_server_udp, | 139 const rtc::SocketAddress& turn_server_udp, |
| 140 const rtc::SocketAddress& turn_server_tcp) { | 140 const rtc::SocketAddress& turn_server_tcp) { |
| 141 cricket::RelayServerConfig turn_server(cricket::RELAY_TURN); | 141 cricket::RelayServerConfig turn_server(cricket::RELAY_TURN); |
| 142 turn_server.credentials = kRelayCredentials; | 142 turn_server.credentials = kRelayCredentials; |
| 143 if (!turn_server_udp.IsNil()) { | 143 if (!turn_server_udp.IsNil()) { |
| 144 turn_server.ports.push_back( | 144 turn_server.ports.push_back( |
| 145 cricket::ProtocolAddress(turn_server_udp, cricket::PROTO_UDP, false)); | 145 cricket::ProtocolAddress(turn_server_udp, cricket::PROTO_UDP)); |
| 146 } | 146 } |
| 147 if (!turn_server_tcp.IsNil()) { | 147 if (!turn_server_tcp.IsNil()) { |
| 148 turn_server.ports.push_back( | 148 turn_server.ports.push_back( |
| 149 cricket::ProtocolAddress(turn_server_tcp, cricket::PROTO_TCP, false)); | 149 cricket::ProtocolAddress(turn_server_tcp, cricket::PROTO_TCP)); |
| 150 } | 150 } |
| 151 std::vector<cricket::RelayServerConfig> turn_servers(1, turn_server); | 151 std::vector<cricket::RelayServerConfig> turn_servers(1, turn_server); |
| 152 | 152 |
| 153 cricket::BasicPortAllocator* allocator = | 153 cricket::BasicPortAllocator* allocator = |
| 154 new cricket::BasicPortAllocator(network_manager); | 154 new cricket::BasicPortAllocator(network_manager); |
| 155 allocator->SetConfiguration(stun_servers, turn_servers, 0, false); | 155 allocator->SetConfiguration(stun_servers, turn_servers, 0, false); |
| 156 return allocator; | 156 return allocator; |
| 157 } | 157 } |
| 158 } // namespace | 158 } // namespace |
| 159 | 159 |
| (...skipping 2086 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2246 DestroyChannels(); | 2246 DestroyChannels(); |
| 2247 } | 2247 } |
| 2248 | 2248 |
| 2249 // Tests that we can quickly switch links if an interface goes down when | 2249 // Tests that we can quickly switch links if an interface goes down when |
| 2250 // there are many connections. | 2250 // there are many connections. |
| 2251 TEST_F(P2PTransportChannelMultihomedTest, TestFailoverWithManyConnections) { | 2251 TEST_F(P2PTransportChannelMultihomedTest, TestFailoverWithManyConnections) { |
| 2252 rtc::ScopedFakeClock clock; | 2252 rtc::ScopedFakeClock clock; |
| 2253 test_turn_server()->AddInternalSocket(kTurnTcpIntAddr, PROTO_TCP); | 2253 test_turn_server()->AddInternalSocket(kTurnTcpIntAddr, PROTO_TCP); |
| 2254 RelayServerConfig turn_server(RELAY_TURN); | 2254 RelayServerConfig turn_server(RELAY_TURN); |
| 2255 turn_server.credentials = kRelayCredentials; | 2255 turn_server.credentials = kRelayCredentials; |
| 2256 turn_server.ports.push_back( | 2256 turn_server.ports.push_back(ProtocolAddress(kTurnTcpIntAddr, PROTO_TCP)); |
| 2257 ProtocolAddress(kTurnTcpIntAddr, PROTO_TCP, false)); | |
| 2258 GetAllocator(0)->AddTurnServer(turn_server); | 2257 GetAllocator(0)->AddTurnServer(turn_server); |
| 2259 GetAllocator(1)->AddTurnServer(turn_server); | 2258 GetAllocator(1)->AddTurnServer(turn_server); |
| 2260 // Enable IPv6 | 2259 // Enable IPv6 |
| 2261 SetAllocatorFlags(0, PORTALLOCATOR_ENABLE_IPV6); | 2260 SetAllocatorFlags(0, PORTALLOCATOR_ENABLE_IPV6); |
| 2262 SetAllocatorFlags(1, PORTALLOCATOR_ENABLE_IPV6); | 2261 SetAllocatorFlags(1, PORTALLOCATOR_ENABLE_IPV6); |
| 2263 SetAllocationStepDelay(0, kMinimumStepDelay); | 2262 SetAllocationStepDelay(0, kMinimumStepDelay); |
| 2264 SetAllocationStepDelay(1, kMinimumStepDelay); | 2263 SetAllocationStepDelay(1, kMinimumStepDelay); |
| 2265 | 2264 |
| 2266 auto& wifi = kPublicAddrs; | 2265 auto& wifi = kPublicAddrs; |
| 2267 auto& cellular = kAlternateAddrs; | 2266 auto& cellular = kAlternateAddrs; |
| (...skipping 2092 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4360 VerifyNextPingableConnection(RELAY_PORT_TYPE, RELAY_PORT_TYPE); | 4359 VerifyNextPingableConnection(RELAY_PORT_TYPE, RELAY_PORT_TYPE); |
| 4361 } | 4360 } |
| 4362 | 4361 |
| 4363 // Test the ping sequence is UDP Relay/Relay followed by TCP Relay/Relay, | 4362 // Test the ping sequence is UDP Relay/Relay followed by TCP Relay/Relay, |
| 4364 // followed by the rest. | 4363 // followed by the rest. |
| 4365 TEST_F(P2PTransportChannelMostLikelyToWorkFirstTest, TestTcpTurn) { | 4364 TEST_F(P2PTransportChannelMostLikelyToWorkFirstTest, TestTcpTurn) { |
| 4366 // Add a Tcp Turn server. | 4365 // Add a Tcp Turn server. |
| 4367 turn_server()->AddInternalSocket(kTurnTcpIntAddr, PROTO_TCP); | 4366 turn_server()->AddInternalSocket(kTurnTcpIntAddr, PROTO_TCP); |
| 4368 RelayServerConfig config(RELAY_TURN); | 4367 RelayServerConfig config(RELAY_TURN); |
| 4369 config.credentials = kRelayCredentials; | 4368 config.credentials = kRelayCredentials; |
| 4370 config.ports.push_back(ProtocolAddress(kTurnTcpIntAddr, PROTO_TCP, false)); | 4369 config.ports.push_back(ProtocolAddress(kTurnTcpIntAddr, PROTO_TCP)); |
| 4371 allocator()->AddTurnServer(config); | 4370 allocator()->AddTurnServer(config); |
| 4372 | 4371 |
| 4373 P2PTransportChannel& ch = StartTransportChannel(true, 100); | 4372 P2PTransportChannel& ch = StartTransportChannel(true, 100); |
| 4374 EXPECT_TRUE_WAIT(ch.ports().size() == 3, kDefaultTimeout); | 4373 EXPECT_TRUE_WAIT(ch.ports().size() == 3, kDefaultTimeout); |
| 4375 EXPECT_EQ(ch.ports()[0]->Type(), LOCAL_PORT_TYPE); | 4374 EXPECT_EQ(ch.ports()[0]->Type(), LOCAL_PORT_TYPE); |
| 4376 EXPECT_EQ(ch.ports()[1]->Type(), RELAY_PORT_TYPE); | 4375 EXPECT_EQ(ch.ports()[1]->Type(), RELAY_PORT_TYPE); |
| 4377 EXPECT_EQ(ch.ports()[2]->Type(), RELAY_PORT_TYPE); | 4376 EXPECT_EQ(ch.ports()[2]->Type(), RELAY_PORT_TYPE); |
| 4378 | 4377 |
| 4379 // Remote Relay candidate arrives. | 4378 // Remote Relay candidate arrives. |
| 4380 ch.AddRemoteCandidate(CreateUdpCandidate(RELAY_PORT_TYPE, "1.1.1.1", 1, 1)); | 4379 ch.AddRemoteCandidate(CreateUdpCandidate(RELAY_PORT_TYPE, "1.1.1.1", 1, 1)); |
| 4381 EXPECT_TRUE_WAIT(ch.connections().size() == 3, kDefaultTimeout); | 4380 EXPECT_TRUE_WAIT(ch.connections().size() == 3, kDefaultTimeout); |
| 4382 | 4381 |
| 4383 // UDP Relay/Relay should be pinged first. | 4382 // UDP Relay/Relay should be pinged first. |
| 4384 VerifyNextPingableConnection(RELAY_PORT_TYPE, RELAY_PORT_TYPE); | 4383 VerifyNextPingableConnection(RELAY_PORT_TYPE, RELAY_PORT_TYPE); |
| 4385 | 4384 |
| 4386 // TCP Relay/Relay is the next. | 4385 // TCP Relay/Relay is the next. |
| 4387 VerifyNextPingableConnection(RELAY_PORT_TYPE, RELAY_PORT_TYPE, | 4386 VerifyNextPingableConnection(RELAY_PORT_TYPE, RELAY_PORT_TYPE, |
| 4388 TCP_PROTOCOL_NAME); | 4387 TCP_PROTOCOL_NAME); |
| 4389 | 4388 |
| 4390 // Finally, Local/Relay will be pinged. | 4389 // Finally, Local/Relay will be pinged. |
| 4391 VerifyNextPingableConnection(LOCAL_PORT_TYPE, RELAY_PORT_TYPE); | 4390 VerifyNextPingableConnection(LOCAL_PORT_TYPE, RELAY_PORT_TYPE); |
| 4392 } | 4391 } |
| 4393 | 4392 |
| 4394 } // namespace cricket { | 4393 } // namespace cricket { |
| OLD | NEW |