Ring agnostic, Consistent, C Raft implementation
51d41e6d — Louis Solofrizzo 3 days ago
election: Fix term issues on elections, and rollback term with leader
9b3e93d8 — Louis Solofrizzo 6 days ago
raft: Fix compilation
4a855f7c — Louis Solofrizzo 6 days ago
raft: Change malloc to calloc for log reloading

refs

master
browse log

clone

read-only
https://git.mobley.ne02ptzero.me/~louis/libfloat
read/write
git@git.mobley.ne02ptzero.me:~louis/libfloat

libfloat

Ring agnostic, Consistent, C Raft implementation

Table of Contents

About the project

libfloat is an effort to propose a very simple RAFT library, focusing on consistent data replication (eg; databases). It can be runned with or without an userspace, and does not implement networking or writes, leaving the implementation a lot of room for specific use cases.

This implementation is based on the RAFT paper, but does not implement FSM consistency.

Getting Started

Compilation

In order to compile, you will need the following programs:

  • A C Compiler gcc / clang
  • cmake

Clone the repository:

git clone https://git.mobley.ne02ptzero.me/~louis/libfloat

cd & create the build directory:

cd libfloat && mkdir -p build && cd build && cmake ..

Compile everything:

make

Contributing

If you want to contribute, please send your patches to ~louis/libfloat@lists.mobley.ne02ptzero.me You can look at git-send-email.io if you need to setup your mail client.

Bug Report

Please report your bugs at todo/~louis/libfloat You can also send an email to ~louis/libfloat@todo.mobley.ne02ptzero.me