Modules

This project contains among others the following modules, which can be used independently:
- trixnity-core contains all basic data structures of the spec and it’s serialization algorithms. This includes events, identifiers and other things like CrossSigningKeys.
- trixnity-libolm implements the wrappers of the E2E-olm-library libolm for Kotlin Multiplatform. It also ships the olm binaries for most targets.
- trixnity-vodozemac implements the wrappers of the E2E-olm-library vodozemac for Kotlin Multiplatform. It also ships the olm binaries for most targets.
- trixnity-crypto-core contains various cryptographic primitives used in Matrix.
- trixnity-crypto-driver-* is a common layer for olm and megolm based crypto libraries including various implementations.
- trixnity-crypto contains various cryptographic algorithms used in Matrix.
- trixnity-api-client provides tools for api client modules.
- trixnity-api-server provides tools for api server modules.
- trixnity-clientserverapi-*
provides modules to
use
the Client-Server API.
- trixnity-clientserverapi-model provides shared model classes.
- trixnity-clientserverapi-client is the client implementation without logic.
- trixnity-clientserverapi-server is the server implementation without logic.
- trixnity-serverserverapi-*
provides modules to
use
the Server-Server API.
- trixnity-serverserverapi-model provides shared model classes.
- trixnity-serverserverapi-client is the client implementation without logic.
- trixnity-serverserverapi-server is the server implementation without logic.
- trixnity-applicationserviceapi-*
provides
modules to use
the Application Service API.
- trixnity-applicationserviceapi-model provides shared model classes.
- trixnity-applicationserviceapi-server is the server implementation without logic.
- trixnity-client-* provides a high level client implementation. It allows you to easily implement clients by just rendering data from and passing user interactions to Trixnity. It contains various submodules for different use cases.