mm1_sup/mixed/
strategy.rs1use 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}