simple_flows/
simple_flows.rs1use flarrow_flows::prelude::{thirdparty::*, *};
2
3#[tokio::main]
4async fn main() -> Result<()> {
5 let mut layout = DataflowLayout::new();
6
7 let (_source, output) = layout
8 .node("source", async |builder: &mut NodeIOBuilder| {
9 builder.output("out")
10 })
11 .await;
12
13 let (_operator, (op_in, op_out)) = layout
14 .node("operator", async |builder: &mut NodeIOBuilder| {
15 (builder.input("in"), builder.output("out"))
16 })
17 .await;
18
19 let (_sink, input) = layout
20 .node("sink", async |builder: &mut NodeIOBuilder| {
21 builder.input("in")
22 })
23 .await;
24
25 let layout = layout.build();
26
27 let _flows = Flows::new(layout.clone(), async move |builder: &mut FlowsBuilder| {
28 builder.connect(op_in, output, None)?;
29 builder.connect(input, op_out, None)?;
30
31 Ok(())
32 })
33 .await?;
34
35 Ok(())
36}