pub mod config;
pub mod delta_ship;
pub mod exchange;
pub mod exchange_fsm;
pub mod metrics;
#[cfg(feature = "noxu")]
pub mod mst_reconcile;
#[cfg(feature = "noxu")]
pub mod noxu_fold;
pub mod persist;
pub mod repair;
pub mod scheduler;
pub mod status;
pub mod tictac;
pub use crate::aae::config::ConfAae;
pub use crate::aae::config::ReconcileMode;
pub use crate::aae::delta_ship::{apply_shipment, plan_shipment, Shipment};
pub use crate::aae::exchange::{
decode_key_sync, decode_root_sync, decode_tree_sync, encode_key_sync, encode_root_sync,
encode_tree_sync, Divergence, Exchange, ExchangeError, ExchangeFrame, LocalPeerView, PeerView,
EXCHANGE_MAGIC, FRAME_HEADER_LEN, MAX_PAYLOAD_LEN, PHASE_KEY_SYNC, PHASE_ROOT_SYNC,
PHASE_TREE_SYNC,
};
pub use crate::aae::exchange_fsm::{
exchange_with_peer, spawn_exchange, Event as ExchangeFsmEvent, ExchangeHandler,
ExchangeOutcome, FsmRequest as ExchangeFsmRequest, PeerViewAsync, State as ExchangeFsmState,
SyncPeerViewAdapter, DEFAULT_STATE_TIMEOUT,
};
pub use crate::aae::metrics::{
load_snapshot_with_metrics, save_snapshot_with_metrics, AaeMetrics, AaeMetricsSnapshot,
PeerEntry as AaePeerEntry, SimplePeerEntry as AaeSimplePeerEntry,
};
#[cfg(feature = "noxu")]
pub use crate::aae::mst_reconcile::{
build_mst, composite_key, reconcile_pull, split_composite, value_digest, DatastoreSource,
MstReconcileError, ObjectSource, ReconcileOutcome,
};
#[cfg(feature = "noxu")]
pub use crate::aae::noxu_fold::NoxuFoldError;
pub use crate::aae::persist::{PersistError, MAX_FIELD_LEN, SNAPSHOT_MAGIC, SNAPSHOT_VERSION};
pub use crate::aae::repair::{
ClockOrder, ItcOrder, LexicographicOrder, MpscRepairSink, Outcome, RepairDirection,
RepairOutcome, RepairScheduler, RepairSink, RepairTask,
};
pub use crate::aae::scheduler::{Clock, MockClock, Scheduler, SweepPlan, SweepTick, SystemClock};
pub use crate::aae::status::{
AaePeerStatus, AaeStatusProvider, AaeStatusSnapshot, NoopAaeStatusProvider,
};
pub use crate::aae::tictac::{KeyEntry, Tree, TreeError, TreeShape};