Skip to main content

MaybeBucketByTime

Trait MaybeBucketByTime 

Source
pub trait MaybeBucketByTime: Timestamp {
    // Required method
    fn maybe_apply_temporal_bucketing<'scope, D>(
        stream: StreamVec<'scope, Self, (D, Self, Diff)>,
        as_of: Antichain<Timestamp>,
        summary: Timestamp,
    ) -> VecCollection<'scope, Self, D, Diff>
       where D: ExchangeData + MzData + Hashable;
}
Expand description

Apply temporal bucketing to a stream when the timestamp type supports it.

Sibling to RenderTimestamp: bucketing is an arrangement-time concern, not a general property of a render timestamp, so the dispatch lives in its own trait. Total-ordered timestamps perform real bucketing; partially-ordered timestamps (e.g. Product<…> in iterative scopes) implement this as a no-op.

Required Methods§

Source

fn maybe_apply_temporal_bucketing<'scope, D>( stream: StreamVec<'scope, Self, (D, Self, Diff)>, as_of: Antichain<Timestamp>, summary: Timestamp, ) -> VecCollection<'scope, Self, D, Diff>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl MaybeBucketByTime for Product<Timestamp, PointStamp<u64>>

Source§

fn maybe_apply_temporal_bucketing<'scope, D>( stream: StreamVec<'scope, Self, (D, Self, Diff)>, _as_of: Antichain<Timestamp>, _summary: Timestamp, ) -> VecCollection<'scope, Self, D, Diff>

Source§

impl MaybeBucketByTime for Timestamp

Source§

fn maybe_apply_temporal_bucketing<'scope, D>( stream: StreamVec<'scope, Self, (D, Self, Diff)>, as_of: Antichain<Timestamp>, summary: Timestamp, ) -> VecCollection<'scope, Self, D, Diff>

Implementors§