pub trait ClientStore:
Debug
+ Send
+ Sync
+ 'static {
// Required methods
fn save_session(
&self,
session: StoredSession,
) -> BoxFuture<'static, StoreResult<()>>;
fn load_session(
&self,
) -> BoxFuture<'static, StoreResult<Option<StoredSession>>>;
fn clear_session(&self) -> BoxFuture<'static, StoreResult<()>>;
fn dialogs(
&self,
request: DialogsRequest,
) -> BoxFuture<'static, StoreResult<DialogsPage>>;
fn record_dialog(
&self,
dialog: DialogRecord,
) -> BoxFuture<'static, StoreResult<()>>;
fn record_users(
&self,
users: Vec<UserRecord>,
) -> BoxFuture<'static, StoreResult<()>>;
fn history(
&self,
request: HistoryRequest,
) -> BoxFuture<'static, StoreResult<HistoryPage>>;
fn record_message(
&self,
message: MessageRecord,
) -> BoxFuture<'static, StoreResult<()>>;
fn record_transaction(
&self,
transaction: StoredTransaction,
) -> BoxFuture<'static, StoreResult<()>>;
fn transaction(
&self,
transaction_id: TransactionId,
) -> BoxFuture<'static, StoreResult<Option<StoredTransaction>>>;
}Expand description
Durable store boundary for client state.
Required Methods§
Sourcefn save_session(
&self,
session: StoredSession,
) -> BoxFuture<'static, StoreResult<()>>
fn save_session( &self, session: StoredSession, ) -> BoxFuture<'static, StoreResult<()>>
Saves the current session.
Sourcefn load_session(&self) -> BoxFuture<'static, StoreResult<Option<StoredSession>>>
fn load_session(&self) -> BoxFuture<'static, StoreResult<Option<StoredSession>>>
Loads the current session.
Sourcefn clear_session(&self) -> BoxFuture<'static, StoreResult<()>>
fn clear_session(&self) -> BoxFuture<'static, StoreResult<()>>
Clears the current session.
Sourcefn dialogs(
&self,
request: DialogsRequest,
) -> BoxFuture<'static, StoreResult<DialogsPage>>
fn dialogs( &self, request: DialogsRequest, ) -> BoxFuture<'static, StoreResult<DialogsPage>>
Lists stored dialogs.
Sourcefn record_dialog(
&self,
dialog: DialogRecord,
) -> BoxFuture<'static, StoreResult<()>>
fn record_dialog( &self, dialog: DialogRecord, ) -> BoxFuture<'static, StoreResult<()>>
Records a dialog in local state.
Sourcefn record_users(
&self,
users: Vec<UserRecord>,
) -> BoxFuture<'static, StoreResult<()>>
fn record_users( &self, users: Vec<UserRecord>, ) -> BoxFuture<'static, StoreResult<()>>
Records user summaries in local state.
Sourcefn history(
&self,
request: HistoryRequest,
) -> BoxFuture<'static, StoreResult<HistoryPage>>
fn history( &self, request: HistoryRequest, ) -> BoxFuture<'static, StoreResult<HistoryPage>>
Fetches stored history.
Sourcefn record_message(
&self,
message: MessageRecord,
) -> BoxFuture<'static, StoreResult<()>>
fn record_message( &self, message: MessageRecord, ) -> BoxFuture<'static, StoreResult<()>>
Records a message in stored history.
Sourcefn record_transaction(
&self,
transaction: StoredTransaction,
) -> BoxFuture<'static, StoreResult<()>>
fn record_transaction( &self, transaction: StoredTransaction, ) -> BoxFuture<'static, StoreResult<()>>
Records a transaction state change.
Sourcefn transaction(
&self,
transaction_id: TransactionId,
) -> BoxFuture<'static, StoreResult<Option<StoredTransaction>>>
fn transaction( &self, transaction_id: TransactionId, ) -> BoxFuture<'static, StoreResult<Option<StoredTransaction>>>
Finds a transaction by transaction ID.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".