MySQL 9.7.0
Source Code Documentation
mysql_harness::resolver Namespace Reference

Namespaces

namespace  anonymous_namespace{error_code.cc}
 

Classes

class  Registry
 
struct  ResolvedAddresses
 
class  ResolverForwarder
 
class  ResolverInterface
 
class  ResolverNetTs
 

Typedefs

using ResolveHostResult = stdx::expected< ResolvedAddresses, std::error_code >
 

Enumerations

enum class  CachePolicy { Bypass , UseIfPresent , FillOnSuccess }
 
enum class  ErrcResolveResult { Success , NotFound }
 Enumerates the possible outcomes of a hostname resolution. More...
 

Functions

HARNESS_EXPORT const std::error_category & category () noexcept
 
HARNESS_EXPORT std::error_code make_error_code (ErrcResolveResult) noexcept
 
HARNESS_EXPORT ResolveHostResult resolve_host (const std::string &hostname, CachePolicy cache_policy=CachePolicy::UseIfPresent)
 Resolve a hostname to a list of IP addresses. More...
 

Typedef Documentation

◆ ResolveHostResult

Enumeration Type Documentation

◆ CachePolicy

Enumerator
Bypass 
UseIfPresent 
FillOnSuccess 

◆ ErrcResolveResult

Enumerates the possible outcomes of a hostname resolution.

Transient resolver errors (e.g., timeout, SERVFAIL) are returned as std::error_code and not as ResolveResult::k_temporary_failure.

Enumerator
Success 

Successful resolution with at least one IP address.

NotFound 

Deterministic negative outcome (NXDOMAIN, NODATA).

Function Documentation

◆ category()

const std::error_category & mysql_harness::resolver::category ( )
noexcept

◆ make_error_code()

std::error_code mysql_harness::resolver::make_error_code ( ErrcResolveResult  e)
noexcept

◆ resolve_host()

ResolveHostResult mysql_harness::resolver::resolve_host ( const std::string &  hostname,
CachePolicy  cache_policy = CachePolicy::UseIfPresent 
)

Resolve a hostname to a list of IP addresses.

Parameters
hostnamethe hostname to resolve
cache_policya hint on whether to use the cache or not. If the cache is not configured, this parameter is ignored. The cache is configured through ResolverRegistry.
Returns
the result of the hostname resolution