Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(37)

Side by Side Diff: webrtc/p2p/base/p2ptransportchannel_unittest.cc

Issue 1362503003: Use suffixed {uint,int}{8,16,32,64}_t types. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: rebase + revert basictypes.h (to be landed separately just in case of a revert due to unexpected us… Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « webrtc/p2p/base/p2ptransportchannel.cc ('k') | webrtc/p2p/base/packetsocketfactory.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
86 86
87 // Based on ICE_UFRAG_LENGTH 87 // Based on ICE_UFRAG_LENGTH
88 static const char* kIceUfrag[4] = {"TESTICEUFRAG0000", "TESTICEUFRAG0001", 88 static const char* kIceUfrag[4] = {"TESTICEUFRAG0000", "TESTICEUFRAG0001",
89 "TESTICEUFRAG0002", "TESTICEUFRAG0003"}; 89 "TESTICEUFRAG0002", "TESTICEUFRAG0003"};
90 // Based on ICE_PWD_LENGTH 90 // Based on ICE_PWD_LENGTH
91 static const char* kIcePwd[4] = {"TESTICEPWD00000000000000", 91 static const char* kIcePwd[4] = {"TESTICEPWD00000000000000",
92 "TESTICEPWD00000000000001", 92 "TESTICEPWD00000000000001",
93 "TESTICEPWD00000000000002", 93 "TESTICEPWD00000000000002",
94 "TESTICEPWD00000000000003"}; 94 "TESTICEPWD00000000000003"};
95 95
96 static const uint64 kTiebreaker1 = 11111; 96 static const uint64_t kTiebreaker1 = 11111;
97 static const uint64 kTiebreaker2 = 22222; 97 static const uint64_t kTiebreaker2 = 22222;
98 98
99 enum { 99 enum {
100 MSG_CANDIDATE 100 MSG_CANDIDATE
101 }; 101 };
102 102
103 static cricket::IceConfig CreateIceConfig(int receiving_timeout_ms, 103 static cricket::IceConfig CreateIceConfig(int receiving_timeout_ms,
104 bool gather_continually) { 104 bool gather_continually) {
105 cricket::IceConfig config; 105 cricket::IceConfig config;
106 config.receiving_timeout_ms = receiving_timeout_ms; 106 config.receiving_timeout_ms = receiving_timeout_ms;
107 config.gather_continually = gather_continually; 107 config.gather_continually = gather_continually;
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after
232 ChannelData* GetChannelData(cricket::TransportChannel* ch) { 232 ChannelData* GetChannelData(cricket::TransportChannel* ch) {
233 if (!HasChannel(ch)) return NULL; 233 if (!HasChannel(ch)) return NULL;
234 if (cd1_.ch_.get() == ch) 234 if (cd1_.ch_.get() == ch)
235 return &cd1_; 235 return &cd1_;
236 else 236 else
237 return &cd2_; 237 return &cd2_;
238 } 238 }
239 239
240 void SetIceRole(cricket::IceRole role) { role_ = role; } 240 void SetIceRole(cricket::IceRole role) { role_ = role; }
241 cricket::IceRole ice_role() { return role_; } 241 cricket::IceRole ice_role() { return role_; }
242 void SetIceTiebreaker(uint64 tiebreaker) { tiebreaker_ = tiebreaker; } 242 void SetIceTiebreaker(uint64_t tiebreaker) { tiebreaker_ = tiebreaker; }
243 uint64 GetIceTiebreaker() { return tiebreaker_; } 243 uint64_t GetIceTiebreaker() { return tiebreaker_; }
244 void OnRoleConflict(bool role_conflict) { role_conflict_ = role_conflict; } 244 void OnRoleConflict(bool role_conflict) { role_conflict_ = role_conflict; }
245 bool role_conflict() { return role_conflict_; } 245 bool role_conflict() { return role_conflict_; }
246 void SetAllocationStepDelay(uint32 delay) { 246 void SetAllocationStepDelay(uint32_t delay) {
247 allocator_->set_step_delay(delay); 247 allocator_->set_step_delay(delay);
248 } 248 }
249 void SetAllowTcpListen(bool allow_tcp_listen) { 249 void SetAllowTcpListen(bool allow_tcp_listen) {
250 allocator_->set_allow_tcp_listen(allow_tcp_listen); 250 allocator_->set_allow_tcp_listen(allow_tcp_listen);
251 } 251 }
252 252
253 rtc::FakeNetworkManager network_manager_; 253 rtc::FakeNetworkManager network_manager_;
254 rtc::scoped_ptr<cricket::BasicPortAllocator> allocator_; 254 rtc::scoped_ptr<cricket::BasicPortAllocator> allocator_;
255 ChannelData cd1_; 255 ChannelData cd1_;
256 ChannelData cd2_; 256 ChannelData cd2_;
257 cricket::IceRole role_; 257 cricket::IceRole role_;
258 uint64 tiebreaker_; 258 uint64_t tiebreaker_;
259 bool role_conflict_; 259 bool role_conflict_;
260 bool save_candidates_; 260 bool save_candidates_;
261 std::vector<CandidateData*> saved_candidates_; 261 std::vector<CandidateData*> saved_candidates_;
262 }; 262 };
263 263
264 ChannelData* GetChannelData(cricket::TransportChannel* channel) { 264 ChannelData* GetChannelData(cricket::TransportChannel* channel) {
265 if (ep1_.HasChannel(channel)) 265 if (ep1_.HasChannel(channel))
266 return ep1_.GetChannelData(channel); 266 return ep1_.GetChannelData(channel);
267 else 267 else
268 return ep2_.GetChannelData(channel); 268 return ep2_.GetChannelData(channel);
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
375 info.address = (type == rtc::PROXY_HTTPS) ? 375 info.address = (type == rtc::PROXY_HTTPS) ?
376 kHttpsProxyAddrs[endpoint] : kSocksProxyAddrs[endpoint]; 376 kHttpsProxyAddrs[endpoint] : kSocksProxyAddrs[endpoint];
377 GetAllocator(endpoint)->set_proxy("unittest/1.0", info); 377 GetAllocator(endpoint)->set_proxy("unittest/1.0", info);
378 } 378 }
379 void SetAllocatorFlags(int endpoint, int flags) { 379 void SetAllocatorFlags(int endpoint, int flags) {
380 GetAllocator(endpoint)->set_flags(flags); 380 GetAllocator(endpoint)->set_flags(flags);
381 } 381 }
382 void SetIceRole(int endpoint, cricket::IceRole role) { 382 void SetIceRole(int endpoint, cricket::IceRole role) {
383 GetEndpoint(endpoint)->SetIceRole(role); 383 GetEndpoint(endpoint)->SetIceRole(role);
384 } 384 }
385 void SetIceTiebreaker(int endpoint, uint64 tiebreaker) { 385 void SetIceTiebreaker(int endpoint, uint64_t tiebreaker) {
386 GetEndpoint(endpoint)->SetIceTiebreaker(tiebreaker); 386 GetEndpoint(endpoint)->SetIceTiebreaker(tiebreaker);
387 } 387 }
388 bool GetRoleConflict(int endpoint) { 388 bool GetRoleConflict(int endpoint) {
389 return GetEndpoint(endpoint)->role_conflict(); 389 return GetEndpoint(endpoint)->role_conflict();
390 } 390 }
391 void SetAllocationStepDelay(int endpoint, uint32 delay) { 391 void SetAllocationStepDelay(int endpoint, uint32_t delay) {
392 return GetEndpoint(endpoint)->SetAllocationStepDelay(delay); 392 return GetEndpoint(endpoint)->SetAllocationStepDelay(delay);
393 } 393 }
394 void SetAllowTcpListen(int endpoint, bool allow_tcp_listen) { 394 void SetAllowTcpListen(int endpoint, bool allow_tcp_listen) {
395 return GetEndpoint(endpoint)->SetAllowTcpListen(allow_tcp_listen); 395 return GetEndpoint(endpoint)->SetAllowTcpListen(allow_tcp_listen);
396 } 396 }
397 bool IsLocalToPrflxOrTheReverse(const Result& expected) { 397 bool IsLocalToPrflxOrTheReverse(const Result& expected) {
398 return ( 398 return (
399 (expected.local_type == "local" && expected.remote_type == "prflx") || 399 (expected.local_type == "local" && expected.remote_type == "prflx") ||
400 (expected.local_type == "prflx" && expected.remote_type == "local")); 400 (expected.local_type == "prflx" && expected.remote_type == "local"));
401 } 401 }
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
484 if (remote_type != expected.remote_type2) { 484 if (remote_type != expected.remote_type2) {
485 EXPECT_TRUE(expected.remote_type2 == cricket::LOCAL_PORT_TYPE || 485 EXPECT_TRUE(expected.remote_type2 == cricket::LOCAL_PORT_TYPE ||
486 expected.remote_type2 == cricket::STUN_PORT_TYPE); 486 expected.remote_type2 == cricket::STUN_PORT_TYPE);
487 EXPECT_TRUE(remote_type == cricket::LOCAL_PORT_TYPE || 487 EXPECT_TRUE(remote_type == cricket::LOCAL_PORT_TYPE ||
488 remote_type == cricket::STUN_PORT_TYPE || 488 remote_type == cricket::STUN_PORT_TYPE ||
489 remote_type == cricket::PRFLX_PORT_TYPE); 489 remote_type == cricket::PRFLX_PORT_TYPE);
490 } 490 }
491 } 491 }
492 492
493 void Test(const Result& expected) { 493 void Test(const Result& expected) {
494 int32 connect_start = rtc::Time(), connect_time; 494 int32_t connect_start = rtc::Time(), connect_time;
495 495
496 // Create the channels and wait for them to connect. 496 // Create the channels and wait for them to connect.
497 CreateChannels(1); 497 CreateChannels(1);
498 EXPECT_TRUE_WAIT_MARGIN(ep1_ch1() != NULL && 498 EXPECT_TRUE_WAIT_MARGIN(ep1_ch1() != NULL &&
499 ep2_ch1() != NULL && 499 ep2_ch1() != NULL &&
500 ep1_ch1()->receiving() && 500 ep1_ch1()->receiving() &&
501 ep1_ch1()->writable() && 501 ep1_ch1()->writable() &&
502 ep2_ch1()->receiving() && 502 ep2_ch1()->receiving() &&
503 ep2_ch1()->writable(), 503 ep2_ch1()->writable(),
504 expected.connect_wait, 504 expected.connect_wait,
505 1000); 505 1000);
506 connect_time = rtc::TimeSince(connect_start); 506 connect_time = rtc::TimeSince(connect_start);
507 if (connect_time < expected.connect_wait) { 507 if (connect_time < expected.connect_wait) {
508 LOG(LS_INFO) << "Connect time: " << connect_time << " ms"; 508 LOG(LS_INFO) << "Connect time: " << connect_time << " ms";
509 } else { 509 } else {
510 LOG(LS_INFO) << "Connect time: " << "TIMEOUT (" 510 LOG(LS_INFO) << "Connect time: " << "TIMEOUT ("
511 << expected.connect_wait << " ms)"; 511 << expected.connect_wait << " ms)";
512 } 512 }
513 513
514 // Allow a few turns of the crank for the best connections to emerge. 514 // Allow a few turns of the crank for the best connections to emerge.
515 // This may take up to 2 seconds. 515 // This may take up to 2 seconds.
516 if (ep1_ch1()->best_connection() && 516 if (ep1_ch1()->best_connection() &&
517 ep2_ch1()->best_connection()) { 517 ep2_ch1()->best_connection()) {
518 int32 converge_start = rtc::Time(), converge_time; 518 int32_t converge_start = rtc::Time(), converge_time;
519 int converge_wait = 2000; 519 int converge_wait = 2000;
520 EXPECT_TRUE_WAIT_MARGIN(CheckCandidate1(expected), converge_wait, 520 EXPECT_TRUE_WAIT_MARGIN(CheckCandidate1(expected), converge_wait,
521 converge_wait); 521 converge_wait);
522 // Also do EXPECT_EQ on each part so that failures are more verbose. 522 // Also do EXPECT_EQ on each part so that failures are more verbose.
523 ExpectCandidate1(expected); 523 ExpectCandidate1(expected);
524 524
525 // Verifying remote channel best connection information. This is done 525 // Verifying remote channel best connection information. This is done
526 // only for the RFC 5245 as controlled agent will use USE-CANDIDATE 526 // only for the RFC 5245 as controlled agent will use USE-CANDIDATE
527 // from controlling (ep1) agent. We can easily predict from EP1 result 527 // from controlling (ep1) agent. We can easily predict from EP1 result
528 // matrix. 528 // matrix.
(...skipping 1271 matching lines...) Expand 10 before | Expand all | Expand 10 after
1800 cricket::FakePortAllocator pa(rtc::Thread::Current(), nullptr); 1800 cricket::FakePortAllocator pa(rtc::Thread::Current(), nullptr);
1801 cricket::P2PTransportChannel ch("connection resurrection", 1, nullptr, &pa); 1801 cricket::P2PTransportChannel ch("connection resurrection", 1, nullptr, &pa);
1802 PrepareChannel(&ch); 1802 PrepareChannel(&ch);
1803 ch.Connect(); 1803 ch.Connect();
1804 ch.MaybeStartGathering(); 1804 ch.MaybeStartGathering();
1805 1805
1806 // Create conn1 and keep track of original candidate priority. 1806 // Create conn1 and keep track of original candidate priority.
1807 ch.AddRemoteCandidate(CreateCandidate("1.1.1.1", 1, 1)); 1807 ch.AddRemoteCandidate(CreateCandidate("1.1.1.1", 1, 1));
1808 cricket::Connection* conn1 = WaitForConnectionTo(&ch, "1.1.1.1", 1); 1808 cricket::Connection* conn1 = WaitForConnectionTo(&ch, "1.1.1.1", 1);
1809 ASSERT_TRUE(conn1 != nullptr); 1809 ASSERT_TRUE(conn1 != nullptr);
1810 uint32 remote_priority = conn1->remote_candidate().priority(); 1810 uint32_t remote_priority = conn1->remote_candidate().priority();
1811 1811
1812 // Create a higher priority candidate and make the connection 1812 // Create a higher priority candidate and make the connection
1813 // receiving/writable. This will prune conn1. 1813 // receiving/writable. This will prune conn1.
1814 ch.AddRemoteCandidate(CreateCandidate("2.2.2.2", 2, 2)); 1814 ch.AddRemoteCandidate(CreateCandidate("2.2.2.2", 2, 2));
1815 cricket::Connection* conn2 = WaitForConnectionTo(&ch, "2.2.2.2", 2); 1815 cricket::Connection* conn2 = WaitForConnectionTo(&ch, "2.2.2.2", 2);
1816 ASSERT_TRUE(conn2 != nullptr); 1816 ASSERT_TRUE(conn2 != nullptr);
1817 conn2->ReceivedPing(); 1817 conn2->ReceivedPing();
1818 conn2->ReceivedPingResponse(); 1818 conn2->ReceivedPingResponse();
1819 1819
1820 // Wait for conn1 to be pruned. 1820 // Wait for conn1 to be pruned.
1821 EXPECT_TRUE_WAIT(conn1->pruned(), 3000); 1821 EXPECT_TRUE_WAIT(conn1->pruned(), 3000);
1822 // Destroy the connection to test SignalUnknownAddress. 1822 // Destroy the connection to test SignalUnknownAddress.
1823 conn1->Destroy(); 1823 conn1->Destroy();
1824 EXPECT_TRUE_WAIT(GetConnectionTo(&ch, "1.1.1.1", 1) == nullptr, 1000); 1824 EXPECT_TRUE_WAIT(GetConnectionTo(&ch, "1.1.1.1", 1) == nullptr, 1000);
1825 1825
1826 // Create a minimal STUN message with prflx priority. 1826 // Create a minimal STUN message with prflx priority.
1827 cricket::IceMessage request; 1827 cricket::IceMessage request;
1828 request.SetType(cricket::STUN_BINDING_REQUEST); 1828 request.SetType(cricket::STUN_BINDING_REQUEST);
1829 request.AddAttribute(new cricket::StunByteStringAttribute( 1829 request.AddAttribute(new cricket::StunByteStringAttribute(
1830 cricket::STUN_ATTR_USERNAME, kIceUfrag[1])); 1830 cricket::STUN_ATTR_USERNAME, kIceUfrag[1]));
1831 uint32 prflx_priority = cricket::ICE_TYPE_PREFERENCE_PRFLX << 24; 1831 uint32_t prflx_priority = cricket::ICE_TYPE_PREFERENCE_PRFLX << 24;
1832 request.AddAttribute(new cricket::StunUInt32Attribute( 1832 request.AddAttribute(new cricket::StunUInt32Attribute(
1833 cricket::STUN_ATTR_PRIORITY, prflx_priority)); 1833 cricket::STUN_ATTR_PRIORITY, prflx_priority));
1834 EXPECT_NE(prflx_priority, remote_priority); 1834 EXPECT_NE(prflx_priority, remote_priority);
1835 1835
1836 cricket::Port* port = GetPort(&ch); 1836 cricket::Port* port = GetPort(&ch);
1837 // conn1 should be resurrected with original priority. 1837 // conn1 should be resurrected with original priority.
1838 port->SignalUnknownAddress(port, rtc::SocketAddress("1.1.1.1", 1), 1838 port->SignalUnknownAddress(port, rtc::SocketAddress("1.1.1.1", 1),
1839 cricket::PROTO_UDP, &request, kIceUfrag[1], false); 1839 cricket::PROTO_UDP, &request, kIceUfrag[1], false);
1840 conn1 = WaitForConnectionTo(&ch, "1.1.1.1", 1); 1840 conn1 = WaitForConnectionTo(&ch, "1.1.1.1", 1);
1841 ASSERT_TRUE(conn1 != nullptr); 1841 ASSERT_TRUE(conn1 != nullptr);
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after
1938 cricket::P2PTransportChannel ch("receiving state change", 1, nullptr, &pa); 1938 cricket::P2PTransportChannel ch("receiving state change", 1, nullptr, &pa);
1939 PrepareChannel(&ch); 1939 PrepareChannel(&ch);
1940 ch.SetIceRole(cricket::ICEROLE_CONTROLLED); 1940 ch.SetIceRole(cricket::ICEROLE_CONTROLLED);
1941 ch.Connect(); 1941 ch.Connect();
1942 ch.MaybeStartGathering(); 1942 ch.MaybeStartGathering();
1943 // A minimal STUN message with prflx priority. 1943 // A minimal STUN message with prflx priority.
1944 cricket::IceMessage request; 1944 cricket::IceMessage request;
1945 request.SetType(cricket::STUN_BINDING_REQUEST); 1945 request.SetType(cricket::STUN_BINDING_REQUEST);
1946 request.AddAttribute(new cricket::StunByteStringAttribute( 1946 request.AddAttribute(new cricket::StunByteStringAttribute(
1947 cricket::STUN_ATTR_USERNAME, kIceUfrag[1])); 1947 cricket::STUN_ATTR_USERNAME, kIceUfrag[1]));
1948 uint32 prflx_priority = cricket::ICE_TYPE_PREFERENCE_PRFLX << 24; 1948 uint32_t prflx_priority = cricket::ICE_TYPE_PREFERENCE_PRFLX << 24;
1949 request.AddAttribute(new cricket::StunUInt32Attribute( 1949 request.AddAttribute(new cricket::StunUInt32Attribute(
1950 cricket::STUN_ATTR_PRIORITY, prflx_priority)); 1950 cricket::STUN_ATTR_PRIORITY, prflx_priority));
1951 cricket::Port* port = GetPort(&ch); 1951 cricket::Port* port = GetPort(&ch);
1952 port->SignalUnknownAddress(port, rtc::SocketAddress("1.1.1.1", 1), 1952 port->SignalUnknownAddress(port, rtc::SocketAddress("1.1.1.1", 1),
1953 cricket::PROTO_UDP, &request, kIceUfrag[1], false); 1953 cricket::PROTO_UDP, &request, kIceUfrag[1], false);
1954 cricket::Connection* conn1 = WaitForConnectionTo(&ch, "1.1.1.1", 1); 1954 cricket::Connection* conn1 = WaitForConnectionTo(&ch, "1.1.1.1", 1);
1955 ASSERT_TRUE(conn1 != nullptr); 1955 ASSERT_TRUE(conn1 != nullptr);
1956 EXPECT_EQ(conn1, ch.best_connection()); 1956 EXPECT_EQ(conn1, ch.best_connection());
1957 conn1->ReceivedPingResponse(); 1957 conn1->ReceivedPingResponse();
1958 EXPECT_EQ(conn1, ch.best_connection()); 1958 EXPECT_EQ(conn1, ch.best_connection());
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
2025 // Switch because it is writable. 2025 // Switch because it is writable.
2026 conn2->OnReadPacket("DEF", 3, rtc::CreatePacketTime(0)); 2026 conn2->OnReadPacket("DEF", 3, rtc::CreatePacketTime(0));
2027 EXPECT_EQ(conn2, ch.best_connection()); 2027 EXPECT_EQ(conn2, ch.best_connection());
2028 2028
2029 // Now another STUN message with an unknown address and use_candidate will 2029 // Now another STUN message with an unknown address and use_candidate will
2030 // nominate the best connection. 2030 // nominate the best connection.
2031 cricket::IceMessage request; 2031 cricket::IceMessage request;
2032 request.SetType(cricket::STUN_BINDING_REQUEST); 2032 request.SetType(cricket::STUN_BINDING_REQUEST);
2033 request.AddAttribute(new cricket::StunByteStringAttribute( 2033 request.AddAttribute(new cricket::StunByteStringAttribute(
2034 cricket::STUN_ATTR_USERNAME, kIceUfrag[1])); 2034 cricket::STUN_ATTR_USERNAME, kIceUfrag[1]));
2035 uint32 prflx_priority = cricket::ICE_TYPE_PREFERENCE_PRFLX << 24; 2035 uint32_t prflx_priority = cricket::ICE_TYPE_PREFERENCE_PRFLX << 24;
2036 request.AddAttribute(new cricket::StunUInt32Attribute( 2036 request.AddAttribute(new cricket::StunUInt32Attribute(
2037 cricket::STUN_ATTR_PRIORITY, prflx_priority)); 2037 cricket::STUN_ATTR_PRIORITY, prflx_priority));
2038 request.AddAttribute( 2038 request.AddAttribute(
2039 new cricket::StunByteStringAttribute(cricket::STUN_ATTR_USE_CANDIDATE)); 2039 new cricket::StunByteStringAttribute(cricket::STUN_ATTR_USE_CANDIDATE));
2040 cricket::Port* port = GetPort(&ch); 2040 cricket::Port* port = GetPort(&ch);
2041 port->SignalUnknownAddress(port, rtc::SocketAddress("3.3.3.3", 3), 2041 port->SignalUnknownAddress(port, rtc::SocketAddress("3.3.3.3", 3),
2042 cricket::PROTO_UDP, &request, kIceUfrag[1], false); 2042 cricket::PROTO_UDP, &request, kIceUfrag[1], false);
2043 cricket::Connection* conn3 = WaitForConnectionTo(&ch, "3.3.3.3", 3); 2043 cricket::Connection* conn3 = WaitForConnectionTo(&ch, "3.3.3.3", 3);
2044 ASSERT_TRUE(conn3 != nullptr); 2044 ASSERT_TRUE(conn3 != nullptr);
2045 EXPECT_EQ(conn2, ch.best_connection()); // Not writable yet. 2045 EXPECT_EQ(conn2, ch.best_connection()); // Not writable yet.
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
2152 conn2->ReceivedPingResponse(); 2152 conn2->ReceivedPingResponse();
2153 EXPECT_EQ_WAIT(conn2, ch.best_connection(), 1000); 2153 EXPECT_EQ_WAIT(conn2, ch.best_connection(), 1000);
2154 EXPECT_EQ(cricket::TransportChannelState::STATE_CONNECTING, ch.GetState()); 2154 EXPECT_EQ(cricket::TransportChannelState::STATE_CONNECTING, ch.GetState());
2155 2155
2156 // When |conn1| comes back again, |conn2| will be pruned again. 2156 // When |conn1| comes back again, |conn2| will be pruned again.
2157 conn1->ReceivedPingResponse(); 2157 conn1->ReceivedPingResponse();
2158 EXPECT_EQ_WAIT(conn1, ch.best_connection(), 1000); 2158 EXPECT_EQ_WAIT(conn1, ch.best_connection(), 1000);
2159 EXPECT_TRUE_WAIT(!conn2->active(), 1000); 2159 EXPECT_TRUE_WAIT(!conn2->active(), 1000);
2160 EXPECT_EQ(cricket::TransportChannelState::STATE_COMPLETED, ch.GetState()); 2160 EXPECT_EQ(cricket::TransportChannelState::STATE_COMPLETED, ch.GetState());
2161 } 2161 }
OLDNEW
« no previous file with comments | « webrtc/p2p/base/p2ptransportchannel.cc ('k') | webrtc/p2p/base/packetsocketfactory.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698