pub struct RoomEventCache { /* private fields */ }
Expand description
A subset of an event cache, for a room.
Cloning is shallow, and thus is cheap to do.
Implementations§
Source§impl RoomEventCache
impl RoomEventCache
Sourcepub async fn subscribe(
&self,
) -> Result<(Vec<SyncTimelineEvent>, Receiver<RoomEventCacheUpdate>)>
pub async fn subscribe( &self, ) -> Result<(Vec<SyncTimelineEvent>, Receiver<RoomEventCacheUpdate>)>
Subscribe to room updates for this room, after getting the initial list
of events. XXX: Could/should it use some kind of Observable
instead? Or not something async, like explicit handlers as our event
handlers?
Sourcepub fn pagination(&self) -> RoomPagination
pub fn pagination(&self) -> RoomPagination
Return a RoomPagination
API object useful for running
back-pagination queries in the current room.
Sourcepub async fn event(&self, event_id: &EventId) -> Option<SyncTimelineEvent>
pub async fn event(&self, event_id: &EventId) -> Option<SyncTimelineEvent>
Try to find an event by id in this room.
Sourcepub async fn event_with_relations(
&self,
event_id: &EventId,
filter: Option<Vec<RelationType>>,
) -> Option<(SyncTimelineEvent, Vec<SyncTimelineEvent>)>
pub async fn event_with_relations( &self, event_id: &EventId, filter: Option<Vec<RelationType>>, ) -> Option<(SyncTimelineEvent, Vec<SyncTimelineEvent>)>
Try to find an event by id in this room, along with its related events.
You can filter which types of related events to retrieve using
filter
. None
will retrieve related events of any type.
Sourcepub async fn clear(&self) -> Result<()>
pub async fn clear(&self) -> Result<()>
Clear all the storage for this RoomEventCache
.
This will get rid of all the events from the linked chunk and persisted storage.
Sourcepub async fn debug_string(&self) -> Vec<String>
pub async fn debug_string(&self) -> Vec<String>
Return a nice debug string (a vector of lines) for the linked chunk of events for this room.
Trait Implementations§
Source§impl Clone for RoomEventCache
impl Clone for RoomEventCache
Source§fn clone(&self) -> RoomEventCache
fn clone(&self) -> RoomEventCache
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreAuto Trait Implementations§
impl Freeze for RoomEventCache
impl !RefUnwindSafe for RoomEventCache
impl Send for RoomEventCache
impl Sync for RoomEventCache
impl Unpin for RoomEventCache
impl !UnwindSafe for RoomEventCache
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,
§impl<T> CompatExt for T
impl<T> CompatExt for T
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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