pub trait Event {
    type Id: Clone + Debug + Display + Eq + Ord + Hash + Borrow<EventId>;

    fn event_id(&self) -> &Self::Id;
    fn room_id(&self) -> &RoomId;
    fn sender(&self) -> &UserId;
    fn origin_server_ts(&self) -> MilliSecondsSinceUnixEpoch;
    fn event_type(&self) -> &RoomEventType;
    fn content(&self) -> &RawJsonValue;
    fn state_key(&self) -> Option<&str>;
    fn prev_events(&self) -> Box<dyn DoubleEndedIterator<Item = &Self::Id> + '_>;
    fn auth_events(&self) -> Box<dyn DoubleEndedIterator<Item = &Self::Id> + '_>;
    fn redacts(&self) -> Option<&Self::Id>;
Expand description

Abstraction of a PDU so users can have their own PDU types.

Required Associated Types

Required Methods

The EventId of this event.

The RoomId of this event.

The UserId of this event.

The time of creation on the originating server.

The event type.

The event’s content.

The state key for this event.

The events before this event.

All the authenticating events for this event.

If this event is a redaction event this is the event it redacts.

Implementations on Foreign Types