...
1digraph G {
2 ordering=out;
3
4 fs [label="input", shape="folder"];
5 pr [label="io.PipeReader"];
6 compressed [label="Compressed()", shape="rect"];
7 rc2 [label="io.ReadCloser"];
8 output [label="output", shape="cylinder"];
9
10 subgraph cluster_goroutine {
11 label = "goroutine";
12
13 rc [label="io.ReadCloser"];
14 copy [label="io.Copy"];
15 pw [label="io.PipeWriter"];
16 mw [label="io.MultiWriter"];
17 h1 [label="sha256.New"];
18 gzip [label="gzip.Writer"];
19 mw2 [label="io.MultiWriter"];
20 h2 [label="sha256.New"];
21 count [label="countWriter"];
22
23 size [label="Size()", shape="rect"];
24 diffid [label="DiffID()", shape="rect"];
25 digest [label="Digest()", shape="rect"];
26
27
28 rc -> copy [style="bold"];
29 copy -> mw [style="bold"];
30 mw -> h1;
31 h1 -> diffid [style="dashed"];
32 mw -> gzip [style="bold"];
33 gzip -> mw2 [style="bold"];
34 mw2 -> h2;
35 h2 -> digest [style="dashed"];
36 mw2 -> count;
37 count -> size [style="dotted"];
38 mw2 -> pw [style="bold"];
39 };
40
41 fs -> rc [style="bold"];
42
43 pw -> pr [style="bold"];
44 pr -> compressed [style="bold"];
45 compressed -> rc2 [style="bold"];
46 rc2 -> output [style="bold"];
47}
View as plain text