Skip to main content

atomr_persistence/
recovery.rs

1//! Recovery parameters. akka.net: `Recovery`, `SnapshotSelectionCriteria`.
2
3#[derive(Debug, Clone, Copy)]
4pub struct Recovery {
5    pub from_snapshot: bool,
6    pub to_sequence_nr: u64,
7    pub replay_max: u64,
8}
9
10impl Default for Recovery {
11    fn default() -> Self {
12        Self { from_snapshot: true, to_sequence_nr: u64::MAX, replay_max: u64::MAX }
13    }
14}
15
16impl Recovery {
17    pub fn none() -> Self {
18        Self { from_snapshot: false, to_sequence_nr: 0, replay_max: 0 }
19    }
20}
21
22#[derive(Debug, Clone, Copy)]
23pub enum RecoveryState {
24    NotStarted,
25    ReadingSnapshot,
26    ReplayingEvents,
27    Completed,
28    Failed,
29}