---
source: hydroflow/tests/surface_fold.rs
expression: "df.meta_graph().unwrap().to_dot(& Default :: default())"
---
digraph {
node [fontname="Monaco,Menlo,Consolas,"Droid Sans Mono",Inconsolata,"Courier New",monospace", style=filled];
edge [fontname="Monaco,Menlo,Consolas,"Droid Sans Mono",Inconsolata,"Courier New",monospace"];
n1v1 [label="(n1v1) source_iter(Vec::<usize>::new())", shape=invhouse, fillcolor="#88aaff"]
n2v1 [label="(n2v1) fold::<\l 'tick,\l>(\l || 0,\l |old: &mut usize, _: usize| {\l *old += 1;\l },\l)\l", shape=invhouse, fillcolor="#88aaff"]
n3v1 [label="(n3v1) tee()", shape=house, fillcolor="#ffff88"]
n4v1 [label="(n4v1) for_each(|_| {})", shape=house, fillcolor="#ffff88"]
n5v1 [label="(n5v1) source_stream(items_recv)", shape=invhouse, fillcolor="#88aaff"]
n6v1 [label="(n6v1) cross_join_multiset()", shape=invhouse, fillcolor="#88aaff"]
n7v1 [label="(n7v1) for_each(|v| result_send.send(v).unwrap())", shape=house, fillcolor="#ffff88"]
n8v1 [label="(n8v1) handoff", shape=parallelogram, fillcolor="#ddddff"]
n9v1 [label="(n9v1) handoff", shape=parallelogram, fillcolor="#ddddff"]
n10v1 [label="(n10v1) handoff", shape=parallelogram, fillcolor="#ddddff"]
n2v1 -> n3v1
n1v1 -> n8v1
n3v1 -> n4v1
n3v1 -> n9v1
n5v1 -> n10v1
n6v1 -> n7v1
n8v1 -> n2v1 [color=red]
n9v1 -> n6v1 [label="1"]
n10v1 -> n6v1 [label="0"]
subgraph "cluster n1v1" {
fillcolor="#dddddd"
style=filled
label = "sg_1v1\nstratum 0"
n1v1
subgraph "cluster_sg_1v1_var_teed_fold" {
label="var teed_fold"
n1v1
}
}
subgraph "cluster n2v1" {
fillcolor="#dddddd"
style=filled
label = "sg_2v1\nstratum 1"
n2v1
n3v1
n4v1
subgraph "cluster_sg_2v1_var_teed_fold" {
label="var teed_fold"
n2v1
n3v1
}
}
subgraph "cluster n3v1" {
fillcolor="#dddddd"
style=filled
label = "sg_3v1\nstratum 1"
n6v1
n7v1
subgraph "cluster_sg_3v1_var_join_node" {
label="var join_node"
n6v1
}
}
subgraph "cluster n4v1" {
fillcolor="#dddddd"
style=filled
label = "sg_4v1\nstratum 0"
n5v1
}
}