#![doc = include_str!("../README.md")]
#![cfg_attr(docsrs, feature(doc_auto_cfg))]
#![cfg_attr(not(test), warn(clippy::unwrap_used, clippy::expect_used))]
pub mod codec;
pub mod codec_provider;
pub mod macros;
#[cfg(feature = "rocksdb-log-store")]
pub mod log_store;
pub mod lifecycle;
#[cfg(any(test, feature = "test-fakes"))]
pub mod test_fakes;
pub use codec::{
ActiveWriteVersion, BASELINE_WRITE_VERSION, BATCH_WRITE_VERSION, CodecError,
DENSE_WRITE_VERSION, MAX_READABLE_VERSION, MIN_READABLE_VERSION, codec_io_error, decode,
encode, recover_active_write_version,
};
pub use codec_provider::{DefaultLogStoreCodec, LogStoreCodec};
pub use lifecycle::{
BootstrapError, BootstrapMode, GatedAdmissionError, JoinerGateError, LeadershipState,
MembershipError, add_learner, add_learner_gated, bootstrap, change_membership, join,
leadership_events, leadership_events_from_metrics, learner_meets_active_write_version,
};
#[cfg(feature = "rocksdb-log-store")]
pub use log_store::{
Flat, GroupPrefixed, KeySpace, MetaLabel, RocksdbLogStore, RocksdbLogStoreError,
};
#[cfg(all(test, feature = "rocksdb-log-store"))]
mod reexport_tests {
#[test]
fn seam_items_are_reachable_from_crate_root() {
fn _assert_reachable<C, Codec>()
where
C: openraft::RaftTypeConfig,
Codec: crate::LogStoreCodec<C>,
{
}
let _ = std::any::type_name::<crate::DefaultLogStoreCodec>();
}
}