Trait matrix_sdk_base::StateStore [−][src]
pub trait StateStore: AsyncTraitDeps {}Show methods
fn save_filter<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
filter_name: &'life1 str,
filter_id: &'life2 str
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>
where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait; fn save_changes<'life0, 'life1, 'async_trait>(
&'life0 self,
changes: &'life1 StateChanges
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>
where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait; fn get_filter<'life0, 'life1, 'async_trait>(
&'life0 self,
filter_name: &'life1 str
) -> Pin<Box<dyn Future<Output = Result<Option<String>, StoreError>> + Send + 'async_trait>>
where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait; fn get_sync_token<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<Option<String>, StoreError>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: '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>>, StoreError>> + Send + 'async_trait>>
where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait; fn get_state_event<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
event_type: EventType,
state_key: &'life2 str
) -> Pin<Box<dyn Future<Output = Result<Option<Raw<AnySyncStateEvent>>, StoreError>> + Send + 'async_trait>>
where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: '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<MemberEventContent>, StoreError>> + Send + 'async_trait>>
where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: '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<MemberEvent>, StoreError>> + Send + 'async_trait>>
where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait; fn get_user_ids<'life0, 'life1, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId
) -> Pin<Box<dyn Future<Output = Result<Vec<UserId>, StoreError>> + Send + 'async_trait>>
where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait; fn get_invited_user_ids<'life0, 'life1, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId
) -> Pin<Box<dyn Future<Output = Result<Vec<UserId>, StoreError>> + Send + 'async_trait>>
where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait; fn get_joined_user_ids<'life0, 'life1, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId
) -> Pin<Box<dyn Future<Output = Result<Vec<UserId>, StoreError>> + Send + 'async_trait>>
where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait; fn get_room_infos<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<Vec<RoomInfo>, StoreError>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait; fn get_stripped_room_infos<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<Vec<RoomInfo>, StoreError>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: '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<UserId>, StoreError>> + Send + 'async_trait>>
where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait; fn get_account_data_event<'life0, 'async_trait>(
&'life0 self,
event_type: EventType
) -> Pin<Box<dyn Future<Output = Result<Option<Raw<AnyGlobalAccountDataEvent>>, StoreError>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait; fn get_room_account_data_event<'life0, 'life1, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
event_type: EventType
) -> Pin<Box<dyn Future<Output = Result<Option<Raw<AnyRoomAccountDataEvent>>, StoreError>> + Send + 'async_trait>>
where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait; fn get_user_room_receipt_event<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
receipt_type: ReceiptType,
user_id: &'life2 UserId
) -> Pin<Box<dyn Future<Output = Result<Option<(EventId, Receipt)>, StoreError>> + Send + 'async_trait>>
where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait; fn get_event_room_receipt_events<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
receipt_type: ReceiptType,
event_id: &'life2 EventId
) -> Pin<Box<dyn Future<Output = Result<Vec<(UserId, Receipt)>, StoreError>> + Send + 'async_trait>>
where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait; fn add_media_content<'life0, 'life1, 'async_trait>(
&'life0 self,
request: &'life1 MediaRequest,
content: Vec<u8>
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>
where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait; fn get_media_content<'life0, 'life1, 'async_trait>(
&'life0 self,
request: &'life1 MediaRequest
) -> Pin<Box<dyn Future<Output = Result<Option<Vec<u8>>, StoreError>> + Send + 'async_trait>>
where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait; fn remove_media_content<'life0, 'life1, 'async_trait>(
&'life0 self,
request: &'life1 MediaRequest
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>
where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait; fn remove_media_content_for_uri<'life0, 'life1, 'async_trait>(
&'life0 self,
uri: &'life1 MxcUri
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>
where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait;
Expand description
An abstract state store trait that can be used to implement different stores for the SDK.
Required methods
Save the given filter id under the given name.
Arguments
-
filter_name- The name that should be used to store the filter id. -
filter_id- The filter id that should be stored in the state store.
fn save_changes<'life0, 'life1, 'async_trait>(
&'life0 self,
changes: &'life1 StateChanges
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn save_changes<'life0, 'life1, 'async_trait>(
&'life0 self,
changes: &'life1 StateChanges
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait, Save the set of state changes in the store.
Get the filter id that was stored under the given filter name.
Arguments
filter_name- The name that was used to store the filter id.
fn get_sync_token<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<Option<String>, StoreError>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn get_sync_token<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<Option<String>, StoreError>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait, Get the last stored sync token.
fn get_presence_event<'life0, 'life1, 'async_trait>(
&'life0 self,
user_id: &'life1 UserId
) -> Pin<Box<dyn Future<Output = Result<Option<Raw<PresenceEvent>>, StoreError>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: '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>>, StoreError>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait, Get the stored presence event for the given user.
Arguments
user_id- The id of the user for which we wish to fetch the presence event for.
fn get_state_event<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
event_type: EventType,
state_key: &'life2 str
) -> Pin<Box<dyn Future<Output = Result<Option<Raw<AnySyncStateEvent>>, StoreError>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
fn get_state_event<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
event_type: EventType,
state_key: &'life2 str
) -> Pin<Box<dyn Future<Output = Result<Option<Raw<AnySyncStateEvent>>, StoreError>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait, Get a state event out of the state store.
Arguments
-
room_id- The id of the room the state event was received for. -
event_type- The event type of the state event.
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<MemberEventContent>, StoreError>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: '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<MemberEventContent>, StoreError>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait, Get the current profile for the given user in the given room.
Arguments
-
room_id- The room id the profile is used in. -
user_id- The id of the user the profile belongs to.
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<MemberEvent>, StoreError>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: '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<MemberEvent>, StoreError>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait, Get a raw MemberEvent for the given state key in the given room id.
Arguments
-
room_id- The room id the member event belongs to. -
state_key- The user id that the member event defines the state for.
fn get_user_ids<'life0, 'life1, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId
) -> Pin<Box<dyn Future<Output = Result<Vec<UserId>, StoreError>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn get_user_ids<'life0, 'life1, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId
) -> Pin<Box<dyn Future<Output = Result<Vec<UserId>, StoreError>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait, Get all the user ids of members for a given room.
fn get_invited_user_ids<'life0, 'life1, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId
) -> Pin<Box<dyn Future<Output = Result<Vec<UserId>, StoreError>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn get_invited_user_ids<'life0, 'life1, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId
) -> Pin<Box<dyn Future<Output = Result<Vec<UserId>, StoreError>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait, Get all the user ids of members that are in the invited state for a given room.
fn get_joined_user_ids<'life0, 'life1, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId
) -> Pin<Box<dyn Future<Output = Result<Vec<UserId>, StoreError>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn get_joined_user_ids<'life0, 'life1, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId
) -> Pin<Box<dyn Future<Output = Result<Vec<UserId>, StoreError>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait, Get all the user ids of members that are in the joined state for a given room.
fn get_room_infos<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<Vec<RoomInfo>, StoreError>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn get_room_infos<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<Vec<RoomInfo>, StoreError>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait, Get all the pure RoomInfos the store knows about.
fn get_stripped_room_infos<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<Vec<RoomInfo>, StoreError>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn get_stripped_room_infos<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<Vec<RoomInfo>, StoreError>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait, Get all the pure RoomInfos the store knows about.
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<UserId>, StoreError>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: '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<UserId>, StoreError>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait, Get all the users that use the given display name in the given room.
Arguments
-
room_id- The id of the room for which the display name users should be fetched for. -
display_name- The display name that the users use.
fn get_account_data_event<'life0, 'async_trait>(
&'life0 self,
event_type: EventType
) -> Pin<Box<dyn Future<Output = Result<Option<Raw<AnyGlobalAccountDataEvent>>, StoreError>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn get_account_data_event<'life0, 'async_trait>(
&'life0 self,
event_type: EventType
) -> Pin<Box<dyn Future<Output = Result<Option<Raw<AnyGlobalAccountDataEvent>>, StoreError>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait, Get an event out of the account data store.
Arguments
event_type- The event type of the account data event.
fn get_room_account_data_event<'life0, 'life1, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
event_type: EventType
) -> Pin<Box<dyn Future<Output = Result<Option<Raw<AnyRoomAccountDataEvent>>, StoreError>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn get_room_account_data_event<'life0, 'life1, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
event_type: EventType
) -> Pin<Box<dyn Future<Output = Result<Option<Raw<AnyRoomAccountDataEvent>>, StoreError>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait, Get an event out of the room account data store.
Arguments
-
room_id- The id of the room for which the room account data event should be fetched. -
event_type- The event type of the room account data event.
fn get_user_room_receipt_event<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
receipt_type: ReceiptType,
user_id: &'life2 UserId
) -> Pin<Box<dyn Future<Output = Result<Option<(EventId, Receipt)>, StoreError>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
fn get_user_room_receipt_event<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
receipt_type: ReceiptType,
user_id: &'life2 UserId
) -> Pin<Box<dyn Future<Output = Result<Option<(EventId, Receipt)>, StoreError>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait, Get an event out of the user room receipt store.
Arguments
-
room_id- The id of the room for which the receipt should be fetched. -
receipt_type- The type of the receipt. -
user_id- The id of the user for who the receipt should be fetched.
fn get_event_room_receipt_events<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
receipt_type: ReceiptType,
event_id: &'life2 EventId
) -> Pin<Box<dyn Future<Output = Result<Vec<(UserId, Receipt)>, StoreError>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
fn get_event_room_receipt_events<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
receipt_type: ReceiptType,
event_id: &'life2 EventId
) -> Pin<Box<dyn Future<Output = Result<Vec<(UserId, Receipt)>, StoreError>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait, Get events out of the event room receipt store.
Arguments
-
room_id- The id of the room for which the receipts should be fetched. -
receipt_type- The type of the receipts. -
event_id- The id of the event for which the receipts should be fetched.
fn add_media_content<'life0, 'life1, 'async_trait>(
&'life0 self,
request: &'life1 MediaRequest,
content: Vec<u8>
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn add_media_content<'life0, 'life1, 'async_trait>(
&'life0 self,
request: &'life1 MediaRequest,
content: Vec<u8>
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait, Add a media file’s content in the media store.
Arguments
-
request- TheMediaRequestof the file. -
content- The content of the file.
fn get_media_content<'life0, 'life1, 'async_trait>(
&'life0 self,
request: &'life1 MediaRequest
) -> Pin<Box<dyn Future<Output = Result<Option<Vec<u8>>, StoreError>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn get_media_content<'life0, 'life1, 'async_trait>(
&'life0 self,
request: &'life1 MediaRequest
) -> Pin<Box<dyn Future<Output = Result<Option<Vec<u8>>, StoreError>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait, Get a media file’s content out of the media store.
Arguments
request- TheMediaRequestof the file.
fn remove_media_content<'life0, 'life1, 'async_trait>(
&'life0 self,
request: &'life1 MediaRequest
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn remove_media_content<'life0, 'life1, 'async_trait>(
&'life0 self,
request: &'life1 MediaRequest
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait, Removes a media file’s content from the media store.
Arguments
request- TheMediaRequestof the file.
fn remove_media_content_for_uri<'life0, 'life1, 'async_trait>(
&'life0 self,
uri: &'life1 MxcUri
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn remove_media_content_for_uri<'life0, 'life1, 'async_trait>(
&'life0 self,
uri: &'life1 MxcUri
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait, Removes all the media files’ content associated to an MxcUri from the
media store.
Arguments
uri- TheMxcUriof the media files.