pub struct TcpListenerConfig {
pub address: SocketAddress,
pub public_address: Option<SocketAddress>,
pub expect_proxy: bool,
pub front_timeout: u32,
pub back_timeout: u32,
pub connect_timeout: u32,
pub active: bool,
pub sni_preread_timeout: Option<u32>,
pub sni_preread_max_bytes: Option<u32>,
}Expand description
details of an TCP listener
Fields§
§address: SocketAddress§public_address: Option<SocketAddress>§expect_proxy: bool§front_timeout: u32client inactive time, in seconds
back_timeout: u32backend server inactive time, in seconds
connect_timeout: u32time to connect to the backend, in seconds
active: boolwether the listener is actively listening on its socket
sni_preread_timeout: Option<u32>Time allowed to receive enough bytes of the TLS ClientHello to read the
SNI extension, in seconds. Only meaningful when at least one SNI-scoped
RequestTcpFrontend targets this listener; a listener with only
no-SNI frontends never prereads and ignores this value.
sni_preread_max_bytes: Option<u32>Maximum number of bytes buffered while prereading the TLS ClientHello
looking for the SNI extension. Only meaningful when at least one
SNI-scoped RequestTcpFrontend targets this listener. Clamped by the
global buffer_size: a value greater than buffer_size is a
configuration error at load time (raise buffer_size instead).
Implementations§
Source§impl TcpListenerConfig
impl TcpListenerConfig
Sourcepub fn sni_preread_timeout(&self) -> u32
pub fn sni_preread_timeout(&self) -> u32
Returns the value of sni_preread_timeout, or the default value if sni_preread_timeout is unset.
Sourcepub fn sni_preread_max_bytes(&self) -> u32
pub fn sni_preread_max_bytes(&self) -> u32
Returns the value of sni_preread_max_bytes, or the default value if sni_preread_max_bytes is unset.
Trait Implementations§
Source§impl Clone for TcpListenerConfig
impl Clone for TcpListenerConfig
Source§fn clone(&self) -> TcpListenerConfig
fn clone(&self) -> TcpListenerConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for TcpListenerConfig
Source§impl Debug for TcpListenerConfig
impl Debug for TcpListenerConfig
Source§impl Default for TcpListenerConfig
impl Default for TcpListenerConfig
Source§fn default() -> TcpListenerConfig
fn default() -> TcpListenerConfig
Source§impl<'de> Deserialize<'de> for TcpListenerConfig
impl<'de> Deserialize<'de> for TcpListenerConfig
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<TcpListenerConfig, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<TcpListenerConfig, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
impl Eq for TcpListenerConfig
Source§impl Hash for TcpListenerConfig
impl Hash for TcpListenerConfig
Source§impl Message for TcpListenerConfig
impl Message for TcpListenerConfig
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 Ord for TcpListenerConfig
impl Ord for TcpListenerConfig
Source§fn cmp(&self, other: &TcpListenerConfig) -> Ordering
fn cmp(&self, other: &TcpListenerConfig) -> Ordering
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl PartialEq for TcpListenerConfig
impl PartialEq for TcpListenerConfig
Source§impl PartialOrd for TcpListenerConfig
impl PartialOrd for TcpListenerConfig
Source§impl Serialize for TcpListenerConfig
impl Serialize for TcpListenerConfig
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
impl StructuralPartialEq for TcpListenerConfig
Auto Trait Implementations§
impl Freeze for TcpListenerConfig
impl RefUnwindSafe for TcpListenerConfig
impl Send for TcpListenerConfig
impl Sync for TcpListenerConfig
impl Unpin for TcpListenerConfig
impl UnsafeUnpin for TcpListenerConfig
impl UnwindSafe for TcpListenerConfig
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§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,
Source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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
key and return true if they are equal.