Enum trust_dns_proto::rr::rdata::opt::EdnsOption
source · #[non_exhaustive]pub enum EdnsOption {
DAU(SupportedAlgorithms),
DHU(SupportedAlgorithms),
N3U(SupportedAlgorithms),
Subnet(ClientSubnet),
Unknown(u16, Vec<u8>),
}
Expand description
options used to pass information about capabilities between client and server
note: Not all EdnsOptions are supported at this time.
http://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml#dns-parameters-13
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
DAU(SupportedAlgorithms)
Available on crate feature
dnssec
only.DHU(SupportedAlgorithms)
Available on crate feature
dnssec
only.N3U(SupportedAlgorithms)
Available on crate feature
dnssec
only.Subnet(ClientSubnet)
Unknown(u16, Vec<u8>)
Unknown, used to deal with unknown or unsupported codes
Implementations§
Trait Implementations§
source§impl BinEncodable for EdnsOption
impl BinEncodable for EdnsOption
source§fn emit(&self, encoder: &mut BinEncoder<'_>) -> ProtoResult<()>
fn emit(&self, encoder: &mut BinEncoder<'_>) -> ProtoResult<()>
Write the type to the stream
source§impl Clone for EdnsOption
impl Clone for EdnsOption
source§fn clone(&self) -> EdnsOption
fn clone(&self) -> EdnsOption
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 EdnsOption
impl Debug for EdnsOption
source§impl<'de> Deserialize<'de> for EdnsOption
impl<'de> Deserialize<'de> for EdnsOption
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<'a> From<&'a EdnsOption> for EdnsCode
impl<'a> From<&'a EdnsOption> for EdnsCode
source§fn from(value: &'a EdnsOption) -> Self
fn from(value: &'a EdnsOption) -> Self
Converts to this type from the input type.
source§impl Hash for EdnsOption
impl Hash for EdnsOption
source§impl PartialEq for EdnsOption
impl PartialEq for EdnsOption
source§fn eq(&self, other: &EdnsOption) -> bool
fn eq(&self, other: &EdnsOption) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.source§impl PartialOrd for EdnsOption
impl PartialOrd for EdnsOption
source§fn partial_cmp(&self, other: &EdnsOption) -> Option<Ordering>
fn partial_cmp(&self, other: &EdnsOption) -> Option<Ordering>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for
self
and other
) and is used by the <=
operator. Read moresource§impl Serialize for EdnsOption
impl Serialize for EdnsOption
source§impl<'a> TryFrom<&'a EdnsOption> for Vec<u8>
impl<'a> TryFrom<&'a EdnsOption> for Vec<u8>
§type Error = ProtoError
type Error = ProtoError
The type returned in the event of a conversion error.
source§impl<'a> TryFrom<(EdnsCode, &'a [u8])> for EdnsOption
impl<'a> TryFrom<(EdnsCode, &'a [u8])> for EdnsOption
only the supported extensions are listed right now.
impl Eq for EdnsOption
impl StructuralEq for EdnsOption
impl StructuralPartialEq for EdnsOption
Auto Trait Implementations§
impl RefUnwindSafe for EdnsOption
impl Send for EdnsOption
impl Sync for EdnsOption
impl Unpin for EdnsOption
impl UnwindSafe for EdnsOption
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
§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
§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<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.