[][src]Struct ruma_identifiers::event_id::EventId

pub struct EventId<T> { /* fields omitted */ }

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.

It is discouraged to use this type directly – instead use one of the aliases (EventId and EventIdRef) in the crate root.

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<T> EventId<T> where
    T: AsRef<str>, 
[src]

pub fn as_ref(&self) -> EventId<&str>[src]

Creates a reference to this EventId.

pub fn localpart(&self) -> &str[src]

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<ServerNameRef>[src]

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<T: AsRef<str>> EventId<T>[src]

pub fn as_str(&self) -> &str[src]

Creates a string slice from this EventId

Trait Implementations

impl<T: AsRef<str>> AsRef<str> for EventId<T>[src]

impl<T: Clone> Clone for EventId<T>[src]

impl<T: Copy> Copy for EventId<T>[src]

impl<T: Debug> Debug for EventId<T>[src]

impl<'de> Deserialize<'de> for EventId<Box<str>>[src]

impl<T: Display> Display for EventId<T>[src]

impl<T: Eq> Eq for EventId<T>[src]

impl<'a> From<&'a EventId<Box<str>>> for EventId<&'a str>[src]

impl From<EventId<Box<str>>> for String[src]

impl<T: Hash> Hash for EventId<T>[src]

impl<T: Ord> Ord for EventId<T>[src]

impl<'_, T: AsRef<str>> PartialEq<&'_ str> for EventId<T>[src]

impl<T: PartialEq> PartialEq<EventId<T>> for EventId<T>[src]

impl<'_, T: AsRef<str>> PartialEq<EventId<T>> for &'_ str[src]

impl<T: AsRef<str>> PartialEq<EventId<T>> for String[src]

impl<T: AsRef<str>> PartialEq<String> for EventId<T>[src]

impl<T: PartialOrd> PartialOrd<EventId<T>> for EventId<T>[src]

impl<T: AsRef<str>> Serialize for EventId<T>[src]

impl<'_> TryFrom<&'_ str> for EventId<Box<str>>[src]

type Error = Error

The type returned in the event of a conversion error.

impl<'a> TryFrom<&'a str> for EventId<&'a str>[src]

type Error = Error

The type returned in the event of a conversion error.

impl TryFrom<String> for EventId<Box<str>>[src]

type Error = Error

The type returned in the event of a conversion error.

Auto Trait Implementations

impl<T> RefUnwindSafe for EventId<T> where
    T: RefUnwindSafe

impl<T> Send for EventId<T> where
    T: Send

impl<T> Sync for EventId<T> where
    T: Sync

impl<T> Unpin for EventId<T> where
    T: Unpin

impl<T> UnwindSafe for EventId<T> where
    T: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.