Skip to main content

symmetric_hash_join

Function symmetric_hash_join 

Source
pub async fn symmetric_hash_join<'a, Key, Lhs, V1, Rhs, V2, LhsState, RhsState>(
    lhs: Lhs,
    rhs: Rhs,
    lhs_state: &'a mut LhsState,
    rhs_state: &'a mut RhsState,
    is_new_tick: bool,
) -> SymmetricHashJoinEither<'a, Key, V1, V2, Lhs, Rhs, LhsState, RhsState>
where Key: 'a + Eq + Hash + Clone, V1: 'a + Clone, V2: 'a + Clone, Lhs: 'a + FusedPull<Item = (Key, V1), Meta = ()>, Rhs: 'a + FusedPull<Item = (Key, V2), Meta = ()>, LhsState: HalfJoinState<Key, V1, V2>, RhsState: HalfJoinState<Key, V2, V1>,
Available on crate feature std only.
Expand description

Creates a symmetric hash join Pull from two input Pulls and their join states.

For is_new_tick = true, this first drains both inputs into their respective states, then returns an iterator over all matches.

For is_new_tick = false, this returns a streaming join that processes items as they arrive.