atomr-persistence 0.3.1

Event sourcing for atomr — `Eventsourced` trait, recovery permitter, async snapshotter, persistent FSM, at-least-once delivery.
Documentation
//! Recovery parameters.

#[derive(Debug, Clone, Copy)]
pub struct Recovery {
    pub from_snapshot: bool,
    pub to_sequence_nr: u64,
    pub replay_max: u64,
}

impl Default for Recovery {
    fn default() -> Self {
        Self { from_snapshot: true, to_sequence_nr: u64::MAX, replay_max: u64::MAX }
    }
}

impl Recovery {
    pub fn none() -> Self {
        Self { from_snapshot: false, to_sequence_nr: 0, replay_max: 0 }
    }
}

#[derive(Debug, Clone, Copy)]
pub enum RecoveryState {
    NotStarted,
    ReadingSnapshot,
    ReplayingEvents,
    Completed,
    Failed,
}