[][src]Struct ruma_identifiers::UserId

pub struct UserId { /* fields omitted */ }

A Matrix user ID.

A UserId is generated randomly or converted from a string slice, and can be converted back into a string as needed.

assert_eq!(
    UserId::try_from("@carl:example.com").unwrap().to_string(),
    "@carl:example.com"
);

Methods

impl UserId[src]

pub fn new(homeserver_host: &str) -> Result<Self, Error>[src]

Attempts to generate a UserId for the given origin server with a localpart consisting of 12 random ASCII characters.

Fails if the given homeserver cannot be parsed as a valid host.

pub fn hostname(&self) -> &Host[src]

Returns a Host for the user ID, containing the server name (minus the port) of the originating homeserver.

The host can be either a domain name, an IPv4 address, or an IPv6 address.

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

Returns the user's localpart.

pub fn port(&self) -> u16[src]

Returns the port the originating homeserver can be accessed on.

pub fn is_historical(&self) -> bool[src]

Whether this user ID is a historical one, i.e. one that doesn't conform to the latest specification of the user ID grammar but is still accepted because it was previously allowed.

Trait Implementations

impl Clone for UserId[src]

impl Debug for UserId[src]

impl<'de> Deserialize<'de> for UserId[src]

impl Display for UserId[src]

impl Eq for UserId[src]

impl Hash for UserId[src]

impl PartialEq<UserId> for UserId[src]

impl Serialize for UserId[src]

impl StructuralEq for UserId[src]

impl StructuralPartialEq for UserId[src]

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

type Error = Error

The type returned in the event of a conversion error.

fn try_from(user_id: &'a str) -> Result<Self, Error>[src]

Attempts to create a new Matrix user ID from a string representation.

The string must include the leading @ sigil, the localpart, a literal colon, and a valid server name.

Auto Trait Implementations

impl RefUnwindSafe for UserId

impl Send for UserId

impl Sync for UserId

impl Unpin for UserId

impl UnwindSafe for UserId

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: 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 = !

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.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,