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 Binding (SVCB) Parameter Registry" shall initially be
populated with the registrations below:
+=============+=================+======================+===========+
| Number | Name | Meaning | Reference |
+=============+=================+======================+===========+
| 0 | mandatory | Mandatory keys in | (This |
| | | this RR | document) |
+-------------+-----------------+----------------------+-----------+
| 1 | alpn | Additional supported | (This |
| | | protocols | document) |
+-------------+-----------------+----------------------+-----------+
| 2 | no-default-alpn | No support for | (This |
| | | default protocol | document) |
+-------------+-----------------+----------------------+-----------+
| 3 | port | Port for alternative | (This |
| | | endpoint | document) |
+-------------+-----------------+----------------------+-----------+
| 4 | ipv4hint | IPv4 address hints | (This |
| | | | document) |
+-------------+-----------------+----------------------+-----------+
| 5 | ech | RESERVED (held for | N/A |
| | | ECH) | |
+-------------+-----------------+----------------------+-----------+
| 6 | ipv6hint | IPv6 address hints | (This |
| | | | document) |
+-------------+-----------------+----------------------+-----------+
| 65280-65534 | N/A | Private Use | (This |
| | | | document) |
+-------------+-----------------+----------------------+-----------+
| 65535 | N/A | Reserved ("Invalid | (This |
| | | key") | document) |
+-------------+-----------------+----------------------+-----------+
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§
Source§impl<'r> BinDecodable<'r> for SvcParamKey
impl<'r> BinDecodable<'r> for SvcParamKey
Source§fn read(decoder: &mut BinDecoder<'r>) -> Result<Self, ProtoError>
fn read(decoder: &mut BinDecoder<'r>) -> Result<Self, ProtoError>
Read the type from the stream
Source§fn from_bytes(bytes: &'r [u8]) -> Result<Self, ProtoError>
fn from_bytes(bytes: &'r [u8]) -> Result<Self, ProtoError>
Returns the object in binary form
Source§impl BinEncodable for SvcParamKey
impl BinEncodable for SvcParamKey
Source§fn emit(&self, encoder: &mut BinEncoder<'_>) -> Result<(), ProtoError>
fn emit(&self, encoder: &mut BinEncoder<'_>) -> Result<(), ProtoError>
Write the type to the stream
Source§impl Clone for SvcParamKey
impl Clone for SvcParamKey
Source§fn clone(&self) -> SvcParamKey
fn clone(&self) -> SvcParamKey
Returns a copy 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 moreSource§impl Debug for SvcParamKey
impl Debug for SvcParamKey
Source§impl<'de> Deserialize<'de> for SvcParamKey
impl<'de> Deserialize<'de> for SvcParamKey
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>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Display for SvcParamKey
impl Display for SvcParamKey
Source§impl From<SvcParamKey> for u16
impl From<SvcParamKey> for u16
Source§fn from(val: SvcParamKey) -> Self
fn from(val: SvcParamKey) -> Self
Converts to this type from the input type.
Source§impl From<u16> for SvcParamKey
impl From<u16> for SvcParamKey
Source§impl FromStr for SvcParamKey
impl FromStr for SvcParamKey
Source§impl Hash for SvcParamKey
impl Hash for SvcParamKey
Source§impl Ord for SvcParamKey
impl Ord for SvcParamKey
Source§impl PartialEq for SvcParamKey
impl PartialEq for SvcParamKey
Source§impl PartialOrd for SvcParamKey
impl PartialOrd for SvcParamKey
Source§impl Serialize for SvcParamKey
impl Serialize 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§
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,
Source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
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
Compare self to
key
and return true
if they are equal.