Expand description
DFIR is a low-level dataflow-based runtime system for the Hydro Project.
The primary item in this crate is the Dfir struct,
representing a DFIR dataflow instance. Instantiate one with the
dfir_syntax! macro using DFIR’s custom syntax.
let mut df = dfir_rs::dfir_syntax! {
source_iter(["hello", "world"]) -> for_each(|s| println!("{}", s));
};
df.run_available();For more examples, check out the examples folder on Github.
Modules§
- compiled
- DFIR’s inner (intra-subgraph) compiled layer.
- scheduled
- DFIR runtime module. Contains the inline execution engine, context, and metrics.
- util
- Helper utilities for the DFIR syntax.
Macros§
- assert_
var_ impl - Asserts that the variable’s type implements the given traits.
- dfir_
expect_ warnings - Tests that the given warnings are emitted by the dfir macro invocation.
- dfir_
parser dfir_macro - Parse DFIR syntax without emitting code.
- dfir_
syntax dfir_macro - Create a runnable graph instance using DFIR’s custom syntax.
- dfir_
syntax_ noemit dfir_macro dfir_syntax!but will not emit any diagnostics (errors, warnings, etc.).- monotonic_
fn dfir_macro - Checks that the given closure is a monotonic function. For now does nothing.
- morphism
dfir_macro - Checks that the given closure is a morphism. For now does nothing.
- rassert
assert!but returns aResult<(), String>instead of panicking.- rassert_
eq assert_eq!but returns aResult<(), String>instead of panicking.
Type Aliases§
- Never
- A type with no possible values.
Attribute Macros§
Derive Macros§
- Demux
Enum dfir_macro