use std::convert::Into;
use serde::Deserialize;
use serde::Serialize;
use crate::cc::transition::StateTransition;
use crate::cc::transition::DEFAULT_STATE_TRANSITIONS;
#[derive(Serialize, Deserialize, Clone, Debug)]
pub struct StateUpdateConfig {
pub n_iters: usize,
pub transitions: Vec<StateTransition>,
}
impl StateUpdateConfig {
pub fn new() -> Self {
StateUpdateConfig {
n_iters: 1,
transitions: DEFAULT_STATE_TRANSITIONS.into(),
}
}
pub fn check_over_iters(&self, iter: usize) -> bool {
iter > self.n_iters
}
}
impl Default for StateUpdateConfig {
fn default() -> Self {
StateUpdateConfig::new()
}
}