pub struct BindConfig {
pub source_address: Option<SocketAddress>,
pub freebind: Option<BoolValue>,
pub socket_options: Vec<SocketOption>,
pub extra_source_addresses: Vec<ExtraSourceAddress>,
pub additional_source_addresses: Vec<SocketAddress>,
pub local_address_selector: Option<TypedExtensionConfig>,
}
Expand description
[#next-free-field: 7]
Fields§
§source_address: Option<SocketAddress>
The address to bind to when creating a socket.
freebind: Option<BoolValue>
Whether to set the IP_FREEBIND
option when creating the socket. When this
flag is set to true, allows the :ref:source_address <envoy_v3_api_field_config.core.v3.BindConfig.source_address>
to be an IP address
that is not configured on the system running Envoy. When this flag is set
to false, the option IP_FREEBIND
is disabled on the socket. When this
flag is not set (default), the socket is not modified, i.e. the option is
neither enabled nor disabled.
socket_options: Vec<SocketOption>
Additional socket options that may not be present in Envoy source code or precompiled binaries.
extra_source_addresses: Vec<ExtraSourceAddress>
Extra source addresses appended to the address specified in the source_address
field. This enables to specify multiple source addresses.
The source address selection is determined by :ref:local_address_selector <envoy_v3_api_field_config.core.v3.BindConfig.local_address_selector>
.
additional_source_addresses: Vec<SocketAddress>
Deprecated by
:ref:extra_source_addresses <envoy_v3_api_field_config.core.v3.BindConfig.extra_source_addresses>
local_address_selector: Option<TypedExtensionConfig>
Custom local address selector to override the default (i.e.
:ref:DefaultLocalAddressSelector <envoy_v3_api_msg_config.upstream.local_address_selector.v3.DefaultLocalAddressSelector>
).
[#extension-category: envoy.upstream.local_address_selector]
Trait Implementations§
Source§impl Clone for BindConfig
impl Clone for BindConfig
Source§fn clone(&self) -> BindConfig
fn clone(&self) -> BindConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for BindConfig
impl Debug for BindConfig
Source§impl Default for BindConfig
impl Default for BindConfig
Source§impl Message for BindConfig
impl Message for BindConfig
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 BindConfig
impl Name for BindConfig
Source§const NAME: &'static str = "BindConfig"
const NAME: &'static str = "BindConfig"
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 BindConfig
impl PartialEq for BindConfig
impl StructuralPartialEq for BindConfig
Auto Trait Implementations§
impl Freeze for BindConfig
impl RefUnwindSafe for BindConfig
impl Send for BindConfig
impl Sync for BindConfig
impl Unpin for BindConfig
impl UnwindSafe for BindConfig
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