blob: dacd6ac3505182253562a15f05ab7ebdbe81e5ab [file] [log] [blame]
QUICHE teama6ef0a62019-03-07 20:34:33 -05001// Copyright (c) 2016 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
vasilvv872e7a32019-03-12 16:42:44 -07005#include <string>
6
QUICHE teama6ef0a62019-03-07 20:34:33 -05007#include "net/third_party/quiche/src/quic/platform/api/quic_socket_address.h"
QUICHE teama6ef0a62019-03-07 20:34:33 -05008
9namespace quic {
10
11QuicSocketAddress::QuicSocketAddress(QuicIpAddress address, uint16_t port)
12 : impl_(address.impl(), port) {}
13
14QuicSocketAddress::QuicSocketAddress(const struct sockaddr_storage& saddr)
15 : impl_(saddr) {}
16
17QuicSocketAddress::QuicSocketAddress(const struct sockaddr& saddr)
18 : impl_(saddr) {}
19
20QuicSocketAddress::QuicSocketAddress(const QuicSocketAddressImpl& impl)
21 : impl_(impl) {}
22
23bool operator==(const QuicSocketAddress& lhs, const QuicSocketAddress& rhs) {
24 return lhs.impl_ == rhs.impl_;
25}
26
27bool operator!=(const QuicSocketAddress& lhs, const QuicSocketAddress& rhs) {
28 return lhs.impl_ != rhs.impl_;
29}
30
31bool QuicSocketAddress::IsInitialized() const {
32 return impl_.IsInitialized();
33}
34
vasilvvc48c8712019-03-11 13:38:16 -070035std::string QuicSocketAddress::ToString() const {
QUICHE teama6ef0a62019-03-07 20:34:33 -050036 return impl_.ToString();
37}
38
39int QuicSocketAddress::FromSocket(int fd) {
40 return impl_.FromSocket(fd);
41}
42
43QuicSocketAddress QuicSocketAddress::Normalized() const {
44 return QuicSocketAddress(impl_.Normalized());
45}
46
47QuicIpAddress QuicSocketAddress::host() const {
48 return QuicIpAddress(impl_.host());
49}
50
51uint16_t QuicSocketAddress::port() const {
52 return impl_.port();
53}
54
55sockaddr_storage QuicSocketAddress::generic_address() const {
56 return impl_.generic_address();
57}
58
59} // namespace quic