49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
}
// server bootstrap
subgraph cluster_2 {
label="Startup";
node [style=filled,shape=box];
getlock [label="Get file lock"];
starthttp [label="Start http server"];
copydb [label="Copy db to /tmp"];
createsrvfile [label="Create .nnn.server file containing host:port"];
releaselock [label="Release file lock"];
getlock -> starthttp -> createsrvfile;
getlock -> copydb -> createsrvfile;
createsrvfile -> releaselock;
}
// shutting down server
subgraph cluster_3 {
label="Shutdown";
node [style=filled,shape=box];
shutdown [label="Start Shutdown"];
|
|
<
>
>
>
|
|
|
>
>
>
|
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
|
}
// server bootstrap
subgraph cluster_2 {
label="Startup";
node [style=filled,shape=box];
getlock [label="Get file lock"];
starthttpcpdb [label="Start http server/copy db to /tmp"];
createsrvfile [label="Create .nnn.server file containing host:port"];
releaselock [label="Release file lock"];
chksrv [label="Check if server already exists"];
exitstartup [label="exit/stop"];
sleep1 [label="Sleep few seconds"];
getlock -> starthttpcpdb [label="yes"];
getlock -> chksrv [label="no"];
starthttpcpdb -> createsrvfile -> releaselock;
chksrv -> exitstartup [label="yes"];
chksrv -> sleep1 [label="no"];
sleep1 -> getlock;
}
// shutting down server
subgraph cluster_3 {
label="Shutdown";
node [style=filled,shape=box];
shutdown [label="Start Shutdown"];
|