canic_backup/persistence/
mod.rs1mod artifact_commit;
8mod command_lifetime_lock;
9mod error;
10mod file_lock;
11mod integrity;
12mod journal_lock;
13mod json;
14mod layout;
15mod layout_lifetime;
16
17pub(crate) use artifact_commit::commit_artifact_directory;
18#[cfg(all(
19 test,
20 any(target_os = "linux", target_os = "android", target_vendor = "apple")
21))]
22pub(crate) use artifact_commit::{ArtifactCommitBarrier, commit_artifact_directory_at_barriers};
23pub use command_lifetime_lock::CommandLifetimeHandle;
24pub(crate) use command_lifetime_lock::{CommandLifetimeLock, CommandLifetimeLockError};
25pub use error::PersistenceError;
26pub(crate) use integrity::verify_durable_artifact;
27pub use integrity::{
28 ArtifactIntegrityReport, BackupExecutionIntegrityReport, BackupIntegrityReport,
29 resolve_backup_artifact_path,
30};
31pub use journal_lock::{JournalLock, JournalLockError};
32#[cfg(test)]
33pub(crate) use json::{
34 DurableWriteBarrier, create_json_durable_at_barriers, write_json_durable_at_barriers,
35};
36pub(crate) use json::{create_json_durable, read_json, write_json_durable};
37pub use layout::BackupLayout;
38pub use layout_lifetime::{BackupExecutionGuard, BackupLayoutGuard};
39
40#[cfg(test)]
41mod tests;