Crate matrix_sdk_base[][src]

Expand description

This crate implements the base to build a Matrix client library.

Crate Feature Flags

The following crate feature flags are available:

  • encryption: Enables end-to-end encryption support in the library.
  • sled_cryptostore: Enables a Sled based store for the encryption keys. If this is disabled and encryption support is enabled the keys will by default be stored only in memory and thus lost after the client is destroyed.
  • sled_state_store: Enables a Sled based store for the storage of the local client state.


pub use matrix_sdk_crypto as crypto;


Abstraction over an executor so we can spawn tasks under WASM the same way we do usually.

Common types for media content.

Generate and parse UUIDs.


A no IO Client implementation.

Configuration for the creation of the BaseClient.

The underlying room data structure collecting state for joined, left and invited rooms.

The underlying pure data structure for joined and left rooms.

A member of a room.

A user session, containing an access token and information about the associated user account.

Store state changes and pass them to the StateStore.

A state store wrapper for the SDK.


Internal representation of errors.

Enum keeping track in which state the room is, e.g. if our own user is joined, invited, or has left the room.

State store specific error type.


Super trait that is used for our store traits, this trait will differ if it’s used on WASM. WASM targets will not require Send and Sync to have implemented, while other targets will.

An abstract state store trait that can be used to implement different stores for the SDK.

Type Definitions

Result type of the rust-sdk.

Attribute Macros