pub struct SaveLockedStateStore<T = Arc<dyn StateStore<Error = StoreError>>> { /* private fields */ }Expand description
A wrapper around a StateStore that supports synchronizing calls to
StateStore::save_changes.
Implementations§
Source§impl<T> SaveLockedStateStore<T>
impl<T> SaveLockedStateStore<T>
Sourcepub fn new(store: T) -> SaveLockedStateStore<T>
pub fn new(store: T) -> SaveLockedStateStore<T>
Creates a new SaveLockedStateStore with the provided store.
Source§impl<T> SaveLockedStateStore<T>where
T: StateStore,
impl<T> SaveLockedStateStore<T>where
T: StateStore,
Sourcepub async fn save_changes_with_guard(
&self,
guard: &MutexGuard<'_, ()>,
changes: &StateChanges,
) -> Result<(), StoreError>
pub async fn save_changes_with_guard( &self, guard: &MutexGuard<'_, ()>, changes: &StateChanges, ) -> Result<(), StoreError>
Provides a means of calling StateStore::save_changes when the caller
has already acquired the underlying Mutex. Returns an error if
the MutexGuard provided does not reference the underlying
Mutex.
Trait Implementations§
Source§impl<T> Clone for SaveLockedStateStore<T>where
T: Clone,
impl<T> Clone for SaveLockedStateStore<T>where
T: Clone,
Source§fn clone(&self) -> SaveLockedStateStore<T>
fn clone(&self) -> SaveLockedStateStore<T>
Returns a duplicate 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<T> Debug for SaveLockedStateStore<T>where
T: Debug,
impl<T> Debug for SaveLockedStateStore<T>where
T: Debug,
Source§impl<T> StateStore for SaveLockedStateStore<T>where
T: StateStore,
impl<T> StateStore for SaveLockedStateStore<T>where
T: StateStore,
Source§type Error = <T as StateStore>::Error
type Error = <T as StateStore>::Error
The error type used by this state store.
Source§fn get_kv_data<'life0, 'life1, 'async_trait>(
&'life0 self,
key: StateStoreDataKey<'life1>,
) -> Pin<Box<dyn Future<Output = Result<Option<StateStoreDataValue>, <SaveLockedStateStore<T> as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SaveLockedStateStore<T>: 'async_trait,
fn get_kv_data<'life0, 'life1, 'async_trait>(
&'life0 self,
key: StateStoreDataKey<'life1>,
) -> Pin<Box<dyn Future<Output = Result<Option<StateStoreDataValue>, <SaveLockedStateStore<T> as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SaveLockedStateStore<T>: '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<(), <SaveLockedStateStore<T> as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SaveLockedStateStore<T>: 'async_trait,
fn set_kv_data<'life0, 'life1, 'async_trait>(
&'life0 self,
key: StateStoreDataKey<'life1>,
value: StateStoreDataValue,
) -> Pin<Box<dyn Future<Output = Result<(), <SaveLockedStateStore<T> as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SaveLockedStateStore<T>: '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<(), <SaveLockedStateStore<T> as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SaveLockedStateStore<T>: 'async_trait,
fn remove_kv_data<'life0, 'life1, 'async_trait>(
&'life0 self,
key: StateStoreDataKey<'life1>,
) -> Pin<Box<dyn Future<Output = Result<(), <SaveLockedStateStore<T> as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SaveLockedStateStore<T>: '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<(), <SaveLockedStateStore<T> as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SaveLockedStateStore<T>: 'async_trait,
fn save_changes<'life0, 'life1, 'async_trait>(
&'life0 self,
changes: &'life1 StateChanges,
) -> Pin<Box<dyn Future<Output = Result<(), <SaveLockedStateStore<T> as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SaveLockedStateStore<T>: '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>>, <SaveLockedStateStore<T> as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SaveLockedStateStore<T>: '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>>, <SaveLockedStateStore<T> as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SaveLockedStateStore<T>: '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>>, <SaveLockedStateStore<T> as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SaveLockedStateStore<T>: '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>>, <SaveLockedStateStore<T> as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SaveLockedStateStore<T>: '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>, <SaveLockedStateStore<T> as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
SaveLockedStateStore<T>: '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>, <SaveLockedStateStore<T> as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
SaveLockedStateStore<T>: '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>, <SaveLockedStateStore<T> as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SaveLockedStateStore<T>: '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>, <SaveLockedStateStore<T> as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SaveLockedStateStore<T>: '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>, <SaveLockedStateStore<T> as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
SaveLockedStateStore<T>: '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>, <SaveLockedStateStore<T> as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
SaveLockedStateStore<T>: '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<PossiblyRedactedRoomMemberEventContent>>, <SaveLockedStateStore<T> as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
SaveLockedStateStore<T>: '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<PossiblyRedactedRoomMemberEventContent>>, <SaveLockedStateStore<T> as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
SaveLockedStateStore<T>: '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<PossiblyRedactedRoomMemberEventContent>>, <SaveLockedStateStore<T> as StateStore>::Error>> + Send + 'async_trait>>where
'a: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
SaveLockedStateStore<T>: '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<PossiblyRedactedRoomMemberEventContent>>, <SaveLockedStateStore<T> as StateStore>::Error>> + Send + 'async_trait>>where
'a: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
SaveLockedStateStore<T>: '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,
memberships: RoomMemberships,
) -> Pin<Box<dyn Future<Output = Result<Vec<OwnedUserId>, <SaveLockedStateStore<T> as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SaveLockedStateStore<T>: 'async_trait,
fn get_user_ids<'life0, 'life1, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
memberships: RoomMemberships,
) -> Pin<Box<dyn Future<Output = Result<Vec<OwnedUserId>, <SaveLockedStateStore<T> as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SaveLockedStateStore<T>: '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, 'life1, 'async_trait>(
&'life0 self,
room_load_settings: &'life1 RoomLoadSettings,
) -> Pin<Box<dyn Future<Output = Result<Vec<RoomInfo>, <SaveLockedStateStore<T> as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SaveLockedStateStore<T>: 'async_trait,
fn get_room_infos<'life0, 'life1, 'async_trait>(
&'life0 self,
room_load_settings: &'life1 RoomLoadSettings,
) -> Pin<Box<dyn Future<Output = Result<Vec<RoomInfo>, <SaveLockedStateStore<T> as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SaveLockedStateStore<T>: 'async_trait,
Get a set of pure
RoomInfos 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>, <SaveLockedStateStore<T> as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
SaveLockedStateStore<T>: '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>, <SaveLockedStateStore<T> as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
SaveLockedStateStore<T>: '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>>, <SaveLockedStateStore<T> as StateStore>::Error>> + Send + 'async_trait>>where
'a: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
SaveLockedStateStore<T>: '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>>, <SaveLockedStateStore<T> as StateStore>::Error>> + Send + 'async_trait>>where
'a: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
SaveLockedStateStore<T>: '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>>, <SaveLockedStateStore<T> as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
SaveLockedStateStore<T>: 'async_trait,
fn get_account_data_event<'life0, 'async_trait>(
&'life0 self,
event_type: GlobalAccountDataEventType,
) -> Pin<Box<dyn Future<Output = Result<Option<Raw<AnyGlobalAccountDataEvent>>, <SaveLockedStateStore<T> as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
SaveLockedStateStore<T>: '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>>, <SaveLockedStateStore<T> as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SaveLockedStateStore<T>: '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>>, <SaveLockedStateStore<T> as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SaveLockedStateStore<T>: '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)>, <SaveLockedStateStore<T> as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
SaveLockedStateStore<T>: '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)>, <SaveLockedStateStore<T> as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
SaveLockedStateStore<T>: 'async_trait,
Get a user’s read receipt for a given room and receipt type and thread. 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)>, <SaveLockedStateStore<T> as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
SaveLockedStateStore<T>: '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)>, <SaveLockedStateStore<T> as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
SaveLockedStateStore<T>: 'async_trait,
Get an event’s read receipts for a given room, receipt type, and thread. 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>>, <SaveLockedStateStore<T> as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SaveLockedStateStore<T>: 'async_trait,
fn get_custom_value<'life0, 'life1, 'async_trait>(
&'life0 self,
key: &'life1 [u8],
) -> Pin<Box<dyn Future<Output = Result<Option<Vec<u8>>, <SaveLockedStateStore<T> as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SaveLockedStateStore<T>: 'async_trait,
Get arbitrary data from the custom store 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>>, <SaveLockedStateStore<T> as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SaveLockedStateStore<T>: '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>>, <SaveLockedStateStore<T> as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SaveLockedStateStore<T>: '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>>, <SaveLockedStateStore<T> as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SaveLockedStateStore<T>: 'async_trait,
fn remove_custom_value<'life0, 'life1, 'async_trait>(
&'life0 self,
key: &'life1 [u8],
) -> Pin<Box<dyn Future<Output = Result<Option<Vec<u8>>, <SaveLockedStateStore<T> as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SaveLockedStateStore<T>: '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<(), <SaveLockedStateStore<T> as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SaveLockedStateStore<T>: 'async_trait,
fn remove_room<'life0, 'life1, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
) -> Pin<Box<dyn Future<Output = Result<(), <SaveLockedStateStore<T> as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SaveLockedStateStore<T>: '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,
created_at: MilliSecondsSinceUnixEpoch,
request: QueuedRequestKind,
priority: usize,
) -> Pin<Box<dyn Future<Output = Result<(), <SaveLockedStateStore<T> as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SaveLockedStateStore<T>: 'async_trait,
fn save_send_queue_request<'life0, 'life1, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
transaction_id: OwnedTransactionId,
created_at: MilliSecondsSinceUnixEpoch,
request: QueuedRequestKind,
priority: usize,
) -> Pin<Box<dyn Future<Output = Result<(), <SaveLockedStateStore<T> as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SaveLockedStateStore<T>: '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, <SaveLockedStateStore<T> as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
SaveLockedStateStore<T>: '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, <SaveLockedStateStore<T> as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
SaveLockedStateStore<T>: '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, <SaveLockedStateStore<T> as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
SaveLockedStateStore<T>: '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, <SaveLockedStateStore<T> as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
SaveLockedStateStore<T>: '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>, <SaveLockedStateStore<T> as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SaveLockedStateStore<T>: '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>, <SaveLockedStateStore<T> as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SaveLockedStateStore<T>: '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<(), <SaveLockedStateStore<T> as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
SaveLockedStateStore<T>: '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<(), <SaveLockedStateStore<T> as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
SaveLockedStateStore<T>: '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>, <SaveLockedStateStore<T> as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
SaveLockedStateStore<T>: 'async_trait,
fn load_rooms_with_unsent_requests<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<OwnedRoomId>, <SaveLockedStateStore<T> as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
SaveLockedStateStore<T>: '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,
created_at: MilliSecondsSinceUnixEpoch,
content: DependentQueuedRequestKind,
) -> Pin<Box<dyn Future<Output = Result<(), <SaveLockedStateStore<T> as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
SaveLockedStateStore<T>: '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,
created_at: MilliSecondsSinceUnixEpoch,
content: DependentQueuedRequestKind,
) -> Pin<Box<dyn Future<Output = Result<(), <SaveLockedStateStore<T> as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
SaveLockedStateStore<T>: 'async_trait,
Add a new entry to the list of dependent send queue requests for a
parent request.
Source§fn mark_dependent_queued_requests_as_ready<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
room_id: &'life1 RoomId,
parent_txn_id: &'life2 TransactionId,
sent_parent_key: SentRequestKey,
) -> Pin<Box<dyn Future<Output = Result<usize, <SaveLockedStateStore<T> as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
SaveLockedStateStore<T>: '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,
sent_parent_key: SentRequestKey,
) -> Pin<Box<dyn Future<Output = Result<usize, <SaveLockedStateStore<T> as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
SaveLockedStateStore<T>: 'async_trait,
Mark a set of dependent send queue requests as ready, using a key
identifying the homeserver’s response. Read more
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, <SaveLockedStateStore<T> as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
SaveLockedStateStore<T>: '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, <SaveLockedStateStore<T> as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
SaveLockedStateStore<T>: 'async_trait,
Update a dependent send queue request with the new content. Read more
Source§fn remove_dependent_queued_request<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
room: &'life1 RoomId,
own_txn_id: &'life2 ChildTransactionId,
) -> Pin<Box<dyn Future<Output = Result<bool, <SaveLockedStateStore<T> as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
SaveLockedStateStore<T>: 'async_trait,
fn remove_dependent_queued_request<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
room: &'life1 RoomId,
own_txn_id: &'life2 ChildTransactionId,
) -> Pin<Box<dyn Future<Output = Result<bool, <SaveLockedStateStore<T> as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
SaveLockedStateStore<T>: '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: &'life1 RoomId,
) -> Pin<Box<dyn Future<Output = Result<Vec<DependentQueuedRequest>, <SaveLockedStateStore<T> as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SaveLockedStateStore<T>: 'async_trait,
fn load_dependent_queued_requests<'life0, 'life1, 'async_trait>(
&'life0 self,
room: &'life1 RoomId,
) -> Pin<Box<dyn Future<Output = Result<Vec<DependentQueuedRequest>, <SaveLockedStateStore<T> as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SaveLockedStateStore<T>: 'async_trait,
List all the dependent send queue requests. Read more
Source§fn upsert_thread_subscriptions<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
updates: Vec<(&'life1 RoomId, &'life2 EventId, StoredThreadSubscription)>,
) -> Pin<Box<dyn Future<Output = Result<(), <SaveLockedStateStore<T> as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
SaveLockedStateStore<T>: 'async_trait,
fn upsert_thread_subscriptions<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
updates: Vec<(&'life1 RoomId, &'life2 EventId, StoredThreadSubscription)>,
) -> Pin<Box<dyn Future<Output = Result<(), <SaveLockedStateStore<T> as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
SaveLockedStateStore<T>: 'async_trait,
Inserts or updates multiple thread subscriptions. Read more
Source§fn remove_thread_subscription<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
room: &'life1 RoomId,
thread_id: &'life2 EventId,
) -> Pin<Box<dyn Future<Output = Result<(), <SaveLockedStateStore<T> as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
SaveLockedStateStore<T>: 'async_trait,
fn remove_thread_subscription<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
room: &'life1 RoomId,
thread_id: &'life2 EventId,
) -> Pin<Box<dyn Future<Output = Result<(), <SaveLockedStateStore<T> as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
SaveLockedStateStore<T>: 'async_trait,
Remove a previous thread subscription for a given room and thread. Read more
Source§fn load_thread_subscription<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
room: &'life1 RoomId,
thread_id: &'life2 EventId,
) -> Pin<Box<dyn Future<Output = Result<Option<StoredThreadSubscription>, <SaveLockedStateStore<T> as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
SaveLockedStateStore<T>: 'async_trait,
fn load_thread_subscription<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
room: &'life1 RoomId,
thread_id: &'life2 EventId,
) -> Pin<Box<dyn Future<Output = Result<Option<StoredThreadSubscription>, <SaveLockedStateStore<T> as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
SaveLockedStateStore<T>: 'async_trait,
Loads the current thread subscription for a given room and thread. Read more
Source§fn get_size<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Option<usize>, <SaveLockedStateStore<T> as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
SaveLockedStateStore<T>: 'async_trait,
fn get_size<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Option<usize>, <SaveLockedStateStore<T> as StateStore>::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
SaveLockedStateStore<T>: 'async_trait,
Returns the size of the store in bytes, if known.
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<(), Self::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + '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<(), Self::Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
Put arbitrary data into the custom store, do not attempt to read any
previous data Read more
Auto Trait Implementations§
impl<T> Freeze for SaveLockedStateStore<T>where
T: Freeze,
impl<T = Arc<dyn StateStore<Error = StoreError>>> !RefUnwindSafe for SaveLockedStateStore<T>
impl<T> Send for SaveLockedStateStore<T>where
T: Send,
impl<T> Sync for SaveLockedStateStore<T>where
T: Sync,
impl<T> Unpin for SaveLockedStateStore<T>where
T: Unpin,
impl<T> UnsafeUnpin for SaveLockedStateStore<T>where
T: UnsafeUnpin,
impl<T = Arc<dyn StateStore<Error = StoreError>>> !UnwindSafe for SaveLockedStateStore<T>
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> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Converts
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Converts
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Converts
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Converts
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> DropFlavorWrapper<T> for T
impl<T> DropFlavorWrapper<T> for T
Source§impl<T, UT> HandleAlloc<UT> for T
impl<T, UT> HandleAlloc<UT> for T
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> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
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<IsPrefix = False> + 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<IsPrefix = False> + 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<IsPrefix = False> + 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<IsPrefix = False> + 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<IsPrefix = False> + 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<IsPrefix = False> + 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<IsPrefix = False> + 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<IsPrefix = False> + 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<IsPrefix = False> + 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<IsPrefix = False> + 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<IsPrefix = False> + 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<IsPrefix = False> + 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