userver: userver/clients/dns/resolver_utils.hpp Source File
Loading...
Searching...
No Matches
resolver_utils.hpp
Go to the documentation of this file.
1#pragma once
2
3/// @file userver/clients/dns/resolver_utils.hpp
4/// @brief DNS resolver type and component lookup helpers
5
6#include <userver/clients/dns/exception.hpp>
7#include <userver/clients/dns/resolver_fwd.hpp>
8#include <userver/components/component_fwd.hpp>
9
10USERVER_NAMESPACE_BEGIN
11
12namespace clients::dns {
13
14/// Resolver types used by the components
15enum class ResolverType {
16 kGetaddrinfo, ///< resolve hosts using blocking getaddrinfo call
17 kAsync, ///< use non-blocking resolver
18};
19
20/// Returns pointer to asynchronous resolver interface if required by config
21/// or nullptr for getaddrinfo
22/// @throws InvalidConfigException on unknown resolver type in config
24 const components::ComponentConfig& config,
25 const components::ComponentContext& context,
27);
28
29} // namespace clients::dns
30
31USERVER_NAMESPACE_END