use crate::schedulers::{Scheduler, SchedulerState};
use crate::state::VersionedState;
use crate::types::NodeKind;
#[derive(Debug, Clone)]
pub struct SessionState {
pub state: VersionedState,
pub step: u64,
pub frontier: Vec<NodeKind>,
pub scheduler: Scheduler,
pub scheduler_state: SchedulerState,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub enum SessionInit {
Fresh,
Resumed {
checkpoint_step: u64,
},
}
#[derive(Debug, Clone)]
pub struct StateVersions {
pub messages_version: u32,
pub extra_version: u32,
}