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 graph. Although this graph can be manually constructed, the
easiest way to instantiate a graph instance is 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.
Re-exports§
pub use dfir_lang as lang;
meta
pub use pyo3;
python
pub use variadics;
pub use bincode;
pub use bytes;
pub use futures;
pub use itertools;
pub use lattices;
pub use pusherator;
pub use rustc_hash;
pub use serde;
pub use serde_json;
pub use tokio;
pub use tokio_stream;
pub use tokio_util;
pub use tracing;
pub use web_time;
Modules§
- compiled
- DFIR’s inner (intra-subgraph) compiled layer.
- scheduled
- DFIR’s outer scheduled layer. Deals with inter-subgraph runtime data-passing and scheduling.
- util
- Helper utilities for the DFIR syntax.
Macros§
- assert_
var_ impl - Asserts that the variable’s type implements the given traits.
- datalog
dfir_datalog
- Generate a graph instance from Datalog code.
- 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.).- launch
deploy_integration
- 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 a [Result<(), String>
] instead of panicking.- rassert_
eq assert_eq!
but returns a [Result<(), String>
] instead of panicking.- var_
args - Variadic patterns macro.
- var_
expr - Variadic expressions (values) macro.
- var_
type - Variadic types macro.
Type Aliases§
- Never
- Stand-in for the nightly “never” type
!
Attribute Macros§
Derive Macros§
- Demux
Enum dfir_macro