lavina/crates
Mikhail adf1d8c14c xmpp: Implement Message Archive Management stub for XEP-0313 ()
https://xmpp.org/extensions/xep-0313.html
Reviewed-on: 
Co-authored-by: Mikhail <mikhail@liamets.dev>
Co-committed-by: Mikhail <mikhail@liamets.dev>
2024-05-05 15:12:58 +00:00
..
lavina-core management api endpoints for rooms 2024-05-01 17:30:31 +02:00
mgmt-api management api endpoints for rooms 2024-05-01 17:30:31 +02:00
projection-irc player shutdown API () 2024-04-29 17:24:43 +00:00
projection-xmpp xmpp: Implement Message Archive Management stub for XEP-0313 () 2024-05-05 15:12:58 +00:00
proto-irc irc: implement server-time capability for incoming messages () 2024-04-21 21:00:44 +00:00
proto-xmpp xmpp: Implement Message Archive Management stub for XEP-0313 () 2024-05-05 15:12:58 +00:00
sasl sasl: remove unused code 2024-04-23 00:41:54 +02:00
readme.md update docs 2023-10-10 02:30:50 +02:00

readme.md

Dependency diagram of the project

A few rules:

  • Only projections should be direct deps of lavina, there is no need to depend on proto-* crates.
  • On the other hand, projections should not be dependencies of sim-* crates.
  • lavina-core does not depend on protocol-specific crates.

Lavina

lavina-core. This crate implements the core functionality of the server not specific to public interfaces. It includes handling general persistence, message casts, in future room authorization and cross-node communication.

lavina. The application crate. It's used to link other crates together and build the final binary with support for all protocols.

mgmt-api. Model definitions for management API to be used both in the server and client implementations.

IRC

proto-irc. Protocol definition for IRC, includes both server-side and client-side messages and both serialization and deserialization where needed.

projection-irc. Projection of lavina-core onto the IRC client-to-server protocol implementation.

sim-irc. Future implementation of IRC client simulator to be used in integration and load testing.