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