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

Side by Side Diff: net/socket/transport_client_socket_pool_unittest.cc

Issue 11528012: [net] Make IPEndPoint::GetFamily() return AddressFamily and add GetSockAddrFamily() to be used when… (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: update uses of GetFamily in net/dns/ Created 8 years 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 | Annotate | Revision Log
« no previous file with comments | « net/socket/transport_client_socket_pool.cc ('k') | net/udp/udp_socket_libevent.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "net/socket/transport_client_socket_pool.h" 5 #include "net/socket/transport_client_socket_pool.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/bind_helpers.h" 8 #include "base/bind_helpers.h"
9 #include "base/callback.h" 9 #include "base/callback.h"
10 #include "base/compiler_specific.h" 10 #include "base/compiler_specific.h"
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
64 } 64 }
65 virtual bool IsConnectedAndIdle() const { 65 virtual bool IsConnectedAndIdle() const {
66 return connected_; 66 return connected_;
67 } 67 }
68 virtual int GetPeerAddress(IPEndPoint* address) const { 68 virtual int GetPeerAddress(IPEndPoint* address) const {
69 return ERR_UNEXPECTED; 69 return ERR_UNEXPECTED;
70 } 70 }
71 virtual int GetLocalAddress(IPEndPoint* address) const { 71 virtual int GetLocalAddress(IPEndPoint* address) const {
72 if (!connected_) 72 if (!connected_)
73 return ERR_SOCKET_NOT_CONNECTED; 73 return ERR_SOCKET_NOT_CONNECTED;
74 if (addrlist_.front().GetFamily() == AF_INET) 74 if (addrlist_.front().GetFamily() == ADDRESS_FAMILY_IPV4)
75 SetIPv4Address(address); 75 SetIPv4Address(address);
76 else 76 else
77 SetIPv6Address(address); 77 SetIPv6Address(address);
78 return OK; 78 return OK;
79 } 79 }
80 virtual const BoundNetLog& NetLog() const { 80 virtual const BoundNetLog& NetLog() const {
81 return net_log_; 81 return net_log_;
82 } 82 }
83 83
84 virtual void SetSubresourceSpeculation() {} 84 virtual void SetSubresourceSpeculation() {}
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after
215 } 215 }
216 virtual bool IsConnectedAndIdle() const { 216 virtual bool IsConnectedAndIdle() const {
217 return is_connected_; 217 return is_connected_;
218 } 218 }
219 virtual int GetPeerAddress(IPEndPoint* address) const { 219 virtual int GetPeerAddress(IPEndPoint* address) const {
220 return ERR_UNEXPECTED; 220 return ERR_UNEXPECTED;
221 } 221 }
222 virtual int GetLocalAddress(IPEndPoint* address) const { 222 virtual int GetLocalAddress(IPEndPoint* address) const {
223 if (!is_connected_) 223 if (!is_connected_)
224 return ERR_SOCKET_NOT_CONNECTED; 224 return ERR_SOCKET_NOT_CONNECTED;
225 if (addrlist_.front().GetFamily() == AF_INET) 225 if (addrlist_.front().GetFamily() == ADDRESS_FAMILY_IPV4)
226 SetIPv4Address(address); 226 SetIPv4Address(address);
227 else 227 else
228 SetIPv6Address(address); 228 SetIPv6Address(address);
229 return OK; 229 return OK;
230 } 230 }
231 virtual const BoundNetLog& NetLog() const { 231 virtual const BoundNetLog& NetLog() const {
232 return net_log_; 232 return net_log_;
233 } 233 }
234 234
235 virtual void SetSubresourceSpeculation() {} 235 virtual void SetSubresourceSpeculation() {}
(...skipping 225 matching lines...) Expand 10 before | Expand all | Expand 10 after
461 IPEndPoint addrlist_v6_2(ip_number, 80); 461 IPEndPoint addrlist_v6_2(ip_number, 80);
462 462
463 AddressList addrlist; 463 AddressList addrlist;
464 464
465 // Test 1: IPv4 only. Expect no change. 465 // Test 1: IPv4 only. Expect no change.
466 addrlist.clear(); 466 addrlist.clear();
467 addrlist.push_back(addrlist_v4_1); 467 addrlist.push_back(addrlist_v4_1);
468 addrlist.push_back(addrlist_v4_2); 468 addrlist.push_back(addrlist_v4_2);
469 TransportConnectJob::MakeAddressListStartWithIPv4(&addrlist); 469 TransportConnectJob::MakeAddressListStartWithIPv4(&addrlist);
470 ASSERT_EQ(2u, addrlist.size()); 470 ASSERT_EQ(2u, addrlist.size());
471 EXPECT_EQ(AF_INET, addrlist[0].GetFamily()); 471 EXPECT_EQ(ADDRESS_FAMILY_IPV4, addrlist[0].GetFamily());
472 EXPECT_EQ(AF_INET, addrlist[1].GetFamily()); 472 EXPECT_EQ(ADDRESS_FAMILY_IPV4, addrlist[1].GetFamily());
473 473
474 // Test 2: IPv6 only. Expect no change. 474 // Test 2: IPv6 only. Expect no change.
475 addrlist.clear(); 475 addrlist.clear();
476 addrlist.push_back(addrlist_v6_1); 476 addrlist.push_back(addrlist_v6_1);
477 addrlist.push_back(addrlist_v6_2); 477 addrlist.push_back(addrlist_v6_2);
478 TransportConnectJob::MakeAddressListStartWithIPv4(&addrlist); 478 TransportConnectJob::MakeAddressListStartWithIPv4(&addrlist);
479 ASSERT_EQ(2u, addrlist.size()); 479 ASSERT_EQ(2u, addrlist.size());
480 EXPECT_EQ(AF_INET6, addrlist[0].GetFamily()); 480 EXPECT_EQ(ADDRESS_FAMILY_IPV6, addrlist[0].GetFamily());
481 EXPECT_EQ(AF_INET6, addrlist[1].GetFamily()); 481 EXPECT_EQ(ADDRESS_FAMILY_IPV6, addrlist[1].GetFamily());
482 482
483 // Test 3: IPv4 then IPv6. Expect no change. 483 // Test 3: IPv4 then IPv6. Expect no change.
484 addrlist.clear(); 484 addrlist.clear();
485 addrlist.push_back(addrlist_v4_1); 485 addrlist.push_back(addrlist_v4_1);
486 addrlist.push_back(addrlist_v4_2); 486 addrlist.push_back(addrlist_v4_2);
487 addrlist.push_back(addrlist_v6_1); 487 addrlist.push_back(addrlist_v6_1);
488 addrlist.push_back(addrlist_v6_2); 488 addrlist.push_back(addrlist_v6_2);
489 TransportConnectJob::MakeAddressListStartWithIPv4(&addrlist); 489 TransportConnectJob::MakeAddressListStartWithIPv4(&addrlist);
490 ASSERT_EQ(4u, addrlist.size()); 490 ASSERT_EQ(4u, addrlist.size());
491 EXPECT_EQ(AF_INET, addrlist[0].GetFamily()); 491 EXPECT_EQ(ADDRESS_FAMILY_IPV4, addrlist[0].GetFamily());
492 EXPECT_EQ(AF_INET, addrlist[1].GetFamily()); 492 EXPECT_EQ(ADDRESS_FAMILY_IPV4, addrlist[1].GetFamily());
493 EXPECT_EQ(AF_INET6, addrlist[2].GetFamily()); 493 EXPECT_EQ(ADDRESS_FAMILY_IPV6, addrlist[2].GetFamily());
494 EXPECT_EQ(AF_INET6, addrlist[3].GetFamily()); 494 EXPECT_EQ(ADDRESS_FAMILY_IPV6, addrlist[3].GetFamily());
495 495
496 // Test 4: IPv6, IPv4, IPv6, IPv4. Expect first IPv6 moved to the end. 496 // Test 4: IPv6, IPv4, IPv6, IPv4. Expect first IPv6 moved to the end.
497 addrlist.clear(); 497 addrlist.clear();
498 addrlist.push_back(addrlist_v6_1); 498 addrlist.push_back(addrlist_v6_1);
499 addrlist.push_back(addrlist_v4_1); 499 addrlist.push_back(addrlist_v4_1);
500 addrlist.push_back(addrlist_v6_2); 500 addrlist.push_back(addrlist_v6_2);
501 addrlist.push_back(addrlist_v4_2); 501 addrlist.push_back(addrlist_v4_2);
502 TransportConnectJob::MakeAddressListStartWithIPv4(&addrlist); 502 TransportConnectJob::MakeAddressListStartWithIPv4(&addrlist);
503 ASSERT_EQ(4u, addrlist.size()); 503 ASSERT_EQ(4u, addrlist.size());
504 EXPECT_EQ(AF_INET, addrlist[0].GetFamily()); 504 EXPECT_EQ(ADDRESS_FAMILY_IPV4, addrlist[0].GetFamily());
505 EXPECT_EQ(AF_INET6, addrlist[1].GetFamily()); 505 EXPECT_EQ(ADDRESS_FAMILY_IPV6, addrlist[1].GetFamily());
506 EXPECT_EQ(AF_INET, addrlist[2].GetFamily()); 506 EXPECT_EQ(ADDRESS_FAMILY_IPV4, addrlist[2].GetFamily());
507 EXPECT_EQ(AF_INET6, addrlist[3].GetFamily()); 507 EXPECT_EQ(ADDRESS_FAMILY_IPV6, addrlist[3].GetFamily());
508 508
509 // Test 5: IPv6, IPv6, IPv4, IPv4. Expect first two IPv6's moved to the end. 509 // Test 5: IPv6, IPv6, IPv4, IPv4. Expect first two IPv6's moved to the end.
510 addrlist.clear(); 510 addrlist.clear();
511 addrlist.push_back(addrlist_v6_1); 511 addrlist.push_back(addrlist_v6_1);
512 addrlist.push_back(addrlist_v6_2); 512 addrlist.push_back(addrlist_v6_2);
513 addrlist.push_back(addrlist_v4_1); 513 addrlist.push_back(addrlist_v4_1);
514 addrlist.push_back(addrlist_v4_2); 514 addrlist.push_back(addrlist_v4_2);
515 TransportConnectJob::MakeAddressListStartWithIPv4(&addrlist); 515 TransportConnectJob::MakeAddressListStartWithIPv4(&addrlist);
516 ASSERT_EQ(4u, addrlist.size()); 516 ASSERT_EQ(4u, addrlist.size());
517 EXPECT_EQ(AF_INET, addrlist[0].GetFamily()); 517 EXPECT_EQ(ADDRESS_FAMILY_IPV4, addrlist[0].GetFamily());
518 EXPECT_EQ(AF_INET, addrlist[1].GetFamily()); 518 EXPECT_EQ(ADDRESS_FAMILY_IPV4, addrlist[1].GetFamily());
519 EXPECT_EQ(AF_INET6, addrlist[2].GetFamily()); 519 EXPECT_EQ(ADDRESS_FAMILY_IPV6, addrlist[2].GetFamily());
520 EXPECT_EQ(AF_INET6, addrlist[3].GetFamily()); 520 EXPECT_EQ(ADDRESS_FAMILY_IPV6, addrlist[3].GetFamily());
521 } 521 }
522 522
523 TEST_F(TransportClientSocketPoolTest, Basic) { 523 TEST_F(TransportClientSocketPoolTest, Basic) {
524 TestCompletionCallback callback; 524 TestCompletionCallback callback;
525 ClientSocketHandle handle; 525 ClientSocketHandle handle;
526 int rv = handle.Init("a", low_params_, LOW, callback.callback(), &pool_, 526 int rv = handle.Init("a", low_params_, LOW, callback.callback(), &pool_,
527 BoundNetLog()); 527 BoundNetLog());
528 EXPECT_EQ(ERR_IO_PENDING, rv); 528 EXPECT_EQ(ERR_IO_PENDING, rv);
529 EXPECT_FALSE(handle.is_initialized()); 529 EXPECT_FALSE(handle.is_initialized());
530 EXPECT_FALSE(handle.socket()); 530 EXPECT_FALSE(handle.socket());
(...skipping 743 matching lines...) Expand 10 before | Expand all | Expand 10 after
1274 EXPECT_TRUE(handle.socket()); 1274 EXPECT_TRUE(handle.socket());
1275 IPEndPoint endpoint; 1275 IPEndPoint endpoint;
1276 handle.socket()->GetLocalAddress(&endpoint); 1276 handle.socket()->GetLocalAddress(&endpoint);
1277 EXPECT_EQ(kIPv4AddressSize, endpoint.address().size()); 1277 EXPECT_EQ(kIPv4AddressSize, endpoint.address().size());
1278 EXPECT_EQ(1, client_socket_factory_.allocation_count()); 1278 EXPECT_EQ(1, client_socket_factory_.allocation_count());
1279 } 1279 }
1280 1280
1281 } // namespace 1281 } // namespace
1282 1282
1283 } // namespace net 1283 } // namespace net
OLDNEW
« no previous file with comments | « net/socket/transport_client_socket_pool.cc ('k') | net/udp/udp_socket_libevent.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698