Skip to main content

Crate pipeline_dsl

Crate pipeline_dsl 

Source
Expand description

Static pipeline DSL — the #[pipeline] and #[stage] attribute macros.

This crate is self-contained: it re-exports the value layer from pipeline-core, so a single pipeline-dsl dependency is enough. Refer to the value types as pipeline_dsl::Vector, pipeline_dsl::Value, etc., and the macro’s generated code resolves its runtime support (Reset, Error) through this crate too.

If you also depend on pipeline-core directly, the same types are equally available under the shared pipeline:: name (pipeline::Vector) — they are the identical re-exported types.

Modules§

value
Single-value cell (Value) with dirty/validity tracking, plus the Vector and Buckets containers.

Structs§

Buckets
Indexed-bucket container; see module-level docs.
StageStats
Per-stage execution counters, shared by both front-ends’ optional stats support (pipeline-graph’s Pipeline::stats, pipeline-dsl’s #[pipeline(stats)]). Stored contiguously and handed out by reference, so reading them costs nothing regardless of how this struct grows.
Value
A single dirty/validity-tracked value — the scalar analogue of one Vector slot. State is two orthogonal bits, exactly like a Vector slot’s separate validity + dirty bitsets:
Vector
A Vec-like container with per-slot dirty and validity tracking.

Enums§

Error
Errors produced by the value layer.

Traits§

Reset
Clears a value’s per-cycle dirty state (contents and validity are preserved). The pipeline engines call this at the end of each compute() on written and externally-fed nodes.
Updated
Query a value’s per-cycle dirty state: whether it changed this cycle (written or invalidated). The pipeline engines use this to decide whether a stage has any fresh input. The read-side mirror of Reset.

Attribute Macros§

pipeline
stage