Skip to main content

ClientBackend

Trait ClientBackend 

Source
pub trait ClientBackend:
    Debug
    + Send
    + Sync
    + 'static {
Show 29 methods // Required methods fn auth_start( &self, request: AuthStartRequest, ) -> BoxFuture<'static, BackendResult<AuthStartResult>>; fn auth_verify( &self, request: AuthVerifyRequest, ) -> BoxFuture<'static, BackendResult<AuthVerifyResult>>; fn resume_session( &self, ) -> BoxFuture<'static, BackendResult<ClientStatusSnapshot>>; fn connect( &self, request: ConnectRequest, ) -> BoxFuture<'static, BackendResult<ClientStatusSnapshot>>; fn logout(&self) -> BoxFuture<'static, BackendResult<()>>; fn dialogs( &self, request: DialogsRequest, ) -> BoxFuture<'static, BackendResult<DialogsPage>>; fn cached_dialogs( &self, request: DialogsRequest, ) -> BoxFuture<'static, BackendResult<DialogsPage>>; fn account_state( &self, ) -> BoxFuture<'static, BackendResult<AccountStateSnapshot>>; fn chat_state( &self, chat_id: InlineId, ) -> BoxFuture<'static, BackendResult<ChatStateSnapshot>>; fn history( &self, request: HistoryRequest, ) -> BoxFuture<'static, BackendResult<HistoryPage>>; fn cached_history( &self, request: HistoryRequest, ) -> BoxFuture<'static, BackendResult<HistoryPage>>; fn chat_participants( &self, request: ChatParticipantsRequest, ) -> BoxFuture<'static, BackendResult<ChatParticipantsPage>>; fn add_chat_participant( &self, request: AddChatParticipantRequest, ) -> BoxFuture<'static, BackendResult<OperationOutcome>>; fn remove_chat_participant( &self, request: RemoveChatParticipantRequest, ) -> BoxFuture<'static, BackendResult<OperationOutcome>>; fn update_chat_info( &self, request: UpdateChatInfoRequest, ) -> BoxFuture<'static, BackendResult<OperationOutcome>>; fn delete_chat( &self, request: DeleteChatRequest, ) -> BoxFuture<'static, BackendResult<OperationOutcome>>; fn create_dm( &self, request: CreateDmRequest, ) -> BoxFuture<'static, BackendResult<CreatedChat>>; fn create_thread( &self, request: CreateThreadRequest, ) -> BoxFuture<'static, BackendResult<CreatedChat>>; fn create_reply_thread( &self, request: CreateReplyThreadRequest, ) -> BoxFuture<'static, BackendResult<CreatedChat>>; fn send_text( &self, request: SendTextRequest, ) -> BoxFuture<'static, BackendResult<SendTextOutcome>>; fn send_media( &self, request: UploadRequest, bytes: Vec<u8>, ) -> BoxFuture<'static, BackendResult<SendTextOutcome>>; fn edit_message( &self, request: EditMessageRequest, ) -> BoxFuture<'static, BackendResult<OperationOutcome>>; fn delete_message( &self, request: DeleteMessageRequest, ) -> BoxFuture<'static, BackendResult<OperationOutcome>>; fn react( &self, request: ReactRequest, ) -> BoxFuture<'static, BackendResult<OperationOutcome>>; fn read( &self, request: ReadRequest, ) -> BoxFuture<'static, BackendResult<OperationOutcome>>; fn set_marked_unread( &self, request: SetMarkedUnreadRequest, ) -> BoxFuture<'static, BackendResult<OperationOutcome>>; fn update_dialog_notifications( &self, request: UpdateDialogNotificationsRequest, ) -> BoxFuture<'static, BackendResult<OperationOutcome>>; fn typing( &self, request: TypingRequest, ) -> BoxFuture<'static, BackendResult<OperationOutcome>>; fn receive_events( &self, ) -> BoxFuture<'static, BackendResult<Vec<ClientEvent>>>;
}
Expand description

Async backend boundary for the client runner.

Required Methods§

Source

fn auth_start( &self, request: AuthStartRequest, ) -> BoxFuture<'static, BackendResult<AuthStartResult>>

Sends an Inline login code.

Source

fn auth_verify( &self, request: AuthVerifyRequest, ) -> BoxFuture<'static, BackendResult<AuthVerifyResult>>

