Struct ruma_common::EventId
source · [−]#[repr(transparent)]pub struct EventId(_);
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(), "$h29iv0s8:example.com");
// Room version 3 format
assert_eq!(
<&EventId>::try_from("$acR1l0raoZnm60CBwAVgqbZqoO/mYU81xysh1u7XcJk").unwrap(),
"$acR1l0raoZnm60CBwAVgqbZqoO/mYU81xysh1u7XcJk"
);
// Room version 4 format
assert_eq!(
<&EventId>::try_from("$Rqnc-F-dvnEYJTyHq_iKxU2bZ1CI92-kuZq3a5lr5Zg").unwrap(),
"$Rqnc-F-dvnEYJTyHq_iKxU2bZ1CI92-kuZq3a5lr5Zg"
);
Implementations
sourceimpl EventId
impl EventId
sourcepub fn parse(s: impl AsRef<str>) -> Result<OwnedEventId, IdParseError>
pub fn parse(s: impl AsRef<str>) -> Result<OwnedEventId, IdParseError>
Try parsing a &str
into an OwnedEventId
.
The same can also be done using FromStr
, TryFrom
or TryInto
.
This function is simply more constrained and thus useful in generic contexts.
sourcepub fn parse_box(
s: impl AsRef<str> + Into<Box<str>>
) -> Result<Box<Self>, IdParseError>
pub fn parse_box(
s: impl AsRef<str> + Into<Box<str>>
) -> Result<Box<Self>, IdParseError>
Try parsing a &str
into a Box<EventId>
.
The same can also be done using FromStr
, TryFrom
or TryInto
.
This function is simply more constrained and thus useful in generic contexts.
sourceimpl EventId
impl EventId
sourcepub fn new(server_name: &ServerName) -> OwnedEventId
pub fn new(server_name: &ServerName) -> OwnedEventId
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.
sourcepub 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.
sourcepub 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.
Trait Implementations
sourceimpl AsRef<EventId> for OwnedEventId
impl AsRef<EventId> for OwnedEventId
sourceimpl Borrow<EventId> for OwnedEventId
impl Borrow<EventId> for OwnedEventId
sourceimpl<'de> Deserialize<'de> for Box<EventId>
impl<'de> Deserialize<'de> for Box<EventId>
sourcefn deserialize<D>(deserializer: D) -> Result<Self, D::Error> where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error> where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
sourceimpl From<&EventId> for OwnedEventId
impl From<&EventId> for OwnedEventId
sourcefn from(id: &EventId) -> OwnedEventId
fn from(id: &EventId) -> OwnedEventId
Converts to this type from the input type.
sourceimpl Ord for EventId
impl Ord for EventId
sourceimpl PartialEq<&EventId> for OwnedEventId
impl PartialEq<&EventId> for OwnedEventId
sourceimpl PartialEq<EventId> for OwnedEventId
impl PartialEq<EventId> for OwnedEventId
sourceimpl PartialEq<OwnedEventId> for EventId
impl PartialEq<OwnedEventId> for EventId
sourceimpl PartialEq<OwnedEventId> for &EventId
impl PartialEq<OwnedEventId> for &EventId
sourceimpl PartialEq<OwnedEventId> for Box<EventId>
impl PartialEq<OwnedEventId> for Box<EventId>
sourceimpl PartialOrd<EventId> for EventId
impl PartialOrd<EventId> for EventId
sourcefn 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
sourceimpl ToOwned for EventId
impl ToOwned for EventId
type Owned = OwnedEventId
type Owned = OwnedEventId
The resulting type after obtaining ownership.
sourcefn to_owned(&self) -> Self::Owned
fn to_owned(&self) -> Self::Owned
Creates owned data from borrowed data, usually by cloning. Read more
1.63.0 · sourcefn clone_into(&self, target: &mut Self::Owned)
fn clone_into(&self, target: &mut Self::Owned)
Uses borrowed data to replace owned data, usually by cloning. Read more
impl Eq for EventId
impl StructuralEq for EventId
impl StructuralPartialEq for EventId
Auto Trait Implementations
impl RefUnwindSafe for EventId
impl Send for EventId
impl !Sized 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<T> CallHasher for T where
T: Hash + ?Sized,
impl<T> CallHasher for T where
T: Hash + ?Sized,
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.