Struct ruma::identifiers::EventId [−][src]
pub struct EventId { /* fields omitted */ }
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
Attempts to generate an EventId
for the given origin server with a localpart consisting
of 18 random ASCII characters. This should only be used for events in the original format
as used by Matrix room versions 1 and 2.
Does not currently ever fail, but may fail in the future if the homeserver cannot be parsed parsed as a valid host.
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.
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.
Creates a byte slice from this EventId
Converts this EventId
into a String
Trait Implementations
pub fn deserialize<D>(
deserializer: D
) -> Result<EventId, <D as Deserializer<'de>>::Error> where
D: Deserializer<'de>,
pub 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
This method returns an ordering between self
and other
values if one exists. Read more
This method tests less than (for self
and other
) and is used by the <
operator. Read more
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
This method tests greater than (for self
and other
) and is used by the >
operator. Read more
pub fn serialize<S>(
&self,
serializer: S
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error> where
S: Serializer,
pub 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
Auto Trait Implementations
impl RefUnwindSafe for EventId
impl UnwindSafe for EventId
Blanket Implementations
Mutably borrows from an owned value. Read more
Compare self to key
and return true
if they are equal.
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
type Output = T
type Output = T
Should always be Self
pub fn vzip(self) -> V
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more