differential_dataflow/columnar/collection/mod.rs
1//! The COLLECTION face of the columnar subsystem: the columnar data as a
2//! differential-dataflow collection.
3//!
4//! [`RecordedUpdates`] is the stream container that flows on edges; it is built
5//! input-side by [`Builder`], shuffled by [`Pact`], and mapped over by the
6//! columnar operators ([`join_function`], [`leave_dynamic`], [`as_recorded_updates`]).
7//! These derive from the same columnar data as the [`trace`](super::trace) face,
8//! and the two are linked by two bridge operators: the trace's `Chunker`
9//! (collection → batch) and this face's [`as_recorded_updates`] (trace → collection).
10//!
11//! - [`container`] — `RecordedUpdates` + its `Negate`/`Enter`/`Leave`/`ResultsIn`
12//! impls + the wire codec.
13//! - [`builder`] — the input-side `ContainerBuilder`.
14//! - [`exchange`] — the shuffle `Pact`.
15//! - [`operators`] — `join_function` / `leave_dynamic` / `as_recorded_updates`.
16
17pub mod container;
18pub mod builder;
19pub mod exchange;
20pub mod operators;
21
22pub use container::RecordedUpdates;
23pub use builder::ValBuilder as Builder;
24pub use exchange::ValPact as Pact;
25pub use operators::{as_recorded_updates, join_function, leave_dynamic, DynTime};