fn conflict_units(
files: &[FileHandle],
extents: &[Extent],
index: &ExtentIndex<'_>,
work_budget: usize,
) -> Option<Vec<Unit>>Expand description
Groups files into connected components of Extent::conflicts, each with
its number of conflicting pairs. Each file only checks the files the index
finds near it: O((N + M) log N) for M pairs of files whose key and time
ranges meet.
Returns None once the index traversal has visited more than work_budget
nodes, so a dense window can fall back before building a quadratic graph.