Trait resolver_types::Resolver
source · [−]pub trait Resolver {
fn resolve_specific(&self, query: QueryType) -> ResolveResult<Record>;
fn resolve_many<I: Iterator<Item = QueryType>>(
&self,
queries: I
) -> ResolveResult<Vec<Record>>;
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
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 resolve(&self) -> ResolveResult<IpAddr>
Resolve IPv6 and IPv4
fn clear_cache(&self) -> Result<(), ()>
fn clear_cache(&self) -> Result<(), ()>
Potentially clear the cache of the actual implementation
Returns Ok if implemented
fn reload_system_config(&self) -> Result<(), ()>
fn reload_system_config(&self) -> Result<(), ()>
If the system settings are cached reload them
Returns ok if implemented