Skip to main content

ClientStore

Trait ClientStore 

Source
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§

Source

fn save_session( &self, session: StoredSession, ) -> BoxFuture<'static, StoreResult<()>>

Saves the current session.

Source

fn load_session(&self) -> BoxFuture<'static, StoreResult<Option<StoredSession>>>

Loads the current session.

Source

fn clear_session(&self) -> BoxFuture<'static, StoreResult<()>>

Clears the current session.

Source

fn dialogs( &self, request: DialogsRequest, ) -> BoxFuture<'static, StoreResult<DialogsPage>>

Lists stored dialogs.

Source

fn record_dialog( &self, dialog: DialogRecord, ) -> BoxFuture<'static, StoreResult<()>>

Records a dialog in local state.

Source

fn record_users( &self, users: Vec<UserRecord>, ) -> BoxFuture<'static, StoreResult<()>>

Records user summaries in local state.

Source

fn history( &self, request: HistoryRequest, ) -> BoxFuture<'static, StoreResult<HistoryPage>>

Fetches stored history.

Source

fn record_message( &self, message: MessageRecord, ) -> BoxFuture<'static, StoreResult<()>>

Records a message in stored history.

Source

fn record_transaction( &self, transaction: StoredTransaction, ) -> BoxFuture<'static, StoreResult<()>>

Records a transaction state change.

Source

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".

Implementors§