Struct BoundedDnsResolver
pub struct BoundedDnsResolver<R> { /* private fields */ }dns and std only.Expand description
Bound raw results from each DNS lookup, before deduplication.
Implements each resolver trait supported by the wrapped resolver. Each lookup
has its own allowance; duplicates and errors both count as raw results.
For a bounded type, an additional result produces DnsAnswerLimitReached
and ends that stream. Unbounded types impose no result-count limit.
Limits do not aggregate across lookups, types, clones or callers.
Pending lookups still require a caller-owned deadline. This adapter bounds stream consumption, not the wrapped resolver’s internal allocation or work. It does not cache, deduplicate, authorize, or validate records. In particular, service-binding RRset validation remains the inner resolver’s responsibility; a consumer requiring a complete RRset must reject it on a limit error.
Implementations§
§impl<R> BoundedDnsResolver<R>
impl<R> BoundedDnsResolver<R>
pub const fn unbounded(inner: R) -> BoundedDnsResolver<R>
pub const fn unbounded(inner: R) -> BoundedDnsResolver<R>
Start without result-count limits. Bound selected types or categories with the builder methods.
pub const fn bounded(
inner: R,
max_answers: NonZero<usize>,
) -> BoundedDnsResolver<R>
pub const fn bounded( inner: R, max_answers: NonZero<usize>, ) -> BoundedDnsResolver<R>
Start with the same positive raw-result limit for every type. Override or remove individual/category limits with the builder methods.
pub fn maybe_with_limit(
self,
limit: Option<NonZero<usize>>,
) -> BoundedDnsResolver<R>
pub fn maybe_with_limit( self, limit: Option<NonZero<usize>>, ) -> BoundedDnsResolver<R>
Set all per-type limits together. None makes every type unbounded.
Later individual or category settings replace the affected limits.
pub fn maybe_set_limit(
&mut self,
limit: Option<NonZero<usize>>,
) -> &mut BoundedDnsResolver<R>
pub fn maybe_set_limit( &mut self, limit: Option<NonZero<usize>>, ) -> &mut BoundedDnsResolver<R>
Set all per-type limits together. None makes every type unbounded.
Later individual or category settings replace the affected limits.
pub fn with_limit(self, limit: NonZero<usize>) -> BoundedDnsResolver<R>
pub fn with_limit(self, limit: NonZero<usize>) -> BoundedDnsResolver<R>
Set all per-type limits together. None makes every type unbounded.
Later individual or category settings replace the affected limits.
pub fn set_limit(&mut self, limit: NonZero<usize>) -> &mut BoundedDnsResolver<R>
pub fn set_limit(&mut self, limit: NonZero<usize>) -> &mut BoundedDnsResolver<R>
Set all per-type limits together. None makes every type unbounded.
Later individual or category settings replace the affected limits.
pub fn without_limit(self) -> BoundedDnsResolver<R>
pub fn without_limit(self) -> BoundedDnsResolver<R>
Set all per-type limits together. None makes every type unbounded.
Later individual or category settings replace the affected limits.
pub fn unset_limit(&mut self) -> &mut BoundedDnsResolver<R>
pub fn unset_limit(&mut self) -> &mut BoundedDnsResolver<R>
Set all per-type limits together. None makes every type unbounded.
Later individual or category settings replace the affected limits.
pub fn maybe_with_ipv4_limit(
self,
limit: Option<NonZero<usize>>,
) -> BoundedDnsResolver<R>
pub fn maybe_with_ipv4_limit( self, limit: Option<NonZero<usize>>, ) -> BoundedDnsResolver<R>
Maximum raw results from each A lookup; None leaves it unbounded.
pub fn maybe_set_ipv4_limit(
&mut self,
limit: Option<NonZero<usize>>,
) -> &mut BoundedDnsResolver<R>
pub fn maybe_set_ipv4_limit( &mut self, limit: Option<NonZero<usize>>, ) -> &mut BoundedDnsResolver<R>
Maximum raw results from each A lookup; None leaves it unbounded.
pub fn with_ipv4_limit(self, limit: NonZero<usize>) -> BoundedDnsResolver<R>
pub fn with_ipv4_limit(self, limit: NonZero<usize>) -> BoundedDnsResolver<R>
Maximum raw results from each A lookup; None leaves it unbounded.
pub fn set_ipv4_limit(
&mut self,
limit: NonZero<usize>,
) -> &mut BoundedDnsResolver<R>
pub fn set_ipv4_limit( &mut self, limit: NonZero<usize>, ) -> &mut BoundedDnsResolver<R>
Maximum raw results from each A lookup; None leaves it unbounded.
pub fn without_ipv4_limit(self) -> BoundedDnsResolver<R>
pub fn without_ipv4_limit(self) -> BoundedDnsResolver<R>
Maximum raw results from each A lookup; None leaves it unbounded.
pub fn unset_ipv4_limit(&mut self) -> &mut BoundedDnsResolver<R>
pub fn unset_ipv4_limit(&mut self) -> &mut BoundedDnsResolver<R>
Maximum raw results from each A lookup; None leaves it unbounded.
pub fn maybe_with_ipv6_limit(
self,
limit: Option<NonZero<usize>>,
) -> BoundedDnsResolver<R>
pub fn maybe_with_ipv6_limit( self, limit: Option<NonZero<usize>>, ) -> BoundedDnsResolver<R>
Maximum raw results from each AAAA lookup; None leaves it unbounded.
pub fn maybe_set_ipv6_limit(
&mut self,
limit: Option<NonZero<usize>>,
) -> &mut BoundedDnsResolver<R>
pub fn maybe_set_ipv6_limit( &mut self, limit: Option<NonZero<usize>>, ) -> &mut BoundedDnsResolver<R>
Maximum raw results from each AAAA lookup; None leaves it unbounded.
pub fn with_ipv6_limit(self, limit: NonZero<usize>) -> BoundedDnsResolver<R>
pub fn with_ipv6_limit(self, limit: NonZero<usize>) -> BoundedDnsResolver<R>
Maximum raw results from each AAAA lookup; None leaves it unbounded.
pub fn set_ipv6_limit(
&mut self,
limit: NonZero<usize>,
) -> &mut BoundedDnsResolver<R>
pub fn set_ipv6_limit( &mut self, limit: NonZero<usize>, ) -> &mut BoundedDnsResolver<R>
Maximum raw results from each AAAA lookup; None leaves it unbounded.
pub fn without_ipv6_limit(self) -> BoundedDnsResolver<R>
pub fn without_ipv6_limit(self) -> BoundedDnsResolver<R>
Maximum raw results from each AAAA lookup; None leaves it unbounded.
pub fn unset_ipv6_limit(&mut self) -> &mut BoundedDnsResolver<R>
pub fn unset_ipv6_limit(&mut self) -> &mut BoundedDnsResolver<R>
Maximum raw results from each AAAA lookup; None leaves it unbounded.
pub fn maybe_with_cname_limit(
self,
limit: Option<NonZero<usize>>,
) -> BoundedDnsResolver<R>
pub fn maybe_with_cname_limit( self, limit: Option<NonZero<usize>>, ) -> BoundedDnsResolver<R>
Maximum raw results from each CNAME lookup; None leaves it unbounded.
pub fn maybe_set_cname_limit(
&mut self,
limit: Option<NonZero<usize>>,
) -> &mut BoundedDnsResolver<R>
pub fn maybe_set_cname_limit( &mut self, limit: Option<NonZero<usize>>, ) -> &mut BoundedDnsResolver<R>
Maximum raw results from each CNAME lookup; None leaves it unbounded.
pub fn with_cname_limit(self, limit: NonZero<usize>) -> BoundedDnsResolver<R>
pub fn with_cname_limit(self, limit: NonZero<usize>) -> BoundedDnsResolver<R>
Maximum raw results from each CNAME lookup; None leaves it unbounded.
pub fn set_cname_limit(
&mut self,
limit: NonZero<usize>,
) -> &mut BoundedDnsResolver<R>
pub fn set_cname_limit( &mut self, limit: NonZero<usize>, ) -> &mut BoundedDnsResolver<R>
Maximum raw results from each CNAME lookup; None leaves it unbounded.
pub fn without_cname_limit(self) -> BoundedDnsResolver<R>
pub fn without_cname_limit(self) -> BoundedDnsResolver<R>
Maximum raw results from each CNAME lookup; None leaves it unbounded.
pub fn unset_cname_limit(&mut self) -> &mut BoundedDnsResolver<R>
pub fn unset_cname_limit(&mut self) -> &mut BoundedDnsResolver<R>
Maximum raw results from each CNAME lookup; None leaves it unbounded.
pub fn maybe_with_txt_limit(
self,
limit: Option<NonZero<usize>>,
) -> BoundedDnsResolver<R>
pub fn maybe_with_txt_limit( self, limit: Option<NonZero<usize>>, ) -> BoundedDnsResolver<R>
Maximum raw results from each TXT lookup; None leaves it unbounded.
pub fn maybe_set_txt_limit(
&mut self,
limit: Option<NonZero<usize>>,
) -> &mut BoundedDnsResolver<R>
pub fn maybe_set_txt_limit( &mut self, limit: Option<NonZero<usize>>, ) -> &mut BoundedDnsResolver<R>
Maximum raw results from each TXT lookup; None leaves it unbounded.
pub fn with_txt_limit(self, limit: NonZero<usize>) -> BoundedDnsResolver<R>
pub fn with_txt_limit(self, limit: NonZero<usize>) -> BoundedDnsResolver<R>
Maximum raw results from each TXT lookup; None leaves it unbounded.
pub fn set_txt_limit(
&mut self,
limit: NonZero<usize>,
) -> &mut BoundedDnsResolver<R>
pub fn set_txt_limit( &mut self, limit: NonZero<usize>, ) -> &mut BoundedDnsResolver<R>
Maximum raw results from each TXT lookup; None leaves it unbounded.
pub fn without_txt_limit(self) -> BoundedDnsResolver<R>
pub fn without_txt_limit(self) -> BoundedDnsResolver<R>
Maximum raw results from each TXT lookup; None leaves it unbounded.
pub fn unset_txt_limit(&mut self) -> &mut BoundedDnsResolver<R>
pub fn unset_txt_limit(&mut self) -> &mut BoundedDnsResolver<R>
Maximum raw results from each TXT lookup; None leaves it unbounded.
pub fn maybe_with_svcb_limit(
self,
limit: Option<NonZero<usize>>,
) -> BoundedDnsResolver<R>
pub fn maybe_with_svcb_limit( self, limit: Option<NonZero<usize>>, ) -> BoundedDnsResolver<R>
Maximum raw results from each SVCB lookup; None leaves it unbounded.
pub fn maybe_set_svcb_limit(
&mut self,
limit: Option<NonZero<usize>>,
) -> &mut BoundedDnsResolver<R>
pub fn maybe_set_svcb_limit( &mut self, limit: Option<NonZero<usize>>, ) -> &mut BoundedDnsResolver<R>
Maximum raw results from each SVCB lookup; None leaves it unbounded.
pub fn with_svcb_limit(self, limit: NonZero<usize>) -> BoundedDnsResolver<R>
pub fn with_svcb_limit(self, limit: NonZero<usize>) -> BoundedDnsResolver<R>
Maximum raw results from each SVCB lookup; None leaves it unbounded.
pub fn set_svcb_limit(
&mut self,
limit: NonZero<usize>,
) -> &mut BoundedDnsResolver<R>
pub fn set_svcb_limit( &mut self, limit: NonZero<usize>, ) -> &mut BoundedDnsResolver<R>
Maximum raw results from each SVCB lookup; None leaves it unbounded.
pub fn without_svcb_limit(self) -> BoundedDnsResolver<R>
pub fn without_svcb_limit(self) -> BoundedDnsResolver<R>
Maximum raw results from each SVCB lookup; None leaves it unbounded.
pub fn unset_svcb_limit(&mut self) -> &mut BoundedDnsResolver<R>
pub fn unset_svcb_limit(&mut self) -> &mut BoundedDnsResolver<R>
Maximum raw results from each SVCB lookup; None leaves it unbounded.
pub fn maybe_with_https_limit(
self,
limit: Option<NonZero<usize>>,
) -> BoundedDnsResolver<R>
pub fn maybe_with_https_limit( self, limit: Option<NonZero<usize>>, ) -> BoundedDnsResolver<R>
Maximum raw results from each HTTPS lookup; None leaves it unbounded.
pub fn maybe_set_https_limit(
&mut self,
limit: Option<NonZero<usize>>,
) -> &mut BoundedDnsResolver<R>
pub fn maybe_set_https_limit( &mut self, limit: Option<NonZero<usize>>, ) -> &mut BoundedDnsResolver<R>
Maximum raw results from each HTTPS lookup; None leaves it unbounded.
pub fn with_https_limit(self, limit: NonZero<usize>) -> BoundedDnsResolver<R>
pub fn with_https_limit(self, limit: NonZero<usize>) -> BoundedDnsResolver<R>
Maximum raw results from each HTTPS lookup; None leaves it unbounded.
pub fn set_https_limit(
&mut self,
limit: NonZero<usize>,
) -> &mut BoundedDnsResolver<R>
pub fn set_https_limit( &mut self, limit: NonZero<usize>, ) -> &mut BoundedDnsResolver<R>
Maximum raw results from each HTTPS lookup; None leaves it unbounded.
pub fn without_https_limit(self) -> BoundedDnsResolver<R>
pub fn without_https_limit(self) -> BoundedDnsResolver<R>
Maximum raw results from each HTTPS lookup; None leaves it unbounded.
pub fn unset_https_limit(&mut self) -> &mut BoundedDnsResolver<R>
pub fn unset_https_limit(&mut self) -> &mut BoundedDnsResolver<R>
Maximum raw results from each HTTPS lookup; None leaves it unbounded.
pub fn maybe_with_ip_limit(
self,
limit: Option<NonZero<usize>>,
) -> BoundedDnsResolver<R>
pub fn maybe_with_ip_limit( self, limit: Option<NonZero<usize>>, ) -> BoundedDnsResolver<R>
Set the A and AAAA limits together; each lookup retains its own allowance.
None removes both limits; later settings replace the affected limits.
pub fn maybe_set_ip_limit(
&mut self,
limit: Option<NonZero<usize>>,
) -> &mut BoundedDnsResolver<R>
pub fn maybe_set_ip_limit( &mut self, limit: Option<NonZero<usize>>, ) -> &mut BoundedDnsResolver<R>
Set the A and AAAA limits together; each lookup retains its own allowance.
None removes both limits; later settings replace the affected limits.
pub fn with_ip_limit(self, limit: NonZero<usize>) -> BoundedDnsResolver<R>
pub fn with_ip_limit(self, limit: NonZero<usize>) -> BoundedDnsResolver<R>
Set the A and AAAA limits together; each lookup retains its own allowance.
None removes both limits; later settings replace the affected limits.
pub fn set_ip_limit(
&mut self,
limit: NonZero<usize>,
) -> &mut BoundedDnsResolver<R>
pub fn set_ip_limit( &mut self, limit: NonZero<usize>, ) -> &mut BoundedDnsResolver<R>
Set the A and AAAA limits together; each lookup retains its own allowance.
None removes both limits; later settings replace the affected limits.
pub fn without_ip_limit(self) -> BoundedDnsResolver<R>
pub fn without_ip_limit(self) -> BoundedDnsResolver<R>
Set the A and AAAA limits together; each lookup retains its own allowance.
None removes both limits; later settings replace the affected limits.
pub fn unset_ip_limit(&mut self) -> &mut BoundedDnsResolver<R>
pub fn unset_ip_limit(&mut self) -> &mut BoundedDnsResolver<R>
Set the A and AAAA limits together; each lookup retains its own allowance.
None removes both limits; later settings replace the affected limits.
pub fn maybe_with_service_binding_limit(
self,
limit: Option<NonZero<usize>>,
) -> BoundedDnsResolver<R>
pub fn maybe_with_service_binding_limit( self, limit: Option<NonZero<usize>>, ) -> BoundedDnsResolver<R>
Set the SVCB and HTTPS limits together; each lookup retains its own allowance.
None removes both limits; later settings replace the affected limits.
pub fn maybe_set_service_binding_limit(
&mut self,
limit: Option<NonZero<usize>>,
) -> &mut BoundedDnsResolver<R>
pub fn maybe_set_service_binding_limit( &mut self, limit: Option<NonZero<usize>>, ) -> &mut BoundedDnsResolver<R>
Set the SVCB and HTTPS limits together; each lookup retains its own allowance.
None removes both limits; later settings replace the affected limits.
pub fn with_service_binding_limit(
self,
limit: NonZero<usize>,
) -> BoundedDnsResolver<R>
pub fn with_service_binding_limit( self, limit: NonZero<usize>, ) -> BoundedDnsResolver<R>
Set the SVCB and HTTPS limits together; each lookup retains its own allowance.
None removes both limits; later settings replace the affected limits.
pub fn set_service_binding_limit(
&mut self,
limit: NonZero<usize>,
) -> &mut BoundedDnsResolver<R>
pub fn set_service_binding_limit( &mut self, limit: NonZero<usize>, ) -> &mut BoundedDnsResolver<R>
Set the SVCB and HTTPS limits together; each lookup retains its own allowance.
None removes both limits; later settings replace the affected limits.
pub fn without_service_binding_limit(self) -> BoundedDnsResolver<R>
pub fn without_service_binding_limit(self) -> BoundedDnsResolver<R>
Set the SVCB and HTTPS limits together; each lookup retains its own allowance.
None removes both limits; later settings replace the affected limits.
pub fn unset_service_binding_limit(&mut self) -> &mut BoundedDnsResolver<R>
pub fn unset_service_binding_limit(&mut self) -> &mut BoundedDnsResolver<R>
Set the SVCB and HTTPS limits together; each lookup retains its own allowance.
None removes both limits; later settings replace the affected limits.
Trait Implementations§
§impl<R> Clone for BoundedDnsResolver<R>where
R: Clone,
impl<R> Clone for BoundedDnsResolver<R>where
R: Clone,
§fn clone(&self) -> BoundedDnsResolver<R>
fn clone(&self) -> BoundedDnsResolver<R>
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more§impl<R> Debug for BoundedDnsResolver<R>where
R: Debug,
impl<R> Debug for BoundedDnsResolver<R>where
R: Debug,
§impl<R> DnsAddressResolver for BoundedDnsResolver<R>where
R: DnsAddressResolver,
impl<R> DnsAddressResolver for BoundedDnsResolver<R>where
R: DnsAddressResolver,
§fn lookup_ipv4(
&self,
domain: Domain,
) -> impl Stream<Item = Result<Ipv4Addr, <BoundedDnsResolver<R> as DnsAddressResolver>::Error>> + Send
fn lookup_ipv4( &self, domain: Domain, ) -> impl Stream<Item = Result<Ipv4Addr, <BoundedDnsResolver<R> as DnsAddressResolver>::Error>> + Send
§fn lookup_ipv6(
&self,
domain: Domain,
) -> impl Stream<Item = Result<Ipv6Addr, <BoundedDnsResolver<R> as DnsAddressResolver>::Error>> + Send
fn lookup_ipv6( &self, domain: Domain, ) -> impl Stream<Item = Result<Ipv6Addr, <BoundedDnsResolver<R> 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
§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
§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
§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
§fn into_box_dns_address_resolver(self) -> BoxDnsAddressResolver
fn into_box_dns_address_resolver(self) -> BoxDnsAddressResolver
§impl<R> DnsCnameResolver for BoundedDnsResolver<R>where
R: DnsCnameResolver,
impl<R> DnsCnameResolver for BoundedDnsResolver<R>where
R: DnsCnameResolver,
§fn lookup_cname(
&self,
domain: Domain,
) -> impl Stream<Item = Result<Name, <BoundedDnsResolver<R> as DnsCnameResolver>::Error>> + Send
fn lookup_cname( &self, domain: Domain, ) -> impl Stream<Item = Result<Name, <BoundedDnsResolver<R> as DnsCnameResolver>::Error>> + Send
§fn into_box_dns_cname_resolver(self) -> BoxDnsCnameResolver
fn into_box_dns_cname_resolver(self) -> BoxDnsCnameResolver
§impl<R> DnsResolver for BoundedDnsResolver<R>where
R: DnsResolver,
impl<R> DnsResolver for BoundedDnsResolver<R>where
R: DnsResolver,
§fn into_box_dns_resolver(self) -> BoxDnsResolverwhere
Self: Sized,
fn into_box_dns_resolver(self) -> BoxDnsResolverwhere
Self: Sized,
§impl<R> DnsServiceBindingResolver for BoundedDnsResolver<R>where
R: DnsServiceBindingResolver,
impl<R> DnsServiceBindingResolver for BoundedDnsResolver<R>where
R: DnsServiceBindingResolver,
§fn lookup_svcb(
&self,
domain: Domain,
) -> impl Stream<Item = Result<ServiceBinding, <BoundedDnsResolver<R> as DnsServiceBindingResolver>::Error>> + Send
fn lookup_svcb( &self, domain: Domain, ) -> impl Stream<Item = Result<ServiceBinding, <BoundedDnsResolver<R> as DnsServiceBindingResolver>::Error>> + Send
§fn lookup_https(
&self,
domain: Domain,
) -> impl Stream<Item = Result<ServiceBinding, <BoundedDnsResolver<R> as DnsServiceBindingResolver>::Error>> + Send
fn lookup_https( &self, domain: Domain, ) -> impl Stream<Item = Result<ServiceBinding, <BoundedDnsResolver<R> as DnsServiceBindingResolver>::Error>> + Send
§fn into_box_dns_service_binding_resolver(self) -> BoxDnsServiceBindingResolver
fn into_box_dns_service_binding_resolver(self) -> BoxDnsServiceBindingResolver
§impl<R> DnsTxtResolver for BoundedDnsResolver<R>where
R: DnsTxtResolver,
impl<R> DnsTxtResolver for BoundedDnsResolver<R>where
R: DnsTxtResolver,
§fn lookup_txt(
&self,
domain: Domain,
) -> impl Stream<Item = Result<Txt, <BoundedDnsResolver<R> as DnsTxtResolver>::Error>> + Send
fn lookup_txt( &self, domain: Domain, ) -> impl Stream<Item = Result<Txt, <BoundedDnsResolver<R> as DnsTxtResolver>::Error>> + Send
§fn into_box_dns_txt_resolver(self) -> BoxDnsTxtResolver
fn into_box_dns_txt_resolver(self) -> BoxDnsTxtResolver
Auto Trait Implementations§
impl<R> Freeze for BoundedDnsResolver<R>where
R: Freeze,
impl<R> RefUnwindSafe for BoundedDnsResolver<R>where
R: RefUnwindSafe,
impl<R> Send for BoundedDnsResolver<R>where
R: Send,
impl<R> Sync for BoundedDnsResolver<R>where
R: Sync,
impl<R> Unpin for BoundedDnsResolver<R>where
R: Unpin,
impl<R> UnsafeUnpin for BoundedDnsResolver<R>where
R: UnsafeUnpin,
impl<R> UnwindSafe for BoundedDnsResolver<R>where
R: UnwindSafe,
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
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>
§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> ⓘ
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> ⓘ
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>
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>
Policy that returns Action::Follow only if self and other return
Action::Follow. Read more