diff options
author | szym@chromium.org <szym@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-12-13 01:46:44 +0000 |
---|---|---|
committer | szym@chromium.org <szym@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-12-13 01:46:44 +0000 |
commit | e466aaf8879c1b585999cc8625d06a772ab4ced1 (patch) | |
tree | 6e63b713017efd4bb0e337a7788a4367d0b3bc4c /net/base | |
parent | 8960f40c5568df1263fdb9b05a53f3650238d422 (diff) | |
download | chromium_src-e466aaf8879c1b585999cc8625d06a772ab4ced1.zip chromium_src-e466aaf8879c1b585999cc8625d06a772ab4ced1.tar.gz chromium_src-e466aaf8879c1b585999cc8625d06a772ab4ced1.tar.bz2 |
[net] Make IPEndPoint::GetFamily() return AddressFamily and add GetSockAddrFamily() to be used when creating sockets.
BUG=126002
TEST=browse anywhere
Review URL: https://chromiumcodereview.appspot.com/11528012
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@172768 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/base')
-rw-r--r-- | net/base/address_list_unittest.cc | 2 | ||||
-rw-r--r-- | net/base/ip_endpoint.cc | 14 | ||||
-rw-r--r-- | net/base/ip_endpoint.h | 8 |
3 files changed, 20 insertions, 4 deletions
diff --git a/net/base/address_list_unittest.cc b/net/base/address_list_unittest.cc index 734332e..cc94e79 100644 --- a/net/base/address_list_unittest.cc +++ b/net/base/address_list_unittest.cc @@ -68,7 +68,7 @@ TEST(AddressListTest, CreateFromAddrinfo) { ASSERT_EQ(kNumElements, list.size()); for (size_t i = 0; i < list.size(); ++i) { - EXPECT_EQ(AF_INET, list[i].GetFamily()); + EXPECT_EQ(ADDRESS_FAMILY_IPV4, list[i].GetFamily()); // Only check the first byte of the address. EXPECT_EQ(i, list[i].address()[0]); EXPECT_EQ(static_cast<int>(i << 2), list[i].port()); diff --git a/net/base/ip_endpoint.cc b/net/base/ip_endpoint.cc index 8dc8e9a..923596e 100644 --- a/net/base/ip_endpoint.cc +++ b/net/base/ip_endpoint.cc @@ -34,7 +34,19 @@ IPEndPoint::IPEndPoint(const IPEndPoint& endpoint) { port_ = endpoint.port_; } -int IPEndPoint::GetFamily() const { +AddressFamily IPEndPoint::GetFamily() const { + switch (address_.size()) { + case kIPv4AddressSize: + return ADDRESS_FAMILY_IPV4; + case kIPv6AddressSize: + return ADDRESS_FAMILY_IPV6; + default: + NOTREACHED() << "Bad IP address"; + return ADDRESS_FAMILY_UNSPECIFIED; + } +} + +int IPEndPoint::GetSockAddrFamily() const { switch (address_.size()) { case kIPv4AddressSize: return AF_INET; diff --git a/net/base/ip_endpoint.h b/net/base/ip_endpoint.h index 5969b30..1fc7e04 100644 --- a/net/base/ip_endpoint.h +++ b/net/base/ip_endpoint.h @@ -9,6 +9,7 @@ #include "base/basictypes.h" #include "base/compiler_specific.h" +#include "net/base/address_family.h" #include "net/base/net_export.h" #include "net/base/net_util.h" @@ -29,8 +30,11 @@ class NET_EXPORT IPEndPoint { const IPAddressNumber& address() const { return address_; } int port() const { return port_; } - // Returns AF_INET or AF_INET6 depending on the type of the address. - int GetFamily() const; + // Returns AddressFamily of the address. + AddressFamily GetFamily() const; + + // Returns the sockaddr family of the address, AF_INET or AF_INET6. + int GetSockAddrFamily() const; // Convert to a provided sockaddr struct. // |address| is the sockaddr to copy into. Should be at least |