Skip to main content

conflict_units

Function conflict_units 

Source
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.