Fly, baby, fly: initial PAXOS consensus daemon implementation commit

Tagged:  

As promised (long-long-freaking-long ago) I started next project, and this is a distributed consensus algorithm written on top of PAXOS.
I believe I started to understand its main feature, and thus progress will be noticebly. This will likely be a locking system for POHMELFS and implemented as a network service.

This is not particulary PAXOS implementation, but the first commit only (written today):

git commit --stat -a -m "Initial PAXOS consensus daemon import."
[master (root-commit) 40c0301] Initial PAXOS consensus daemon import.
 18 files changed, 3949 insertions(+), 0 deletions(-)

The most interesting part actually is quite small:

$ wc -l src/pxs.c src/lnet.c include/lnet/lnet.h include/lnet/atomic.h
  155 src/pxs.c
  371 src/lnet.c
  168 include/lnet/lnet.h
  143 include/lnet/atomic.h
  837 total

For the start, we will not support multi-PAXOS (currently we actually support nothing out of real PAXOS, only initial stub), instead we will work on some obscure current branch, which should be enough for atomic operations and maybe locking. Also there will be no master producer selection algorithm - we will use hash of the address or something like that, which is not a 100% bullet-proof idea though.

Later state machines will be extended to support real distributed multi-PAXOS.