Struct ruma::events::forwarded_room_key::ForwardedRoomKeyToDeviceEventContent [−][src]
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>,
}
events
only.Expand description
The payload for ForwardedRoomKeyEvent
.
To create an instance of this type, first create a ForwardedRoomKeyToDeviceEventContentInit
and convert it via ForwardedRoomKeyToDeviceEventContent::from
/ .into()
.
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
pub fn deserialize<__D>(
__deserializer: __D
) -> Result<ForwardedRoomKeyToDeviceEventContent, <__D as Deserializer<'de>>::Error> where
__D: Deserializer<'de>,
pub fn deserialize<__D>(
__deserializer: __D
) -> Result<ForwardedRoomKeyToDeviceEventContent, <__D as Deserializer<'de>>::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
A matrix event identifier, like m.room.message
.
pub fn from_parts(
ev_type: &str,
content: &RawValue
) -> Result<ForwardedRoomKeyToDeviceEventContent, Error>
pub fn from_parts(
ev_type: &str,
content: &RawValue
) -> Result<ForwardedRoomKeyToDeviceEventContent, Error>
Constructs the given event content.
Performs the conversion.
Performs the conversion.
pub fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error> where
__S: Serializer,
pub fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error> where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
Auto Trait Implementations
impl Send for ForwardedRoomKeyToDeviceEventContent
impl Sync for ForwardedRoomKeyToDeviceEventContent
Blanket Implementations
Mutably borrows from an owned value. Read more
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
type Output = T
type Output = T
Should always be Self
pub fn vzip(self) -> V
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more