├── .clang-format ├── .codecov.yml ├── .github ├── dependabot.yml └── workflows │ └── cmake.yml ├── .gitignore ├── .gitmodules ├── CMakeLists.txt ├── LICENSE ├── NuRaftConfig.cmake.in ├── README.md ├── cmake └── CodeCoverage.cmake ├── conanfile.py ├── docs ├── async_replication.md ├── basic_operations.md ├── bench_results.md ├── custom_commit_policy.md ├── custom_metadata.md ├── custom_quorum_size.md ├── custom_resolver.md ├── customizing_asio.md ├── dealing_with_buffer.md ├── enabling_ssl.md ├── figures │ ├── raft_latency.png │ ├── raft_payload.png │ ├── raft_pipeline.png │ └── raft_throughput.png ├── how_to_use.md ├── leader_election_priority.md ├── leadership_expiration.md ├── log_timestamp.md ├── parallel_log_appending.md ├── prevote_protocol.md ├── quick_start_guide.md ├── quick_tutorial.md ├── readonly_member.md ├── replication_flow.md ├── snapshot_transmission.md └── streaming_mode.md ├── examples ├── CMakeLists.txt ├── README.md ├── backtrace.h ├── calculator │ ├── README.md │ ├── calc_server.cxx │ └── calc_state_machine.hxx ├── echo │ ├── README.md │ ├── echo_server.cxx │ └── echo_state_machine.hxx ├── example_common.hxx ├── in_memory_log_store.cxx ├── in_memory_log_store.hxx ├── in_memory_state_mgr.hxx ├── logger.cc ├── logger.h ├── logger_wrapper.hxx └── quick_start.cxx ├── github_action_build.sh ├── include └── libnuraft │ ├── asio_service.hxx │ ├── asio_service_options.hxx │ ├── async.hxx │ ├── attr_unused.hxx │ ├── basic_types.hxx │ ├── buffer.hxx │ ├── buffer_serializer.hxx │ ├── callback.hxx │ ├── cluster_config.hxx │ ├── context.hxx │ ├── debugging_options.hxx │ ├── delayed_task.hxx │ ├── delayed_task_scheduler.hxx │ ├── error_code.hxx │ ├── event_awaiter.hxx │ ├── global_mgr.hxx │ ├── internal_timer.hxx │ ├── launcher.hxx │ ├── log_entry.hxx │ ├── log_store.hxx │ ├── log_val_type.hxx │ ├── logger.hxx │ ├── msg_base.hxx │ ├── msg_type.hxx │ ├── nuraft.hxx │ ├── peer.hxx │ ├── pp_util.hxx │ ├── ptr.hxx │ ├── raft_params.hxx │ ├── raft_server.hxx │ ├── raft_server_handler.hxx │ ├── req_msg.hxx │ ├── resp_msg.hxx │ ├── rpc_cli.hxx │ ├── rpc_cli_factory.hxx │ ├── rpc_exception.hxx │ ├── rpc_listener.hxx │ ├── snapshot.hxx │ ├── snapshot_sync_ctx.hxx │ ├── snapshot_sync_req.hxx │ ├── srv_config.hxx │ ├── srv_role.hxx │ ├── srv_state.hxx │ ├── state_machine.hxx │ ├── state_mgr.hxx │ ├── strfmt.hxx │ └── timer_task.hxx ├── manifest.sh ├── prepare.sh ├── scripts └── test │ ├── lcov_cobertura.py │ └── runtests.sh ├── src ├── asio_service.cxx ├── buffer.cxx ├── buffer_serializer.cxx ├── cluster_config.cxx ├── crc32.cxx ├── crc32.hxx ├── error_code.cxx ├── exit_handler.hxx ├── fix_format.hxx ├── global_mgr.cxx ├── handle_append_entries.cxx ├── handle_client_request.cxx ├── handle_client_request.hxx ├── handle_commit.cxx ├── handle_custom_notification.cxx ├── handle_custom_notification.hxx ├── handle_join_leave.cxx ├── handle_priority.cxx ├── handle_snapshot_sync.cxx ├── handle_timeout.cxx ├── handle_user_cmd.cxx ├── handle_vote.cxx ├── histogram.h ├── launcher.cxx ├── log_entry.cxx ├── mock_ssl.hxx ├── peer.cxx ├── raft_server.cxx ├── snapshot.cxx ├── snapshot_sync_ctx.cxx ├── snapshot_sync_req.cxx ├── srv_config.cxx ├── stat_mgr.cxx ├── stat_mgr.hxx └── tracer.hxx ├── tests ├── CMakeLists.txt ├── asio │ ├── asio_service_test.cxx │ ├── asio_test_common.hxx │ ├── custom_quorum_test.cxx │ ├── raft_stream_mode_test.cxx │ ├── req_resp_meta_test.cxx │ └── stream_transport_layer_test.cxx ├── bench │ ├── README.md │ ├── ashared_ptr.h │ ├── latency_collector.h │ ├── latency_dump.h │ └── raft_bench.cxx ├── test_common.h └── unit │ ├── buffer_test.cxx │ ├── failure_test.cxx │ ├── fake_executer.hxx │ ├── fake_network.cxx │ ├── fake_network.hxx │ ├── leader_election_test.cxx │ ├── learner_new_joiner_test.cxx │ ├── logger_test.cxx │ ├── new_joiner_test.cxx │ ├── raft_functional_common.hxx │ ├── raft_package_asio.hxx │ ├── raft_package_fake.hxx │ ├── raft_server_test.cxx │ ├── serialization_test.cxx │ ├── snapshot_test.cxx │ ├── stat_mgr_test.cxx │ ├── strfmt_test.cxx │ └── timer_test.cxx └── travis_build.sh /.clang-format: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/.clang-format -------------------------------------------------------------------------------- /.codecov.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/.codecov.yml -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/.github/dependabot.yml -------------------------------------------------------------------------------- /.github/workflows/cmake.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/.github/workflows/cmake.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/.gitignore -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/.gitmodules -------------------------------------------------------------------------------- /CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/CMakeLists.txt -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/LICENSE -------------------------------------------------------------------------------- /NuRaftConfig.cmake.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/NuRaftConfig.cmake.in -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/README.md -------------------------------------------------------------------------------- /cmake/CodeCoverage.cmake: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/cmake/CodeCoverage.cmake -------------------------------------------------------------------------------- /conanfile.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/conanfile.py -------------------------------------------------------------------------------- /docs/async_replication.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/docs/async_replication.md -------------------------------------------------------------------------------- /docs/basic_operations.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/docs/basic_operations.md -------------------------------------------------------------------------------- /docs/bench_results.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/docs/bench_results.md -------------------------------------------------------------------------------- /docs/custom_commit_policy.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/docs/custom_commit_policy.md -------------------------------------------------------------------------------- /docs/custom_metadata.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/docs/custom_metadata.md -------------------------------------------------------------------------------- /docs/custom_quorum_size.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/docs/custom_quorum_size.md -------------------------------------------------------------------------------- /docs/custom_resolver.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/docs/custom_resolver.md -------------------------------------------------------------------------------- /docs/customizing_asio.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/docs/customizing_asio.md -------------------------------------------------------------------------------- /docs/dealing_with_buffer.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/docs/dealing_with_buffer.md -------------------------------------------------------------------------------- /docs/enabling_ssl.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/docs/enabling_ssl.md -------------------------------------------------------------------------------- /docs/figures/raft_latency.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/docs/figures/raft_latency.png -------------------------------------------------------------------------------- /docs/figures/raft_payload.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/docs/figures/raft_payload.png -------------------------------------------------------------------------------- /docs/figures/raft_pipeline.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/docs/figures/raft_pipeline.png -------------------------------------------------------------------------------- /docs/figures/raft_throughput.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/docs/figures/raft_throughput.png -------------------------------------------------------------------------------- /docs/how_to_use.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/docs/how_to_use.md -------------------------------------------------------------------------------- /docs/leader_election_priority.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/docs/leader_election_priority.md -------------------------------------------------------------------------------- /docs/leadership_expiration.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/docs/leadership_expiration.md -------------------------------------------------------------------------------- /docs/log_timestamp.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/docs/log_timestamp.md -------------------------------------------------------------------------------- /docs/parallel_log_appending.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/docs/parallel_log_appending.md -------------------------------------------------------------------------------- /docs/prevote_protocol.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/docs/prevote_protocol.md -------------------------------------------------------------------------------- /docs/quick_start_guide.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/docs/quick_start_guide.md -------------------------------------------------------------------------------- /docs/quick_tutorial.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/docs/quick_tutorial.md -------------------------------------------------------------------------------- /docs/readonly_member.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/docs/readonly_member.md -------------------------------------------------------------------------------- /docs/replication_flow.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/docs/replication_flow.md -------------------------------------------------------------------------------- /docs/snapshot_transmission.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/docs/snapshot_transmission.md -------------------------------------------------------------------------------- /docs/streaming_mode.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/docs/streaming_mode.md -------------------------------------------------------------------------------- /examples/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/examples/CMakeLists.txt -------------------------------------------------------------------------------- /examples/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/examples/README.md -------------------------------------------------------------------------------- /examples/backtrace.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/examples/backtrace.h -------------------------------------------------------------------------------- /examples/calculator/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/examples/calculator/README.md -------------------------------------------------------------------------------- /examples/calculator/calc_server.cxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/examples/calculator/calc_server.cxx -------------------------------------------------------------------------------- /examples/calculator/calc_state_machine.hxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/examples/calculator/calc_state_machine.hxx -------------------------------------------------------------------------------- /examples/echo/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/examples/echo/README.md -------------------------------------------------------------------------------- /examples/echo/echo_server.cxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/examples/echo/echo_server.cxx -------------------------------------------------------------------------------- /examples/echo/echo_state_machine.hxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/examples/echo/echo_state_machine.hxx -------------------------------------------------------------------------------- /examples/example_common.hxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/examples/example_common.hxx -------------------------------------------------------------------------------- /examples/in_memory_log_store.cxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/examples/in_memory_log_store.cxx -------------------------------------------------------------------------------- /examples/in_memory_log_store.hxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/examples/in_memory_log_store.hxx -------------------------------------------------------------------------------- /examples/in_memory_state_mgr.hxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/examples/in_memory_state_mgr.hxx -------------------------------------------------------------------------------- /examples/logger.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/examples/logger.cc -------------------------------------------------------------------------------- /examples/logger.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/examples/logger.h -------------------------------------------------------------------------------- /examples/logger_wrapper.hxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/examples/logger_wrapper.hxx -------------------------------------------------------------------------------- /examples/quick_start.cxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/examples/quick_start.cxx -------------------------------------------------------------------------------- /github_action_build.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/github_action_build.sh -------------------------------------------------------------------------------- /include/libnuraft/asio_service.hxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/include/libnuraft/asio_service.hxx -------------------------------------------------------------------------------- /include/libnuraft/asio_service_options.hxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/include/libnuraft/asio_service_options.hxx -------------------------------------------------------------------------------- /include/libnuraft/async.hxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/include/libnuraft/async.hxx -------------------------------------------------------------------------------- /include/libnuraft/attr_unused.hxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/include/libnuraft/attr_unused.hxx -------------------------------------------------------------------------------- /include/libnuraft/basic_types.hxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/include/libnuraft/basic_types.hxx -------------------------------------------------------------------------------- /include/libnuraft/buffer.hxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/include/libnuraft/buffer.hxx -------------------------------------------------------------------------------- /include/libnuraft/buffer_serializer.hxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/include/libnuraft/buffer_serializer.hxx -------------------------------------------------------------------------------- /include/libnuraft/callback.hxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/include/libnuraft/callback.hxx -------------------------------------------------------------------------------- /include/libnuraft/cluster_config.hxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/include/libnuraft/cluster_config.hxx -------------------------------------------------------------------------------- /include/libnuraft/context.hxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/include/libnuraft/context.hxx -------------------------------------------------------------------------------- /include/libnuraft/debugging_options.hxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/include/libnuraft/debugging_options.hxx -------------------------------------------------------------------------------- /include/libnuraft/delayed_task.hxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/include/libnuraft/delayed_task.hxx -------------------------------------------------------------------------------- /include/libnuraft/delayed_task_scheduler.hxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/include/libnuraft/delayed_task_scheduler.hxx -------------------------------------------------------------------------------- /include/libnuraft/error_code.hxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/include/libnuraft/error_code.hxx -------------------------------------------------------------------------------- /include/libnuraft/event_awaiter.hxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/include/libnuraft/event_awaiter.hxx -------------------------------------------------------------------------------- /include/libnuraft/global_mgr.hxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/include/libnuraft/global_mgr.hxx -------------------------------------------------------------------------------- /include/libnuraft/internal_timer.hxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/include/libnuraft/internal_timer.hxx -------------------------------------------------------------------------------- /include/libnuraft/launcher.hxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/include/libnuraft/launcher.hxx -------------------------------------------------------------------------------- /include/libnuraft/log_entry.hxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/include/libnuraft/log_entry.hxx -------------------------------------------------------------------------------- /include/libnuraft/log_store.hxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/include/libnuraft/log_store.hxx -------------------------------------------------------------------------------- /include/libnuraft/log_val_type.hxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/include/libnuraft/log_val_type.hxx -------------------------------------------------------------------------------- /include/libnuraft/logger.hxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/include/libnuraft/logger.hxx -------------------------------------------------------------------------------- /include/libnuraft/msg_base.hxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/include/libnuraft/msg_base.hxx -------------------------------------------------------------------------------- /include/libnuraft/msg_type.hxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/include/libnuraft/msg_type.hxx -------------------------------------------------------------------------------- /include/libnuraft/nuraft.hxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/include/libnuraft/nuraft.hxx -------------------------------------------------------------------------------- /include/libnuraft/peer.hxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/include/libnuraft/peer.hxx -------------------------------------------------------------------------------- /include/libnuraft/pp_util.hxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/include/libnuraft/pp_util.hxx -------------------------------------------------------------------------------- /include/libnuraft/ptr.hxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/include/libnuraft/ptr.hxx -------------------------------------------------------------------------------- /include/libnuraft/raft_params.hxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/include/libnuraft/raft_params.hxx -------------------------------------------------------------------------------- /include/libnuraft/raft_server.hxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/include/libnuraft/raft_server.hxx -------------------------------------------------------------------------------- /include/libnuraft/raft_server_handler.hxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/include/libnuraft/raft_server_handler.hxx -------------------------------------------------------------------------------- /include/libnuraft/req_msg.hxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/include/libnuraft/req_msg.hxx -------------------------------------------------------------------------------- /include/libnuraft/resp_msg.hxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/include/libnuraft/resp_msg.hxx -------------------------------------------------------------------------------- /include/libnuraft/rpc_cli.hxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/include/libnuraft/rpc_cli.hxx -------------------------------------------------------------------------------- /include/libnuraft/rpc_cli_factory.hxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/include/libnuraft/rpc_cli_factory.hxx -------------------------------------------------------------------------------- /include/libnuraft/rpc_exception.hxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/include/libnuraft/rpc_exception.hxx -------------------------------------------------------------------------------- /include/libnuraft/rpc_listener.hxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/include/libnuraft/rpc_listener.hxx -------------------------------------------------------------------------------- /include/libnuraft/snapshot.hxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/include/libnuraft/snapshot.hxx -------------------------------------------------------------------------------- /include/libnuraft/snapshot_sync_ctx.hxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/include/libnuraft/snapshot_sync_ctx.hxx -------------------------------------------------------------------------------- /include/libnuraft/snapshot_sync_req.hxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/include/libnuraft/snapshot_sync_req.hxx -------------------------------------------------------------------------------- /include/libnuraft/srv_config.hxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/include/libnuraft/srv_config.hxx -------------------------------------------------------------------------------- /include/libnuraft/srv_role.hxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/include/libnuraft/srv_role.hxx -------------------------------------------------------------------------------- /include/libnuraft/srv_state.hxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/include/libnuraft/srv_state.hxx -------------------------------------------------------------------------------- /include/libnuraft/state_machine.hxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/include/libnuraft/state_machine.hxx -------------------------------------------------------------------------------- /include/libnuraft/state_mgr.hxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/include/libnuraft/state_mgr.hxx -------------------------------------------------------------------------------- /include/libnuraft/strfmt.hxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/include/libnuraft/strfmt.hxx -------------------------------------------------------------------------------- /include/libnuraft/timer_task.hxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/include/libnuraft/timer_task.hxx -------------------------------------------------------------------------------- /manifest.sh: -------------------------------------------------------------------------------- 1 | ASIO_RELEASE="asio-1-24-0" 2 | -------------------------------------------------------------------------------- /prepare.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/prepare.sh -------------------------------------------------------------------------------- /scripts/test/lcov_cobertura.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/scripts/test/lcov_cobertura.py -------------------------------------------------------------------------------- /scripts/test/runtests.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/scripts/test/runtests.sh -------------------------------------------------------------------------------- /src/asio_service.cxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/src/asio_service.cxx -------------------------------------------------------------------------------- /src/buffer.cxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/src/buffer.cxx -------------------------------------------------------------------------------- /src/buffer_serializer.cxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/src/buffer_serializer.cxx -------------------------------------------------------------------------------- /src/cluster_config.cxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/src/cluster_config.cxx -------------------------------------------------------------------------------- /src/crc32.cxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/src/crc32.cxx -------------------------------------------------------------------------------- /src/crc32.hxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/src/crc32.hxx -------------------------------------------------------------------------------- /src/error_code.cxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/src/error_code.cxx -------------------------------------------------------------------------------- /src/exit_handler.hxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/src/exit_handler.hxx -------------------------------------------------------------------------------- /src/fix_format.hxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/src/fix_format.hxx -------------------------------------------------------------------------------- /src/global_mgr.cxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/src/global_mgr.cxx -------------------------------------------------------------------------------- /src/handle_append_entries.cxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/src/handle_append_entries.cxx -------------------------------------------------------------------------------- /src/handle_client_request.cxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/src/handle_client_request.cxx -------------------------------------------------------------------------------- /src/handle_client_request.hxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/src/handle_client_request.hxx -------------------------------------------------------------------------------- /src/handle_commit.cxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/src/handle_commit.cxx -------------------------------------------------------------------------------- /src/handle_custom_notification.cxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/src/handle_custom_notification.cxx -------------------------------------------------------------------------------- /src/handle_custom_notification.hxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/src/handle_custom_notification.hxx -------------------------------------------------------------------------------- /src/handle_join_leave.cxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/src/handle_join_leave.cxx -------------------------------------------------------------------------------- /src/handle_priority.cxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/src/handle_priority.cxx -------------------------------------------------------------------------------- /src/handle_snapshot_sync.cxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/src/handle_snapshot_sync.cxx -------------------------------------------------------------------------------- /src/handle_timeout.cxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/src/handle_timeout.cxx -------------------------------------------------------------------------------- /src/handle_user_cmd.cxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/src/handle_user_cmd.cxx -------------------------------------------------------------------------------- /src/handle_vote.cxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/src/handle_vote.cxx -------------------------------------------------------------------------------- /src/histogram.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/src/histogram.h -------------------------------------------------------------------------------- /src/launcher.cxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/src/launcher.cxx -------------------------------------------------------------------------------- /src/log_entry.cxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/src/log_entry.cxx -------------------------------------------------------------------------------- /src/mock_ssl.hxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/src/mock_ssl.hxx -------------------------------------------------------------------------------- /src/peer.cxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/src/peer.cxx -------------------------------------------------------------------------------- /src/raft_server.cxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/src/raft_server.cxx -------------------------------------------------------------------------------- /src/snapshot.cxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/src/snapshot.cxx -------------------------------------------------------------------------------- /src/snapshot_sync_ctx.cxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/src/snapshot_sync_ctx.cxx -------------------------------------------------------------------------------- /src/snapshot_sync_req.cxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/src/snapshot_sync_req.cxx -------------------------------------------------------------------------------- /src/srv_config.cxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/src/srv_config.cxx -------------------------------------------------------------------------------- /src/stat_mgr.cxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/src/stat_mgr.cxx -------------------------------------------------------------------------------- /src/stat_mgr.hxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/src/stat_mgr.hxx -------------------------------------------------------------------------------- /src/tracer.hxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/src/tracer.hxx -------------------------------------------------------------------------------- /tests/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/tests/CMakeLists.txt -------------------------------------------------------------------------------- /tests/asio/asio_service_test.cxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/tests/asio/asio_service_test.cxx -------------------------------------------------------------------------------- /tests/asio/asio_test_common.hxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/tests/asio/asio_test_common.hxx -------------------------------------------------------------------------------- /tests/asio/custom_quorum_test.cxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/tests/asio/custom_quorum_test.cxx -------------------------------------------------------------------------------- /tests/asio/raft_stream_mode_test.cxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/tests/asio/raft_stream_mode_test.cxx -------------------------------------------------------------------------------- /tests/asio/req_resp_meta_test.cxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/tests/asio/req_resp_meta_test.cxx -------------------------------------------------------------------------------- /tests/asio/stream_transport_layer_test.cxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/tests/asio/stream_transport_layer_test.cxx -------------------------------------------------------------------------------- /tests/bench/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/tests/bench/README.md -------------------------------------------------------------------------------- /tests/bench/ashared_ptr.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/tests/bench/ashared_ptr.h -------------------------------------------------------------------------------- /tests/bench/latency_collector.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/tests/bench/latency_collector.h -------------------------------------------------------------------------------- /tests/bench/latency_dump.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/tests/bench/latency_dump.h -------------------------------------------------------------------------------- /tests/bench/raft_bench.cxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/tests/bench/raft_bench.cxx -------------------------------------------------------------------------------- /tests/test_common.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/tests/test_common.h -------------------------------------------------------------------------------- /tests/unit/buffer_test.cxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/tests/unit/buffer_test.cxx -------------------------------------------------------------------------------- /tests/unit/failure_test.cxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/tests/unit/failure_test.cxx -------------------------------------------------------------------------------- /tests/unit/fake_executer.hxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/tests/unit/fake_executer.hxx -------------------------------------------------------------------------------- /tests/unit/fake_network.cxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/tests/unit/fake_network.cxx -------------------------------------------------------------------------------- /tests/unit/fake_network.hxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/tests/unit/fake_network.hxx -------------------------------------------------------------------------------- /tests/unit/leader_election_test.cxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/tests/unit/leader_election_test.cxx -------------------------------------------------------------------------------- /tests/unit/learner_new_joiner_test.cxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/tests/unit/learner_new_joiner_test.cxx -------------------------------------------------------------------------------- /tests/unit/logger_test.cxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/tests/unit/logger_test.cxx -------------------------------------------------------------------------------- /tests/unit/new_joiner_test.cxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/tests/unit/new_joiner_test.cxx -------------------------------------------------------------------------------- /tests/unit/raft_functional_common.hxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/tests/unit/raft_functional_common.hxx -------------------------------------------------------------------------------- /tests/unit/raft_package_asio.hxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/tests/unit/raft_package_asio.hxx -------------------------------------------------------------------------------- /tests/unit/raft_package_fake.hxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/tests/unit/raft_package_fake.hxx -------------------------------------------------------------------------------- /tests/unit/raft_server_test.cxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/tests/unit/raft_server_test.cxx -------------------------------------------------------------------------------- /tests/unit/serialization_test.cxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/tests/unit/serialization_test.cxx -------------------------------------------------------------------------------- /tests/unit/snapshot_test.cxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/tests/unit/snapshot_test.cxx -------------------------------------------------------------------------------- /tests/unit/stat_mgr_test.cxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/tests/unit/stat_mgr_test.cxx -------------------------------------------------------------------------------- /tests/unit/strfmt_test.cxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/tests/unit/strfmt_test.cxx -------------------------------------------------------------------------------- /tests/unit/timer_test.cxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/tests/unit/timer_test.cxx -------------------------------------------------------------------------------- /travis_build.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eBay/NuRaft/HEAD/travis_build.sh --------------------------------------------------------------------------------