raftify 0.1.82

Experimental High level Raft framework
Documentation
mod config;
mod error;
mod formatter;
mod log_entry;
mod peer;
mod peers;
mod raft_bootstrapper;
mod raft_client;
mod raft_server;
mod state_machine;
mod storage;
mod utils;

mod request;
mod response;

pub mod cluster_join_ticket;
pub mod raft_node;
pub mod raft_service;

pub use {
    async_trait::async_trait, bincode, formatter::CustomFormatter, raft,
    raft::Config as RaftConfig, tonic, tonic::transport::Channel,
};

pub use crate::{
    cluster_join_ticket::ClusterJoinTicket,
    config::{config_builder::ConfigBuilder, load_configs, Config, TlsConfig},
    error::{Error, Result},
    log_entry::AbstractLogEntry,
    peer::Peer,
    peers::Peers,
    raft_bootstrapper::Raft,
    raft_client::create_client,
    raft_node::{role::InitialRole, utils::format_debugging_info, RaftNode},
    raft_service::raft_service_client::RaftServiceClient,
    request::common::confchange_request::ConfChangeRequest,
    state_machine::AbstractStateMachine,
    storage::{StableStorage, StorageType},
};

#[cfg(feature = "heed_storage")]
pub use storage::heed_storage::HeedStorage;

#[cfg(feature = "inmemory_storage")]
pub use storage::inmemory_storage::MemStorage;

#[cfg(feature = "rocksdb_storage")]
pub use storage::rocksdb_storage::RocksDBStorage;

pub(crate) use crate::utils::macros::macro_utils;