pub enum Ingress {
Socket(SocketAddr),
Dns {
host: Hostname,
port: u16,
},
}Expand description
What we dial to connect to a peer.
Variants§
Implementations§
Source§impl Ingress
impl Ingress
Sourcepub fn is_valid(&self, allow_private_ips: bool, allow_dns: bool) -> bool
pub fn is_valid(&self, allow_private_ips: bool, allow_dns: bool) -> bool
Returns whether this ingress address is allowed given the configuration.
Socketaddresses must have a global IP (orallow_private_ipsmust be true).Dnsaddresses are allowed only ifallow_dnsistrue.
Note: For Dns addresses, private IP checks are performed after resolution in
resolve_filtered.
Sourcepub async fn resolve(
&self,
resolver: &impl Resolver,
) -> Result<impl Iterator<Item = SocketAddr>, RuntimeError>
pub async fn resolve( &self, resolver: &impl Resolver, ) -> Result<impl Iterator<Item = SocketAddr>, RuntimeError>
Resolve this ingress address to socket addresses.
For Socket variants, returns a single-element iterator.
For Dns variants, performs DNS resolution and returns all resolved addresses.
Sourcepub async fn resolve_filtered(
&self,
resolver: &impl Resolver,
allow_private_ips: bool,
) -> Option<impl Iterator<Item = SocketAddr>>
pub async fn resolve_filtered( &self, resolver: &impl Resolver, allow_private_ips: bool, ) -> Option<impl Iterator<Item = SocketAddr>>
resolve and filter by private IP policy.
Trait Implementations§
Source§impl EncodeSize for Ingress
impl EncodeSize for Ingress
Source§fn encode_size(&self) -> usize
fn encode_size(&self) -> usize
Returns the encoded size of this value (in bytes).
Source§fn encode_inline_size(&self) -> usize
fn encode_inline_size(&self) -> usize
Returns the encoded size excluding bytes passed to
BufsMut::push
during Write::write_bufs. Used to size the working buffer for inline
writes. Override alongside Write::write_bufs for types where large
Bytes fields go via push; failing to do so will over-allocate.impl Eq for Ingress
Source§impl From<SocketAddr> for Ingress
impl From<SocketAddr> for Ingress
Source§fn from(addr: SocketAddr) -> Self
fn from(addr: SocketAddr) -> Self
Converts to this type from the input type.
Source§impl Ord for Ingress
impl Ord for Ingress
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
Source§impl PartialOrd for Ingress
impl PartialOrd for Ingress
Source§impl Read for Ingress
impl Read for Ingress
impl StructuralPartialEq for Ingress
Source§impl Write for Ingress
impl Write for Ingress
Source§fn write_bufs(&self, buf: &mut impl BufsMut)
fn write_bufs(&self, buf: &mut impl BufsMut)
Writes to a
BufsMut, allowing existing Bytes chunks to be
appended via BufsMut::push instead of written inline. Must encode
to the same format as Write::write. Defaults to Write::write.Auto Trait Implementations§
impl Freeze for Ingress
impl RefUnwindSafe for Ingress
impl Send for Ingress
impl Sync for Ingress
impl Unpin for Ingress
impl UnsafeUnpin for Ingress
impl UnwindSafe for Ingress
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> Codec for T
Source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
Source§impl<T> Encode for Twhere
T: Write + EncodeSize,
impl<T> Encode for Twhere
T: Write + EncodeSize,
Source§impl<T> EncodeExt for Twhere
T: EncodeSize + Write,
impl<T> EncodeExt for Twhere
T: EncodeSize + Write,
Source§fn encode_with_pool_mut(&self, pool: &BufferPool) -> IoBufMut
fn encode_with_pool_mut(&self, pool: &BufferPool) -> IoBufMut
Source§fn encode_with_pool(&self, pool: &BufferPool) -> IoBufs
fn encode_with_pool(&self, pool: &BufferPool) -> IoBufs
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
Source§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
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 more