pub trait OverlapStrategy: Send + Sync {
// Required methods
fn check_overlap(&self, a: &SstableInfo, b: &SstableInfo) -> bool;
fn create_overlap_info(&self) -> Box<dyn OverlapInfo>;
// Provided methods
fn check_base_level_overlap(
&self,
tables: &[SstableInfo],
others: &[SstableInfo],
) -> Vec<SstableInfo> { ... }
fn check_overlap_with_tables(
&self,
tables: &[SstableInfo],
others: &[SstableInfo],
) -> Vec<SstableInfo> { ... }
}