#[non_exhaustive]pub struct CallNegotiateEventContent {
pub call_id: OwnedVoipId,
pub party_id: OwnedVoipId,
pub version: VoipVersionId,
pub lifetime: UInt,
pub description: SessionDescription,
pub sdp_stream_metadata: BTreeMap<String, StreamMetadata>,
}
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.
sdp_stream_metadata: BTreeMap<String, StreamMetadata>
Metadata describing the streams that will be sent.
This is a map of stream ID to metadata about the stream.
Implementations§
Source§impl CallNegotiateEventContent
impl CallNegotiateEventContent
Sourcepub 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.
Sourcepub 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§
Source§impl Clone for CallNegotiateEventContent
impl Clone for CallNegotiateEventContent
Source§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 moreSource§impl Debug for CallNegotiateEventContent
impl Debug for CallNegotiateEventContent
Source§impl<'de> Deserialize<'de> for CallNegotiateEventContent
impl<'de> Deserialize<'de> for CallNegotiateEventContent
Source§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>,
Source§impl EventContent for CallNegotiateEventContent
impl EventContent for CallNegotiateEventContent
Source§type EventType = MessageLikeEventType
type EventType = MessageLikeEventType
Source§fn event_type(&self) -> <CallNegotiateEventContent as EventContent>::EventType
fn event_type(&self) -> <CallNegotiateEventContent as EventContent>::EventType
m.room.message
.Source§impl From<CallNegotiateEventContent> for AnyMessageLikeEventContent
impl From<CallNegotiateEventContent> for AnyMessageLikeEventContent
Source§fn from(c: CallNegotiateEventContent) -> AnyMessageLikeEventContent
fn from(c: CallNegotiateEventContent) -> AnyMessageLikeEventContent
Source§impl RedactContent for CallNegotiateEventContent
impl RedactContent for CallNegotiateEventContent
Source§type Redacted = RedactedCallNegotiateEventContent
type Redacted = RedactedCallNegotiateEventContent
Source§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 moreSource§impl Serialize for CallNegotiateEventContent
impl Serialize for CallNegotiateEventContent
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
impl MessageLikeEventContent for CallNegotiateEventContent
Auto Trait Implementations§
impl Freeze for CallNegotiateEventContent
impl RefUnwindSafe for CallNegotiateEventContent
impl Send for CallNegotiateEventContent
impl Sync for CallNegotiateEventContent
impl Unpin for CallNegotiateEventContent
impl UnwindSafe for CallNegotiateEventContent
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> EventContentFromType for Twhere
T: EventContent + DeserializeOwned,
impl<T> EventContentFromType for Twhere
T: EventContent + DeserializeOwned,
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