Struct vodozemac::olm::SessionKeys
source · pub struct SessionKeys {
pub identity_key: Curve25519PublicKey,
pub base_key: Curve25519PublicKey,
pub one_time_key: Curve25519PublicKey,
}
Expand description
The set of keys that were used to establish the Olm Session,
Fields§
§identity_key: Curve25519PublicKey
The long-term Curve25519PublicKey
of the session initiator.
base_key: Curve25519PublicKey
The ephemeral Curve25519PublicKey
created by the session initiator
to establish the session.
one_time_key: Curve25519PublicKey
The one-time Curve25519PublicKey
that the initiator downloaded from
a key server, which was previously created and published by the
recipient.
Implementations§
source§impl SessionKeys
impl SessionKeys
sourcepub fn session_id(&self) -> String
pub fn session_id(&self) -> String
Returns the globally unique session ID which these SessionKeys
will
produce.
A session ID is the SHA256 of the concatenation of three SessionKeys
,
the account’s identity key, the ephemeral base key and the one-time
key which is used to establish the session.
Due to the construction, every session ID is (probabilistically) globally unique.
Trait Implementations§
source§impl Clone for SessionKeys
impl Clone for SessionKeys
source§fn clone(&self) -> SessionKeys
fn clone(&self) -> SessionKeys
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for SessionKeys
impl Debug for SessionKeys
source§impl Decode for SessionKeys
impl Decode for SessionKeys
source§fn decode(reader: &mut impl Read) -> Result<Self, DecodeError>
fn decode(reader: &mut impl Read) -> Result<Self, DecodeError>
Try to read and decode a value from the given reader.
source§fn decode_from_slice(buffer: &[u8]) -> Result<Self, DecodeError>where
Self: Sized,
fn decode_from_slice(buffer: &[u8]) -> Result<Self, DecodeError>where
Self: Sized,
Try to read and decode a value from the given byte slice.
source§impl<'de> Deserialize<'de> for SessionKeys
impl<'de> Deserialize<'de> for SessionKeys
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>,
Deserialize this value from the given Serde deserializer. Read more
source§impl PartialEq for SessionKeys
impl PartialEq for SessionKeys
source§fn eq(&self, other: &SessionKeys) -> bool
fn eq(&self, other: &SessionKeys) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.source§impl Serialize for SessionKeys
impl Serialize for SessionKeys
impl Copy for SessionKeys
impl Eq for SessionKeys
impl StructuralPartialEq for SessionKeys
Auto Trait Implementations§
impl Freeze for SessionKeys
impl RefUnwindSafe for SessionKeys
impl Send for SessionKeys
impl Sync for SessionKeys
impl Unpin for SessionKeys
impl UnwindSafe for SessionKeys
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
Mutably borrows from an owned value. Read more
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)source§impl<T> CloneToUninit for Twhere
T: Copy,
impl<T> CloneToUninit for Twhere
T: Copy,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)