mod config;
mod file;
mod manager;
mod phase;
mod snapshot;
mod snapshot_checkpointer;
pub mod store;
pub use config::{CheckpointStorage, SyncConfig};
pub use file::CheckpointFile;
pub use manager::{NullStore, NullSyncManager, SyncManager};
pub use phase::SyncPhase;
pub use snapshot::{InterleavedSnapshotCheckpoint, SnapshotTableProgress};
pub use snapshot_checkpointer::SnapshotCheckpointer;
pub use store::{CheckpointID, CheckpointStore, StoredCheckpoint};
pub trait Checkpoint: serde::Serialize + for<'de> serde::Deserialize<'de> + Clone {
const DATABASE_TYPE: &'static str;
fn to_cli_string(&self) -> String;
fn from_cli_string(s: &str) -> anyhow::Result<Self>
where
Self: Sized;
}