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.
qrcode: Enables QRcode generation and reading code.
testing: Provides facilities and functions for tests, in particular for integration testing store implementations. ATTENTION: do not ever use outside of tests, we do not provide any stability warantees on these, these are merely helpers. If you find you need any function provided here outside of tests, please open a Github Issue and inform us about your use case for us to consider.
pub use read_receipts::PreviousEventsProvider;
pub use store::StateChanges;
pub use store::StateStore;
pub use store::StateStoreDataKey;
pub use store::StateStoreDataValue;
pub use store::StoreError;
pub use matrix_sdk_crypto as crypto;
pub use once_cell;
- Helpers for creating
- SDK-specific variations of response types from Ruma.
- Abstraction over an executor so we can spawn tasks under WASM the same way we do usually.
- A TTL cache which can be used to time out repeated operations that might experience intermittent failures.
experimental-sliding-syncUtilities for working with events to decide whether they are suitable for use as a crate::Room::latest_event.
- Common types for media content.
- Client-side read receipts computation
- Types and traits for working with the Matrix protocol.
- The state store holds the overall state for rooms, users and their profiles and their timelines. It is an overall cache for faster access and convenience- accessible through
- Collection of small helpers that implement store-based locks.
- The SDK’s representation of the result of a
- Macro to create a RAII timer that will log a
tracingevent once it’s dropped.
- A no IO Client implementation.
- An unredacted minimal state event.
- A redacted minimal state event.
- The underlying room data structure collecting state for joined, left and invited rooms.
- The content of an
m.room.createevent, with a required
- The underlying pure data structure for joined and left rooms.
- A summary of changes to room information.
- A member of a room.
- Room membership filter as a bitset.
- Room state filter as a bitset.
- The Matrix user session info.
- The name of the room, either from the metadata or calculated according to matrix specification
- Internal representation of errors.
- A minimal state event.
- Enum keeping track in which state the room is, e.g. if our own user is joined, invited, or has left the room.
- Amount of time a lease of the lock should last, in milliseconds.
- Super trait that is used for our store traits, this trait will differ if it’s used on WASM. WASM targets will not require
Syncto have implemented, while other targets will.
- SendOutsideWasmNon-WebAssemblyAlias for
Sendon non-wasm, empty trait (implemented by everything) on wasm.
- SyncOutsideWasmNon-WebAssemblyAlias for
Syncon non-wasm, empty trait (implemented by everything) on wasm.
- A minimal
- Result type of the rust-sdk.