forked from Tordek/cheat
-
Notifications
You must be signed in to change notification settings - Fork 8
/
streams.dot
164 lines (120 loc) · 4.71 KB
/
streams.dot
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
digraph streams {
node [shape = box]
a_parent_assert [label = "assert"]
a_parent_fputs [label = "fputs"]
a_parent_sequence [label = "sequence"]
node [shape = house]
a_parent_messages [label = "messages"]
a_parent_outputs [label = "outputs"]
a_parent_errors [label = "errors"]
node [shape = oval]
a_parent_stdout [label = "stdout"]
a_parent_assert -> a_parent_sequence [style = dotted]
a_parent_fputs -> a_parent_sequence [style = bold]
a_parent_fputs -> a_parent_sequence [style = solid]
a_parent_sequence -> a_parent_messages [style = dotted]
a_parent_sequence -> a_parent_outputs [style = bold]
a_parent_sequence -> a_parent_errors [style = solid]
a_parent_messages -> a_parent_stdout [style = dotted]
a_parent_outputs -> a_parent_stdout [style = bold]
a_parent_errors -> a_parent_stdout [style = solid]
subgraph cluster_b_child {
labelloc = t
label = "child"
node [shape = box]
b_child_assert [label = "assert"]
b_child_fputs [label = "fputs"]
b_child_multiplex [label = "multiplex"]
node [shape = house]
node [shape = diamond]
b_child_mixed_writer [label = "mixed_writer"]
b_child_output_writer [label = "output_writer"]
node [shape = oval]
b_child_stdout [label = "stdout"]
b_child_stderr [label = "stderr"]
}
subgraph cluster_b_parent {
labelloc = b
label = "parent"
node [shape = box]
b_parent_demultiplex [label = "demultiplex"]
b_parent_sequence [label = "sequence"]
node [shape = house]
b_parent_messages [label = "messages"]
b_parent_outputs [label = "outputs"]
b_parent_errors [label = "errors"]
node [shape = diamond]
b_parent_mixed_reader [label = "mixed_reader"]
b_parent_output_reader [label = "output_reader"]
node [shape = oval]
b_parent_stdout [label = "stdout"]
}
b_child_assert -> b_child_multiplex [style = dotted]
b_child_multiplex -> b_child_stderr [style = dotted]
b_child_fputs -> b_child_stdout [style = bold]
b_child_fputs -> b_child_stderr [style = solid]
b_child_stdout -> b_child_output_writer [style = bold]
b_child_stderr -> b_child_mixed_writer [style = dashed]
b_child_mixed_writer -> b_parent_mixed_reader [style = dashed]
b_child_output_writer -> b_parent_output_reader [style = bold]
b_parent_mixed_reader -> b_parent_demultiplex [style = dashed]
b_parent_output_reader -> b_parent_sequence [style = bold]
b_parent_demultiplex -> b_parent_sequence [style = dotted]
b_parent_demultiplex -> b_parent_sequence [style = solid]
b_parent_sequence -> b_parent_messages [style = dotted]
b_parent_sequence -> b_parent_outputs [style = bold]
b_parent_sequence -> b_parent_errors [style = solid]
b_parent_messages -> b_parent_stdout [style = dotted]
b_parent_outputs -> b_parent_stdout [style = bold]
b_parent_errors -> b_parent_stdout [style = solid]
subgraph cluster_c_child {
labelloc = t
label = "child"
node [shape = box]
c_child_assert [label = "assert"]
c_child_fputs [label = "fputs"]
node [shape = house]
node [shape = diamond]
c_child_message_writer [label = "message_writer"]
c_child_output_writer [label = "output_writer"]
c_child_error_writer [label = "error_writer"]
node [shape = oval]
c_child_stdout [label = "stdout"]
c_child_stderr [label = "stderr"]
c_child_pipe [label = "pipe"]
}
subgraph cluster_c_parent {
labelloc = b
label = "parent"
node [shape = box]
c_parent_sequence [label = "sequence"]
node [shape = house]
c_parent_messages [label = "messages"]
c_parent_outputs [label = "outputs"]
c_parent_errors [label = "errors"]
node [shape = diamond]
c_parent_message_reader [label = "message_reader"]
c_parent_output_reader [label = "output_reader"]
c_parent_error_reader [label = "error_reader"]
node [shape = oval]
c_parent_stdout [label = "stdout"]
}
c_child_assert -> c_child_pipe [style = dotted]
c_child_fputs -> c_child_stdout [style = bold]
c_child_fputs -> c_child_stderr [style = solid]
c_child_pipe -> c_child_message_writer [style = dotted]
c_child_stdout -> c_child_output_writer [style = bold]
c_child_stderr -> c_child_error_writer [style = solid]
c_child_message_writer -> c_parent_message_reader [style = dotted]
c_child_output_writer -> c_parent_output_reader [style = bold]
c_child_error_writer -> c_parent_error_reader [style = solid]
c_parent_message_reader -> c_parent_sequence [style = dotted]
c_parent_output_reader -> c_parent_sequence [style = bold]
c_parent_error_reader -> c_parent_sequence [style = solid]
c_parent_sequence -> c_parent_messages [style = dotted]
c_parent_sequence -> c_parent_outputs [style = bold]
c_parent_sequence -> c_parent_errors [style = solid]
c_parent_messages -> c_parent_stdout [style = dotted]
c_parent_outputs -> c_parent_stdout [style = bold]
c_parent_errors -> c_parent_stdout [style = solid]
}