OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2004 The WebRTC Project Authors. All rights reserved. | 2 * Copyright 2004 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 |
11 #include "webrtc/rtc_base/socketaddress.h" | 11 #include "webrtc/rtc_base/socketaddress.h" |
| 12 #include "webrtc/rtc_base/safe_conversions.h" |
12 | 13 |
13 #if defined(WEBRTC_POSIX) | 14 #if defined(WEBRTC_POSIX) |
14 #include <sys/types.h> | 15 #include <sys/types.h> |
15 #include <sys/socket.h> | 16 #include <sys/socket.h> |
16 #include <netinet/in.h> | 17 #include <netinet/in.h> |
17 #if defined(OPENBSD) | 18 #if defined(OPENBSD) |
18 #include <netinet/in_systm.h> | 19 #include <netinet/in_systm.h> |
19 #endif | 20 #endif |
20 #if !defined(__native_client__) | 21 #if !defined(__native_client__) |
21 #include <netinet/ip.h> | 22 #include <netinet/ip.h> |
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
113 ip_ = IPAddress(ip_as_host_order_integer); | 114 ip_ = IPAddress(ip_as_host_order_integer); |
114 scope_id_ = 0; | 115 scope_id_ = 0; |
115 } | 116 } |
116 | 117 |
117 void SocketAddress::SetResolvedIP(const IPAddress& ip) { | 118 void SocketAddress::SetResolvedIP(const IPAddress& ip) { |
118 ip_ = ip; | 119 ip_ = ip; |
119 scope_id_ = 0; | 120 scope_id_ = 0; |
120 } | 121 } |
121 | 122 |
122 void SocketAddress::SetPort(int port) { | 123 void SocketAddress::SetPort(int port) { |
123 RTC_DCHECK((0 <= port) && (port < 65536)); | 124 port_ = rtc::dchecked_cast<uint16_t>(port); |
124 port_ = static_cast<uint16_t>(port); | |
125 } | 125 } |
126 | 126 |
127 uint32_t SocketAddress::ip() const { | 127 uint32_t SocketAddress::ip() const { |
128 return ip_.v4AddressAsHostOrderInteger(); | 128 return ip_.v4AddressAsHostOrderInteger(); |
129 } | 129 } |
130 | 130 |
131 const IPAddress& SocketAddress::ipaddr() const { | 131 const IPAddress& SocketAddress::ipaddr() const { |
132 return ip_; | 132 return ip_; |
133 } | 133 } |
134 | 134 |
(...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
330 SocketAddress EmptySocketAddressWithFamily(int family) { | 330 SocketAddress EmptySocketAddressWithFamily(int family) { |
331 if (family == AF_INET) { | 331 if (family == AF_INET) { |
332 return SocketAddress(IPAddress(INADDR_ANY), 0); | 332 return SocketAddress(IPAddress(INADDR_ANY), 0); |
333 } else if (family == AF_INET6) { | 333 } else if (family == AF_INET6) { |
334 return SocketAddress(IPAddress(in6addr_any), 0); | 334 return SocketAddress(IPAddress(in6addr_any), 0); |
335 } | 335 } |
336 return SocketAddress(); | 336 return SocketAddress(); |
337 } | 337 } |
338 | 338 |
339 } // namespace rtc | 339 } // namespace rtc |
OLD | NEW |