Skip to main content

resolve_streaming

Function resolve_streaming 

Source
pub fn resolve_streaming(
    pack: &[u8],
    w: &PackWalk,
    hash: GitHashKind,
    archive_offset: u64,
    bases: &dyn BaseSource,
    sink: &dyn PayloadSink,
    limits: ResolveLimits<'_>,
    rows: &mut (dyn FnMut(&mut Vec<Resolved>) -> Result<()> + Send),
) -> Result<ResolveReport>
Expand description

The resolver: bounded bases, watchdog checkpoints, rows in batches.

rows is called with each full batch (and the final partial one) and may drain the vector; the same allocation is reused for the next batch. Nothing about the rows or the sink calls depends on the batch size — it is purely how much the caller holds at once.