pub struct RequestTcpFrontend {
pub cluster_id: String,
pub address: SocketAddress,
pub tags: BTreeMap<String, String>,
pub sni: Option<String>,
pub alpn: Vec<String>,
}Fields§
§cluster_id: String§address: SocketAddressthe socket address on which to listen for incoming traffic
custom tags to identify the frontend in the access logs
sni: Option<String>SNI hostname to match against the TLS ClientHello, read via preread on
the listener before any bytes are relayed to a backend. Either an
exact hostname (e.g. “example.com”) or a single leading *. wildcard
label (e.g. “*.example.com”); no other wildcard shape is accepted.
Absent means this frontend matches regardless of SNI (a raw-TCP
fallback), and a listener cannot mix SNI and no-SNI frontends.
alpn: Vec<String>ALPN protocol names this frontend matches, read from the TLS
ClientHello during the same preread as sni. Empty means this
frontend is the catch-all for its sni on this listener; at most one
frontend per (address, sni) may leave this empty, and no two
frontends on the same (address, sni) may share a protocol name.
Implementations§
Trait Implementations§
Source§impl Clone for RequestTcpFrontend
impl Clone for RequestTcpFrontend
Source§fn clone(&self) -> RequestTcpFrontend
fn clone(&self) -> RequestTcpFrontend
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for RequestTcpFrontend
impl Debug for RequestTcpFrontend
Source§impl Default for RequestTcpFrontend
impl Default for RequestTcpFrontend
Source§impl<'de> Deserialize<'de> for RequestTcpFrontend
impl<'de> Deserialize<'de> for RequestTcpFrontend
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for RequestTcpFrontend
Source§impl From<TcpFrontend> for RequestTcpFrontend
impl From<TcpFrontend> for RequestTcpFrontend
Source§fn from(val: TcpFrontend) -> Self
fn from(val: TcpFrontend) -> Self
Source§impl Hash for RequestTcpFrontend
impl Hash for RequestTcpFrontend
Source§impl Message for RequestTcpFrontend
impl Message for RequestTcpFrontend
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 RequestTcpFrontend
impl Ord for RequestTcpFrontend
Source§fn cmp(&self, other: &RequestTcpFrontend) -> Ordering
fn cmp(&self, other: &RequestTcpFrontend) -> 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 RequestTcpFrontend
impl PartialEq for RequestTcpFrontend
Source§impl PartialOrd for RequestTcpFrontend
impl PartialOrd for RequestTcpFrontend
Source§impl Serialize for RequestTcpFrontend
impl Serialize for RequestTcpFrontend
impl StructuralPartialEq for RequestTcpFrontend
Auto Trait Implementations§
impl Freeze for RequestTcpFrontend
impl RefUnwindSafe for RequestTcpFrontend
impl Send for RequestTcpFrontend
impl Sync for RequestTcpFrontend
impl Unpin for RequestTcpFrontend
impl UnsafeUnpin for RequestTcpFrontend
impl UnwindSafe for RequestTcpFrontend
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.