userver: clients::dns::Component Class Reference
Loading...
Searching...
No Matches
clients::dns::Component Class Referencefinal

#include <userver/clients/dns/component.hpp>

Detailed Description

Caching DNS resolver component.

Returned references to clients::dns::Resolver live for a lifetime of the component and are safe for concurrent use.

Static options:

Name Description Default value
fs-task-processor task processor for disk I/O operations -
hosts-file-path path to the hosts file /etc/hosts
hosts-file-update-interval hosts file cache reload interval 5m
network-timeout timeout for network requests 1s
network-attempts number of attempts for network requests 1
network-custom-servers list of name servers to use from /etc/resolv.conf
cache-ways number of ways for network cache 16
cache-size-per-way size of each way of network cache 256
cache-max-reply-ttl TTL limit for network replies caching 5m
cache-failure-ttl TTL for network failures caching 5s

Static configuration example:

# yaml
dns-client:
fs-task-processor: fs-task-processor
hosts-file-path: /etc/hosts
hosts-file-update-interval: 5m
network-timeout: 1s
network-attempts: 1
network-custom-servers:
- 127.0.0.1
- 127.0.0.2
cache-ways: 16
cache-size-per-way: 256
cache-max-reply-ttl: 5m
cache-failure-ttl: 5s
Examples
samples/http_caching/http_caching.cpp, samples/mongo_service/mongo_service.cpp, samples/postgres_auth/postgres_service.cpp, samples/redis_service/redis_service.cpp, and samples/tcp_full_duplex_service/tcp_full_duplex_service.cpp.

Definition at line 42 of file component.hpp.

+ Inheritance diagram for clients::dns::Component:
+ Collaboration diagram for clients::dns::Component:

Public Member Functions

 Component (const components::ComponentConfig &, const components::ComponentContext &)
 
ResolverGetResolver ()
 
- Public Member Functions inherited from components::LoggableComponentBase
 LoggableComponentBase (const ComponentConfig &, const ComponentContext &)
 
 LoggableComponentBase (LoggableComponentBase &&)=delete
 
 LoggableComponentBase (const LoggableComponentBase &)=delete
 
 ~LoggableComponentBase () override=default
 
ComponentHealth GetComponentHealth () const override
 
void OnLoadingCancelled () override
 
void OnAllComponentsLoaded () override
 
void OnAllComponentsAreStopping () override
 

Static Public Member Functions

static yaml_config::Schema GetStaticConfigSchema ()
 
- Static Public Member Functions inherited from components::LoggableComponentBase
static yaml_config::Schema GetStaticConfigSchema ()
 

Static Public Attributes

static constexpr std::string_view kName = "dns-client"
 The default name of clients::dns::Component component.
 

The documentation for this class was generated from the following file: