Struct diem_types::network_address::DnsName
source · pub struct DnsName(_);
Expand description
A minimally parsed DNS name. We don’t really do any checking other than enforcing:
- it is not an empty string
- it is not larger than 255 bytes
- it does not contain any forward slash ‘/’ characters
From the DNS name syntax RFC, the standard rules are:
- the total size <= 255 bytes
- each label <= 63 bytes
- any binary string is valid
So the restrictions we’re adding are (1) no ‘/’ characters and (2) the name
is a valid unicode string. We do this because ‘/’ characters are already our
protocol delimiter and Rust’s std::net::ToSocketAddrs
API requires a
&str
.
Trait Implementations§
source§impl Arbitrary for DnsName
impl Arbitrary for DnsName
§type Parameters = ()
type Parameters = ()
The type of parameters that
arbitrary_with
accepts for configuration
of the generated Strategy
. Parameters must implement Default
.source§fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy
fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy
source§impl<'de> Deserialize<'de> for DnsName
impl<'de> Deserialize<'de> for DnsName
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 PartialEq<DnsName> for DnsName
impl PartialEq<DnsName> for DnsName
impl Eq for DnsName
impl StructuralEq for DnsName
impl StructuralPartialEq for DnsName
Auto Trait Implementations§
impl RefUnwindSafe for DnsName
impl Send for DnsName
impl Sync for DnsName
impl Unpin for DnsName
impl UnwindSafe for DnsName
Blanket Implementations§
source§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,
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.source§impl<T> TestOnlyHash for Twhere
T: Serialize + ?Sized,
impl<T> TestOnlyHash for Twhere T: Serialize + ?Sized,
source§fn test_only_hash(&self) -> HashValue
fn test_only_hash(&self) -> HashValue
Generates a hash used only for tests.