use super::messages::Patch;
use std::collections::HashMap;
pub trait PrunableCrdt {
fn apply_patch(&mut self, patch: Patch);
fn prune(&mut self, version: &str);
fn get_next_seq(&self) -> u64;
fn generate_braid(
&self,
known_versions: &HashMap<String, bool>,
) -> Vec<(String, HashMap<String, bool>, Vec<Patch>)>;
}
pub struct MockCrdt;
impl PrunableCrdt for MockCrdt {
fn apply_patch(&mut self, _patch: Patch) {}
fn prune(&mut self, _version: &str) {}
fn get_next_seq(&self) -> u64 {
0
}
fn generate_braid(
&self,
_known_versions: &HashMap<String, bool>,
) -> Vec<(String, HashMap<String, bool>, Vec<Patch>)> {
Vec::new()
}
}