Type Alias SelectReceivers

Source
pub type SelectReceivers = DynamicReceivers<ActorId, ()>;

Aliased Type§

pub struct SelectReceivers {
    barrier: Option<BarrierInner<()>>,
    blocked: Vec<Pin<Box<dyn Input<InputId = u32, Item = Result<MessageInner<()>, StreamExecutorError>>>>>,
    active: FuturesUnordered<StreamFuture<Pin<Box<dyn Input<InputId = u32, Item = Result<MessageInner<()>, StreamExecutorError>>>>>>,
    buffered_watermarks: BTreeMap<usize, BufferedWatermarks<u32>>,
    barrier_align_duration: Option<LabelGuardedMetric<GenericCounter<AtomicU64>>>,
    merge_barrier_align_duration: Option<LabelGuardedMetric<Histogram>>,
}

Fields§

§barrier: Option<BarrierInner<()>>

The barrier we’re aligning to. If this is None, then blocked_upstreams is empty.

§blocked: Vec<Pin<Box<dyn Input<InputId = u32, Item = Result<MessageInner<()>, StreamExecutorError>>>>>

The upstreams that’re blocked by the barrier.

§active: FuturesUnordered<StreamFuture<Pin<Box<dyn Input<InputId = u32, Item = Result<MessageInner<()>, StreamExecutorError>>>>>>

The upstreams that’re not blocked and can be polled.

§buffered_watermarks: BTreeMap<usize, BufferedWatermarks<u32>>

watermark column index -> BufferedWatermarks

§barrier_align_duration: Option<LabelGuardedMetric<GenericCounter<AtomicU64>>>

Currently only used for union.

§merge_barrier_align_duration: Option<LabelGuardedMetric<Histogram>>

Only for merge. If None, then we don’t take Instant::now() and observe during poll_next