Expand description
Hydroflow is a low-level dataflow-based runtime system for the Hydro Project.
The primary item in this crate is the Hydroflow
struct,
representing a Hydroflow dataflow graph. Although this graph can be manually constructed, the
easiest way to instantiate a Hydroflow
instance is with the hydroflow_syntax!
macro using
Hydroflow’s custom “surface syntax.”
let mut hf = hydroflow::hydroflow_syntax! {
source_iter(["hello", "world"]) -> for_each(|s| println!("{}", s));
};
hf.run_available();
For more examples, check out the examples
folder on Github.
Re-exports§
pub use variadics;
pub use bincode;
pub use bytes;
pub use futures;
pub use hydroflow_lang as lang;
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
- Hydroflow’s inner (intra-subgraph) compiled layer.
- scheduled
- Hydroflow’s outer scheduled layer. Deals with inter-subgraph runtime data-passing and scheduling.
- util
- Helper utilities for the Hydroflow surface syntax.
Macros§
- assert_
var_ impl - Asserts that the variable’s type implements the given traits.
- datalog
- Generate a Hydroflow instance from Datalog code.
- hydroflow_
expect_ warnings - Tests that the given warnings are emitted by the hydroflow macro invocation.
- hydroflow_
parser - Parse Hydroflow “surface syntax” without emitting code.
- hydroflow_
syntax - Create a Hydroflow instance using Hydroflow’s custom “surface syntax.”
- hydroflow_
syntax_ noemit hydroflow_syntax!
but will not emit any diagnostics (errors, warnings, etc.).- monotonic_
fn - Checks that the given closure is a monotonic function. For now does nothing.
- morphism
- 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.