blob: bf184ddea0e3bf98cc7abc9ba7b59e84345ebfc4 [file] [log] [blame]
// Copyright (c) 2016 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "net/third_party/quiche/src/quic/platform/api/quic_ip_address.h"
#include "net/third_party/quiche/src/quic/platform/api/quic_string.h"
namespace quic {
QuicIpAddress QuicIpAddress::Loopback4() {
return QuicIpAddress(QuicIpAddressImpl::Loopback4());
}
QuicIpAddress QuicIpAddress::Loopback6() {
return QuicIpAddress(QuicIpAddressImpl::Loopback6());
}
QuicIpAddress QuicIpAddress::Any4() {
return QuicIpAddress(QuicIpAddressImpl::Any4());
}
QuicIpAddress QuicIpAddress::Any6() {
return QuicIpAddress(QuicIpAddressImpl::Any6());
}
QuicIpAddress::QuicIpAddress(const QuicIpAddressImpl& impl) : impl_(impl) {}
bool operator==(QuicIpAddress lhs, QuicIpAddress rhs) {
return lhs.impl_ == rhs.impl_;
}
bool operator!=(QuicIpAddress lhs, QuicIpAddress rhs) {
return !(lhs == rhs);
}
bool QuicIpAddress::IsInitialized() const {
return impl_.IsInitialized();
}
IpAddressFamily QuicIpAddress::address_family() const {
return impl_.address_family();
}
int QuicIpAddress::AddressFamilyToInt() const {
return impl_.AddressFamilyToInt();
}
QuicString QuicIpAddress::ToPackedString() const {
return impl_.ToPackedString();
}
QuicString QuicIpAddress::ToString() const {
return impl_.ToString();
}
QuicIpAddress QuicIpAddress::Normalized() const {
return QuicIpAddress(impl_.Normalized());
}
QuicIpAddress QuicIpAddress::DualStacked() const {
return QuicIpAddress(impl_.DualStacked());
}
bool QuicIpAddress::FromPackedString(const char* data, size_t length) {
return impl_.FromPackedString(data, length);
}
bool QuicIpAddress::FromString(QuicString str) {
return impl_.FromString(str);
}
bool QuicIpAddress::IsIPv4() const {
return impl_.IsIPv4();
}
bool QuicIpAddress::IsIPv6() const {
return impl_.IsIPv6();
}
bool QuicIpAddress::InSameSubnet(const QuicIpAddress& other,
int subnet_length) {
return impl_.InSameSubnet(other.impl(), subnet_length);
}
} // namespace quic