Struct crackle_lib::EventId
[−]pub struct EventId { /* private fields */ }Expand description
A Matrix event ID.
An EventId is generated randomly or converted from a string slice, and can be converted back
into a string as needed.
Room versions
Matrix specifies multiple room versions and the
format of event identifiers differ between them. The original format used by room versions 1
and 2 uses a short pseudorandom “localpart” followed by the hostname and port of the
originating homeserver. Later room versions change event identifiers to be a hash of the event
encoded with Base64. Some of the methods provided by EventId are only relevant to the
original event format.
// Original format
assert_eq!(
EventId::try_from("$h29iv0s8:example.com").unwrap().as_ref(),
"$h29iv0s8:example.com"
);
// Room version 3 format
assert_eq!(
EventId::try_from("$acR1l0raoZnm60CBwAVgqbZqoO/mYU81xysh1u7XcJk").unwrap().as_ref(),
"$acR1l0raoZnm60CBwAVgqbZqoO/mYU81xysh1u7XcJk"
);
// Room version 4 format
assert_eq!(
EventId::try_from("$Rqnc-F-dvnEYJTyHq_iKxU2bZ1CI92-kuZq3a5lr5Zg").unwrap().as_ref(),
"$Rqnc-F-dvnEYJTyHq_iKxU2bZ1CI92-kuZq3a5lr5Zg"
);Implementations
impl EventId
impl EventId
pub fn localpart(&self) -> &str
pub fn localpart(&self) -> &str
Returns the event’s unique ID. For the original event format as used by Matrix room versions 1 and 2, this is the “localpart” that precedes the homeserver. For later formats, this is the entire ID without the leading $ sigil.
pub fn server_name(&self) -> Option<&ServerName>
pub fn server_name(&self) -> Option<&ServerName>
Returns the server name of the event ID.
Only applicable to events in the original format as used by Matrix room versions 1 and 2.
impl EventId
impl EventId
pub fn as_bytes(&self) -> &[u8]ⓘNotable traits for &'_ [u8]impl<'_> Read for &'_ [u8]impl<'_> Write for &'_ mut [u8]
pub fn as_bytes(&self) -> &[u8]ⓘNotable traits for &'_ [u8]impl<'_> Read for &'_ [u8]impl<'_> Write for &'_ mut [u8]
Creates a byte slice from this EventId
pub fn into_string(self) -> String
pub fn into_string(self) -> String
Converts this EventId into a String
pub fn into_bytes(self) -> Vec<u8, Global>
pub fn into_bytes(self) -> Vec<u8, Global>
Converts this EventId into a Vec<u8>
Trait Implementations
impl<'de> Deserialize<'de> for EventId
impl<'de> Deserialize<'de> for EventId
fn deserialize<D>(
deserializer: D
) -> Result<EventId, <D as Deserializer<'de>>::Error> where
D: Deserializer<'de>,
fn deserialize<D>(
deserializer: D
) -> Result<EventId, <D as Deserializer<'de>>::Error> where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Ord for EventId
impl Ord for EventId
impl PartialOrd<EventId> for EventId
impl PartialOrd<EventId> for EventId
fn partial_cmp(&self, other: &EventId) -> Option<Ordering>
fn partial_cmp(&self, other: &EventId) -> Option<Ordering>
This method returns an ordering between self and other values if one exists. Read more
1.0.0 · sourcefn lt(&self, other: &Rhs) -> bool
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self and other) and is used by the <=
operator. Read more
impl Serialize for EventId
impl Serialize for EventId
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 EventId
Auto Trait Implementations
impl RefUnwindSafe for EventId
impl Send for EventId
impl Sync for EventId
impl Unpin for EventId
impl UnwindSafe for EventId
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
sourcefn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to key and return true if they are equal.
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into)Uses borrowed data to replace owned data, usually by cloning. Read more
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber to this type, returning a
WithDispatch wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber to this type, returning a
WithDispatch wrapper. Read more