pub struct OwnedMxcUri { /* private fields */ }Expand description
Owned variant of MxcUri
§Inner representation
By default, this type uses a Box<str> internally. The inner representation can be selected at
compile time by using one of the following supported values:
Arc– Use anArc<str>.
The selected value can be set by using the ruma_identifiers_storage compile-time cfg setting.
This setting can be configured using the RUSTFLAGS environment variable at build time, like this:
RUSTFLAGS="--cfg ruma_identifiers_storage=\"{value}\""Or in .cargo/config.toml:
# General setting for all targets, overridden by per-target `rustflags` setting if set.
[build]
rustflags = ["--cfg", "ruma_identifiers_storage=\"{value}\""]
# Per-target setting.
[target.<triple/cfg>]
rustflags = ["--cfg", "ruma_identifiers_storage=\"{value}\""]This setting can also be configured using the RUMA_IDENTIFIERS_STORAGE environment variable at
compile time, which has the benefit of not requiring to re-compile the whole dependency chain
when the value is changed, like this:
RUMA_IDENTIFIERS_STORAGE="{value}"Implementations§
Source§impl OwnedMxcUri
impl OwnedMxcUri
Sourcepub fn zeroize(self)
pub fn zeroize(self)
Securely zero memory (aka zeroize) of OwnedMxcUri.
This method zeroizes this type by writing zeros in its
memory location before freeing it. It internally uses
the zeroize crate. Note that this type
doesn’t implement the zeroize::Zeroize trait because the
Zeroize::zeroize method takes a &mut self, which means
we could put this type into an inconsistent state if it is
used after calling that method. Instead, this method takes
ownership of the type, ensuring it’s impossible to misuse
it.
§Implementation details
If the ruma_identifiers_storage configuration is
set to Arc, this type will be zeroized if and only if
Arc::get_mut returns Some reference, i.e. if there is no
other Arc or Weak pointers to this same location.
Methods from Deref<Target = MxcUri>§
Sourcepub fn media_id(&self) -> Result<&str, MxcUriError>
pub fn media_id(&self) -> Result<&str, MxcUriError>
If this is a valid MXC URI, returns the media ID.
Sourcepub fn server_name(&self) -> Result<&ServerName, MxcUriError>
pub fn server_name(&self) -> Result<&ServerName, MxcUriError>
If this is a valid MXC URI, returns the server name.
Sourcepub fn parts(&self) -> Result<(&ServerName, &str), MxcUriError>
pub fn parts(&self) -> Result<(&ServerName, &str), MxcUriError>
If this is a valid MXC URI, returns a (server_name, media_id) tuple, else it returns the
error.
Sourcepub fn validate(&self) -> Result<(), MxcUriError>
pub fn validate(&self) -> Result<(), MxcUriError>
Validates the URI and returns an error if it failed.
Trait Implementations§
Source§impl AsRef<MxcUri> for OwnedMxcUri
impl AsRef<MxcUri> for OwnedMxcUri
Source§impl AsRef<[u8]> for OwnedMxcUri
impl AsRef<[u8]> for OwnedMxcUri
Source§impl AsRef<str> for OwnedMxcUri
impl AsRef<str> for OwnedMxcUri
Source§impl Borrow<MxcUri> for OwnedMxcUri
impl Borrow<MxcUri> for OwnedMxcUri
Source§impl Borrow<str> for OwnedMxcUri
impl Borrow<str> for OwnedMxcUri
Source§impl Clone for OwnedMxcUri
impl Clone for OwnedMxcUri
Source§impl Debug for OwnedMxcUri
impl Debug for OwnedMxcUri
Source§impl Deref for OwnedMxcUri
impl Deref for OwnedMxcUri
Source§impl<'de> Deserialize<'de> for OwnedMxcUri
impl<'de> Deserialize<'de> for OwnedMxcUri
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 OwnedMxcUri
impl Display for OwnedMxcUri
impl Eq for OwnedMxcUri
Source§impl From<&MxcUri> for OwnedMxcUri
impl From<&MxcUri> for OwnedMxcUri
Source§impl From<&str> for OwnedMxcUri
impl From<&str> for OwnedMxcUri
Source§impl From<OwnedMxcUri> for Box<str>
impl From<OwnedMxcUri> for Box<str>
Source§fn from(id: OwnedMxcUri) -> Self
fn from(id: OwnedMxcUri) -> Self
Source§impl From<OwnedMxcUri> for String
impl From<OwnedMxcUri> for String
Source§fn from(id: OwnedMxcUri) -> Self
fn from(id: OwnedMxcUri) -> Self
Source§impl From<String> for OwnedMxcUri
impl From<String> for OwnedMxcUri
Source§impl Hash for OwnedMxcUri
impl Hash for OwnedMxcUri
Source§impl Ord for OwnedMxcUri
impl Ord for OwnedMxcUri
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl PartialEq for OwnedMxcUri
impl PartialEq for OwnedMxcUri
Source§impl PartialEq<&MxcUri> for OwnedMxcUri
impl PartialEq<&MxcUri> for OwnedMxcUri
Source§impl PartialEq<&str> for OwnedMxcUri
impl PartialEq<&str> for OwnedMxcUri
Source§impl<'a> PartialEq<Cow<'a, str>> for OwnedMxcUri
impl<'a> PartialEq<Cow<'a, str>> for OwnedMxcUri
Source§impl PartialEq<MxcUri> for OwnedMxcUri
impl PartialEq<MxcUri> for OwnedMxcUri
Source§impl PartialEq<OwnedMxcUri> for str
impl PartialEq<OwnedMxcUri> for str
Source§fn eq(&self, other: &OwnedMxcUri) -> bool
fn eq(&self, other: &OwnedMxcUri) -> bool
self and other values to be equal, and is used by ==.Source§impl PartialEq<OwnedMxcUri> for &str
impl PartialEq<OwnedMxcUri> for &str
Source§fn eq(&self, other: &OwnedMxcUri) -> bool
fn eq(&self, other: &OwnedMxcUri) -> bool
self and other values to be equal, and is used by ==.Source§impl PartialEq<OwnedMxcUri> for String
impl PartialEq<OwnedMxcUri> for String
Source§fn eq(&self, other: &OwnedMxcUri) -> bool
fn eq(&self, other: &OwnedMxcUri) -> bool
self and other values to be equal, and is used by ==.Source§impl<'a> PartialEq<OwnedMxcUri> for Cow<'a, str>
impl<'a> PartialEq<OwnedMxcUri> for Cow<'a, str>
Source§fn eq(&self, other: &OwnedMxcUri) -> bool
fn eq(&self, other: &OwnedMxcUri) -> bool
self and other values to be equal, and is used by ==.Source§impl PartialEq<OwnedMxcUri> for MxcUri
impl PartialEq<OwnedMxcUri> for MxcUri
Source§fn eq(&self, other: &OwnedMxcUri) -> bool
fn eq(&self, other: &OwnedMxcUri) -> bool
self and other values to be equal, and is used by ==.Source§impl PartialEq<OwnedMxcUri> for &MxcUri
impl PartialEq<OwnedMxcUri> for &MxcUri
Source§fn eq(&self, other: &OwnedMxcUri) -> bool
fn eq(&self, other: &OwnedMxcUri) -> bool
self and other values to be equal, and is used by ==.Source§impl PartialEq<String> for OwnedMxcUri
impl PartialEq<String> for OwnedMxcUri
Source§impl PartialEq<str> for OwnedMxcUri
impl PartialEq<str> for OwnedMxcUri
Auto Trait Implementations§
impl Freeze for OwnedMxcUri
impl RefUnwindSafe for OwnedMxcUri
impl Send for OwnedMxcUri
impl Sync for OwnedMxcUri
impl Unpin for OwnedMxcUri
impl UnsafeUnpin for OwnedMxcUri
impl UnwindSafe for OwnedMxcUri
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
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> DropFlavorWrapper<T> for T
impl<T> DropFlavorWrapper<T> for T
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.