ssr_core/task/
level.rs

1
2
3
4
5
6
7
8
9
10
11
12
13
use serde::{Deserialize, Serialize};
use std::time::SystemTime;

pub trait TaskLevel<'a>: Serialize + Deserialize<'a> {
    type Context;
    type SharedState: Default + Serialize + Deserialize<'a>;
    fn update(&mut self, shared_state: &mut Self::SharedState, context: Self::Context);
    fn next_repetition(
        &self,
        shared_state: &Self::SharedState,
        desired_retention: f64,
    ) -> SystemTime;
}