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_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_users_with_display_name<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
display_name: &'life2 DisplayName,
) -> 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 DisplayName,
) -> 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 [DisplayName],
) -> Pin<Box<dyn Future<Output = Result<HashMap<&'a DisplayName, 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 [DisplayName],
) -> Pin<Box<dyn Future<Output = Result<HashMap<&'a DisplayName, 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_request<'life0, 'life1, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
transaction_id: OwnedTransactionId,
content: QueuedRequestKind,
priority: usize,
) -> 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_request<'life0, 'life1, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
transaction_id: OwnedTransactionId,
content: QueuedRequestKind,
priority: usize,
) -> Pin<Box<dyn Future<Output = Result<(), <SqliteStateStore as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteStateStore: 'async_trait,
Save a request to be sent by a send queue later (e.g. sending an event). Read more
Source§fn update_send_queue_request<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
transaction_id: &'life2 TransactionId,
content: QueuedRequestKind,
) -> 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_request<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
transaction_id: &'life2 TransactionId,
content: QueuedRequestKind,
) -> 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 request with the given content, and resets its
error status. Read more
Source§fn remove_send_queue_request<'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_request<'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 a request previously inserted with
Self::save_send_queue_request
from the database, based on its
transaction id. Read moreSource§fn load_send_queue_requests<'life0, 'life1, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
) -> Pin<Box<dyn Future<Output = Result<Vec<QueuedRequest>, <SqliteStateStore as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteStateStore: 'async_trait,
fn load_send_queue_requests<'life0, 'life1, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
) -> Pin<Box<dyn Future<Output = Result<Vec<QueuedRequest>, <SqliteStateStore as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteStateStore: 'async_trait,
Loads all the send queue requests for the given room. Read more
Source§fn update_send_queue_request_status<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
transaction_id: &'life2 TransactionId,
error: Option<QueueWedgeError>,
) -> 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_request_status<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
transaction_id: &'life2 TransactionId,
error: Option<QueueWedgeError>,
) -> 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 error status (wedge) for a given send queue
request.
Source§fn load_rooms_with_unsent_requests<'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_requests<'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 requests in their send queue.
Source§fn save_dependent_queued_request<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
parent_txn_id: &'life2 TransactionId,
own_txn_id: ChildTransactionId,
content: DependentQueuedRequestKind,
) -> 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_queued_request<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
parent_txn_id: &'life2 TransactionId,
own_txn_id: ChildTransactionId,
content: DependentQueuedRequestKind,
) -> 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 requests for a
parent request.
Source§fn update_dependent_queued_request<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
own_transaction_id: &'life2 ChildTransactionId,
new_content: DependentQueuedRequestKind,
) -> 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 update_dependent_queued_request<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
own_transaction_id: &'life2 ChildTransactionId,
new_content: DependentQueuedRequestKind,
) -> Pin<Box<dyn Future<Output = Result<bool, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
SqliteStateStore: 'async_trait,
Update a dependent send queue request with the new content. Read more
Source§fn mark_dependent_queued_requests_as_ready<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
parent_txn_id: &'life2 TransactionId,
parent_key: SentRequestKey,
) -> 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 mark_dependent_queued_requests_as_ready<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
parent_txn_id: &'life2 TransactionId,
parent_key: SentRequestKey,
) -> Pin<Box<dyn Future<Output = Result<usize, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
SqliteStateStore: 'async_trait,
Mark a set of dependent send queue requests as ready, using a key
identifying the homeserver’s response. Read more
Source§fn remove_dependent_queued_request<'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_queued_request<'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 request by id. Read more
Source§fn load_dependent_queued_requests<'life0, 'life1, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
) -> Pin<Box<dyn Future<Output = Result<Vec<DependentQueuedRequest>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteStateStore: 'async_trait,
fn load_dependent_queued_requests<'life0, 'life1, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
) -> Pin<Box<dyn Future<Output = Result<Vec<DependentQueuedRequest>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SqliteStateStore: 'async_trait,
List all the dependent send queue requests. 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,
§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 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> 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