1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#[macro_use]
extern crate async_trait;

mod config;
mod error;
mod formatter;
mod log_entry;
mod peer;
mod peers;
mod raft_client;
mod raft_facade;
mod raft_node;
mod raft_server;
mod request_message;
mod response_message;
mod state_machine;
mod storage;
mod utils;

pub mod cli;
pub mod raft_service;

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

pub use crate::{
    config::Config,
    error::{Error, Result},
    log_entry::AbstractLogEntry,
    peer::Peer,
    peers::Peers,
    raft_client::create_client,
    raft_facade::{ClusterJoinTicket, Raft},
    raft_node::{role::InitialRole, RaftNode},
    raft_service::raft_service_client::RaftServiceClient,
    state_machine::AbstractStateMachine,
    storage::heed::{HeedStorage, LogStore},
};

pub(crate) use utils::macro_utils;