This work is funded by NSF grant 1637385. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.
This repository contains the unified code for the clients and servers for the FuzzyLog project; an experiment in partially ordered SMR. A companion repository contains the remaining benchmark code.
Download and install rust (easiest way is
curl https://sh.rustup.rs -sSf | sh).
Clone this repository.
To run local tests
NOTE: The first build will be much slower than subsequent ones
as it needs to download dependencies.
NOTE: Due to the very large number of sockets the test suite opens, running the entire test sweet concurrently often causes tests to fail with
Too many open files. To fix this either run in single threaded mode
RUST_TEST_THREADS=1 cargo test) or run only a subset of the test suite.
A CLI binding for starting FuzzyLog servers can be found in servers/tcp_server.
- src/tests the FuzzyLog regression tests.
- examples sample code which uses the client library to perform vaious tasks, of note are:
- servers/tcp_server a TCP based fuzzy log sever.
- clients various DPDK based clients for use in testing (obsolescent).
- fuzzy_log_server the fuzzy log server implementation library.
- fuzzy_log_client the fuzzy log client implementation library.