Fenrir Protocol's official reference library
Go to file
Luca Fulchir b682068dca
Test and fix shutdowns
we have a Quick but partial shutdown, which lets the async "threads"
work in the background and shutdown after a bit more time

and the graceful/full shutdown, which waits for everything.

Unfortunately `Drop` can't manage async and blocks everything,
no way to yeld either, so if we only have a thread
we would deadlock if we tried to stop things gracefully

Signed-off-by: Luca Fulchir <luca.fulchir@runesauth.com>
2023-06-11 22:45:40 +02:00
src Test and fix shutdowns 2023-06-11 22:45:40 +02:00
var Add the git pre-commit hook 2023-06-09 21:02:42 +02:00
.editorconfig Stub for libFenrir 2023-02-03 19:18:34 +01:00
.gitignore Initial empty project 2023-02-02 18:33:56 +01:00
Cargo.toml Test and fix shutdowns 2023-06-11 22:45:40 +02:00
LICENSE License, ConnectionID, flake update 2023-02-15 11:14:13 +01:00
Readme.md Add the git pre-commit hook 2023-06-09 21:02:42 +02:00
flake.lock Upgrade flakes to 23.05 2023-05-24 22:32:41 +02:00
flake.nix Cleanup & incomplete tests 2023-06-10 14:42:24 +02:00
rustfmt.toml Stub for libFenrir 2023-02-03 19:18:34 +01:00

Readme.md

libFenrir

Official reference implementation of the Fenrir protocol

License

Licensed under the Apache2.0 with LLVM exception.
You should be free to use it with GPL2 or other licenses.

Building

like all rust proejcts, just run cargo build --release you will find the result in ./target/release

If you want to build the Hati server, you don't need to build this library separately. Just build the server and it will automatically include this lib

Developing

we recommend to use the nix environment, so that you will have exactly the same environment as the developers.

just enter the repository directory and run

nix develop

and everything should be done for you.

Git

Please configure a pre-commit hook like the one in var/git-pre-commit

cp var/git-pre-commit .git/hooks/pre-commit

This will run cargo test --offline right before your commit, to make sure that everything compiles and that the test pass