pub struct SocketAddress {
pub protocol: i32,
pub address: String,
pub resolver_name: String,
pub ipv4_compat: bool,
pub port_specifier: Option<PortSpecifier>,
}
Expand description
[#next-free-field: 7]
Fields§
§protocol: i32
§address: String
The address for this socket. :ref:Listeners <config_listeners>
will bind
to the address. An empty address is not allowed. Specify 0.0.0.0
or ::
to bind to any address. [#comment:TODO(zuercher) reinstate when implemented:
It is possible to distinguish a Listener address via the prefix/suffix matching
in :ref:FilterChainMatch <envoy_v3_api_msg_config.listener.v3.FilterChainMatch>
.] When used
within an upstream :ref:BindConfig <envoy_v3_api_msg_config.core.v3.BindConfig>
, the address
controls the source address of outbound connections. For :ref:clusters <envoy_v3_api_msg_config.cluster.v3.Cluster>
, the cluster type determines whether the
address must be an IP (STATIC
or EDS
clusters) or a hostname resolved by DNS
(STRICT_DNS
or LOGICAL_DNS
clusters). Address resolution can be customized
via :ref:resolver_name <envoy_v3_api_field_config.core.v3.SocketAddress.resolver_name>
.
resolver_name: String
The name of the custom resolver. This must have been registered with Envoy. If
this is empty, a context dependent default applies. If the address is a concrete
IP address, no resolution will occur. If address is a hostname this
should be set for resolution other than DNS. Specifying a custom resolver with
STRICT_DNS
or LOGICAL_DNS
will generate an error at runtime.
ipv4_compat: bool
When binding to an IPv6 address above, this enables IPv4 compatibility <<https://tools.ietf.org/html/rfc3493#page-11>
_.> Binding to ::
will
allow both IPv4 and IPv6 connections, with peer IPv4 addresses mapped into
IPv6 space as ::FFFF:<IPv4-address>
.
port_specifier: Option<PortSpecifier>
Implementations§
Source§impl SocketAddress
impl SocketAddress
Trait Implementations§
Source§impl Clone for SocketAddress
impl Clone for SocketAddress
Source§fn clone(&self) -> SocketAddress
fn clone(&self) -> SocketAddress
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for SocketAddress
impl Debug for SocketAddress
Source§impl Default for SocketAddress
impl Default for SocketAddress
Source§impl Message for SocketAddress
impl Message for SocketAddress
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
. Read moreSource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
.Source§impl Name for SocketAddress
impl Name for SocketAddress
Source§const NAME: &'static str = "SocketAddress"
const NAME: &'static str = "SocketAddress"
Message
.
This name is the same as it appears in the source .proto file, e.g. FooBar
.Source§const PACKAGE: &'static str = "envoy.config.core.v3"
const PACKAGE: &'static str = "envoy.config.core.v3"
.
, e.g. google.protobuf
.Source§fn full_name() -> String
fn full_name() -> String
Message
.
It’s prefixed with the package name and names of any parent messages,
e.g. google.rpc.BadRequest.FieldViolation
.
By default, this is the package name followed by the message name.
Fully-qualified names must be unique within a domain of Type URLs.Source§impl PartialEq for SocketAddress
impl PartialEq for SocketAddress
impl StructuralPartialEq for SocketAddress
Auto Trait Implementations§
impl Freeze for SocketAddress
impl RefUnwindSafe for SocketAddress
impl Send for SocketAddress
impl Sync for SocketAddress
impl Unpin for SocketAddress
impl UnwindSafe for SocketAddress
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
T
in a tonic::Request