Struct matrix_sdk_base::ruma::events::call::member::CallMemberEventContent
source · #[non_exhaustive]pub struct CallMemberEventContent {
pub memberships: Vec<Membership>,
}
unstable-msc3401
only.Expand description
The member state event for a matrixRTC session.
This is the object containing all the data related to a matrix users participation in a matrixRTC session. It consists of memberships / sessions.
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.memberships: Vec<Membership>
A list of all the memberships that user currently has in this room.
There can be multiple ones in cases the user participates with multiple devices or there are multiple RTC applications running.
e.g. a call and a spacial experience.
Important: This includes expired memberships.
To retrieve a list including only valid memberships,
see active_memberships
.
Implementations§
source§impl CallMemberEventContent
impl CallMemberEventContent
sourcepub fn new(memberships: Vec<Membership>) -> CallMemberEventContent
pub fn new(memberships: Vec<Membership>) -> CallMemberEventContent
Creates a new CallMemberEventContent
.
sourcepub fn active_memberships(
&self,
origin_server_ts: Option<MilliSecondsSinceUnixEpoch>
) -> Vec<&Membership>
pub fn active_memberships( &self, origin_server_ts: Option<MilliSecondsSinceUnixEpoch> ) -> Vec<&Membership>
All non expired memberships in this member event.
In most cases you want tu use this method instead of the public memberships field. The memberships field will also include expired events.
§Arguments
origin_server_ts
- optionally theorigin_server_ts
can be passed as a fallback in case the Membership does not containcreated_ts
. (origin_server_ts
will be ignored ifcreated_ts
isSome
)
sourcepub fn set_created_ts_if_none(
&mut self,
origin_server_ts: MilliSecondsSinceUnixEpoch
)
pub fn set_created_ts_if_none( &mut self, origin_server_ts: MilliSecondsSinceUnixEpoch )
Set the created_ts
of each Membership in this event.
Each call member event contains the origin_server_ts
and content.create_ts
.
content.create_ts
is undefined for the initial event of a session (because the
origin_server_ts
is not known on the client).
In the rust sdk we want to copy over the origin_server_ts
of the event into the content.
(This allows to use MinimalStateEvents
and still be able to determine if a membership is
expired)
Trait Implementations§
source§impl Clone for CallMemberEventContent
impl Clone for CallMemberEventContent
source§fn clone(&self) -> CallMemberEventContent
fn clone(&self) -> CallMemberEventContent
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for CallMemberEventContent
impl Debug for CallMemberEventContent
source§impl<'de> Deserialize<'de> for CallMemberEventContent
impl<'de> Deserialize<'de> for CallMemberEventContent
source§fn deserialize<__D>(
__deserializer: __D
) -> Result<CallMemberEventContent, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D
) -> Result<CallMemberEventContent, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
source§impl EventContent for CallMemberEventContent
impl EventContent for CallMemberEventContent
§type EventType = StateEventType
type EventType = StateEventType
source§fn event_type(&self) -> <CallMemberEventContent as EventContent>::EventType
fn event_type(&self) -> <CallMemberEventContent as EventContent>::EventType
m.room.message
.source§impl From<CallMemberEventContent> for AnyStateEventContent
impl From<CallMemberEventContent> for AnyStateEventContent
source§fn from(c: CallMemberEventContent) -> AnyStateEventContent
fn from(c: CallMemberEventContent) -> AnyStateEventContent
source§impl RedactContent for CallMemberEventContent
impl RedactContent for CallMemberEventContent
§type Redacted = RedactedCallMemberEventContent
type Redacted = RedactedCallMemberEventContent
source§fn redact(self, version: &RoomVersionId) -> RedactedCallMemberEventContent
fn redact(self, version: &RoomVersionId) -> RedactedCallMemberEventContent
self
into a redacted form (removing most or all fields) according to the spec. Read moresource§impl Serialize for CallMemberEventContent
impl Serialize for CallMemberEventContent
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,
source§impl StateEventContent for CallMemberEventContent
impl StateEventContent for CallMemberEventContent
§type StateKey = OwnedUserId
type StateKey = OwnedUserId
state_key
field.source§impl StaticStateEventContent for CallMemberEventContent
impl StaticStateEventContent for CallMemberEventContent
§type PossiblyRedacted = PossiblyRedactedCallMemberEventContent
type PossiblyRedacted = PossiblyRedactedCallMemberEventContent
§type Unsigned = StateUnsigned<<CallMemberEventContent as StaticStateEventContent>::PossiblyRedacted>
type Unsigned = StateUnsigned<<CallMemberEventContent as StaticStateEventContent>::PossiblyRedacted>
unsigned
field.Auto Trait Implementations§
impl Freeze for CallMemberEventContent
impl RefUnwindSafe for CallMemberEventContent
impl Send for CallMemberEventContent
impl Sync for CallMemberEventContent
impl Unpin for CallMemberEventContent
impl UnwindSafe for CallMemberEventContent
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
§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,
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