Skip to main content

Resolver

Trait Resolver 

Source
pub trait Resolver {
    // Required methods
    fn resolve_specific(&self, query: QueryType) -> ResolveResult<Record>;
    fn resolve_many<I: Iterator<Item = QueryType>>(
        &self,
        queries: I,
    ) -> ResolveResult<Vec<Record>>;

    // Provided methods
    fn resolve(&self) -> ResolveResult<IpAddr> { ... }
    fn clear_cache(&self) -> Result<(), ()> { ... }
    fn reload_system_config(&self) -> Result<(), ()> { ... }
}
Expand description

The simplified interface that all resolvers share

Required Methods§

Source

fn resolve_specific(&self, query: QueryType) -> ResolveResult<Record>

Source

fn resolve_many<I: Iterator<Item = QueryType>>( &self, queries: I, ) -> ResolveResult<Vec<Record>>

Provided Methods§

Source

fn resolve(&self) -> ResolveResult<IpAddr>

Resolve IPv6 and IPv4

Source

fn clear_cache(&self) -> Result<(), ()>

Potentially clear the cache of the actual implementation

Returns Ok if implemented

Source

fn reload_system_config(&self) -> Result<(), ()>

If the system settings are cached reload them

Returns ok if implemented

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§