use serde::{Deserialize, Serialize};
pub type PatternId = [u8; 32];
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Pattern {
pub id: PatternId,
pub data: Vec<u8>,
pub frequency: u64,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct PatternMinerConfig {
pub min_pattern_size: usize,
pub max_pattern_size: usize,
pub sample_size: usize,
}
impl Default for PatternMinerConfig {
fn default() -> Self {
Self {
min_pattern_size: 4,
max_pattern_size: 256,
sample_size: 256 * 1024, }
}
}
pub struct PatternMiner {
config: PatternMinerConfig,
}
impl PatternMiner {
pub fn new(config: PatternMinerConfig) -> Self {
Self { config }
}
pub fn mine(&self, _data: &[u8]) -> crate::Result<Vec<Pattern>> {
Ok(Vec::new())
}
}