Skip to main content

juncture_core/pregel/
durability.rs

1//! Durability mode for checkpoint persistence
2//!
3//! Controls how checkpoint writes are synchronized to durable storage
4//! during graph execution.
5
6/// Checkpoint durability mode
7///
8/// Determines how checkpoint writes are synchronized to storage backends.
9/// Higher durability guarantees come at the cost of increased latency.
10#[derive(Clone, Debug, Default, PartialEq, Eq)]
11pub enum Durability {
12    /// Synchronous checkpoint writes (default)
13    ///
14    /// Each checkpoint is fully written to storage before the next
15    /// superstep begins. Provides the strongest durability guarantee.
16    #[default]
17    Sync,
18
19    /// Asynchronous checkpoint writes
20    ///
21    /// Checkpoint writes are submitted to storage but execution
22    /// continues without waiting for confirmation. Durability
23    /// depends on the storage backend's write-behind behavior.
24    Async,
25
26    /// No checkpoint persistence
27    ///
28    /// Checkpoints are not persisted to external storage. Used
29    /// for ephemeral or development runs where durability is
30    /// not required.
31    Exit,
32}
33
34// Rust guideline compliant 2026-05-19