#[non_exhaustive]pub struct OriginalStateEvent<C>where
C: StaticStateEventContent,{
pub content: C,
pub event_id: OwnedEventId,
pub sender: OwnedUserId,
pub origin_server_ts: MilliSecondsSinceUnixEpoch,
pub room_id: OwnedRoomId,
pub state_key: <C as StateEventContent>::StateKey,
pub unsigned: <C as StaticStateEventContent>::Unsigned,
}events only.Expand description
An unredacted state event.
OriginalStateEvent implements the comparison traits using only the event_id field, a sorted
list would be sorted lexicographically based on the event’s EventId.
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.content: CData specific to the event type.
event_id: OwnedEventIdThe globally unique identifier for the event.
sender: OwnedUserIdThe fully-qualified ID of the user who sent this event.
origin_server_ts: MilliSecondsSinceUnixEpochTimestamp on the originating homeserver when this event was sent.
room_id: OwnedRoomIdThe ID of the room associated with this event.
state_key: <C as StateEventContent>::StateKeyA unique key which defines the overwriting semantics for this piece of room state.
This must be a string type, and is often an empty string.
A state event is keyed by its (type, state_key) tuple. Sending another state event with
the same tuple replaces the previous one.
unsigned: <C as StaticStateEventContent>::UnsignedAdditional key-value pairs not signed by the homeserver.
Implementations§
Source§impl<C> OriginalStateEvent<C>where
C: StaticStateEventContent,
impl<C> OriginalStateEvent<C>where
C: StaticStateEventContent,
Sourcepub fn event_type(&self) -> StateEventType
Available on crate feature unstable-msc3489 only.
pub fn event_type(&self) -> StateEventType
unstable-msc3489 only.Get the event’s type.
Source§impl OriginalStateEvent<RoomMemberEventContent>
impl OriginalStateEvent<RoomMemberEventContent>
Sourcepub fn details(&self) -> MembershipDetails<'_>
Available on crate feature unstable-msc3489 only.
pub fn details(&self) -> MembershipDetails<'_>
unstable-msc3489 only.Obtain the details about this event that are required to calculate a membership change.
This is required when you want to calculate the change a redacted m.room.member event
made.
Sourcepub fn prev_content(&self) -> Option<&PossiblyRedactedRoomMemberEventContent>
Available on crate feature unstable-msc3489 only.
pub fn prev_content(&self) -> Option<&PossiblyRedactedRoomMemberEventContent>
unstable-msc3489 only.Get a reference to the prev_content in unsigned, if it exists.
Shorthand for event.unsigned.prev_content.as_ref()
Sourcepub fn membership_change(&self) -> MembershipChange<'_>
Available on crate feature unstable-msc3489 only.
pub fn membership_change(&self) -> MembershipChange<'_>
unstable-msc3489 only.Helper function for membership change.
Check the specification for details.
Sourcepub fn should_redact_events(&self) -> bool
Available on crate features unstable-msc3489 and unstable-msc4293 only.
pub fn should_redact_events(&self) -> bool
unstable-msc3489 and unstable-msc4293 only.Determines whether the user’s events should be redacted based on their membership.
Using MSC4293, if redact_events is true, the sender is different to the state key,
and the membership is ban or leave (kick), true is returned. Otherwise, the flag
should be ignored, and false is returned.
Trait Implementations§
Source§impl<C> Clone for OriginalStateEvent<C>where
C: Clone + StaticStateEventContent,
<C as StateEventContent>::StateKey: Clone,
<C as StaticStateEventContent>::Unsigned: Clone,
impl<C> Clone for OriginalStateEvent<C>where
C: Clone + StaticStateEventContent,
<C as StateEventContent>::StateKey: Clone,
<C as StaticStateEventContent>::Unsigned: Clone,
Source§fn clone(&self) -> OriginalStateEvent<C>
fn clone(&self) -> OriginalStateEvent<C>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl<C> Debug for OriginalStateEvent<C>where
C: Debug + StaticStateEventContent,
<C as StateEventContent>::StateKey: Debug,
<C as StaticStateEventContent>::Unsigned: Debug,
impl<C> Debug for OriginalStateEvent<C>where
C: Debug + StaticStateEventContent,
<C as StateEventContent>::StateKey: Debug,
<C as StaticStateEventContent>::Unsigned: Debug,
Source§impl<'de, C> Deserialize<'de> for OriginalStateEvent<C>where
C: StaticStateEventContent + EventContentFromType,
impl<'de, C> Deserialize<'de> for OriginalStateEvent<C>where
C: StaticStateEventContent + EventContentFromType,
Source§fn deserialize<D>(
deserializer: D,
) -> Result<OriginalStateEvent<C>, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
fn deserialize<D>(
deserializer: D,
) -> Result<OriginalStateEvent<C>, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
Source§impl<C> From<OriginalStateEvent<C>> for OriginalSyncStateEvent<C>where
C: StaticStateEventContent,
impl<C> From<OriginalStateEvent<C>> for OriginalSyncStateEvent<C>where
C: StaticStateEventContent,
Source§fn from(event: OriginalStateEvent<C>) -> OriginalSyncStateEvent<C>
fn from(event: OriginalStateEvent<C>) -> OriginalSyncStateEvent<C>
Source§impl<C> Ord for OriginalStateEvent<C>where
C: StaticStateEventContent,
impl<C> Ord for OriginalStateEvent<C>where
C: StaticStateEventContent,
Source§fn cmp(&self, other: &OriginalStateEvent<C>) -> Ordering
fn cmp(&self, other: &OriginalStateEvent<C>) -> Ordering
Compares the EventIds of the events and orders them lexicographically.
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl<C> PartialEq for OriginalStateEvent<C>where
C: StaticStateEventContent,
impl<C> PartialEq for OriginalStateEvent<C>where
C: StaticStateEventContent,
Source§impl<C> PartialOrd for OriginalStateEvent<C>where
C: StaticStateEventContent,
impl<C> PartialOrd for OriginalStateEvent<C>where
C: StaticStateEventContent,
Source§impl SpaceChildOrd for OriginalStateEvent<SpaceChildEventContent>
impl SpaceChildOrd for OriginalStateEvent<SpaceChildEventContent>
Source§fn cmp_space_child(&self, other: &impl SpaceChildOrd) -> Ordering
fn cmp_space_child(&self, other: &impl SpaceChildOrd) -> Ordering
Ordering between self and other, using the algorithm for ordering
children within a space.impl<C> Eq for OriginalStateEvent<C>where
C: StaticStateEventContent,
impl<C> JsonCastable<AnyStateEvent> for OriginalStateEvent<C>where
C: StaticStateEventContent,
impl<C> JsonCastable<AnyStrippedStateEvent> for OriginalStateEvent<C>where
C: StaticStateEventContent,
impl<C> JsonCastable<AnySyncStateEvent> for OriginalStateEvent<C>where
C: StaticStateEventContent,
impl<C> JsonCastable<AnySyncTimelineEvent> for OriginalStateEvent<C>where
C: StaticStateEventContent,
impl<C> JsonCastable<AnyTimelineEvent> for OriginalStateEvent<C>where
C: StaticStateEventContent,
impl JsonCastable<HierarchySpaceChildEvent> for OriginalStateEvent<SpaceChildEventContent>
impl<C> JsonCastable<Map<String, Value>> for OriginalStateEvent<C>where
C: StaticStateEventContent,
impl<C> JsonCastable<OriginalSyncStateEvent<C>> for OriginalStateEvent<C>where
C: StaticStateEventContent,
impl<C> JsonCastable<StateEvent<C>> for OriginalStateEvent<C>where
C: StaticStateEventContent + RedactContent,
<C as RedactContent>::Redacted: RedactedStateEventContent,
impl<C> JsonCastable<StrippedStateEvent<<C as StaticStateEventContent>::PossiblyRedacted>> for OriginalStateEvent<C>
impl<C> JsonCastable<SyncStateEvent<C>> for OriginalStateEvent<C>where
C: StaticStateEventContent + RedactContent,
<C as RedactContent>::Redacted: RedactedStateEventContent,
impl RedactionEvent for OriginalStateEvent<RoomMemberEventContent>
unstable-msc4293 only.Auto Trait Implementations§
impl<C> Freeze for OriginalStateEvent<C>where
C: Freeze,
<C as StateEventContent>::StateKey: Freeze,
<C as StaticStateEventContent>::Unsigned: Freeze,
impl<C> RefUnwindSafe for OriginalStateEvent<C>where
C: RefUnwindSafe,
<C as StateEventContent>::StateKey: RefUnwindSafe,
<C as StaticStateEventContent>::Unsigned: RefUnwindSafe,
impl<C> Send for OriginalStateEvent<C>where
C: Send,
<C as StateEventContent>::StateKey: Send,
<C as StaticStateEventContent>::Unsigned: Send,
impl<C> Sync for OriginalStateEvent<C>where
C: Sync,
<C as StateEventContent>::StateKey: Sync,
<C as StaticStateEventContent>::Unsigned: Sync,
impl<C> Unpin for OriginalStateEvent<C>where
C: Unpin,
<C as StateEventContent>::StateKey: Unpin,
<C as StaticStateEventContent>::Unsigned: Unpin,
impl<C> UnsafeUnpin for OriginalStateEvent<C>where
C: UnsafeUnpin,
<C as StateEventContent>::StateKey: UnsafeUnpin,
<C as StaticStateEventContent>::Unsigned: UnsafeUnpin,
impl<C> UnwindSafe for OriginalStateEvent<C>where
C: UnwindSafe,
<C as StateEventContent>::StateKey: UnwindSafe,
<C as StaticStateEventContent>::Unsigned: UnwindSafe,
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<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
Source§impl<T> DropFlavorWrapper<T> for T
impl<T> DropFlavorWrapper<T> for T
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<T, UT> HandleAlloc<UT> for T
impl<T, UT> HandleAlloc<UT> for T
§fn new_handle(value: Arc<T>) -> Handle
fn new_handle(value: Arc<T>) -> Handle
§unsafe fn clone_handle(handle: Handle) -> Handle
unsafe fn clone_handle(handle: Handle) -> Handle
§unsafe fn consume_handle(handle: Handle) -> Arc<T>
unsafe fn consume_handle(handle: Handle) -> Arc<T>
Arc<> Read more