Struct diem_sdk::types::network_address::DnsName
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§
§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
.§fn arbitrary_with(
_args: <DnsName as Arbitrary>::Parameters
) -> <DnsName as Arbitrary>::Strategy
fn arbitrary_with( _args: <DnsName as Arbitrary>::Parameters ) -> <DnsName as Arbitrary>::Strategy
§impl<'de> Deserialize<'de> for DnsName
impl<'de> Deserialize<'de> for DnsName
§fn deserialize<D>(
deserializer: D
) -> Result<DnsName, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
fn deserialize<D>( deserializer: D ) -> Result<DnsName, <D as Deserializer<'de>>::Error>where D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
§impl Serialize for DnsName
impl Serialize for DnsName
§fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where __S: Serializer,
Serialize this value into the given Serde serializer. Read more
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> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> TestOnlyHash for Twhere
T: Serialize + ?Sized,
impl<T> TestOnlyHash for Twhere T: Serialize + ?Sized,
§fn test_only_hash(&self) -> HashValue
fn test_only_hash(&self) -> HashValue
Generates a hash used only for tests.