Appearance
Concepts
This section explains the foundational ideas behind Datum. Each concept corresponds directly to an Akka Streams concept — the names and behavior are intentionally familiar.
Pages in this section
| Page | What it covers |
|---|---|
| Source, Flow & Sink | The three building-block types, their type parameters, and how they compose |
| Materialization | What "running" a stream means, StreamCompletion, and materialized values |
| Backpressure | How Datum prevents fast producers from overwhelming slow consumers |
| Blueprint vs. Run | The invariant that building a graph never starts execution |
| Execution Model | Thread pool, fused execution, the typed-linear fast path, and spin-then-park |
If you are coming from Akka Streams, the concepts map one-to-one. The main difference is that Datum's internal execution is pull-based (a chain fuses to a Box<dyn Iterator>), even though the public vocabulary uses push-shaped names (push, pull, demand).