pub struct HostAddr { /* private fields */ }
Expand description
A host address which supports both domain:port
and socket address.
e.g. Valid format
www.example.com:8080
[::1]:8080
127.0.0.1:8080
Implementations§
Source§impl HostAddr
impl HostAddr
Sourcepub fn from_domain(s: &str, port: u16) -> Result<HostAddr, ParseHostAddrError>
pub fn from_domain(s: &str, port: u16) -> Result<HostAddr, ParseHostAddrError>
Create a new address from domain and port
Sourcepub fn domain(&self) -> Option<&str>
pub fn domain(&self) -> Option<&str>
Returns the domain of the address if this address can only be represented by domain name
Sourcepub fn fqdn(&self) -> Option<&str>
pub fn fqdn(&self) -> Option<&str>
Returns the fqdn of the address if this address can only be represented by domain name
Sourcepub const fn ip(&self) -> Option<IpAddr>
pub const fn ip(&self) -> Option<IpAddr>
Returns the ip of the address if this address can be represented by IpAddr
Sourcepub fn into_inner(self) -> Either<SocketAddr, (u16, Domain)> ⓘ
pub fn into_inner(self) -> Either<SocketAddr, (u16, Domain)> ⓘ
Consumes the host addr and returns the inner data
Trait Implementations§
Source§impl CheapClone for HostAddr
impl CheapClone for HostAddr
Source§fn cheap_clone(&self) -> Self
fn cheap_clone(&self) -> Self
Returns a copy of the value.
Source§impl Data for HostAddr
impl Data for HostAddr
Source§type Ref<'a> = HostAddrRef<'a>
type Ref<'a> = HostAddrRef<'a>
The reference type of the data.
Source§fn from_ref(val: <HostAddr as Data>::Ref<'_>) -> Result<HostAddr, DecodeError>
fn from_ref(val: <HostAddr as Data>::Ref<'_>) -> Result<HostAddr, DecodeError>
Converts the reference type to the owned type.
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Returns the encoded length of the data only considering the data itself, (e.g. no length prefix, no wire type).
Source§fn encode(&self, buf: &mut [u8]) -> Result<usize, EncodeError>
fn encode(&self, buf: &mut [u8]) -> Result<usize, EncodeError>
Encodes the message to a buffer. Read more
Source§fn encoded_len_with_length_delimited(&self) -> usize
fn encoded_len_with_length_delimited(&self) -> usize
Returns the encoded length of the data including the length delimited.
Source§fn encode_to_vec(&self) -> Result<Vec<u8>, EncodeError>
fn encode_to_vec(&self) -> Result<Vec<u8>, EncodeError>
Encodes the message into a vec.
Source§fn encode_to_bytes(&self) -> Result<Bytes, EncodeError>
fn encode_to_bytes(&self) -> Result<Bytes, EncodeError>
Encodes the message into a
Bytes
.Source§fn encode_length_delimited(&self, buf: &mut [u8]) -> Result<usize, EncodeError>
fn encode_length_delimited(&self, buf: &mut [u8]) -> Result<usize, EncodeError>
Encodes the message with a length-delimiter to a buffer. Read more
Source§fn encode_length_delimited_to_vec(&self) -> Result<Vec<u8>, EncodeError>
fn encode_length_delimited_to_vec(&self) -> Result<Vec<u8>, EncodeError>
Encodes the message with a length-delimiter into a vec.
Source§fn encode_length_delimited_to_bytes(&self) -> Result<Bytes, EncodeError>
fn encode_length_delimited_to_bytes(&self) -> Result<Bytes, EncodeError>
Encodes the message with a length-delimiter into a
Bytes
.Source§fn decode(src: &[u8]) -> Result<(usize, Self), DecodeError>where
Self: Sized,
fn decode(src: &[u8]) -> Result<(usize, Self), DecodeError>where
Self: Sized,
Decodes an instance of the message from a buffer. Read more
Source§fn decode_length_delimited(buf: &[u8]) -> Result<(usize, Self), DecodeError>where
Self: Sized,
fn decode_length_delimited(buf: &[u8]) -> Result<(usize, Self), DecodeError>where
Self: Sized,
Decodes a length-delimited instance of the message from the buffer.
Source§impl<'a> DataRef<'a, HostAddr> for HostAddrRef<'a>
impl<'a> DataRef<'a, HostAddr> for HostAddrRef<'a>
Source§fn decode(buf: &'a [u8]) -> Result<(usize, HostAddrRef<'a>), DecodeError>
fn decode(buf: &'a [u8]) -> Result<(usize, HostAddrRef<'a>), DecodeError>
Decodes the reference type from a buffer. Read more
Source§fn decode_length_delimited(src: &'a [u8]) -> Result<(usize, Self), DecodeError>where
Self: Sized,
fn decode_length_delimited(src: &'a [u8]) -> Result<(usize, Self), DecodeError>where
Self: Sized,
Decodes a length-delimited reference instance of the message from the buffer.
Source§impl<'de> Deserialize<'de> for HostAddr
impl<'de> Deserialize<'de> for HostAddr
Source§fn deserialize<D>(
deserializer: D,
) -> Result<HostAddr, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
fn deserialize<D>(
deserializer: D,
) -> Result<HostAddr, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl From<SocketAddr> for HostAddr
impl From<SocketAddr> for HostAddr
Source§fn from(addr: SocketAddr) -> HostAddr
fn from(addr: SocketAddr) -> HostAddr
Converts to this type from the input type.
Source§impl Ord for HostAddr
impl Ord for HostAddr
Source§impl PartialOrd for HostAddr
impl PartialOrd for HostAddr
Source§impl Serialize for HostAddr
impl Serialize for HostAddr
Source§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 HostAddr
impl StructuralPartialEq for HostAddr
Auto Trait Implementations§
impl Freeze for HostAddr
impl RefUnwindSafe for HostAddr
impl Send for HostAddr
impl Sync for HostAddr
impl Unpin for HostAddr
impl UnwindSafe for HostAddr
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.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> ⓘ
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