Struct matrix_sdk::SqliteStateStore
source · pub struct SqliteStateStore { /* private fields */ }
Available on crate feature
sqlite
only.Expand description
A sqlite based cryptostore.
Implementations§
source§impl SqliteStateStore
impl SqliteStateStore
sourcepub async fn open(
path: impl AsRef<Path>,
passphrase: Option<&str>,
) -> Result<SqliteStateStore, OpenStoreError>
pub async fn open( path: impl AsRef<Path>, passphrase: Option<&str>, ) -> Result<SqliteStateStore, OpenStoreError>
Open the sqlite-based state 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<SqliteStateStore, OpenStoreError>
pub async fn open_with_pool( pool: Pool<Manager>, passphrase: Option<&str>, ) -> Result<SqliteStateStore, OpenStoreError>
Create a sqlite-based state store using the given sqlite database pool. The given passphrase will be used to encrypt private data.
Trait Implementations§
source§impl Clone for SqliteStateStore
impl Clone for SqliteStateStore
source§fn clone(&self) -> SqliteStateStore
fn clone(&self) -> SqliteStateStore
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 SqliteStateStore
Available on non-tarpaulin_include
only.
impl Debug for SqliteStateStore
Available on non-
tarpaulin_include
only.source§impl StateStore for SqliteStateStore
impl StateStore for SqliteStateStore
source§fn get_kv_data<'life0, 'life1, 'async_trait>(
&'life0 self,
key: StateStoreDataKey<'life1>,
) -> Pin<Box<dyn Future<Output = Result<Option<StateStoreDataValue>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteStateStore: 'async_trait,
fn get_kv_data<'life0, 'life1, 'async_trait>(
&'life0 self,
key: StateStoreDataKey<'life1>,
) -> Pin<Box<dyn Future<Output = Result<Option<StateStoreDataValue>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteStateStore: 'async_trait,
Get key-value data from the store. Read more
source§fn set_kv_data<'life0, 'life1, 'async_trait>(
&'life0 self,
key: StateStoreDataKey<'life1>,
value: StateStoreDataValue,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteStateStore: 'async_trait,
fn set_kv_data<'life0, 'life1, 'async_trait>(
&'life0 self,
key: StateStoreDataKey<'life1>,
value: StateStoreDataValue,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteStateStore: 'async_trait,
Put key-value data into the store. Read more
source§fn remove_kv_data<'life0, 'life1, 'async_trait>(
&'life0 self,
key: StateStoreDataKey<'life1>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteStateStore: 'async_trait,
fn remove_kv_data<'life0, 'life1, 'async_trait>(
&'life0 self,
key: StateStoreDataKey<'life1>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteStateStore: 'async_trait,
Remove key-value data from the store. Read more
source§fn save_changes<'life0, 'life1, 'async_trait>(
&'life0 self,
changes: &'life1 StateChanges,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteStateStore: 'async_trait,
fn save_changes<'life0, 'life1, 'async_trait>(
&'life0 self,
changes: &'life1 StateChanges,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteStateStore: 'async_trait,
Save the set of state changes in the store.
source§fn get_presence_event<'life0, 'life1, 'async_trait>(
&'life0 self,
user_id: &'life1 UserId,
) -> Pin<Box<dyn Future<Output = Result<Option<Raw<PresenceEvent>>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteStateStore: 'async_trait,
fn get_presence_event<'life0, 'life1, 'async_trait>(
&'life0 self,
user_id: &'life1 UserId,
) -> Pin<Box<dyn Future<Output = Result<Option<Raw<PresenceEvent>>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteStateStore: 'async_trait,
Get the stored presence event for the given user. Read more
source§fn get_presence_events<'life0, 'life1, 'async_trait>(
&'life0 self,
user_ids: &'life1 [OwnedUserId],
) -> Pin<Box<dyn Future<Output = Result<Vec<Raw<PresenceEvent>>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteStateStore: 'async_trait,
fn get_presence_events<'life0, 'life1, 'async_trait>(
&'life0 self,
user_ids: &'life1 [OwnedUserId],
) -> Pin<Box<dyn Future<Output = Result<Vec<Raw<PresenceEvent>>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteStateStore: 'async_trait,
Get the stored presence events for the given users. Read more
source§fn get_state_event<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
event_type: StateEventType,
state_key: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<Option<RawAnySyncOrStrippedState>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
SqliteStateStore: 'async_trait,
fn get_state_event<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
event_type: StateEventType,
state_key: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<Option<RawAnySyncOrStrippedState>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
SqliteStateStore: 'async_trait,
Get a state event out of the state store. Read more
source§fn get_state_events<'life0, 'life1, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
event_type: StateEventType,
) -> Pin<Box<dyn Future<Output = Result<Vec<RawAnySyncOrStrippedState>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteStateStore: 'async_trait,
fn get_state_events<'life0, 'life1, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
event_type: StateEventType,
) -> Pin<Box<dyn Future<Output = Result<Vec<RawAnySyncOrStrippedState>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteStateStore: 'async_trait,
Get a list of state events for a given room and
StateEventType
. Read moresource§fn get_state_events_for_keys<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
event_type: StateEventType,
state_keys: &'life2 [&'life3 str],
) -> Pin<Box<dyn Future<Output = Result<Vec<RawAnySyncOrStrippedState>, <SqliteStateStore as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
SqliteStateStore: 'async_trait,
fn get_state_events_for_keys<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
event_type: StateEventType,
state_keys: &'life2 [&'life3 str],
) -> Pin<Box<dyn Future<Output = Result<Vec<RawAnySyncOrStrippedState>, <SqliteStateStore as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
SqliteStateStore: 'async_trait,
Get a list of state events for a given room,
StateEventType
, and the
given state keys. Read moresource§fn get_profile<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
user_id: &'life2 UserId,
) -> Pin<Box<dyn Future<Output = Result<Option<MinimalStateEvent<RoomMemberEventContent>>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
SqliteStateStore: 'async_trait,
fn get_profile<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
user_id: &'life2 UserId,
) -> Pin<Box<dyn Future<Output = Result<Option<MinimalStateEvent<RoomMemberEventContent>>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
SqliteStateStore: 'async_trait,
Get the current profile for the given user in the given room. Read more
source§fn get_profiles<'a, 'life0, 'life1, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
user_ids: &'a [OwnedUserId],
) -> Pin<Box<dyn Future<Output = Result<BTreeMap<&'a UserId, MinimalStateEvent<RoomMemberEventContent>>, Error>> + Send + 'async_trait>>where
'a: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
SqliteStateStore: 'async_trait,
fn get_profiles<'a, 'life0, 'life1, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
user_ids: &'a [OwnedUserId],
) -> Pin<Box<dyn Future<Output = Result<BTreeMap<&'a UserId, MinimalStateEvent<RoomMemberEventContent>>, Error>> + Send + 'async_trait>>where
'a: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
SqliteStateStore: 'async_trait,
Get the current profiles for the given users in the given room. Read more
source§fn get_user_ids<'life0, 'life1, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
membership: RoomMemberships,
) -> Pin<Box<dyn Future<Output = Result<Vec<OwnedUserId>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteStateStore: 'async_trait,
fn get_user_ids<'life0, 'life1, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
membership: RoomMemberships,
) -> Pin<Box<dyn Future<Output = Result<Vec<OwnedUserId>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteStateStore: 'async_trait,
Get the user ids of members for a given room with the given memberships,
for stripped and regular rooms alike.
source§fn get_invited_user_ids<'life0, 'life1, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
) -> Pin<Box<dyn Future<Output = Result<Vec<OwnedUserId>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteStateStore: 'async_trait,
fn get_invited_user_ids<'life0, 'life1, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
) -> Pin<Box<dyn Future<Output = Result<Vec<OwnedUserId>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteStateStore: 'async_trait,
👎Deprecated: Use get_user_ids with RoomMemberships::INVITE instead.
Get all the user ids of members that are in the invited state for a
given room, for stripped and regular rooms alike.
source§fn get_joined_user_ids<'life0, 'life1, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
) -> Pin<Box<dyn Future<Output = Result<Vec<OwnedUserId>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteStateStore: 'async_trait,
fn get_joined_user_ids<'life0, 'life1, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
) -> Pin<Box<dyn Future<Output = Result<Vec<OwnedUserId>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteStateStore: 'async_trait,
👎Deprecated: Use get_user_ids with RoomMemberships::JOIN instead.
Get all the user ids of members that are in the joined state for a
given room, for stripped and regular rooms alike.
source§fn get_room_infos<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<RoomInfo>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
SqliteStateStore: 'async_trait,
fn get_room_infos<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<RoomInfo>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
SqliteStateStore: 'async_trait,
Get all the pure
RoomInfo
s the store knows about.source§fn get_stripped_room_infos<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<RoomInfo>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
SqliteStateStore: 'async_trait,
fn get_stripped_room_infos<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<RoomInfo>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
SqliteStateStore: 'async_trait,
👎Deprecated: Use get_room_infos instead and filter by RoomState
Get all the pure
RoomInfo
s the store knows about.source§fn get_users_with_display_name<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
display_name: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<BTreeSet<OwnedUserId>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
SqliteStateStore: 'async_trait,
fn get_users_with_display_name<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
display_name: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<BTreeSet<OwnedUserId>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
SqliteStateStore: 'async_trait,
Get all the users that use the given display name in the given room. Read more
source§fn get_users_with_display_names<'a, 'life0, 'life1, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
display_names: &'a [String],
) -> Pin<Box<dyn Future<Output = Result<BTreeMap<&'a str, BTreeSet<OwnedUserId>>, Error>> + Send + 'async_trait>>where
'a: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
SqliteStateStore: 'async_trait,
fn get_users_with_display_names<'a, 'life0, 'life1, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
display_names: &'a [String],
) -> Pin<Box<dyn Future<Output = Result<BTreeMap<&'a str, BTreeSet<OwnedUserId>>, Error>> + Send + 'async_trait>>where
'a: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
SqliteStateStore: 'async_trait,
Get all the users that use the given display names in the given room. Read more
source§fn get_account_data_event<'life0, 'async_trait>(
&'life0 self,
event_type: GlobalAccountDataEventType,
) -> Pin<Box<dyn Future<Output = Result<Option<Raw<AnyGlobalAccountDataEvent>>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
SqliteStateStore: 'async_trait,
fn get_account_data_event<'life0, 'async_trait>(
&'life0 self,
event_type: GlobalAccountDataEventType,
) -> Pin<Box<dyn Future<Output = Result<Option<Raw<AnyGlobalAccountDataEvent>>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
SqliteStateStore: 'async_trait,
Get an event out of the account data store. Read more
source§fn get_room_account_data_event<'life0, 'life1, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
event_type: RoomAccountDataEventType,
) -> Pin<Box<dyn Future<Output = Result<Option<Raw<AnyRoomAccountDataEvent>>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteStateStore: 'async_trait,
fn get_room_account_data_event<'life0, 'life1, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
event_type: RoomAccountDataEventType,
) -> Pin<Box<dyn Future<Output = Result<Option<Raw<AnyRoomAccountDataEvent>>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteStateStore: 'async_trait,
Get an event out of the room account data store. Read more
source§fn get_user_room_receipt_event<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
receipt_type: ReceiptType,
thread: ReceiptThread,
user_id: &'life2 UserId,
) -> Pin<Box<dyn Future<Output = Result<Option<(OwnedEventId, Receipt)>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
SqliteStateStore: 'async_trait,
fn get_user_room_receipt_event<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
receipt_type: ReceiptType,
thread: ReceiptThread,
user_id: &'life2 UserId,
) -> Pin<Box<dyn Future<Output = Result<Option<(OwnedEventId, Receipt)>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
SqliteStateStore: 'async_trait,
Get an event out of the user room receipt store. Read more
source§fn get_event_room_receipt_events<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
receipt_type: ReceiptType,
thread: ReceiptThread,
event_id: &'life2 EventId,
) -> Pin<Box<dyn Future<Output = Result<Vec<(OwnedUserId, Receipt)>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
SqliteStateStore: 'async_trait,
fn get_event_room_receipt_events<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
receipt_type: ReceiptType,
thread: ReceiptThread,
event_id: &'life2 EventId,
) -> Pin<Box<dyn Future<Output = Result<Vec<(OwnedUserId, Receipt)>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
SqliteStateStore: 'async_trait,
Get events out of the event room receipt store. Read more
source§fn get_custom_value<'life0, 'life1, 'async_trait>(
&'life0 self,
key: &'life1 [u8],
) -> Pin<Box<dyn Future<Output = Result<Option<Vec<u8>>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteStateStore: 'async_trait,
fn get_custom_value<'life0, 'life1, 'async_trait>(
&'life0 self,
key: &'life1 [u8],
) -> Pin<Box<dyn Future<Output = Result<Option<Vec<u8>>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteStateStore: 'async_trait,
Get arbitrary data from the custom store Read more
source§fn set_custom_value_no_read<'life0, 'life1, 'async_trait>(
&'life0 self,
key: &'life1 [u8],
value: Vec<u8>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteStateStore: 'async_trait,
fn set_custom_value_no_read<'life0, 'life1, 'async_trait>(
&'life0 self,
key: &'life1 [u8],
value: Vec<u8>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteStateStore: 'async_trait,
Put arbitrary data into the custom store, do not attempt to read any
previous data Read more
source§fn set_custom_value<'life0, 'life1, 'async_trait>(
&'life0 self,
key: &'life1 [u8],
value: Vec<u8>,
) -> Pin<Box<dyn Future<Output = Result<Option<Vec<u8>>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteStateStore: 'async_trait,
fn set_custom_value<'life0, 'life1, 'async_trait>(
&'life0 self,
key: &'life1 [u8],
value: Vec<u8>,
) -> Pin<Box<dyn Future<Output = Result<Option<Vec<u8>>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteStateStore: 'async_trait,
Put arbitrary data into the custom store, return the data previously
stored Read more
source§fn remove_custom_value<'life0, 'life1, 'async_trait>(
&'life0 self,
key: &'life1 [u8],
) -> Pin<Box<dyn Future<Output = Result<Option<Vec<u8>>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteStateStore: 'async_trait,
fn remove_custom_value<'life0, 'life1, 'async_trait>(
&'life0 self,
key: &'life1 [u8],
) -> Pin<Box<dyn Future<Output = Result<Option<Vec<u8>>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteStateStore: 'async_trait,
Remove arbitrary data from the custom store and return it if existed Read more
source§fn remove_room<'life0, 'life1, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteStateStore: 'async_trait,
fn remove_room<'life0, 'life1, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteStateStore: 'async_trait,
Remove a room and all elements associated from the state store. Read more
source§fn save_send_queue_event<'life0, 'life1, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
transaction_id: OwnedTransactionId,
content: SerializableEventContent,
) -> Pin<Box<dyn Future<Output = Result<(), <SqliteStateStore as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteStateStore: 'async_trait,
fn save_send_queue_event<'life0, 'life1, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
transaction_id: OwnedTransactionId,
content: SerializableEventContent,
) -> Pin<Box<dyn Future<Output = Result<(), <SqliteStateStore as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteStateStore: 'async_trait,
Save an event to be sent by a send queue later. Read more
source§fn update_send_queue_event<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
transaction_id: &'life2 TransactionId,
content: SerializableEventContent,
) -> Pin<Box<dyn Future<Output = Result<bool, <SqliteStateStore as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
SqliteStateStore: 'async_trait,
fn update_send_queue_event<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
transaction_id: &'life2 TransactionId,
content: SerializableEventContent,
) -> Pin<Box<dyn Future<Output = Result<bool, <SqliteStateStore as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
SqliteStateStore: 'async_trait,
Updates a send queue event with the given content, and resets its wedged
status to false. Read more
source§fn remove_send_queue_event<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
transaction_id: &'life2 TransactionId,
) -> Pin<Box<dyn Future<Output = Result<bool, <SqliteStateStore as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
SqliteStateStore: 'async_trait,
fn remove_send_queue_event<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
transaction_id: &'life2 TransactionId,
) -> Pin<Box<dyn Future<Output = Result<bool, <SqliteStateStore as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
SqliteStateStore: 'async_trait,
Remove an event previously inserted with
Self::save_send_queue_event
from the database, based on its transaction id. Read moresource§fn load_send_queue_events<'life0, 'life1, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
) -> Pin<Box<dyn Future<Output = Result<Vec<QueuedEvent>, <SqliteStateStore as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteStateStore: 'async_trait,
fn load_send_queue_events<'life0, 'life1, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
) -> Pin<Box<dyn Future<Output = Result<Vec<QueuedEvent>, <SqliteStateStore as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteStateStore: 'async_trait,
Loads all the send queue events for the given room.
source§fn update_send_queue_event_status<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
transaction_id: &'life2 TransactionId,
wedged: bool,
) -> Pin<Box<dyn Future<Output = Result<(), <SqliteStateStore as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
SqliteStateStore: 'async_trait,
fn update_send_queue_event_status<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
transaction_id: &'life2 TransactionId,
wedged: bool,
) -> Pin<Box<dyn Future<Output = Result<(), <SqliteStateStore as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
SqliteStateStore: 'async_trait,
Updates the send queue wedged status for a given send queue event.
source§fn load_rooms_with_unsent_events<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<OwnedRoomId>, <SqliteStateStore as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
SqliteStateStore: 'async_trait,
fn load_rooms_with_unsent_events<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<OwnedRoomId>, <SqliteStateStore as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
SqliteStateStore: 'async_trait,
Loads all the rooms which have any pending events in their send queue.
source§fn save_dependent_send_queue_event<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
parent_txn_id: &'life2 TransactionId,
own_txn_id: ChildTransactionId,
content: DependentQueuedEventKind,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
SqliteStateStore: 'async_trait,
fn save_dependent_send_queue_event<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
parent_txn_id: &'life2 TransactionId,
own_txn_id: ChildTransactionId,
content: DependentQueuedEventKind,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
SqliteStateStore: 'async_trait,
Add a new entry to the list of dependent send queue event for an event.
source§fn update_dependent_send_queue_event<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
parent_txn_id: &'life2 TransactionId,
event_id: OwnedEventId,
) -> Pin<Box<dyn Future<Output = Result<usize, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
SqliteStateStore: 'async_trait,
fn update_dependent_send_queue_event<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
parent_txn_id: &'life2 TransactionId,
event_id: OwnedEventId,
) -> Pin<Box<dyn Future<Output = Result<usize, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
SqliteStateStore: 'async_trait,
Update a set of dependent send queue events with an event id,
effectively marking them as ready. Read more
source§fn remove_dependent_send_queue_event<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
txn_id: &'life2 ChildTransactionId,
) -> Pin<Box<dyn Future<Output = Result<bool, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
SqliteStateStore: 'async_trait,
fn remove_dependent_send_queue_event<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
txn_id: &'life2 ChildTransactionId,
) -> Pin<Box<dyn Future<Output = Result<bool, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
SqliteStateStore: 'async_trait,
Remove a specific dependent send queue event by id. Read more
source§fn list_dependent_send_queue_events<'life0, 'life1, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
) -> Pin<Box<dyn Future<Output = Result<Vec<DependentQueuedEvent>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteStateStore: 'async_trait,
fn list_dependent_send_queue_events<'life0, 'life1, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
) -> Pin<Box<dyn Future<Output = Result<Vec<DependentQueuedEvent>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteStateStore: 'async_trait,
List all the dependent send queue events. Read more
Auto Trait Implementations§
impl Freeze for SqliteStateStore
impl !RefUnwindSafe for SqliteStateStore
impl Send for SqliteStateStore
impl Sync for SqliteStateStore
impl Unpin for SqliteStateStore
impl !UnwindSafe for SqliteStateStore
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,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)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,
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§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 moresource§impl<T> IntoStateStore for Twhere
T: StateStore + 'static,
impl<T> IntoStateStore for Twhere
T: StateStore + 'static,
fn into_state_store(self) -> Arc<dyn StateStore<Error = StoreError>>
source§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<T> StateStoreExt for Twhere
T: StateStore + ?Sized,
impl<T> StateStoreExt for Twhere
T: StateStore + ?Sized,
source§fn get_state_event_static<'life0, 'life1, 'async_trait, C>(
&'life0 self,
room_id: &'life1 RoomId,
) -> Pin<Box<dyn Future<Output = Result<Option<RawSyncOrStrippedState<C>>, Self::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
C: StaticEventContent + StaticStateEventContent<StateKey = EmptyStateKey> + RedactContent + 'async_trait,
<C as RedactContent>::Redacted: RedactedStateEventContent,
Self: Sync + 'async_trait,
fn get_state_event_static<'life0, 'life1, 'async_trait, C>(
&'life0 self,
room_id: &'life1 RoomId,
) -> Pin<Box<dyn Future<Output = Result<Option<RawSyncOrStrippedState<C>>, Self::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
C: StaticEventContent + StaticStateEventContent<StateKey = EmptyStateKey> + RedactContent + 'async_trait,
<C as RedactContent>::Redacted: RedactedStateEventContent,
Self: Sync + 'async_trait,
Get a specific state event of statically-known type. Read more
source§fn get_state_event_static_for_key<'life0, 'life1, 'life2, 'async_trait, C, K>(
&'life0 self,
room_id: &'life1 RoomId,
state_key: &'life2 K,
) -> Pin<Box<dyn Future<Output = Result<Option<RawSyncOrStrippedState<C>>, Self::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
C: StaticEventContent + StaticStateEventContent + RedactContent + 'async_trait,
<C as StateEventContent>::StateKey: Borrow<K>,
<C as RedactContent>::Redacted: RedactedStateEventContent,
K: AsRef<str> + Sync + 'async_trait + ?Sized,
Self: Sync + 'async_trait,
fn get_state_event_static_for_key<'life0, 'life1, 'life2, 'async_trait, C, K>(
&'life0 self,
room_id: &'life1 RoomId,
state_key: &'life2 K,
) -> Pin<Box<dyn Future<Output = Result<Option<RawSyncOrStrippedState<C>>, Self::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
C: StaticEventContent + StaticStateEventContent + RedactContent + 'async_trait,
<C as StateEventContent>::StateKey: Borrow<K>,
<C as RedactContent>::Redacted: RedactedStateEventContent,
K: AsRef<str> + Sync + 'async_trait + ?Sized,
Self: Sync + 'async_trait,
Get a specific state event of statically-known type. Read more
source§fn get_state_events_static<'life0, 'life1, 'async_trait, C>(
&'life0 self,
room_id: &'life1 RoomId,
) -> Pin<Box<dyn Future<Output = Result<Vec<RawSyncOrStrippedState<C>>, Self::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
C: StaticEventContent + StaticStateEventContent + RedactContent + 'async_trait,
<C as RedactContent>::Redacted: RedactedStateEventContent,
Self: Sync + 'async_trait,
fn get_state_events_static<'life0, 'life1, 'async_trait, C>(
&'life0 self,
room_id: &'life1 RoomId,
) -> Pin<Box<dyn Future<Output = Result<Vec<RawSyncOrStrippedState<C>>, Self::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
C: StaticEventContent + StaticStateEventContent + RedactContent + 'async_trait,
<C as RedactContent>::Redacted: RedactedStateEventContent,
Self: Sync + 'async_trait,
Get a list of state events of a statically-known type for a given room. Read more
source§fn get_state_events_for_keys_static<'a, 'life0, 'life1, 'async_trait, C, K, I>(
&'life0 self,
room_id: &'life1 RoomId,
state_keys: I,
) -> Pin<Box<dyn Future<Output = Result<Vec<RawSyncOrStrippedState<C>>, Self::Error>> + Send + 'async_trait>>where
'a: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
C: StaticEventContent + StaticStateEventContent + RedactContent + 'async_trait,
<C as StateEventContent>::StateKey: Borrow<K>,
<C as RedactContent>::Redacted: RedactedStateEventContent,
K: AsRef<str> + Sync + 'a + 'async_trait,
I: IntoIterator<Item = &'a K> + Send + 'async_trait,
<I as IntoIterator>::IntoIter: Send,
Self: Sync + 'async_trait,
fn get_state_events_for_keys_static<'a, 'life0, 'life1, 'async_trait, C, K, I>(
&'life0 self,
room_id: &'life1 RoomId,
state_keys: I,
) -> Pin<Box<dyn Future<Output = Result<Vec<RawSyncOrStrippedState<C>>, Self::Error>> + Send + 'async_trait>>where
'a: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
C: StaticEventContent + StaticStateEventContent + RedactContent + 'async_trait,
<C as StateEventContent>::StateKey: Borrow<K>,
<C as RedactContent>::Redacted: RedactedStateEventContent,
K: AsRef<str> + Sync + 'a + 'async_trait,
I: IntoIterator<Item = &'a K> + Send + 'async_trait,
<I as IntoIterator>::IntoIter: Send,
Self: Sync + 'async_trait,
Get a list of state events of a statically-known type for a given room
and given state keys. Read more
source§fn get_account_data_event_static<'life0, 'async_trait, C>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Option<Raw<GlobalAccountDataEvent<C>>>, Self::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
C: StaticEventContent + GlobalAccountDataEventContent + 'async_trait,
Self: Sync + 'async_trait,
fn get_account_data_event_static<'life0, 'async_trait, C>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Option<Raw<GlobalAccountDataEvent<C>>>, Self::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
C: StaticEventContent + GlobalAccountDataEventContent + 'async_trait,
Self: Sync + 'async_trait,
Get an event of a statically-known type from the account data store.
source§fn get_room_account_data_event_static<'life0, 'life1, 'async_trait, C>(
&'life0 self,
room_id: &'life1 RoomId,
) -> Pin<Box<dyn Future<Output = Result<Option<Raw<RoomAccountDataEvent<C>>>, Self::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
C: StaticEventContent + RoomAccountDataEventContent + 'async_trait,
Self: Sync + 'async_trait,
fn get_room_account_data_event_static<'life0, 'life1, 'async_trait, C>(
&'life0 self,
room_id: &'life1 RoomId,
) -> Pin<Box<dyn Future<Output = Result<Option<Raw<RoomAccountDataEvent<C>>>, Self::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
C: StaticEventContent + RoomAccountDataEventContent + 'async_trait,
Self: Sync + 'async_trait,
Get an event of a statically-known type from the room account data
store. Read more
source§fn get_member_event<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
state_key: &'life2 UserId,
) -> Pin<Box<dyn Future<Output = Result<Option<RawSyncOrStrippedState<RoomMemberEventContent>>, Self::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: Sync + 'async_trait,
fn get_member_event<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
state_key: &'life2 UserId,
) -> Pin<Box<dyn Future<Output = Result<Option<RawSyncOrStrippedState<RoomMemberEventContent>>, Self::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: Sync + 'async_trait,
Get the
MemberEvent
for the given state key in the given room id. Read more