MergeExecutor

Type Alias MergeExecutor 

Source
pub type MergeExecutor = MergeExecutorInner<BufferChunks<DynamicReceivers<ActorId, ()>>>;
Expand description

MergeExecutor merges data from multiple upstream actors and aligns them with barriers.

Aliased Type§

pub struct MergeExecutor {
    actor_context: Arc<ActorContext>,
    upstream: BufferChunks<DynamicReceivers<TypedId<6>, ()>>,
    fragment_id: TypedId<5>,
    upstream_fragment_id: TypedId<5>,
    local_barrier_manager: LocalBarrierManager,
    metrics: Arc<StreamingMetrics>,
    barrier_rx: UnboundedReceiver<BarrierInner<Option<Arc<Mutation>>>>,
}

Fields§

§actor_context: Arc<ActorContext>

The context of the actor.

§upstream: BufferChunks<DynamicReceivers<TypedId<6>, ()>>

Upstream channels.

§fragment_id: TypedId<5>

Belonged fragment id.

§upstream_fragment_id: TypedId<5>

Upstream fragment id.

§local_barrier_manager: LocalBarrierManager§metrics: Arc<StreamingMetrics>

Streaming metrics.

§barrier_rx: UnboundedReceiver<BarrierInner<Option<Arc<Mutation>>>>

Implementations§

Source§

impl MergeExecutor

Source

pub(crate) fn new_merge_upstream( upstreams: Vec<BoxedActorInput>, metrics: &StreamingMetrics, actor_context: &ActorContext, chunk_size: usize, schema: Schema, ) -> BufferChunks<DynamicReceivers<ActorId, ()>>