pub enum MaybeResolvedAddress<A, R> {
Resolved(R),
Unresolved(A),
}Expand description
MaybeResolvedAddress is used to represent an address that may or may not be resolved.
Variants§
Resolved(R)
The resolved address, which means that can be directly used to communicate with the remote node.
Unresolved(A)
The unresolved address, which means that need to be resolved before using it to communicate with the remote node.
Implementations§
Source§impl<A, R> MaybeResolvedAddress<A, R>
impl<A, R> MaybeResolvedAddress<A, R>
Sourcepub fn try_unwrap_resolved(
self,
) -> Result<R, TryUnwrapError<MaybeResolvedAddress<A, R>>>
pub fn try_unwrap_resolved( self, ) -> Result<R, TryUnwrapError<MaybeResolvedAddress<A, R>>>
Attempts to unwrap this value to the MaybeResolvedAddress::Resolved variant.
Returns a [TryUnwrapError] with the original value if this value is of any other type.
Sourcepub fn try_unwrap_resolved_ref(
&self,
) -> Result<&R, TryUnwrapError<&MaybeResolvedAddress<A, R>>>
pub fn try_unwrap_resolved_ref( &self, ) -> Result<&R, TryUnwrapError<&MaybeResolvedAddress<A, R>>>
Attempts to unwrap this reference to the MaybeResolvedAddress::Resolved variant.
Returns a [TryUnwrapError] with the original value if this value is of any other type.
Sourcepub fn try_unwrap_resolved_mut(
&mut self,
) -> Result<&mut R, TryUnwrapError<&mut MaybeResolvedAddress<A, R>>>
pub fn try_unwrap_resolved_mut( &mut self, ) -> Result<&mut R, TryUnwrapError<&mut MaybeResolvedAddress<A, R>>>
Attempts to unwrap this mutable reference to the MaybeResolvedAddress::Resolved variant.
Returns a [TryUnwrapError] with the original value if this value is of any other type.
Sourcepub fn try_unwrap_unresolved(
self,
) -> Result<A, TryUnwrapError<MaybeResolvedAddress<A, R>>>
pub fn try_unwrap_unresolved( self, ) -> Result<A, TryUnwrapError<MaybeResolvedAddress<A, R>>>
Attempts to unwrap this value to the MaybeResolvedAddress::Unresolved variant.
Returns a [TryUnwrapError] with the original value if this value is of any other type.
Sourcepub fn try_unwrap_unresolved_ref(
&self,
) -> Result<&A, TryUnwrapError<&MaybeResolvedAddress<A, R>>>
pub fn try_unwrap_unresolved_ref( &self, ) -> Result<&A, TryUnwrapError<&MaybeResolvedAddress<A, R>>>
Attempts to unwrap this reference to the MaybeResolvedAddress::Unresolved variant.
Returns a [TryUnwrapError] with the original value if this value is of any other type.
Sourcepub fn try_unwrap_unresolved_mut(
&mut self,
) -> Result<&mut A, TryUnwrapError<&mut MaybeResolvedAddress<A, R>>>
pub fn try_unwrap_unresolved_mut( &mut self, ) -> Result<&mut A, TryUnwrapError<&mut MaybeResolvedAddress<A, R>>>
Attempts to unwrap this mutable reference to the MaybeResolvedAddress::Unresolved variant.
Returns a [TryUnwrapError] with the original value if this value is of any other type.
Source§impl<A, R> MaybeResolvedAddress<A, R>
impl<A, R> MaybeResolvedAddress<A, R>
Sourcepub fn unwrap_resolved(self) -> R
pub fn unwrap_resolved(self) -> R
Unwraps this value to the MaybeResolvedAddress::Resolved variant.
Panics if this value is of any other type.
Sourcepub fn unwrap_resolved_ref(&self) -> &R
pub fn unwrap_resolved_ref(&self) -> &R
Unwraps this reference to the MaybeResolvedAddress::Resolved variant.
Panics if this value is of any other type.
Sourcepub fn unwrap_resolved_mut(&mut self) -> &mut R
pub fn unwrap_resolved_mut(&mut self) -> &mut R
Unwraps this mutable reference to the MaybeResolvedAddress::Resolved variant.
Panics if this value is of any other type.
Sourcepub fn unwrap_unresolved(self) -> A
pub fn unwrap_unresolved(self) -> A
Unwraps this value to the MaybeResolvedAddress::Unresolved variant.
Panics if this value is of any other type.
Sourcepub fn unwrap_unresolved_ref(&self) -> &A
pub fn unwrap_unresolved_ref(&self) -> &A
Unwraps this reference to the MaybeResolvedAddress::Unresolved variant.
Panics if this value is of any other type.
Sourcepub fn unwrap_unresolved_mut(&mut self) -> &mut A
pub fn unwrap_unresolved_mut(&mut self) -> &mut A
Unwraps this mutable reference to the MaybeResolvedAddress::Unresolved variant.
Panics if this value is of any other type.
Source§impl<A, R> MaybeResolvedAddress<A, R>
impl<A, R> MaybeResolvedAddress<A, R>
Sourcepub const fn is_resolved(&self) -> bool
pub const fn is_resolved(&self) -> bool
Returns true if this value is of type Resolved. Returns false otherwise
Sourcepub const fn is_unresolved(&self) -> bool
pub const fn is_unresolved(&self) -> bool
Returns true if this value is of type Unresolved. Returns false otherwise
Source§impl<A, R> MaybeResolvedAddress<A, R>
impl<A, R> MaybeResolvedAddress<A, R>
Sourcepub const fn resolved(addr: R) -> MaybeResolvedAddress<A, R>
pub const fn resolved(addr: R) -> MaybeResolvedAddress<A, R>
Creates a resolved address.
Sourcepub const fn unresolved(addr: A) -> MaybeResolvedAddress<A, R>
pub const fn unresolved(addr: A) -> MaybeResolvedAddress<A, R>
Creates an unresolved address.
Sourcepub const fn as_ref(&self) -> MaybeResolvedAddress<&A, &R>
pub const fn as_ref(&self) -> MaybeResolvedAddress<&A, &R>
Converts from &MaybeResolvedAddress<A, R> to MaybeResolvedAddress<&A, &R>.
Sourcepub const fn as_mut(&mut self) -> MaybeResolvedAddress<&mut A, &mut R>
pub const fn as_mut(&mut self) -> MaybeResolvedAddress<&mut A, &mut R>
Converts from &mut MaybeResolvedAddress<A, R> to MaybeResolvedAddress<&mut A, &mut R>.
Trait Implementations§
Source§impl<A, R> Arbitrary for MaybeResolvedAddress<A, R>
impl<A, R> Arbitrary for MaybeResolvedAddress<A, R>
Source§impl<'arbitrary, A, R> Arbitrary<'arbitrary> for MaybeResolvedAddress<A, R>
impl<'arbitrary, A, R> Arbitrary<'arbitrary> for MaybeResolvedAddress<A, R>
Source§fn arbitrary(
u: &mut Unstructured<'arbitrary>,
) -> Result<MaybeResolvedAddress<A, R>, Error>
fn arbitrary( u: &mut Unstructured<'arbitrary>, ) -> Result<MaybeResolvedAddress<A, R>, Error>
Self from the given unstructured data. Read moreSource§fn arbitrary_take_rest(
u: Unstructured<'arbitrary>,
) -> Result<MaybeResolvedAddress<A, R>, Error>
fn arbitrary_take_rest( u: Unstructured<'arbitrary>, ) -> Result<MaybeResolvedAddress<A, R>, Error>
Self from the entirety of the given
unstructured data. Read moreSource§fn size_hint(depth: usize) -> (usize, Option<usize>)
fn size_hint(depth: usize) -> (usize, Option<usize>)
Unstructured this type
needs to construct itself. Read moreSource§fn try_size_hint(
depth: usize,
) -> Result<(usize, Option<usize>), MaxRecursionReached>
fn try_size_hint( depth: usize, ) -> Result<(usize, Option<usize>), MaxRecursionReached>
Unstructured this type
needs to construct itself. Read moreSource§impl<A, R> CheapClone for MaybeResolvedAddress<A, R>where
A: CheapClone,
R: CheapClone,
impl<A, R> CheapClone for MaybeResolvedAddress<A, R>where
A: CheapClone,
R: CheapClone,
Source§fn cheap_clone(&self) -> MaybeResolvedAddress<A, R>
fn cheap_clone(&self) -> MaybeResolvedAddress<A, R>
Source§impl<A, R> Clone for MaybeResolvedAddress<A, R>
impl<A, R> Clone for MaybeResolvedAddress<A, R>
Source§fn clone(&self) -> MaybeResolvedAddress<A, R>
fn clone(&self) -> MaybeResolvedAddress<A, R>
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl<A, R> Copy for MaybeResolvedAddress<A, R>
Source§impl<A, R> Data for MaybeResolvedAddress<A, R>
impl<A, R> Data for MaybeResolvedAddress<A, R>
Source§type Ref<'a> = MaybeResolvedAddress<<A as Data>::Ref<'a>, <R as Data>::Ref<'a>>
type Ref<'a> = MaybeResolvedAddress<<A as Data>::Ref<'a>, <R as Data>::Ref<'a>>
Source§fn from_ref(
val: <MaybeResolvedAddress<A, R> as Data>::Ref<'_>,
) -> Result<MaybeResolvedAddress<A, R>, DecodeError>where
MaybeResolvedAddress<A, R>: Sized,
fn from_ref(
val: <MaybeResolvedAddress<A, R> as Data>::Ref<'_>,
) -> Result<MaybeResolvedAddress<A, R>, DecodeError>where
MaybeResolvedAddress<A, R>: Sized,
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Source§fn encode(&self, buf: &mut [u8]) -> Result<usize, EncodeError>
fn encode(&self, buf: &mut [u8]) -> Result<usize, EncodeError>
Source§fn encoded_len_with_length_delimited(&self) -> usize
fn encoded_len_with_length_delimited(&self) -> usize
Source§fn encode_to_vec(&self) -> Result<Vec<u8>, EncodeError>
fn encode_to_vec(&self) -> Result<Vec<u8>, EncodeError>
alloc or std only.Source§fn encode_to_bytes(&self) -> Result<Bytes, EncodeError>
fn encode_to_bytes(&self) -> Result<Bytes, EncodeError>
alloc or std only.Bytes.Source§fn encode_length_delimited(&self, buf: &mut [u8]) -> Result<usize, EncodeError>
fn encode_length_delimited(&self, buf: &mut [u8]) -> Result<usize, EncodeError>
Source§fn encode_length_delimited_to_vec(&self) -> Result<Vec<u8>, EncodeError>
fn encode_length_delimited_to_vec(&self) -> Result<Vec<u8>, EncodeError>
alloc or std only.Source§fn encode_length_delimited_to_bytes(&self) -> Result<Bytes, EncodeError>
fn encode_length_delimited_to_bytes(&self) -> Result<Bytes, EncodeError>
alloc or std only.Bytes.Source§fn decode(src: &[u8]) -> Result<(usize, Self), DecodeError>where
Self: Sized,
fn decode(src: &[u8]) -> Result<(usize, Self), DecodeError>where
Self: Sized,
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,
Source§impl<'a, A, R> DataRef<'a, MaybeResolvedAddress<A, R>> for MaybeResolvedAddress<<A as Data>::Ref<'a>, <R as Data>::Ref<'a>>
impl<'a, A, R> DataRef<'a, MaybeResolvedAddress<A, R>> for MaybeResolvedAddress<<A as Data>::Ref<'a>, <R as Data>::Ref<'a>>
Source§fn decode(
buf: &'a [u8],
) -> Result<(usize, MaybeResolvedAddress<<A as Data>::Ref<'a>, <R as Data>::Ref<'a>>), DecodeError>
fn decode( buf: &'a [u8], ) -> Result<(usize, MaybeResolvedAddress<<A as Data>::Ref<'a>, <R as Data>::Ref<'a>>), DecodeError>
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,
Source§impl<A, R> Debug for MaybeResolvedAddress<A, R>
impl<A, R> Debug for MaybeResolvedAddress<A, R>
Source§impl<'de, A, R> Deserialize<'de> for MaybeResolvedAddress<A, R>where
A: Deserialize<'de>,
R: Deserialize<'de>,
impl<'de, A, R> Deserialize<'de> for MaybeResolvedAddress<A, R>where
A: Deserialize<'de>,
R: Deserialize<'de>,
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<MaybeResolvedAddress<A, R>, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<MaybeResolvedAddress<A, R>, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl<A, R> Display for MaybeResolvedAddress<A, R>
impl<A, R> Display for MaybeResolvedAddress<A, R>
impl<A, R> Eq for MaybeResolvedAddress<A, R>
Source§impl<A, R> Hash for MaybeResolvedAddress<A, R>
impl<A, R> Hash for MaybeResolvedAddress<A, R>
Source§impl<A, R> PartialEq for MaybeResolvedAddress<A, R>
impl<A, R> PartialEq for MaybeResolvedAddress<A, R>
Source§fn eq(&self, other: &MaybeResolvedAddress<A, R>) -> bool
fn eq(&self, other: &MaybeResolvedAddress<A, R>) -> bool
self and other values to be equal, and is used by ==.Source§impl<A, R> Serialize for MaybeResolvedAddress<A, R>
impl<A, R> Serialize for MaybeResolvedAddress<A, R>
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,
impl<A, R> StructuralPartialEq for MaybeResolvedAddress<A, R>
Auto Trait Implementations§
impl<A, R> Freeze for MaybeResolvedAddress<A, R>
impl<A, R> RefUnwindSafe for MaybeResolvedAddress<A, R>where
R: RefUnwindSafe,
A: RefUnwindSafe,
impl<A, R> Send for MaybeResolvedAddress<A, R>
impl<A, R> Sync for MaybeResolvedAddress<A, R>
impl<A, R> Unpin for MaybeResolvedAddress<A, R>
impl<A, R> UnsafeUnpin for MaybeResolvedAddress<A, R>where
R: UnsafeUnpin,
A: UnsafeUnpin,
impl<A, R> UnwindSafe for MaybeResolvedAddress<A, R>where
R: UnwindSafe,
A: UnwindSafe,
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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
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> ⓘ
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> ⓘ
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