Struct matrix_sdk_base::ruma::events::call::negotiate::CallNegotiateEventContent
#[non_exhaustive]pub struct CallNegotiateEventContent {
pub call_id: OwnedVoipId,
pub party_id: OwnedVoipId,
pub version: VoipVersionId,
pub lifetime: UInt,
pub description: SessionDescription,
}
Expand description
Added in VoIP version 1. The content of an m.call.negotiate
event.
This event is sent by either party after the call is established to renegotiate it. It can be used for media pause, hold/resume, ICE restarts and voice/video call up/downgrading.
First an event must be sent with an offer
session description, which is replied to with an
event with an answer
session description.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.call_id: OwnedVoipId
The ID of the call this event relates to.
party_id: OwnedVoipId
The unique ID for this session for the duration of the call.
Must be the same as the one sent by the previous invite or answer from this session.
version: VoipVersionId
The version of the VoIP specification this messages adheres to.
lifetime: UInt
The time in milliseconds that the negotiation is valid for.
description: SessionDescription
The session description of the negotiation.
Implementations§
§impl CallNegotiateEventContent
impl CallNegotiateEventContent
pub fn new(
call_id: OwnedVoipId,
party_id: OwnedVoipId,
version: VoipVersionId,
lifetime: UInt,
description: SessionDescription
) -> CallNegotiateEventContent
pub fn new( call_id: OwnedVoipId, party_id: OwnedVoipId, version: VoipVersionId, lifetime: UInt, description: SessionDescription ) -> CallNegotiateEventContent
Creates a CallNegotiateEventContent
with the given call ID, party ID, lifetime and
description.
pub fn version_1(
call_id: OwnedVoipId,
party_id: OwnedVoipId,
lifetime: UInt,
description: SessionDescription
) -> CallNegotiateEventContent
pub fn version_1( call_id: OwnedVoipId, party_id: OwnedVoipId, lifetime: UInt, description: SessionDescription ) -> CallNegotiateEventContent
Convenience method to create a version 1 CallNegotiateEventContent
with all the required
fields.
Trait Implementations§
§impl Clone for CallNegotiateEventContent
impl Clone for CallNegotiateEventContent
§fn clone(&self) -> CallNegotiateEventContent
fn clone(&self) -> CallNegotiateEventContent
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more§impl Debug for CallNegotiateEventContent
impl Debug for CallNegotiateEventContent
§impl<'de> Deserialize<'de> for CallNegotiateEventContent
impl<'de> Deserialize<'de> for CallNegotiateEventContent
§fn deserialize<__D>(
__deserializer: __D
) -> Result<CallNegotiateEventContent, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D
) -> Result<CallNegotiateEventContent, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
§impl EventContent for CallNegotiateEventContent
impl EventContent for CallNegotiateEventContent
§type EventType = MessageLikeEventType
type EventType = MessageLikeEventType
§fn event_type(&self) -> <CallNegotiateEventContent as EventContent>::EventType
fn event_type(&self) -> <CallNegotiateEventContent as EventContent>::EventType
m.room.message
.§impl From<CallNegotiateEventContent> for AnyMessageLikeEventContent
impl From<CallNegotiateEventContent> for AnyMessageLikeEventContent
§fn from(c: CallNegotiateEventContent) -> AnyMessageLikeEventContent
fn from(c: CallNegotiateEventContent) -> AnyMessageLikeEventContent
§impl RedactContent for CallNegotiateEventContent
impl RedactContent for CallNegotiateEventContent
§type Redacted = RedactedCallNegotiateEventContent
type Redacted = RedactedCallNegotiateEventContent
§fn redact(self, version: &RoomVersionId) -> RedactedCallNegotiateEventContent
fn redact(self, version: &RoomVersionId) -> RedactedCallNegotiateEventContent
self
into a redacted form (removing most or all fields) according to the spec. Read more