6#include <userver/clients/dns/common.hpp>
7#include <userver/clients/dns/exception.hpp>
8#include <userver/engine/deadline.hpp>
9#include <userver/engine/io/sockaddr.hpp>
10#include <userver/engine/task/task_processor_fwd.hpp>
11#include <userver/utils/fast_pimpl.hpp>
12#include <userver/utils/statistics/rate_counter.hpp>
14#include <userver/static_config/dns_client.hpp>
16USERVER_NAMESPACE_BEGIN
18namespace clients::
dns {
30 utils::statistics::RateCounter file;
31 utils::statistics::RateCounter cached;
32 utils::statistics::RateCounter cached_stale;
33 utils::statistics::RateCounter cached_failure;
34 utils::statistics::RateCounter network;
35 utils::statistics::RateCounter network_failure;
38 Resolver(engine::TaskProcessor& fs_task_processor,
const ::userver::static_config::DnsClient& config);
52 AddrVector
Resolve(
const std::string& name, engine::Deadline deadline);
68 constexpr static size_t kSize = 1728;
69 constexpr static size_t kAlignment = 16;
70 utils::FastPimpl<Impl, kSize, kAlignment> impl_;