]>
Commit | Line | Data |
---|---|---|
11fdf7f2 TL |
1 | digraph { |
2 | ||
3 | node [shape=circle,style=unfilled,fixedsize=true,width=2.0] | |
4 | ||
5 | node [color=blue,peripheries=1]; | |
6 | N0 [label="up:boot"] | |
7 | ||
9f95a23c TL |
8 | node [color=green,peripheries=1]; |
9 | S1 [label="up:standby"] | |
10 | N0 -> S1 [color=green,penwidth=2.0]; | |
11 | S2 [label="up:standby_replay"] | |
12 | S1 -> S2 [color=green,penwidth=2.0]; | |
13 | ||
11fdf7f2 TL |
14 | node [color=orange,peripheries=2]; |
15 | N1 [label="up:creating"] | |
9f95a23c | 16 | S1 -> N1 [color=orange,penwidth=2.0]; |
11fdf7f2 | 17 | N2 [label="up:starting"] |
9f95a23c | 18 | S1 -> N2 [color=orange,penwidth=2.0]; |
11fdf7f2 | 19 | N3 [label="up:replay"] |
9f95a23c TL |
20 | S1 -> N3 [color=orange,penwidth=2.0]; |
21 | S2 -> N3 [color=orange,penwidth=2.0]; | |
11fdf7f2 TL |
22 | N4 [label="up:resolve"] |
23 | N3 -> N4 [color=orange,penwidth=2.0]; | |
24 | N5 [label="up:reconnect"] | |
25 | N3 -> N5 [color=orange,penwidth=2.0]; | |
26 | N4 -> N5 [color=orange,penwidth=2.0]; | |
27 | N6 [label="up:rejoin"] | |
28 | N5 -> N6 [color=orange,penwidth=2.0]; | |
29 | N7 [label="up:clientreplay"] | |
30 | N6 -> N7 [color=orange,penwidth=2.0]; | |
31 | ||
32 | node [color=green,peripheries=2]; | |
33 | S0 [label="up:active"] | |
34 | N7 -> S0 [color=green,penwidth=2.0]; | |
35 | N1 -> S0 [color=green,penwidth=2.0]; | |
36 | N2 -> S0 [color=green,penwidth=2.0]; | |
37 | N6 -> S0 [color=green,penwidth=2.0]; | |
11fdf7f2 TL |
38 | |
39 | // going down but still accessible by clients | |
40 | node [color=purple,peripheries=2]; | |
41 | S3 [label="up:stopping"] | |
42 | S0 -> S3 [color=purple,penwidth=2.0]; | |
43 | ||
44 | // terminal (but "in") | |
45 | node [shape=polygon,sides=6,color=red,peripheries=2]; | |
46 | D0 [label="down:failed"] | |
47 | N2 -> D0 [color=red,penwidth=2.0]; | |
48 | N3 -> D0 [color=red,penwidth=2.0]; | |
49 | N4 -> D0 [color=red,penwidth=2.0]; | |
50 | N5 -> D0 [color=red,penwidth=2.0]; | |
51 | N6 -> D0 [color=red,penwidth=2.0]; | |
52 | N7 -> D0 [color=red,penwidth=2.0]; | |
53 | S0 -> D0 [color=red,penwidth=2.0]; | |
54 | S3 -> D0 [color=red,penwidth=2.0]; | |
55 | D0 -> N3 [color=red,penwidth=2.0]; | |
56 | ||
57 | // terminal (but not "in") | |
58 | node [shape=polygon,sides=6,color=black,peripheries=1]; | |
59 | D1 [label="down:damaged"] | |
60 | N3 -> D1 [color=black,penwidth=2.0]; | |
61 | N4 -> D1 [color=black,penwidth=2.0]; | |
62 | N5 -> D1 [color=black,penwidth=2.0]; | |
63 | N6 -> D1 [color=black,penwidth=2.0]; | |
64 | N7 -> D1 [color=black,penwidth=2.0]; | |
65 | S0 -> D1 [color=black,penwidth=2.0]; | |
66 | S3 -> D1 [color=black,penwidth=2.0]; | |
67 | D1 -> D0 [color=red,penwidth=2.0] | |
68 | ||
69 | node [shape=polygon,sides=6,color=purple,peripheries=1]; | |
70 | D3 [label="down:stopped"] | |
71 | S3 -> D3 [color=purple,penwidth=2.0]; | |
72 | ||
73 | } |