pub struct SyncTimelineEvent {
pub kind: TimelineEventKind,
pub push_actions: Vec<Action>,
}
Expand description
Represents a matrix room event that has been returned from /sync
,
after initial processing.
Previously, this differed from TimelineEvent
by wrapping an
AnySyncTimelineEvent
instead of an AnyTimelineEvent
, but nowadays
they are essentially identical, and one of them should probably be removed.
Fields§
§kind: TimelineEventKind
The event itself, together with any information on decryption.
push_actions: Vec<Action>
The push actions associated with this event.
Implementations§
Source§impl SyncTimelineEvent
impl SyncTimelineEvent
Sourcepub fn new(event: Raw<AnySyncTimelineEvent>) -> Self
pub fn new(event: Raw<AnySyncTimelineEvent>) -> Self
Create a new SyncTimelineEvent
from the given raw event.
This is a convenience constructor for a plaintext event when you don’t
need to set push_action
, for example inside a test.
Sourcepub fn new_with_push_actions(
event: Raw<AnySyncTimelineEvent>,
push_actions: Vec<Action>,
) -> Self
pub fn new_with_push_actions( event: Raw<AnySyncTimelineEvent>, push_actions: Vec<Action>, ) -> Self
Create a new SyncTimelineEvent
from the given raw event and push
actions.
This is a convenience constructor for a plaintext event, for example inside a test.
Sourcepub fn new_utd_event(
event: Raw<AnySyncTimelineEvent>,
utd_info: UnableToDecryptInfo,
) -> Self
pub fn new_utd_event( event: Raw<AnySyncTimelineEvent>, utd_info: UnableToDecryptInfo, ) -> Self
Create a new SyncTimelineEvent
to represent the given decryption
failure.
Sourcepub fn event_id(&self) -> Option<OwnedEventId>
pub fn event_id(&self) -> Option<OwnedEventId>
Get the event id of this SyncTimelineEvent
if the event has any valid
id.
Sourcepub fn raw(&self) -> &Raw<AnySyncTimelineEvent>
pub fn raw(&self) -> &Raw<AnySyncTimelineEvent>
Returns a reference to the (potentially decrypted) Matrix event inside
this TimelineEvent
.
Sourcepub fn encryption_info(&self) -> Option<&EncryptionInfo>
pub fn encryption_info(&self) -> Option<&EncryptionInfo>
If the event was a decrypted event that was successfully decrypted, get
its encryption info. Otherwise, None
.
Sourcepub fn into_raw(self) -> Raw<AnySyncTimelineEvent>
pub fn into_raw(self) -> Raw<AnySyncTimelineEvent>
Takes ownership of this TimelineEvent
, returning the (potentially
decrypted) Matrix event within.
Trait Implementations§
Source§impl Clone for SyncTimelineEvent
impl Clone for SyncTimelineEvent
Source§fn clone(&self) -> SyncTimelineEvent
fn clone(&self) -> SyncTimelineEvent
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for SyncTimelineEvent
impl Debug for SyncTimelineEvent
Source§impl<'de> Deserialize<'de> for SyncTimelineEvent
impl<'de> Deserialize<'de> for SyncTimelineEvent
Source§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
Custom deserializer for SyncTimelineEvent
, to support older formats.
Ideally we might use an untagged enum and then convert from that; however, that doesn’t work due to a serde bug.
Instead, we first deserialize into an unstructured JSON map, and then inspect the json to figure out which format we have.