pub struct ForwardedMegolmV1AesSha2Content {
pub room_id: OwnedRoomId,
pub session_id: String,
pub session_key: ExportedSessionKey,
pub forwarding_curve25519_key_chain: Vec<Curve25519PublicKey>,
pub claimed_sender_key: Curve25519PublicKey,
pub claimed_ed25519_key: Ed25519PublicKey,
/* private fields */
}
Expand description
The m.megolm.v1.aes-sha2
variant of the m.forwarded_room_key
content.
Fields§
§room_id: OwnedRoomId
The room where the key is used.
session_id: String
The ID of the session that the key is for.
session_key: ExportedSessionKey
The key to be exchanged. Can be used to create a InboundGroupSession
that can be used to decrypt room events.
forwarding_curve25519_key_chain: Vec<Curve25519PublicKey>
Chain of Curve25519 keys. It starts out empty, but each time the key is forwarded to another device, the previous sender in the chain is added to the end of the list.
claimed_sender_key: Curve25519PublicKey
The Curve25519 key of the device which initiated the session originally.
It is ‘claimed’ because the receiving device has no way to tell that the original room_key actually came from a device which owns the private part of this key.
claimed_ed25519_key: Ed25519PublicKey
The Ed25519 key of the device which initiated the session originally.
It is ‘claimed’ because the receiving device has no way to tell that the original room_key actually came from a device which owns the private part of this key.
Trait Implementations§
Source§impl Debug for ForwardedMegolmV1AesSha2Content
Available on non-tarpaulin_include
only.
impl Debug for ForwardedMegolmV1AesSha2Content
tarpaulin_include
only.Source§impl<'de> Deserialize<'de> for ForwardedMegolmV1AesSha2Content
impl<'de> Deserialize<'de> for ForwardedMegolmV1AesSha2Content
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 From<&ForwardedMegolmV1AesSha2Content> for InboundGroupSession
impl From<&ForwardedMegolmV1AesSha2Content> for InboundGroupSession
Source§fn from(value: &ForwardedMegolmV1AesSha2Content) -> Self
fn from(value: &ForwardedMegolmV1AesSha2Content) -> Self
Auto Trait Implementations§
impl Freeze for ForwardedMegolmV1AesSha2Content
impl RefUnwindSafe for ForwardedMegolmV1AesSha2Content
impl Send for ForwardedMegolmV1AesSha2Content
impl Sync for ForwardedMegolmV1AesSha2Content
impl Unpin for ForwardedMegolmV1AesSha2Content
impl UnwindSafe for ForwardedMegolmV1AesSha2Content
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, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
Source§impl<T> Identity for Twhere
T: ?Sized,
impl<T> Identity for Twhere
T: ?Sized,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more