mm1_sup/mixed/
strategy.rs

1use std::marker::PhantomData;
2
3use crate::common::restart_intensity::RestartIntensity;
4use crate::mixed::decider::Decider;
5
6mod error;
7pub use error::DeciderError;
8
9mod all_for_one;
10mod one_for_one;
11
12pub trait RestartStrategy<Key>: Clone {
13    type Decider: Decider<Key = Key>;
14
15    fn decider(&self) -> Self::Decider;
16}
17
18#[derive(Debug)]
19pub struct OneForOne<Key> {
20    pub restart_intensity: RestartIntensity,
21    _pd:                   PhantomData<Key>,
22}
23
24#[derive(Debug)]
25pub struct AllForOne<Key> {
26    pub restart_intensity: RestartIntensity,
27    _pd:                   PhantomData<Key>,
28}