#[non_exhaustive]pub struct CallInviteEventContent {
pub call_id: OwnedVoipId,
pub party_id: Option<OwnedVoipId>,
pub lifetime: UInt,
pub offer: SessionDescription,
pub version: VoipVersionId,
pub invitee: Option<OwnedUserId>,
pub sdp_stream_metadata: BTreeMap<String, StreamMetadata>,
}
Expand description
The content of an m.call.invite
event.
This event is sent by the caller when they wish to establish a call.
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
A unique identifier for the call.
party_id: Option<OwnedVoipId>
Required in VoIP version 1. A unique ID for this session for the duration of the call.
lifetime: UInt
The time in milliseconds that the invite is valid for.
Once the invite age exceeds this value, clients should discard it. They should also no longer show the call as awaiting an answer in the UI.
offer: SessionDescription
The session description object.
version: VoipVersionId
The version of the VoIP specification this messages adheres to.
invitee: Option<OwnedUserId>
Added in VoIP version 1. The intended target of the invite, if any.
If this is None
, the invite is intended for any member of the room, except the sender.
The invite should be ignored if the invitee is set and doesn’t match the user’s ID.
sdp_stream_metadata: BTreeMap<String, StreamMetadata>
Added in VoIP version 1. Metadata describing the streams that will be sent.
This is a map of stream ID to metadata about the stream.
Implementations§
Source§impl CallInviteEventContent
impl CallInviteEventContent
Sourcepub fn new(
call_id: OwnedVoipId,
lifetime: UInt,
offer: SessionDescription,
version: VoipVersionId,
) -> CallInviteEventContent
pub fn new( call_id: OwnedVoipId, lifetime: UInt, offer: SessionDescription, version: VoipVersionId, ) -> CallInviteEventContent
Creates a new CallInviteEventContent
with the given call ID, lifetime, offer and VoIP
version.
Sourcepub fn version_0(
call_id: OwnedVoipId,
lifetime: UInt,
offer: SessionDescription,
) -> CallInviteEventContent
pub fn version_0( call_id: OwnedVoipId, lifetime: UInt, offer: SessionDescription, ) -> CallInviteEventContent
Convenience method to create a version 0 CallInviteEventContent
with all the required
fields.
Sourcepub fn version_1(
call_id: OwnedVoipId,
party_id: OwnedVoipId,
lifetime: UInt,
offer: SessionDescription,
) -> CallInviteEventContent
pub fn version_1( call_id: OwnedVoipId, party_id: OwnedVoipId, lifetime: UInt, offer: SessionDescription, ) -> CallInviteEventContent
Convenience method to create a version 1 CallInviteEventContent
with all the required
fields.
Trait Implementations§
Source§impl Clone for CallInviteEventContent
impl Clone for CallInviteEventContent
Source§fn clone(&self) -> CallInviteEventContent
fn clone(&self) -> CallInviteEventContent
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for CallInviteEventContent
impl Debug for CallInviteEventContent
Source§impl<'de> Deserialize<'de> for CallInviteEventContent
impl<'de> Deserialize<'de> for CallInviteEventContent
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<CallInviteEventContent, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<CallInviteEventContent, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl EventContent for CallInviteEventContent
impl EventContent for CallInviteEventContent
Source§type EventType = MessageLikeEventType
type EventType = MessageLikeEventType
Source§fn event_type(&self) -> <CallInviteEventContent as EventContent>::EventType
fn event_type(&self) -> <CallInviteEventContent as EventContent>::EventType
m.room.message
.Source§impl From<CallInviteEventContent> for AnyMessageLikeEventContent
impl From<CallInviteEventContent> for AnyMessageLikeEventContent
Source§fn from(c: CallInviteEventContent) -> AnyMessageLikeEventContent
fn from(c: CallInviteEventContent) -> AnyMessageLikeEventContent
Source§impl RedactContent for CallInviteEventContent
impl RedactContent for CallInviteEventContent
Source§type Redacted = RedactedCallInviteEventContent
type Redacted = RedactedCallInviteEventContent
Source§fn redact(self, version: &RoomVersionId) -> RedactedCallInviteEventContent
fn redact(self, version: &RoomVersionId) -> RedactedCallInviteEventContent
self
into a redacted form (removing most or all fields) according to the spec. Read moreSource§impl Serialize for CallInviteEventContent
impl Serialize for CallInviteEventContent
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 CallInviteEventContent
Auto Trait Implementations§
impl Freeze for CallInviteEventContent
impl RefUnwindSafe for CallInviteEventContent
impl Send for CallInviteEventContent
impl Sync for CallInviteEventContent
impl Unpin for CallInviteEventContent
impl UnwindSafe for CallInviteEventContent
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,
§impl<T> CompatExt for T
impl<T> CompatExt for T
Source§impl<T> EventContentFromType for Twhere
T: EventContent + DeserializeOwned,
impl<T> EventContentFromType for Twhere
T: EventContent + DeserializeOwned,
Source§impl<T, UT> HandleAlloc<UT> for T
impl<T, UT> HandleAlloc<UT> for T
Source§fn consume_handle(handle: Handle) -> Arc<T>
fn consume_handle(handle: Handle) -> Arc<T>
Arc<>
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,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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