pub struct OwnedKeyId<A, K>{ /* private fields */ }Expand description
Owned variant of KeyId
§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<A, K> OwnedKeyId<A, K>
impl<A, K> OwnedKeyId<A, K>
Sourcepub fn zeroize(self)
Available on crate feature events only.
pub fn zeroize(self)
events only.Securely zero memory (aka zeroize) of OwnedKeyId.
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 = KeyId<A, K>>§
Sourcepub fn as_str(&self) -> &str
Available on crate feature events only.
pub fn as_str(&self) -> &str
events only.Extracts a string slice from this KeyId.
Sourcepub fn as_bytes(&self) -> &[u8] ⓘ
Available on crate feature events only.
pub fn as_bytes(&self) -> &[u8] ⓘ
events only.Extracts a byte slice from this KeyId.
Sourcepub fn algorithm(&self) -> A
Available on crate feature events only.
pub fn algorithm(&self) -> A
events only.Returns key algorithm of the key ID - the part that comes before the colon.
§Example
use ruma_common::{DeviceKeyAlgorithm, DeviceKeyId};
let k = DeviceKeyId::parse("ed25519:1").unwrap();
assert_eq!(k.algorithm(), DeviceKeyAlgorithm::Ed25519);Sourcepub fn key_name<'a>(&'a self) -> &'a K
Available on crate feature events only.
pub fn key_name<'a>(&'a self) -> &'a K
events only.Returns the key name of the key ID - the part that comes after the colon.
§Example
use ruma_common::{DeviceKeyId, device_id};
let k = DeviceKeyId::parse("ed25519:DEV1").unwrap();
assert_eq!(k.key_name(), device_id!("DEV1"));Trait Implementations§
Source§impl<A, K> AsRef<KeyId<A, K>> for OwnedKeyId<A, K>
impl<A, K> AsRef<KeyId<A, K>> for OwnedKeyId<A, K>
Source§impl<A, K> AsRef<[u8]> for OwnedKeyId<A, K>
impl<A, K> AsRef<[u8]> for OwnedKeyId<A, K>
Source§impl<A, K> AsRef<str> for OwnedKeyId<A, K>
impl<A, K> AsRef<str> for OwnedKeyId<A, K>
Source§impl<A, K> Borrow<KeyId<A, K>> for OwnedKeyId<A, K>
impl<A, K> Borrow<KeyId<A, K>> for OwnedKeyId<A, K>
Source§impl<A, K> Borrow<str> for OwnedKeyId<A, K>
impl<A, K> Borrow<str> for OwnedKeyId<A, K>
Source§impl<A, K> Clone for OwnedKeyId<A, K>
impl<A, K> Clone for OwnedKeyId<A, K>
Source§fn clone(&self) -> OwnedKeyId<A, K>
fn clone(&self) -> OwnedKeyId<A, K>
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl<A, K> Debug for OwnedKeyId<A, K>
impl<A, K> Debug for OwnedKeyId<A, K>
Source§impl<A, K> Deref for OwnedKeyId<A, K>
impl<A, K> Deref for OwnedKeyId<A, K>
Source§impl<'de, A, K> Deserialize<'de> for OwnedKeyId<A, K>
impl<'de, A, K> Deserialize<'de> for OwnedKeyId<A, K>
Source§fn deserialize<D>(
deserializer: D,
) -> Result<OwnedKeyId<A, K>, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
fn deserialize<D>(
deserializer: D,
) -> Result<OwnedKeyId<A, K>, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
Source§impl<A, K> Display for OwnedKeyId<A, K>
impl<A, K> Display for OwnedKeyId<A, K>
impl<A, K> Eq for OwnedKeyId<A, K>
Source§impl<A, K> From<&KeyId<A, K>> for OwnedKeyId<A, K>
impl<A, K> From<&KeyId<A, K>> for OwnedKeyId<A, K>
Source§fn from(id: &KeyId<A, K>) -> OwnedKeyId<A, K>
fn from(id: &KeyId<A, K>) -> OwnedKeyId<A, K>
Source§impl<A, K> From<OwnedKeyId<A, K>> for String
impl<A, K> From<OwnedKeyId<A, K>> for String
Source§fn from(id: OwnedKeyId<A, K>) -> String
fn from(id: OwnedKeyId<A, K>) -> String
Source§impl<A, K> FromStr for OwnedKeyId<A, K>
impl<A, K> FromStr for OwnedKeyId<A, K>
Source§impl<A, K> Hash for OwnedKeyId<A, K>
impl<A, K> Hash for OwnedKeyId<A, K>
Source§impl<A, K> Ord for OwnedKeyId<A, K>
impl<A, K> Ord for OwnedKeyId<A, K>
Source§fn cmp(&self, other: &OwnedKeyId<A, K>) -> Ordering
fn cmp(&self, other: &OwnedKeyId<A, K>) -> Ordering
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl<A, K> PartialEq for OwnedKeyId<A, K>
impl<A, K> PartialEq for OwnedKeyId<A, K>
Source§impl<A, K> PartialEq<&KeyId<A, K>> for OwnedKeyId<A, K>
impl<A, K> PartialEq<&KeyId<A, K>> for OwnedKeyId<A, K>
Source§impl<A, K> PartialEq<&str> for OwnedKeyId<A, K>
impl<A, K> PartialEq<&str> for OwnedKeyId<A, K>
Source§impl<A, K> PartialEq<KeyId<A, K>> for OwnedKeyId<A, K>
impl<A, K> PartialEq<KeyId<A, K>> for OwnedKeyId<A, K>
Source§impl<A, K> PartialEq<OwnedKeyId<A, K>> for str
impl<A, K> PartialEq<OwnedKeyId<A, K>> for str
Source§impl<A, K> PartialEq<OwnedKeyId<A, K>> for &str
impl<A, K> PartialEq<OwnedKeyId<A, K>> for &str
Source§impl<A, K> PartialEq<OwnedKeyId<A, K>> for KeyId<A, K>
impl<A, K> PartialEq<OwnedKeyId<A, K>> for KeyId<A, K>
Source§impl<A, K> PartialEq<OwnedKeyId<A, K>> for &KeyId<A, K>
impl<A, K> PartialEq<OwnedKeyId<A, K>> for &KeyId<A, K>
Source§impl<A, K> PartialEq<String> for OwnedKeyId<A, K>
impl<A, K> PartialEq<String> for OwnedKeyId<A, K>
Source§impl<A, K> PartialEq<str> for OwnedKeyId<A, K>
impl<A, K> PartialEq<str> for OwnedKeyId<A, K>
Source§impl<A, K> PartialOrd for OwnedKeyId<A, K>
impl<A, K> PartialOrd for OwnedKeyId<A, K>
Source§impl<A, K> Serialize for OwnedKeyId<A, K>
impl<A, K> Serialize for OwnedKeyId<A, K>
Source§fn serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
fn serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
Source§impl<A, K> TryFrom<&str> for OwnedKeyId<A, K>
impl<A, K> TryFrom<&str> for OwnedKeyId<A, K>
Source§impl<A, K> TryFrom<String> for OwnedKeyId<A, K>
impl<A, K> TryFrom<String> for OwnedKeyId<A, K>
Auto Trait Implementations§
impl<A, K> Freeze for OwnedKeyId<A, K>where
K: ?Sized,
impl<A, K> RefUnwindSafe for OwnedKeyId<A, K>
impl<A, K> Send for OwnedKeyId<A, K>
impl<A, K> Sync for OwnedKeyId<A, K>
impl<A, K> Unpin for OwnedKeyId<A, K>
impl<A, K> UnsafeUnpin for OwnedKeyId<A, K>where
K: ?Sized,
impl<A, K> UnwindSafe for OwnedKeyId<A, K>
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.impl<T> ErasedDestructor for Twhere
T: 'static,
§impl<T, UT> HandleAlloc<UT> for T
impl<T, UT> HandleAlloc<UT> for T
§fn new_handle(value: Arc<T>) -> Handle
fn new_handle(value: Arc<T>) -> Handle
§unsafe fn clone_handle(handle: Handle) -> Handle
unsafe fn clone_handle(handle: Handle) -> Handle
§unsafe fn consume_handle(handle: Handle) -> Arc<T>
unsafe fn consume_handle(handle: Handle) -> Arc<T>
Arc<> Read more