---
source: hydroflow/tests/surface_fold.rs
expression: "df.meta_graph().unwrap().to_mermaid(& Default :: default())"
---
%%{init:{'theme':'base','themeVariables':{'clusterBkg':'#ddd','clusterBorder':'#888'}}}%%
flowchart TD
classDef pullClass fill:#8af,stroke:#000,text-align:left,white-space:pre
classDef pushClass fill:#ff8,stroke:#000,text-align:left,white-space:pre
classDef otherClass fill:#fdc,stroke:#000,text-align:left,white-space:pre
linkStyle default stroke:#aaa
1v1[\"(1v1) source_iter(Vec::<usize>::new())
"/]:::pullClass
2v1[\"
fold::<
'tick,
>(
|| 0,
|old: &mut usize, _: usize| {
*old += 1;
},
)
"/]:::pullClass
3v1[/"(3v1) tee()
"\]:::pushClass
4v1[/"(4v1) for_each(|_| {})
"\]:::pushClass
5v1[\"(5v1) source_stream(items_recv)
"/]:::pullClass
6v1[\"(6v1) cross_join_multiset()
"/]:::pullClass
7v1[/"(7v1) for_each(|v| result_send.send(v).unwrap())
"\]:::pushClass
8v1["(8v1) handoff
"]:::otherClass
9v1["(9v1) handoff
"]:::otherClass
10v1["(10v1) handoff
"]:::otherClass
2v1-->3v1
1v1-->8v1
3v1-->4v1
3v1-->9v1
5v1-->10v1
6v1-->7v1
8v1--x2v1; linkStyle 6 stroke:red
9v1-->|1|6v1
10v1-->|0|6v1
subgraph sg_1v1 ["sg_1v1 stratum 0"]
1v1
subgraph sg_1v1_var_teed_fold ["var teed_fold"]
1v1
end
end
subgraph sg_2v1 ["sg_2v1 stratum 1"]
2v1
3v1
4v1
subgraph sg_2v1_var_teed_fold ["var teed_fold"]
2v1
3v1
end
end
subgraph sg_3v1 ["sg_3v1 stratum 1"]
6v1
7v1
subgraph sg_3v1_var_join_node ["var join_node"]
6v1
end
end
subgraph sg_4v1 ["sg_4v1 stratum 0"]
5v1
end