triplets_core/chunking/algorithm.rs
1use crate::config::ChunkingStrategy;
2use crate::data::{DataRecord, RecordChunk, RecordSection};
3
4/// Pluggable algorithm for materializing chunks from a record section.
5pub trait ChunkingAlgorithm: Send + Sync {
6 /// Produce candidate chunks for one section of a record.
7 fn materialize(
8 &self,
9 strategy: &ChunkingStrategy,
10 record: &DataRecord,
11 section_idx: usize,
12 section: &RecordSection,
13 ) -> Vec<RecordChunk>;
14}