Crate matrix_sdk_base
source ·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.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.
Re-exports§
pub use read_receipts::PreviousEventsProvider;
pub use store::ComposerDraft;
pub use store::ComposerDraftType;
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;
e2e-encryption
pub use once_cell;
Modules§
- Helpers for creating
std::fmt::Debug
implementations. - SDK-specific variations of response types from Ruma.
- The event cache stores holds events and downloaded media when the cache was activated to save bandwidth at the cost of increased storage space usage.
- 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.
- latest_
event e2e-encryption
orexperimental-sliding-sync
Utilities for working with events to decide whether they are suitable for use as a crate::Room::latest_event. - Common types for media content.
- Some shared types about notification settings.
- Client-side read receipts computation
- Types and traits for working with the Matrix protocol.
- sliding_
sync experimental-sliding-sync
ExtendBaseClient
with capabilities to handle MSC3575. - 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
Store
. - Collection of small helpers that implement store-based locks.
- The SDK’s representation of the result of a
/sync
request.
Macros§
- Macro to create a RAII timer that will log a
tracing
event once it’s dropped.
Structs§
- 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.create
event, with a requiredcreator
field. - Information about a member considered to be a room hero.
- The underlying pure data structure for joined and left rooms.
- Indicates that a notable update of
RoomInfo
has been applied, and why. - The reason why a
RoomInfoNotableUpdate
is emitted. - A member of a room.
- Room membership filter as a bitset.
- Room state filter as a bitset.
- The Matrix user session info.
Enums§
- 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.
Constants§
- Amount of time a lease of the lock should last, in milliseconds.
Traits§
- 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
andSync
to have implemented, while other targets will. - Send
Outside Wasm Non-WebAssembly Alias forSend
on non-wasm, empty trait (implemented by everything) on wasm. - Sync
Outside Wasm Non-WebAssembly Alias forSync
on non-wasm, empty trait (implemented by everything) on wasm.
Type Aliases§
- BoxFuture
Non-WebAssembly - A minimal
m.room.member
event. - Result type of the rust-sdk.