summaryrefslogtreecommitdiffstats
path: root/net/base
diff options
context:
space:
mode:
authorszym@chromium.org <szym@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-12-13 01:46:44 +0000
committerszym@chromium.org <szym@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-12-13 01:46:44 +0000
commite466aaf8879c1b585999cc8625d06a772ab4ced1 (patch)
tree6e63b713017efd4bb0e337a7788a4367d0b3bc4c /net/base
parent8960f40c5568df1263fdb9b05a53f3650238d422 (diff)
downloadchromium_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.cc2
-rw-r--r--net/base/ip_endpoint.cc14
-rw-r--r--net/base/ip_endpoint.h8
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