michaelqxd / cpp-raft

Raft Consensus Algorithm Implementation in C++ (11)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CRaft

What?

C implementation of the Raft Consensus protocol, BSD licensed

How does it work?

See raft.h for full documentation.

Networking is out of scope for this project. The implementor will need to do all the plumbing. Currently, this is done by:

  • Implementing all the callbacks within raft_cbs_t; and
  • Calling raft_recv_.* functions with msg_.* message structs

Dependencies ------------http://marketplace.eclipse.org/marketplace-client-intro?mpc_install=369 There are no dependencies, however https://github.com/willemt/CLinkedListQueue is required for testing.

Building

$make

Todo

  • Member changes
  • Log compaction
  • More scenario tests (ie. more varied network partition scenarios)
  • Usage example

About

Raft Consensus Algorithm Implementation in C++ (11)

License:Other


Languages

Language:C++ 78.2%Language:Makefile 13.7%Language:Python 4.4%Language:C 1.7%Language:CMake 0.9%Language:Shell 0.9%