Struct ginepro::DnsResolver
source · pub struct DnsResolver { /* private fields */ }Expand description
Implements LookupService by using DNS queries to lookup ServiceDefinition::hostname.
Implementations§
source§impl DnsResolver
impl DnsResolver
sourcepub async fn from_system_config() -> Result<Self, Error>
pub async fn from_system_config() -> Result<Self, Error>
Construct a new DnsResolver from env and system configuration, e.g resolv.conf.
Trait Implementations§
source§impl LookupService for DnsResolver
impl LookupService for DnsResolver
source§fn resolve_service_endpoints<'life0, 'life1, 'async_trait>(
&'life0 self,
definition: &'life1 ServiceDefinition
) -> Pin<Box<dyn Future<Output = Result<HashSet<SocketAddr>, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn resolve_service_endpoints<'life0, 'life1, 'async_trait>( &'life0 self, definition: &'life1 ServiceDefinition ) -> Pin<Box<dyn Future<Output = Result<HashSet<SocketAddr>, Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Return a list of unique
SocketAddr associated with the provided
ServiceDefinition containing the hostname port of the service.
If no ip addresses were resolved, an empty HashSet is returned.Auto Trait Implementations§
impl !RefUnwindSafe for DnsResolver
impl Send for DnsResolver
impl Sync for DnsResolver
impl Unpin for DnsResolver
impl !UnwindSafe for DnsResolver
Blanket Implementations§
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request