Struct TopicId
pub struct TopicId(/* private fields */);Expand description
Identified of a network stream topic.
When two connected peers open a stream with the same topic id, they can communicate over it with each other.
Implementations§
§impl TopicId
impl TopicId
pub const SIZE: usize = 32
pub fn generate<R>(rng: &mut R) -> TopicIdwhere
R: Rng,
pub fn generate<R>(rng: &mut R) -> TopicIdwhere
R: Rng,
Generates random topic id using the provided RNG.
pub fn random() -> TopicId
pub fn random() -> TopicId
Generates random topic id using rand::thread_rng().
pub fn as_bytes(&self) -> &[u8] ⓘ
pub fn from_slice_lossy(slice: &[u8]) -> TopicId
pub fn from_slice_lossy(slice: &[u8]) -> TopicId
Creates topic id from the given byte slice. If the slice is longer than Self::SIZE, it’s
truncated. If it’s shorter, it’s filled in with zeroes.
Trait Implementations§
§impl<'de> Deserialize<'de> for TopicId
impl<'de> Deserialize<'de> for TopicId
§fn deserialize<__D>(
__deserializer: __D,
) -> Result<TopicId, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<TopicId, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
§impl Serialize for TopicId
impl Serialize for TopicId
§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 Copy for TopicId
impl Eq for TopicId
impl StructuralPartialEq for TopicId
Auto Trait Implementations§
impl Freeze for TopicId
impl RefUnwindSafe for TopicId
impl Send for TopicId
impl Sync for TopicId
impl Unpin for TopicId
impl UnwindSafe for TopicId
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,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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