---
source: hydroflow/tests/surface_cross_singleton.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_stream(cross_rx)
"/]:::pullClass
2v1[\"(2v1) sort()
"/]:::pullClass
3v1[/"(3v1) tee()
"\]:::pushClass
4v1[\"(4v1) defer_tick_lazy()
"/]:::pullClass
5v1[\"(5v1) source_iter([0])
"/]:::pullClass
6v1[\"(6v1) persist::<'static>()
"/]:::pullClass
7v1[\"(7v1) union()
"/]:::pullClass
8v1[\"(8v1) cross_singleton()
"/]:::pullClass
9v1[/"(9v1) tee()
"\]:::pushClass
10v1[/"(10v1) for_each(|x| egress_tx.send(x).unwrap())
"\]:::pushClass
11v1[\"(11v1) fold(|| 0, |_, _| {})
"/]:::pullClass
12v1[\"(12v1) cross_singleton()
"/]:::pullClass
13v1[\"(13v1) fold(|| 0, |_, _| {})
"/]:::pullClass
14v1[\"(14v1) flat_map(|_| [])
"/]:::pullClass
15v1["(15v1) handoff
"]:::otherClass
16v1["(16v1) handoff
"]:::otherClass
17v1["(17v1) handoff
"]:::otherClass
18v1["(18v1) handoff
"]:::otherClass
19v1["(19v1) handoff
"]:::otherClass
20v1["(20v1) handoff
"]:::otherClass
21v1["(21v1) handoff
"]:::otherClass
22v1["(22v1) handoff
"]:::otherClass
23v1["(23v1) handoff
"]:::otherClass
24v1[\"(24v1) identity()
"/]:::pullClass
25v1["(25v1) handoff
"]:::otherClass
2v1-->3v1
1v1-->15v1
3v1-->16v1
4v1-->|0|7v1
14v1-->17v1
5v1-->6v1
6v1-->|1|7v1
7v1-->18v1
8v1-->9v1
9v1-->10v1
9v1-->19v1
3v1-->20v1
11v1-->21v1
13v1-->22v1
12v1-->23v1
15v1--x2v1; linkStyle 15 stroke:red
16v1-->|input|8v1
17v1-->24v1
18v1--x|single|8v1; linkStyle 18 stroke:red
19v1--x11v1; linkStyle 19 stroke:red
20v1-->|input|12v1
21v1--x|single|12v1; linkStyle 21 stroke:red
22v1-->14v1
23v1--x13v1; linkStyle 23 stroke:red
24v1-->25v1
25v1--o4v1; linkStyle 25 stroke:red
subgraph sg_1v1 ["sg_1v1 stratum 0"]
1v1
subgraph sg_1v1_var_teed_in ["var teed_in"]
1v1
end
end
subgraph sg_2v1 ["sg_2v1 stratum 1"]
2v1
3v1
subgraph sg_2v1_var_teed_in ["var teed_in"]
2v1
3v1
end
end
subgraph sg_3v1 ["sg_3v1 stratum 0"]
4v1
5v1
6v1
7v1
subgraph sg_3v1_var_persisted_stream ["var persisted_stream"]
5v1
6v1
end
subgraph sg_3v1_var_unioned_stream ["var unioned_stream"]
7v1
end
end
subgraph sg_4v1 ["sg_4v1 stratum 1"]
8v1
9v1
10v1
subgraph sg_4v1_var_join ["var join"]
8v1
9v1
end
end
subgraph sg_5v1 ["sg_5v1 stratum 2"]
11v1
subgraph sg_5v1_var_folded_thing ["var folded_thing"]
11v1
end
end
subgraph sg_6v1 ["sg_6v1 stratum 3"]
12v1
subgraph sg_6v1_var_joined_folded ["var joined_folded"]
12v1
end
end
subgraph sg_7v1 ["sg_7v1 stratum 4"]
13v1
subgraph sg_7v1_var_deferred_stream ["var deferred_stream"]
13v1
end
end
subgraph sg_8v1 ["sg_8v1 stratum 4"]
14v1
subgraph sg_8v1_var_deferred_stream ["var deferred_stream"]
14v1
end
end
subgraph sg_9v1 ["sg_9v1 stratum 5"]
24v1
end