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
131 downloads per month
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‽).