Struct EchConfigList
#[repr(transparent)]pub struct EchConfigList(pub Vec<u8>);Expand description
2. "SvcParam for ECH configuration"
The "ech" SvcParamKey is defined for conveying the ECH configuration
of an alternative endpoint. It is applicable to all TLS-based protocols
(including DTLS [RFC9147] and QUIC version 1 [RFC9001]) unless
otherwise specified.
In wire format, the value of the parameter is an ECHConfigList (Section 4 of draft-ietf-tls-esni-18),
including the redundant length prefix. In presentation format, the value is the ECHConfigList
in Base 64 Encoding (Section 4 of [RFC4648]). Base 64 is used here to simplify integration
with TLS server software. To enable simpler parsing, this SvcParam MUST NOT contain escape
sequences.Tuple Fields§
§0: Vec<u8>Trait Implementations§
§impl<'r> BinDecodable<'r> for EchConfigList
impl<'r> BinDecodable<'r> for EchConfigList
§fn read(decoder: &mut BinDecoder<'r>) -> Result<EchConfigList, ProtoError>
fn read(decoder: &mut BinDecoder<'r>) -> Result<EchConfigList, ProtoError>
In wire format, the value of the parameter is an ECHConfigList (Section 4 of draft-ietf-tls-esni-18), including the redundant length prefix. In presentation format, the value is the ECHConfigList in Base 64 Encoding (Section 4 of RFC4648). Base 64 is used here to simplify integration with TLS server software. To enable simpler parsing, this SvcParam MUST NOT contain escape sequences.
§fn from_bytes(bytes: &'r [u8]) -> Result<Self, ProtoError>
fn from_bytes(bytes: &'r [u8]) -> Result<Self, ProtoError>
§impl BinEncodable for EchConfigList
impl BinEncodable for EchConfigList
§fn emit(&self, encoder: &mut BinEncoder<'_>) -> Result<(), ProtoError>
fn emit(&self, encoder: &mut BinEncoder<'_>) -> Result<(), ProtoError>
In wire format, the value of the parameter is an ECHConfigList (Section 4 of draft-ietf-tls-esni-18), including the redundant length prefix. In presentation format, the value is the ECHConfigList in Base 64 Encoding (Section 4 of RFC4648). Base 64 is used here to simplify integration with TLS server software. To enable simpler parsing, this SvcParam MUST NOT contain escape sequences.
§impl Clone for EchConfigList
impl Clone for EchConfigList
§fn clone(&self) -> EchConfigList
fn clone(&self) -> EchConfigList
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more§impl Debug for EchConfigList
impl Debug for EchConfigList
§impl Display for EchConfigList
impl Display for EchConfigList
§fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>
fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>
As the documentation states, the presentation format (what this function outputs) must be a BASE64 encoded string. hickory-dns will encode to BASE64 during formatting of the internal data, and output the BASE64 value.
In presentation format, the value is the ECHConfigList in Base 64 Encoding
(Section 4 of [RFC4648]). Base 64 is used here to simplify integration with
TLS server software. To enable simpler parsing, this SvcParam MUST NOT
contain escape sequences.§impl Hash for EchConfigList
impl Hash for EchConfigList
§impl PartialEq for EchConfigList
impl PartialEq for EchConfigList
impl Eq for EchConfigList
impl StructuralPartialEq for EchConfigList
Auto Trait Implementations§
impl Freeze for EchConfigList
impl RefUnwindSafe for EchConfigList
impl Send for EchConfigList
impl Sync for EchConfigList
impl Unpin for EchConfigList
impl UnwindSafe for EchConfigList
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
§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> ⓘ
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> ⓘ
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§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§fn and<P, B, E>(self, other: P) -> And<T, P>
fn and<P, B, E>(self, other: P) -> And<T, P>
Policy that returns Action::Follow only if self and other return
Action::Follow. Read more§impl<T, U> RamaTryFrom<T> for Uwhere
U: TryFrom<T>,
impl<T, U> RamaTryFrom<T> for Uwhere
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
fn rama_try_from(value: T) -> Result<U, <U as RamaTryFrom<T>>::Error>
§impl<T, U, CrateMarker> RamaTryInto<U, CrateMarker> for Twhere
U: RamaTryFrom<T, CrateMarker>,
impl<T, U, CrateMarker> RamaTryInto<U, CrateMarker> for Twhere
U: RamaTryFrom<T, CrateMarker>,
type Error = <U as RamaTryFrom<T, CrateMarker>>::Error
fn rama_try_into(self) -> Result<U, <U as RamaTryFrom<T, CrateMarker>>::Error>
§impl<T> ToSmolStr for T
impl<T> ToSmolStr for T
fn to_smolstr(&self) -> SmolStr
§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.