use rand::Rng;
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct EpidemicConfig {
pub forward_probability: f64,
pub max_forwards: u32,
}
impl EpidemicConfig {
pub fn should_forward(&self) -> bool {
let mut rng = rand::rng();
rng.random::<f64>() < self.forward_probability
}
}
impl Default for EpidemicConfig {
fn default() -> Self {
Self {
forward_probability: 0.7,
max_forwards: 5,
}
}
}