Struct TokioDnsResolver
#[non_exhaustive]pub struct TokioDnsResolver { /* private fields */ }Available on crate features
dns and std only.Expand description
Portable DNS resolver backed by [tokio::net::lookup_host].
This relies on the host resolver for address lookups and does not support CNAME, TXT, SVCB, or HTTPS record resolution.
Implementations§
§impl TokioDnsResolver
impl TokioDnsResolver
pub fn new() -> TokioDnsResolver
pub const fn timeout(&self) -> Duration
pub fn with_timeout(self, timeout: Duration) -> TokioDnsResolver
pub fn set_timeout(&mut self, timeout: Duration) -> &mut TokioDnsResolver
Trait Implementations§
§impl Clone for TokioDnsResolver
impl Clone for TokioDnsResolver
§fn clone(&self) -> TokioDnsResolver
fn clone(&self) -> TokioDnsResolver
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read more§impl Debug for TokioDnsResolver
impl Debug for TokioDnsResolver
§impl Default for TokioDnsResolver
impl Default for TokioDnsResolver
§fn default() -> TokioDnsResolver
fn default() -> TokioDnsResolver
Returns the “default value” for a type. Read more
§impl DnsAddressResolver for TokioDnsResolver
impl DnsAddressResolver for TokioDnsResolver
§fn lookup_ipv4(
&self,
domain: Domain,
) -> impl Stream<Item = Result<Ipv4Addr, <TokioDnsResolver as DnsAddressResolver>::Error>> + Send
fn lookup_ipv4( &self, domain: Domain, ) -> impl Stream<Item = Result<Ipv4Addr, <TokioDnsResolver as DnsAddressResolver>::Error>> + Send
§fn lookup_ipv6(
&self,
domain: Domain,
) -> impl Stream<Item = Result<Ipv6Addr, <TokioDnsResolver as DnsAddressResolver>::Error>> + Send
fn lookup_ipv6( &self, domain: Domain, ) -> impl Stream<Item = Result<Ipv6Addr, <TokioDnsResolver as DnsAddressResolver>::Error>> + Send
§fn lookup_ipv4_first(
&self,
domain: Domain,
) -> impl Future<Output = Option<Result<Ipv4Addr, Self::Error>>> + Send
fn lookup_ipv4_first( &self, domain: Domain, ) -> impl Future<Output = Option<Result<Ipv4Addr, Self::Error>>> + Send
Resolve the first ‘A’ record found for the resolver.
§fn lookup_ipv4_rand(
&self,
domain: Domain,
) -> impl Future<Output = Option<Result<Ipv4Addr, Self::Error>>> + Send
fn lookup_ipv4_rand( &self, domain: Domain, ) -> impl Future<Output = Option<Result<Ipv4Addr, Self::Error>>> + Send
Resolve to a pseudo-random ‘A’ record found for the resolver.
§fn lookup_ipv6_first(
&self,
domain: Domain,
) -> impl Future<Output = Option<Result<Ipv6Addr, Self::Error>>> + Send
fn lookup_ipv6_first( &self, domain: Domain, ) -> impl Future<Output = Option<Result<Ipv6Addr, Self::Error>>> + Send
Resolve the first ‘AAAA’ record found for the resolver.
§fn lookup_ipv6_rand(
&self,
domain: Domain,
) -> impl Future<Output = Option<Result<Ipv6Addr, Self::Error>>> + Send
fn lookup_ipv6_rand( &self, domain: Domain, ) -> impl Future<Output = Option<Result<Ipv6Addr, Self::Error>>> + Send
Resolve to a pseudo-random ‘AAAA’ record found for the resolver.
§fn into_box_dns_address_resolver(self) -> BoxDnsAddressResolver
fn into_box_dns_address_resolver(self) -> BoxDnsAddressResolver
Box this resolver to allow for dynamic dispatch.
§impl DnsCnameResolver for TokioDnsResolver
impl DnsCnameResolver for TokioDnsResolver
§type Error = TokioDnsCnameUnsupportedError
type Error = TokioDnsCnameUnsupportedError
Error returned by this resolver.
§fn lookup_cname(
&self,
_domain: Domain,
) -> impl Stream<Item = Result<Name, <TokioDnsResolver as DnsCnameResolver>::Error>> + Send
fn lookup_cname( &self, _domain: Domain, ) -> impl Stream<Item = Result<Name, <TokioDnsResolver as DnsCnameResolver>::Error>> + Send
Resolve CNAME targets for the given domain. Read more
§fn into_box_dns_cname_resolver(self) -> BoxDnsCnameResolver
fn into_box_dns_cname_resolver(self) -> BoxDnsCnameResolver
Box this resolver to allow dynamic dispatch.
§impl DnsResolver for TokioDnsResolver
impl DnsResolver for TokioDnsResolver
§fn into_box_dns_resolver(self) -> BoxDnsResolverwhere
Self: Sized,
fn into_box_dns_resolver(self) -> BoxDnsResolverwhere
Self: Sized,
Box this aggregate resolver for dynamic dispatch.
§impl DnsServiceBindingResolver for TokioDnsResolver
impl DnsServiceBindingResolver for TokioDnsResolver
§type Error = TokioDnsServiceBindingUnsupportedError
type Error = TokioDnsServiceBindingUnsupportedError
Error returned by this resolver.
§fn lookup_svcb(
&self,
_domain: Domain,
) -> impl Stream<Item = Result<ServiceBinding, <TokioDnsResolver as DnsServiceBindingResolver>::Error>> + Send
fn lookup_svcb( &self, _domain: Domain, ) -> impl Stream<Item = Result<ServiceBinding, <TokioDnsResolver as DnsServiceBindingResolver>::Error>> + Send
Resolve the complete SVCB RRset for the given domain. Read more
§fn lookup_https(
&self,
_domain: Domain,
) -> impl Stream<Item = Result<ServiceBinding, <TokioDnsResolver as DnsServiceBindingResolver>::Error>> + Send
fn lookup_https( &self, _domain: Domain, ) -> impl Stream<Item = Result<ServiceBinding, <TokioDnsResolver as DnsServiceBindingResolver>::Error>> + Send
Resolve the complete HTTPS RRset for the given domain. Read more
§fn into_box_dns_service_binding_resolver(self) -> BoxDnsServiceBindingResolver
fn into_box_dns_service_binding_resolver(self) -> BoxDnsServiceBindingResolver
Box this resolver to allow dynamic dispatch.
§impl DnsTxtResolver for TokioDnsResolver
impl DnsTxtResolver for TokioDnsResolver
§type Error = TokioDnsTxtUnsupportedError
type Error = TokioDnsTxtUnsupportedError
Error returned by the
DnsTxtResolver§fn lookup_txt(
&self,
_domain: Domain,
) -> impl Stream<Item = Result<Txt, <TokioDnsResolver as DnsTxtResolver>::Error>> + Send
fn lookup_txt( &self, _domain: Domain, ) -> impl Stream<Item = Result<Txt, <TokioDnsResolver as DnsTxtResolver>::Error>> + Send
§fn into_box_dns_txt_resolver(self) -> BoxDnsTxtResolver
fn into_box_dns_txt_resolver(self) -> BoxDnsTxtResolver
Box this resolver to allow for dynamic dispatch.
Auto Trait Implementations§
impl Freeze for TokioDnsResolver
impl RefUnwindSafe for TokioDnsResolver
impl Send for TokioDnsResolver
impl Sync for TokioDnsResolver
impl Unpin for TokioDnsResolver
impl UnsafeUnpin for TokioDnsResolver
impl UnwindSafe for TokioDnsResolver
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
§impl<R> HappyEyeballAddressResolverExt for Rwhere
R: DnsAddressResolver,
impl<R> HappyEyeballAddressResolverExt for Rwhere
R: DnsAddressResolver,
§fn happy_eyeballs_resolver(
&self,
host: impl Into<Host>,
) -> HappyEyeballAddressResolver<'_, R>
fn happy_eyeballs_resolver( &self, host: impl Into<Host>, ) -> HappyEyeballAddressResolver<'_, R>
Build a happy eyeballs address resolver using
a reference to the current address resolver.
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a rama_grpc::Request§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§fn and<P, B, E>(self, other: P) -> And<T, P>
fn and<P, B, E>(self, other: P) -> And<T, P>
Create a new
Policy that returns Action::Follow only if self and other return
Action::Follow. Read more