pub struct OwnedDeviceId { /* private fields */ }Expand description
Owned variant of DeviceId
§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 OwnedDeviceId
impl OwnedDeviceId
Sourcepub fn zeroize(self)
pub fn zeroize(self)
Securely zero memory (aka zeroize) of OwnedDeviceId.
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.
Trait Implementations§
Source§impl AsRef<DeviceId> for OwnedDeviceId
impl AsRef<DeviceId> for OwnedDeviceId
Source§impl AsRef<[u8]> for OwnedDeviceId
impl AsRef<[u8]> for OwnedDeviceId
Source§impl AsRef<str> for OwnedDeviceId
impl AsRef<str> for OwnedDeviceId
Source§impl Borrow<DeviceId> for OwnedDeviceId
impl Borrow<DeviceId> for OwnedDeviceId
Source§impl Borrow<str> for OwnedDeviceId
impl Borrow<str> for OwnedDeviceId
Source§impl Clone for OwnedDeviceId
impl Clone for OwnedDeviceId
Source§impl Debug for OwnedDeviceId
impl Debug for OwnedDeviceId
Source§impl Deref for OwnedDeviceId
impl Deref for OwnedDeviceId
Source§impl<'de> Deserialize<'de> for OwnedDeviceId
impl<'de> Deserialize<'de> for OwnedDeviceId
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 OwnedDeviceId
impl Display for OwnedDeviceId
impl Eq for OwnedDeviceId
Source§impl From<&DeviceId> for OwnedDeviceId
impl From<&DeviceId> for OwnedDeviceId
Source§impl From<&str> for OwnedDeviceId
impl From<&str> for OwnedDeviceId
Source§impl From<OwnedDeviceId> for OwnedBase64PublicKeyOrDeviceId
impl From<OwnedDeviceId> for OwnedBase64PublicKeyOrDeviceId
Source§fn from(value: OwnedDeviceId) -> Self
fn from(value: OwnedDeviceId) -> Self
Source§impl From<OwnedDeviceId> for Box<str>
impl From<OwnedDeviceId> for Box<str>
Source§fn from(id: OwnedDeviceId) -> Self
fn from(id: OwnedDeviceId) -> Self
Source§impl From<OwnedDeviceId> for String
impl From<OwnedDeviceId> for String
Source§fn from(id: OwnedDeviceId) -> Self
fn from(id: OwnedDeviceId) -> Self
Source§impl From<OwnedDeviceId> for DeviceIdOrAllDevices
impl From<OwnedDeviceId> for DeviceIdOrAllDevices
Source§fn from(d: OwnedDeviceId) -> Self
fn from(d: OwnedDeviceId) -> Self
Source§impl From<String> for OwnedDeviceId
impl From<String> for OwnedDeviceId
Source§impl Hash for OwnedDeviceId
impl Hash for OwnedDeviceId
Source§impl KeyName for OwnedDeviceId
impl KeyName for OwnedDeviceId
Source§impl Ord for OwnedDeviceId
impl Ord for OwnedDeviceId
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 OwnedDeviceId
impl PartialEq for OwnedDeviceId
Source§impl PartialEq<&DeviceId> for OwnedDeviceId
impl PartialEq<&DeviceId> for OwnedDeviceId
Source§impl PartialEq<&str> for OwnedDeviceId
impl PartialEq<&str> for OwnedDeviceId
Source§impl<'a> PartialEq<Cow<'a, str>> for OwnedDeviceId
impl<'a> PartialEq<Cow<'a, str>> for OwnedDeviceId
Source§impl PartialEq<DeviceId> for OwnedDeviceId
impl PartialEq<DeviceId> for OwnedDeviceId
Source§impl PartialEq<OwnedDeviceId> for str
impl PartialEq<OwnedDeviceId> for str
Source§fn eq(&self, other: &OwnedDeviceId) -> bool
fn eq(&self, other: &OwnedDeviceId) -> bool
self and other values to be equal, and is used by ==.Source§impl PartialEq<OwnedDeviceId> for &str
impl PartialEq<OwnedDeviceId> for &str
Source§fn eq(&self, other: &OwnedDeviceId) -> bool
fn eq(&self, other: &OwnedDeviceId) -> bool
self and other values to be equal, and is used by ==.Source§impl PartialEq<OwnedDeviceId> for String
impl PartialEq<OwnedDeviceId> for String
Source§fn eq(&self, other: &OwnedDeviceId) -> bool
fn eq(&self, other: &OwnedDeviceId) -> bool
self and other values to be equal, and is used by ==.Source§impl<'a> PartialEq<OwnedDeviceId> for Cow<'a, str>
impl<'a> PartialEq<OwnedDeviceId> for Cow<'a, str>
Source§fn eq(&self, other: &OwnedDeviceId) -> bool
fn eq(&self, other: &OwnedDeviceId) -> bool
self and other values to be equal, and is used by ==.Source§impl PartialEq<OwnedDeviceId> for DeviceId
impl PartialEq<OwnedDeviceId> for DeviceId
Source§fn eq(&self, other: &OwnedDeviceId) -> bool
fn eq(&self, other: &OwnedDeviceId) -> bool
self and other values to be equal, and is used by ==.Source§impl PartialEq<OwnedDeviceId> for &DeviceId
impl PartialEq<OwnedDeviceId> for &DeviceId
Source§fn eq(&self, other: &OwnedDeviceId) -> bool
fn eq(&self, other: &OwnedDeviceId) -> bool
self and other values to be equal, and is used by ==.Source§impl PartialEq<String> for OwnedDeviceId
impl PartialEq<String> for OwnedDeviceId
Source§impl PartialEq<str> for OwnedDeviceId
impl PartialEq<str> for OwnedDeviceId
Source§impl PartialOrd for OwnedDeviceId
impl PartialOrd for OwnedDeviceId
Auto Trait Implementations§
impl Freeze for OwnedDeviceId
impl RefUnwindSafe for OwnedDeviceId
impl Send for OwnedDeviceId
impl Sync for OwnedDeviceId
impl Unpin for OwnedDeviceId
impl UnsafeUnpin for OwnedDeviceId
impl UnwindSafe for OwnedDeviceId
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.