pub struct TargetAddrOutboundIpResolver { /* private fields */ }Expand description
An outbound IP resolver that resolves the local IP address that can be used to reach a target API address.
DNS overrides in host_overrides take precedence over the OS resolver. This allows
the resolver to be used in environments where the OS resolver is not aware of custom
hostname-to-IP mappings (e.g. when ConnectParameters::hosts is set).
Implementations§
Source§impl TargetAddrOutboundIpResolver
impl TargetAddrOutboundIpResolver
Sourcepub fn new(url: Url, host_overrides: Vec<(String, IpAddr)>) -> Self
pub fn new(url: Url, host_overrides: Vec<(String, IpAddr)>) -> Self
Create an outbound IP resolver for the given target url with a set of hostname-to-IP
overrides.
When resolving the outbound IP towards url, entries in host_overrides are checked before
the OS resolver. Pass an empty vec when no overrides are needed.
Trait Implementations§
Source§impl OutboundIpResolver for TargetAddrOutboundIpResolver
impl OutboundIpResolver for TargetAddrOutboundIpResolver
Source§fn outbound_ips<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Vec<IpAddr>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn outbound_ips<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Vec<IpAddr>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Returns the local IP addresses that can reach the target URL.
Resolution order:
host_overridesmap- Literal IP in the URL
- OS DNS resolver
Auto Trait Implementations§
impl Freeze for TargetAddrOutboundIpResolver
impl RefUnwindSafe for TargetAddrOutboundIpResolver
impl Send for TargetAddrOutboundIpResolver
impl Sync for TargetAddrOutboundIpResolver
impl Unpin for TargetAddrOutboundIpResolver
impl UnsafeUnpin for TargetAddrOutboundIpResolver
impl UnwindSafe for TargetAddrOutboundIpResolver
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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> 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 moreSource§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