pub struct NodeId<const N: usize = nodecraft::::id::impls::id::NodeId::{constant#0}>(/* private fields */);Available on crate feature
memberlist-quic only.Expand description
A unique string identifying a server for all time. The maximum length of an id is 512 bytes.
Implementations§
Source§impl<const N: usize> NodeId<N>
impl<const N: usize> NodeId<N>
Sourcepub const MAX_SIZE: usize = N
Available on crate feature memberlist-net only.
pub const MAX_SIZE: usize = N
memberlist-net only.The maximum length of an id is N bytes.
Sourcepub fn new<T>(src: T) -> Result<NodeId<N>, ParseNodeIdError>
Available on crate feature memberlist-net only.
pub fn new<T>(src: T) -> Result<NodeId<N>, ParseNodeIdError>
memberlist-net only.Creates a new Id from the source.
Sourcepub fn as_str(&self) -> &str
Available on crate feature memberlist-net only.
pub fn as_str(&self) -> &str
memberlist-net only.converts the Id into a &str.
Sourcepub fn as_bytes(&self) -> &[u8] ⓘ
Available on crate feature memberlist-net only.
pub fn as_bytes(&self) -> &[u8] ⓘ
memberlist-net only.Returns a byte slice.
To convert the byte slice back into a string slice, use the core::str::from_utf8 function.
Trait Implementations§
Source§impl<const N: usize> CheapClone for NodeId<N>
impl<const N: usize> CheapClone for NodeId<N>
Source§fn cheap_clone(&self) -> Self
fn cheap_clone(&self) -> Self
Returns a copy of the value.
Source§impl<const N: usize> Data for NodeId<N>
impl<const N: usize> Data for NodeId<N>
Source§fn from_ref(val: <NodeId<N> as Data>::Ref<'_>) -> Result<NodeId<N>, DecodeError>
fn from_ref(val: <NodeId<N> as Data>::Ref<'_>) -> Result<NodeId<N>, 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>
Available on crate features
std or alloc only.Encodes the message into a vec.
Source§fn encode_to_bytes(&self) -> Result<Bytes, EncodeError>
fn encode_to_bytes(&self) -> Result<Bytes, EncodeError>
Available on crate features
std or alloc only.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>
Available on crate features
std or alloc only.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>
Available on crate features
std or alloc only.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, const N: usize> DataRef<'a, NodeId<N>> for NodeIdRef<'a, N>
impl<'a, const N: usize> DataRef<'a, NodeId<N>> for NodeIdRef<'a, N>
Source§fn decode(buf: &'a [u8]) -> Result<(usize, NodeIdRef<'a, N>), DecodeError>
fn decode(buf: &'a [u8]) -> Result<(usize, NodeIdRef<'a, N>), 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, const N: usize> Deserialize<'de> for NodeId<N>
impl<'de, const N: usize> Deserialize<'de> for NodeId<N>
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<NodeId<N>, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<NodeId<N>, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl<const N: usize> Ord for NodeId<N>
impl<const N: usize> Ord for NodeId<N>
Source§impl<const N: usize> PartialOrd for NodeId<N>
impl<const N: usize> PartialOrd for NodeId<N>
Source§impl<const N: usize> Serialize for NodeId<N>
impl<const N: usize> Serialize for NodeId<N>
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
Source§impl<const N: usize> TryFrom<SocketAddr> for NodeId<N>
impl<const N: usize> TryFrom<SocketAddr> for NodeId<N>
Source§type Error = ParseNodeIdError
type Error = ParseNodeIdError
The type returned in the event of a conversion error.
Source§fn try_from(
value: SocketAddr,
) -> Result<NodeId<N>, <NodeId<N> as TryFrom<SocketAddr>>::Error>
fn try_from( value: SocketAddr, ) -> Result<NodeId<N>, <NodeId<N> as TryFrom<SocketAddr>>::Error>
Performs the conversion.
Source§impl<const N: usize> TryFrom<SocketAddrV4> for NodeId<N>
impl<const N: usize> TryFrom<SocketAddrV4> for NodeId<N>
Source§type Error = ParseNodeIdError
type Error = ParseNodeIdError
The type returned in the event of a conversion error.
Source§fn try_from(
value: SocketAddrV4,
) -> Result<NodeId<N>, <NodeId<N> as TryFrom<SocketAddrV4>>::Error>
fn try_from( value: SocketAddrV4, ) -> Result<NodeId<N>, <NodeId<N> as TryFrom<SocketAddrV4>>::Error>
Performs the conversion.
Source§impl<const N: usize> TryFrom<SocketAddrV6> for NodeId<N>
impl<const N: usize> TryFrom<SocketAddrV6> for NodeId<N>
Source§type Error = ParseNodeIdError
type Error = ParseNodeIdError
The type returned in the event of a conversion error.
Source§fn try_from(
value: SocketAddrV6,
) -> Result<NodeId<N>, <NodeId<N> as TryFrom<SocketAddrV6>>::Error>
fn try_from( value: SocketAddrV6, ) -> Result<NodeId<N>, <NodeId<N> as TryFrom<SocketAddrV6>>::Error>
Performs the conversion.
Source§impl<const N: usize> TryFrom<String> for NodeId<N>
Available on crate features alloc or std only.
impl<const N: usize> TryFrom<String> for NodeId<N>
Available on crate features
alloc or std only.Source§impl<const N: usize> TryFrom<Vec<u8>> for NodeId<N>
Available on crate features alloc or std only.
impl<const N: usize> TryFrom<Vec<u8>> for NodeId<N>
Available on crate features
alloc or std only.impl<const N: usize> Eq for NodeId<N>
impl<const N: usize> StructuralPartialEq for NodeId<N>
Auto Trait Implementations§
impl<const N: usize> Freeze for NodeId<N>
impl<const N: usize> RefUnwindSafe for NodeId<N>
impl<const N: usize> Send for NodeId<N>
impl<const N: usize> Sync for NodeId<N>
impl<const N: usize> Unpin for NodeId<N>
impl<const N: usize> UnsafeUnpin for NodeId<N>
impl<const N: usize> UnwindSafe for NodeId<N>
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