Enum SvcParamKey
pub enum SvcParamKey {
Mandatory,
Alpn,
NoDefaultAlpn,
Port,
Ipv4Hint,
EchConfigList,
Ipv6Hint,
Key(u16),
Key65535,
Unknown(u16),
}
Expand description
RFC 9460 SVCB and HTTPS Resource Records, Nov 2023
14.3.2. Initial Contents
The "Service Parameter Keys (SvcParamKeys)" registry has been
populated with the following initial registrations:
+===========+=================+================+=========+==========+
| Number | Name | Meaning |Reference|Change |
| | | | |Controller|
+===========+=================+================+=========+==========+
| 0 | mandatory | Mandatory |RFC 9460,|IETF |
| | | keys in this |Section 8| |
| | | RR | | |
+-----------+-----------------+----------------+---------+----------+
| 1 | alpn | Additional |RFC 9460,|IETF |
| | | supported |Section | |
| | | protocols |7.1 | |
+-----------+-----------------+----------------+---------+----------+
| 2 | no-default-alpn | No support |RFC 9460,|IETF |
| | | for default |Section | |
| | | protocol |7.1 | |
+-----------+-----------------+----------------+---------+----------+
| 3 | port | Port for |RFC 9460,|IETF |
| | | alternative |Section | |
| | | endpoint |7.2 | |
+-----------+-----------------+----------------+---------+----------+
| 4 | ipv4hint | IPv4 address |RFC 9460,|IETF |
| | | hints |Section | |
| | | |7.3 | |
+-----------+-----------------+----------------+---------+----------+
| 5 | ech | RESERVED |N/A |IETF |
| | | (held for | | |
| | | Encrypted | | |
| | | ClientHello) | | |
+-----------+-----------------+----------------+---------+----------+
| 6 | ipv6hint | IPv6 address |RFC 9460,|IETF |
| | | hints |Section | |
| | | |7.3 | |
+-----------+-----------------+----------------+---------+----------+
|65280-65534| N/A | Reserved for |RFC 9460 |IETF |
| | | Private Use | | |
+-----------+-----------------+----------------+---------+----------+
| 65535 | N/A | Reserved |RFC 9460 |IETF |
| | | ("Invalid | | |
| | | key") | | |
+-----------+-----------------+----------------+---------+----------+
parsing done via:
* a 2 octet field containing the SvcParamKey as an integer in
network byte order. (See Section 14.3.2 for the defined values.)
Variants§
Mandatory
Mandatory keys in this RR
Alpn
Additional supported protocols
NoDefaultAlpn
No support for default protocol
Port
Port for alternative endpoint
Ipv4Hint
IPv4 address hints
EchConfigList
Encrypted Client Hello configuration list
Ipv6Hint
IPv6 address hints
Key(u16)
Private Use
Key65535
Reserved (“Invalid key”)
Unknown(u16)
Unknown
Trait Implementations§
§impl<'r> BinDecodable<'r> for SvcParamKey
impl<'r> BinDecodable<'r> for SvcParamKey
§fn read(decoder: &mut BinDecoder<'r>) -> Result<SvcParamKey, ProtoError>
fn read(decoder: &mut BinDecoder<'r>) -> Result<SvcParamKey, ProtoError>
Read the type from the stream
§fn from_bytes(bytes: &'r [u8]) -> Result<Self, ProtoError>
fn from_bytes(bytes: &'r [u8]) -> Result<Self, ProtoError>
Returns the object in binary form
§impl BinEncodable for SvcParamKey
impl BinEncodable for SvcParamKey
§fn emit(&self, encoder: &mut BinEncoder<'_>) -> Result<(), ProtoError>
fn emit(&self, encoder: &mut BinEncoder<'_>) -> Result<(), ProtoError>
Write the type to the stream
§impl Clone for SvcParamKey
impl Clone for SvcParamKey
§fn clone(&self) -> SvcParamKey
fn clone(&self) -> SvcParamKey
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read more§impl Debug for SvcParamKey
impl Debug for SvcParamKey
§impl Display for SvcParamKey
impl Display for SvcParamKey
§impl From<SvcParamKey> for u16
impl From<SvcParamKey> for u16
§fn from(val: SvcParamKey) -> u16
fn from(val: SvcParamKey) -> u16
Converts to this type from the input type.
§impl From<u16> for SvcParamKey
impl From<u16> for SvcParamKey
§fn from(val: u16) -> SvcParamKey
fn from(val: u16) -> SvcParamKey
Converts to this type from the input type.
§impl FromStr for SvcParamKey
impl FromStr for SvcParamKey
§type Err = ProtoError
type Err = ProtoError
The associated error which can be returned from parsing.
§fn from_str(s: &str) -> Result<SvcParamKey, <SvcParamKey as FromStr>::Err>
fn from_str(s: &str) -> Result<SvcParamKey, <SvcParamKey as FromStr>::Err>
Parses a string
s
to return a value of this type. Read more§impl Hash for SvcParamKey
impl Hash for SvcParamKey
§impl Ord for SvcParamKey
impl Ord for SvcParamKey
§impl PartialEq for SvcParamKey
impl PartialEq for SvcParamKey
§impl PartialOrd for SvcParamKey
impl PartialOrd for SvcParamKey
impl Copy for SvcParamKey
impl Eq for SvcParamKey
impl StructuralPartialEq for SvcParamKey
Auto Trait Implementations§
impl Freeze for SvcParamKey
impl RefUnwindSafe for SvcParamKey
impl Send for SvcParamKey
impl Sync for SvcParamKey
impl Unpin for SvcParamKey
impl UnwindSafe for SvcParamKey
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
§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
Compare self to
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
Checks if this value is equivalent to the given key. Read more
§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> ⓘ
Converts
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> ⓘ
Converts
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>
Create a new
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.