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.