pub struct SqliteEventCacheStore { /* private fields */ }
Available on crate feature
sqlite
only.Expand description
A SQLite-based event cache store.
Implementations§
Source§impl SqliteEventCacheStore
impl SqliteEventCacheStore
Sourcepub async fn open(
path: impl AsRef<Path>,
passphrase: Option<&str>,
) -> Result<SqliteEventCacheStore, OpenStoreError>
pub async fn open( path: impl AsRef<Path>, passphrase: Option<&str>, ) -> Result<SqliteEventCacheStore, OpenStoreError>
Open the SQLite-based event cache store at the given path using the given passphrase to encrypt private data.
Sourcepub async fn open_with_pool(
pool: Pool<Manager>,
passphrase: Option<&str>,
) -> Result<SqliteEventCacheStore, OpenStoreError>
pub async fn open_with_pool( pool: Pool<Manager>, passphrase: Option<&str>, ) -> Result<SqliteEventCacheStore, OpenStoreError>
Open an SQLite-based event cache store using the given SQLite database pool. The given passphrase will be used to encrypt private data.
Trait Implementations§
Source§impl Clone for SqliteEventCacheStore
impl Clone for SqliteEventCacheStore
Source§fn clone(&self) -> SqliteEventCacheStore
fn clone(&self) -> SqliteEventCacheStore
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for SqliteEventCacheStore
Available on non-tarpaulin_include
only.
impl Debug for SqliteEventCacheStore
Available on non-
tarpaulin_include
only.Source§impl EventCacheStore for SqliteEventCacheStore
impl EventCacheStore for SqliteEventCacheStore
Source§fn try_take_leased_lock<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
lease_duration_ms: u32,
key: &'life1 str,
holder: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<bool, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
SqliteEventCacheStore: 'async_trait,
fn try_take_leased_lock<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
lease_duration_ms: u32,
key: &'life1 str,
holder: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<bool, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
SqliteEventCacheStore: 'async_trait,
Try to take a lock using the given store.
Source§fn handle_linked_chunk_updates<'life0, 'life1, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
updates: Vec<Update<SyncTimelineEvent, Gap>>,
) -> Pin<Box<dyn Future<Output = Result<(), <SqliteEventCacheStore as EventCacheStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteEventCacheStore: 'async_trait,
fn handle_linked_chunk_updates<'life0, 'life1, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
updates: Vec<Update<SyncTimelineEvent, Gap>>,
) -> Pin<Box<dyn Future<Output = Result<(), <SqliteEventCacheStore as EventCacheStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteEventCacheStore: 'async_trait,
An
Update
reflects an operation that has happened inside a linked
chunk. The linked chunk is used by the event cache to store the events
in-memory. This method aims at forwarding this update inside this store.Source§fn reload_linked_chunk<'life0, 'life1, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
) -> Pin<Box<dyn Future<Output = Result<Vec<RawChunk<SyncTimelineEvent, Gap>>, <SqliteEventCacheStore as EventCacheStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteEventCacheStore: 'async_trait,
fn reload_linked_chunk<'life0, 'life1, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
) -> Pin<Box<dyn Future<Output = Result<Vec<RawChunk<SyncTimelineEvent, Gap>>, <SqliteEventCacheStore as EventCacheStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteEventCacheStore: 'async_trait,
Return all the raw components of a linked chunk, so the caller may
reconstruct the linked chunk later.
Source§fn clear_all_rooms_chunks<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<(), <SqliteEventCacheStore as EventCacheStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
SqliteEventCacheStore: 'async_trait,
fn clear_all_rooms_chunks<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<(), <SqliteEventCacheStore as EventCacheStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
SqliteEventCacheStore: 'async_trait,
Clear persisted events for all the rooms. Read more
Source§fn add_media_content<'life0, 'life1, 'async_trait>(
&'life0 self,
request: &'life1 MediaRequestParameters,
content: Vec<u8>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteEventCacheStore: 'async_trait,
fn add_media_content<'life0, 'life1, 'async_trait>(
&'life0 self,
request: &'life1 MediaRequestParameters,
content: Vec<u8>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteEventCacheStore: 'async_trait,
Add a media file’s content in the media store. Read more
Source§fn replace_media_key<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
from: &'life1 MediaRequestParameters,
to: &'life2 MediaRequestParameters,
) -> Pin<Box<dyn Future<Output = Result<(), <SqliteEventCacheStore as EventCacheStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
SqliteEventCacheStore: 'async_trait,
fn replace_media_key<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
from: &'life1 MediaRequestParameters,
to: &'life2 MediaRequestParameters,
) -> Pin<Box<dyn Future<Output = Result<(), <SqliteEventCacheStore as EventCacheStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
SqliteEventCacheStore: 'async_trait,
Replaces the given media’s content key with another one. Read more
Source§fn get_media_content<'life0, 'life1, 'async_trait>(
&'life0 self,
request: &'life1 MediaRequestParameters,
) -> Pin<Box<dyn Future<Output = Result<Option<Vec<u8>>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteEventCacheStore: 'async_trait,
fn get_media_content<'life0, 'life1, 'async_trait>(
&'life0 self,
request: &'life1 MediaRequestParameters,
) -> Pin<Box<dyn Future<Output = Result<Option<Vec<u8>>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteEventCacheStore: 'async_trait,
Get a media file’s content out of the media store. Read more
Source§fn remove_media_content<'life0, 'life1, 'async_trait>(
&'life0 self,
request: &'life1 MediaRequestParameters,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteEventCacheStore: 'async_trait,
fn remove_media_content<'life0, 'life1, 'async_trait>(
&'life0 self,
request: &'life1 MediaRequestParameters,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteEventCacheStore: 'async_trait,
Remove a media file’s content from the media store. Read more
Source§fn get_media_content_for_uri<'life0, 'life1, 'async_trait>(
&'life0 self,
uri: &'life1 MxcUri,
) -> Pin<Box<dyn Future<Output = Result<Option<Vec<u8>>, <SqliteEventCacheStore as EventCacheStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteEventCacheStore: 'async_trait,
fn get_media_content_for_uri<'life0, 'life1, 'async_trait>(
&'life0 self,
uri: &'life1 MxcUri,
) -> Pin<Box<dyn Future<Output = Result<Option<Vec<u8>>, <SqliteEventCacheStore as EventCacheStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteEventCacheStore: 'async_trait,
Get a media file’s content associated to an
MxcUri
from the
media store. Read moreSource§fn remove_media_content_for_uri<'life0, 'life1, 'async_trait>(
&'life0 self,
uri: &'life1 MxcUri,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteEventCacheStore: 'async_trait,
fn remove_media_content_for_uri<'life0, 'life1, 'async_trait>(
&'life0 self,
uri: &'life1 MxcUri,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteEventCacheStore: 'async_trait,
Remove all the media files’ content associated to an
MxcUri
from the
media store. Read moreAuto Trait Implementations§
impl Freeze for SqliteEventCacheStore
impl !RefUnwindSafe for SqliteEventCacheStore
impl Send for SqliteEventCacheStore
impl Sync for SqliteEventCacheStore
impl Unpin for SqliteEventCacheStore
impl !UnwindSafe for SqliteEventCacheStore
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
Mutably borrows from an owned value. Read more
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>
Consume a handle, getting back the initial
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>
Converts
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>
Converts
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