#[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 OriginalStateEvent<RoomMemberEventContent>
 
impl OriginalStateEvent<RoomMemberEventContent>
Sourcepub fn details(&self) -> MembershipDetails<'_>
 
pub fn details(&self) -> MembershipDetails<'_>
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<&RoomMemberEventContent>
 
pub fn prev_content(&self) -> Option<&RoomMemberEventContent>
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<'_>
 
pub fn membership_change(&self) -> MembershipChange<'_>
Helper function for membership change.
Check the specification for details.
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 EventIds 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,
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> 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<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.