#ifndef NET_DNS_PUBLIC_HOST_RESOLVER_RESULTS_H_
#define NET_DNS_PUBLIC_HOST_RESOLVER_RESULTS_H_
#include <optional>
#include <string>
#include <vector>
#include "net/base/connection_endpoint_metadata.h"
#include "net/base/ip_endpoint.h"
#include "net/base/net_export.h"
namespace net {
struct NET_EXPORT_PRIVATE HostResolverEndpointResult {
HostResolverEndpointResult();
~HostResolverEndpointResult();
HostResolverEndpointResult(const HostResolverEndpointResult&);
HostResolverEndpointResult& operator=(const HostResolverEndpointResult&) =
default;
HostResolverEndpointResult(HostResolverEndpointResult&&);
HostResolverEndpointResult& operator=(HostResolverEndpointResult&&) = default;
friend bool operator==(const HostResolverEndpointResult&,
const HostResolverEndpointResult&) = default;
std::vector<net::IPEndPoint> ip_endpoints;
ConnectionEndpointMetadata metadata;
};
using HostResolverEndpointResults =
std::vector<net::HostResolverEndpointResult>;
struct NET_EXPORT_PRIVATE ServiceEndpoint {
ServiceEndpoint();
~ServiceEndpoint();
ServiceEndpoint(std::vector<IPEndPoint> ipv4_endpoints,
std::vector<IPEndPoint> ipv6_endpoints,
ConnectionEndpointMetadata metadata);
ServiceEndpoint(const ServiceEndpoint&);
ServiceEndpoint& operator=(const ServiceEndpoint&) = default;
ServiceEndpoint(ServiceEndpoint&&);
ServiceEndpoint& operator=(ServiceEndpoint&&) = default;
friend bool operator==(const ServiceEndpoint&,
const ServiceEndpoint&) = default;
base::Value::Dict ToValue() const;
std::vector<IPEndPoint> ipv4_endpoints;
std::vector<IPEndPoint> ipv6_endpoints;
ConnectionEndpointMetadata metadata;
};
}
#endif