pub struct OwnedUserId { /* private fields */ }
Expand description
Owned variant of UserId
The wrapper type for this type is variable, by default it’ll use Box
,
but you can change that by setting “--cfg=ruma_identifiers_storage=...
” using
RUSTFLAGS
or .cargo/config.toml
(under [build]
-> rustflags = ["..."]
)
to the following;
ruma_identifiers_storage="Arc"
to useArc
as a wrapper type.
Methods from Deref<Target = UserId>§
Sourcepub fn server_name(&self) -> &ServerName
pub fn server_name(&self) -> &ServerName
Returns the server name of the user ID.
Sourcepub fn validate_strict(&self) -> Result<(), IdParseError>
pub fn validate_strict(&self) -> Result<(), IdParseError>
Validate this user ID against the strict grammar.
This should be used to validate newly created user IDs as historical user IDs are deprecated.
Sourcepub fn validate_historical(&self) -> Result<(), IdParseError>
pub fn validate_historical(&self) -> Result<(), IdParseError>
Validate this user ID against the historical grammar.
According to the spec, servers should check events received over federation that contain user IDs with this method, and those that fail should not be forwarded to their users.
Contrary to UserId::is_historical()
this method also includes user IDs that conform to
the latest grammar.
Sourcepub fn is_historical(&self) -> bool
pub fn is_historical(&self) -> bool
Whether this user ID is a historical one.
A historical user ID is one that doesn’t conform to the latest specification of the user ID grammar but is still accepted because it was previously allowed.
Sourcepub fn matrix_to_uri(&self) -> MatrixToUri
pub fn matrix_to_uri(&self) -> MatrixToUri
Create a matrix.to
URI for this user ID.
§Example
use ruma_common::user_id;
let message = format!(
r#"Thanks for the update <a href="{link}">{display_name}</a>."#,
link = user_id!("@jplatte:notareal.hs").matrix_to_uri(),
display_name = "jplatte",
);
Sourcepub fn matrix_uri(&self, chat: bool) -> MatrixUri
pub fn matrix_uri(&self, chat: bool) -> MatrixUri
Create a matrix:
URI for this user ID.
If chat
is true
, a click on the URI should start a direct message
with the user.
§Example
use ruma_common::user_id;
let message = format!(
r#"Thanks for the update <a href="{link}">{display_name}</a>."#,
link = user_id!("@jplatte:notareal.hs").matrix_uri(false),
display_name = "jplatte",
);
Trait Implementations§
Source§impl AsRef<[u8]> for OwnedUserId
impl AsRef<[u8]> for OwnedUserId
Source§impl AsRef<UserId> for OwnedUserId
impl AsRef<UserId> for OwnedUserId
Source§impl AsRef<str> for OwnedUserId
impl AsRef<str> for OwnedUserId
Source§impl Borrow<UserId> for OwnedUserId
impl Borrow<UserId> for OwnedUserId
Source§impl Clone for OwnedUserId
impl Clone for OwnedUserId
Source§impl Debug for OwnedUserId
impl Debug for OwnedUserId
Source§impl Deref for OwnedUserId
impl Deref for OwnedUserId
Source§impl<'de> Deserialize<'de> for OwnedUserId
impl<'de> Deserialize<'de> for OwnedUserId
Source§fn 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>,
Source§impl Display for OwnedUserId
impl Display for OwnedUserId
Source§impl From<&UserId> for OwnedUserId
impl From<&UserId> for OwnedUserId
Source§fn from(id: &UserId) -> OwnedUserId
fn from(id: &UserId) -> OwnedUserId
Source§impl From<OwnedUserId> for MatrixId
impl From<OwnedUserId> for MatrixId
Source§fn from(user_id: OwnedUserId) -> Self
fn from(user_id: OwnedUserId) -> Self
Source§impl From<OwnedUserId> for String
impl From<OwnedUserId> for String
Source§fn from(id: OwnedUserId) -> String
fn from(id: OwnedUserId) -> String
Source§impl FromStr for OwnedUserId
impl FromStr for OwnedUserId
Source§impl Hash for OwnedUserId
impl Hash for OwnedUserId
Source§impl Ord for OwnedUserId
impl Ord for OwnedUserId
Source§impl PartialEq<&UserId> for OwnedUserId
impl PartialEq<&UserId> for OwnedUserId
Source§impl PartialEq<&str> for OwnedUserId
impl PartialEq<&str> for OwnedUserId
Source§impl PartialEq<OwnedUserId> for &UserId
impl PartialEq<OwnedUserId> for &UserId
Source§impl PartialEq<OwnedUserId> for &str
impl PartialEq<OwnedUserId> for &str
Source§impl PartialEq<OwnedUserId> for String
impl PartialEq<OwnedUserId> for String
Source§impl PartialEq<OwnedUserId> for UserId
impl PartialEq<OwnedUserId> for UserId
Source§impl PartialEq<OwnedUserId> for str
impl PartialEq<OwnedUserId> for str
Source§impl PartialEq<String> for OwnedUserId
impl PartialEq<String> for OwnedUserId
Source§impl PartialEq<UserId> for OwnedUserId
impl PartialEq<UserId> for OwnedUserId
Source§impl PartialEq<str> for OwnedUserId
impl PartialEq<str> for OwnedUserId
Source§impl PartialEq for OwnedUserId
impl PartialEq for OwnedUserId
Source§impl PartialOrd for OwnedUserId
impl PartialOrd for OwnedUserId
Source§impl Serialize for OwnedUserId
impl Serialize for OwnedUserId
Source§impl TryFrom<&str> for OwnedUserId
impl TryFrom<&str> for OwnedUserId
Source§impl TryFrom<String> for OwnedUserId
impl TryFrom<String> for OwnedUserId
impl Eq for OwnedUserId
Auto Trait Implementations§
impl Freeze for OwnedUserId
impl RefUnwindSafe for OwnedUserId
impl Send for OwnedUserId
impl Sync for OwnedUserId
impl Unpin for OwnedUserId
impl UnwindSafe for OwnedUserId
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.