Trait resolver_types::AsyncResolver
source · [−]pub trait AsyncResolver {
fn resolve_specific<'life0, 'async_trait>(
&'life0 self,
query: QueryType
) -> Pin<Box<dyn Future<Output = ResolveResult<Record>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn resolve_many<'life0, 'async_trait, I: Iterator<Item = QueryType>>(
&'life0 self,
queries: I
) -> Pin<Box<dyn Future<Output = ResolveResult<Vec<Record>>> + Send + 'async_trait>>
where
I: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait;
fn resolve<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = ResolveResult<IpAddr>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: Sync + 'async_trait,
{ ... }
fn clear_cache<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<(), ()>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: Sync + 'async_trait,
{ ... }
fn reload_system_config<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<(), ()>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: Sync + 'async_trait,
{ ... }
}
Expand description
The simplified interface that all resolvers share
Required methods
fn resolve_specific<'life0, 'async_trait>(
&'life0 self,
query: QueryType
) -> Pin<Box<dyn Future<Output = ResolveResult<Record>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
Provided methods
Resolve IPv6 and IPv4
Potentially clear the cache of the actual implementation
Returns Ok if implemented