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 Freeze for DnsResolver
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> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
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