5 releases

0.1.4 Sep 15, 2024
0.1.3 Sep 15, 2024
0.1.2 Sep 14, 2024
0.1.1 Sep 14, 2024
0.1.0 Sep 14, 2024

#9 in #paper

Download history 7/week @ 2024-12-07 2/week @ 2025-02-01 1/week @ 2025-02-08

131 downloads per month

Apache-2.0

10KB
112 lines

Jarl may be Just Another Raft Library, but it makes a point to be literally just another Raft library. There's no I/O, no standard library, no dependencies, no internal allocations, no async... literally just a state machine for managing consensus of a "virtual" cell.

The library is a single Rust file. As simple as it gets.

All Raft log state is managed in-memory.

The goal is to eventually have wrapping libraries which implement various transport integrations for using "off-the-shelf" (e.g. gRPC, OpenAPI, etc.) in an actual networked context. If we're feeling cheeky, we might even implement some unexpected IPC mechanisms (Raft over SMS anyone? What about Raft over S3? Serverless Raft‽).

No runtime deps