pub fn join_with_tactic<'scope, Tr1, Tr2, T, C>(
arranged1: Arranged<'scope, Tr1>,
arranged2: Arranged<'scope, Tr2>,
tactic: T,
) -> Stream<'scope, Tr1::Time, C>where
Tr1: TraceReader + 'static,
Tr2: TraceReader<Time = Tr1::Time> + 'static,
T: JoinTactic<Tr1::Batch, Tr2::Batch, C> + 'static,
C: Container + 'static,Expand description
Drives an equijoin of two traces using a supplied JoinTactic.
This is the general join operator: it does the dataflow plumbing (frontiers, capabilities, trace
compaction) and routes the per-batch work through the tactic. It requires only TraceReader of its
inputs, never Navigable: it extracts trace batches via batches_through, and building cursors over
them (if that is how the join proceeds) is the tactic’s concern.