Archived
1
0
Fork
You've already forked morganite
0
Chat Client for a Pseudo Protocol
This repository has been archived on 2026年01月15日. You can view files and clone it, but you cannot make any changes to its state, such as pushing and creating new issues, pull requests or comments.
  • Rust 100%
2024年09月08日 19:55:17 +02:00
.github/workflows RDT Template + CI 2023年12月23日 11:24:14 +01:00
docs Update FSM 2024年07月03日 10:07:12 +02:00
logs Initial TUI 2024年06月23日 12:34:46 +02:00
src Broadcast Command 2024年07月02日 18:36:48 +02:00
.gitignore Move Änderungshistorie to own file 2023年12月27日 15:58:12 +01:00
Cargo.lock Import chrono 2024年06月29日 16:25:42 +02:00
Cargo.toml Import chrono 2024年06月29日 16:25:42 +02:00
LICENSE Update readme 2023年12月18日 15:52:26 +01:00
README.md Update README.md 2024年09月08日 19:55:17 +02:00

Morganite

Morganite Chat Example

Morganite is a chat client for a pseudo chat protocol. It is written in Rust using Tokio TCP Sockets and Serde for serialization and deserialization of messages.

The protocol works in a serverless manner while also only having a direct connection to some of the clients, which requires routing using Distance Vector Routing with Poise Reverse & Split Horizon to mitigate routing loops.

It employs worker pools for handling incoming messages and sending messages to other clients. It also uses a timer to periodically send routing updates to other clients and channels to communicate between the workers and the main thread.

For the exact protocol specification see HERE.

Usage

cargo run <ip>:<port> to bind to a specific address and port otherwise it will bind to a default address and port.

See help for a list of available commands.

License

This project is licensed under EUPLv1.2 see HERE. It may not be used without adhering to the license or explicit permission from the authors.

This project is part of a university course. Unlicensed usage of this project to fulfill the course requirements is not allowed and would be considered plagiarism! We do not take any responsibility for the consequences of foolish actions and explicitly warn against it!