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
This is supported on crate feature rand
only.
rand
only.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.
Trait Implementations
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
Auto Trait Implementations
impl RefUnwindSafe for EventId
impl UnwindSafe for EventId
Blanket Implementations
Mutably borrows from an owned value. Read more