Verifies an Inline login code and persists the resulting session.

Source

fn resume_session( &self, ) -> BoxFuture<'static, BackendResult<ClientStatusSnapshot>>

Resumes a previously stored session, if available.

Source

fn connect( &self, request: ConnectRequest, ) -> BoxFuture<'static, BackendResult<ClientStatusSnapshot>>

Connects or reconnects the client.

Source

fn logout(&self) -> BoxFuture<'static, BackendResult<()>>

Logs out the current account.

Source

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

Lists dialogs.

Source

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

Lists only durable cached dialogs without a network request.

Source

fn account_state( &self, ) -> BoxFuture<'static, BackendResult<AccountStateSnapshot>>

Loads account-level durable state used for consumer reconciliation.

Source

fn chat_state( &self, chat_id: InlineId, ) -> BoxFuture<'static, BackendResult<ChatStateSnapshot>>

Loads durable state for one chat used for consumer reconciliation.

Source

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

Fetches chat history.

Source

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

Fetches only the client’s durable cached history without making a network request. This is intended for offline consumers and state reconciliation; ordinary callers should prefer Self::history.

Source

fn chat_participants( &self, request: ChatParticipantsRequest, ) -> BoxFuture<'static, BackendResult<ChatParticipantsPage>>

Fetches chat participants.

Source

fn add_chat_participant( &self, request: AddChatParticipantRequest, ) -> BoxFuture<'static, BackendResult<OperationOutcome>>

Adds a user to a chat.

Source

fn remove_chat_participant( &self, request: RemoveChatParticipantRequest, ) -> BoxFuture<'static, BackendResult<OperationOutcome>>

Removes a user from a chat.

Source

fn update_chat_info( &self, request: UpdateChatInfoRequest, ) -> BoxFuture<'static, BackendResult<OperationOutcome>>

Updates mutable chat metadata.

Source

fn delete_chat( &self, request: DeleteChatRequest, ) -> BoxFuture<'static, BackendResult<OperationOutcome>>

Deletes a chat when permitted by the service.

Source

fn create_dm( &self, request: CreateDmRequest, ) -> BoxFuture<'static, BackendResult<CreatedChat>>

Creates or opens a direct message chat.

Source

fn create_thread( &self, request: CreateThreadRequest, ) -> BoxFuture<'static, BackendResult<CreatedChat>>

Creates a regular Inline thread chat.

Source

fn create_reply_thread( &self, request: CreateReplyThreadRequest, ) -> BoxFuture<'static, BackendResult<CreatedChat>>

Creates a child/reply Inline thread chat.

Source

fn send_text( &self, request: SendTextRequest, ) -> BoxFuture<'static, BackendResult<SendTextOutcome>>

Sends a text message.

Source

fn send_media( &self, request: UploadRequest, bytes: Vec<u8>, ) -> BoxFuture<'static, BackendResult<SendTextOutcome>>

Uploads and sends a media message.

Source

fn edit_message( &self, request: EditMessageRequest, ) -> BoxFuture<'static, BackendResult<OperationOutcome>>

Edits a text message.

Source

fn delete_message( &self, request: DeleteMessageRequest, ) -> BoxFuture<'static, BackendResult<OperationOutcome>>

Deletes or unsends a message.

Source

fn react( &self, request: ReactRequest, ) -> BoxFuture<'static, BackendResult<OperationOutcome>>

Adds or removes a reaction.

Source

fn read( &self, request: ReadRequest, ) -> BoxFuture<'static, BackendResult<OperationOutcome>>

Marks messages read.

Source

fn set_marked_unread( &self, request: SetMarkedUnreadRequest, ) -> BoxFuture<'static, BackendResult<OperationOutcome>>

Sets the explicit marked-unread state for a chat.

Source

fn update_dialog_notifications( &self, request: UpdateDialogNotificationsRequest, ) -> BoxFuture<'static, BackendResult<OperationOutcome>>

Sets or clears a per-dialog notification override.

Source

fn typing( &self, request: TypingRequest, ) -> BoxFuture<'static, BackendResult<OperationOutcome>>

Sends a typing state.

Source

fn receive_events(&self) -> BoxFuture<'static, BackendResult<Vec<ClientEvent>>>

Receives the next batch of server-pushed client events.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§