[]Struct matrix_sdk::events::forwarded_room_key::ForwardedRoomKeyToDeviceEventContent

pub struct ForwardedRoomKeyToDeviceEventContent {
    pub algorithm: EventEncryptionAlgorithm,
    pub room_id: RoomId,
    pub sender_key: String,
    pub session_id: String,
    pub session_key: String,
    pub sender_claimed_ed25519_key: String,
    pub forwarding_curve25519_key_chain: Vec<String, Global>,
}

The payload for ForwardedRoomKeyEvent.

Fields

algorithm: EventEncryptionAlgorithm

The encryption algorithm the key in this event is to be used with.

room_id: RoomId

The room where the key is used.

sender_key: String

The Curve25519 key of the device which initiated the session originally.

session_id: String

The ID of the session that the key is for.

session_key: String

The key to be exchanged.

sender_claimed_ed25519_key: String

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 unless they have done device verification.

forwarding_curve25519_key_chain: Vec<String, Global>

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. For example, if the key is forwarded from A to B to C, this field is empty between A and B, and contains A's Curve25519 key between B and C.

Trait Implementations

impl BasicEventContent for ForwardedRoomKeyToDeviceEventContent

impl Clone for ForwardedRoomKeyToDeviceEventContent

impl Debug for ForwardedRoomKeyToDeviceEventContent

impl<'de> Deserialize<'de> for ForwardedRoomKeyToDeviceEventContent

impl EventContent for ForwardedRoomKeyToDeviceEventContent

impl From<ForwardedRoomKeyToDeviceEventContent> for ExportedRoomKey

pub fn from(
    forwarded_key: ForwardedRoomKeyToDeviceEventContent
) -> ExportedRoomKey

Convert the content of a forwarded room key into a exported room key.

impl Serialize for ForwardedRoomKeyToDeviceEventContent

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> AsyncTraitDeps for T where
    T: Send + Sync + Debug
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Conv for T

impl<T> Conv for T

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]

impl<T> FmtForward for T

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pipe for T where
    T: ?Sized

impl<T> Pipe for T

impl<T> PipeAsRef for T

impl<T> PipeBorrow for T

impl<T> PipeDeref for T

impl<T> PipeRef for T

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> Tap for T

impl<T> Tap for T

impl<T, U> TapAsRef<U> for T where
    U: ?Sized

impl<T, U> TapBorrow<U> for T where
    U: ?Sized

impl<T> TapDeref for T

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> TryConv for T

impl<T> TryConv for T

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 

impl<T> WithSubscriber for T[src]