2017-02-15 20:19:39 +00:00
|
|
|
digraph {
|
|
|
|
|
2017-02-19 19:26:11 +00:00
|
|
|
start [label="Wormhole Code\nMachine" style="dotted"]
|
2017-03-04 11:40:19 +00:00
|
|
|
{rank=same; start S0A S0B}
|
|
|
|
start -> S0A [style="invis"]
|
|
|
|
S0A [label="S0A:\nunknown\ndisconnected"]
|
|
|
|
S0A -> S0B [label="connected"]
|
|
|
|
S0B -> S0A [label="lost"]
|
|
|
|
S0B [label="S0B:\nunknown\nconnected"]
|
|
|
|
S0A -> P0_got_code [label="set_code"]
|
|
|
|
S0B -> P0_got_code [label="set_code"]
|
2017-02-23 00:56:39 +00:00
|
|
|
P0_got_code [shape="box" label="B.got_code"]
|
2017-03-11 09:16:21 +00:00
|
|
|
P0_got_code -> S5
|
|
|
|
S5 [label="S5: known" color="green"]
|
2017-02-15 20:19:39 +00:00
|
|
|
|
2017-03-04 11:40:19 +00:00
|
|
|
S0A -> P0_list_nameplates [label="input_code"]
|
|
|
|
S0B -> P0_list_nameplates [label="input_code"]
|
2017-02-19 19:26:11 +00:00
|
|
|
S2 [label="S2: typing\nnameplate"]
|
2017-02-15 20:19:39 +00:00
|
|
|
|
2017-03-11 09:16:21 +00:00
|
|
|
S2 -> P0_list_nameplates [label="update_nameplates"]
|
2017-03-03 14:22:40 +00:00
|
|
|
P0_list_nameplates [shape="box" label="L.refresh_nameplates"]
|
2017-02-19 19:31:49 +00:00
|
|
|
P0_list_nameplates -> S2
|
2017-02-15 20:19:39 +00:00
|
|
|
|
2017-03-11 09:16:21 +00:00
|
|
|
S2 -> P2_claim [label="claim_nameplate" color="orange" fontcolor="orange"]
|
|
|
|
P2_claim [shape="box" label="N.set_nameplate"]
|
|
|
|
P2_claim -> S3
|
|
|
|
S3 [label="S3: typing\ncode\n(no wordlist)"]
|
|
|
|
S3 -> P3_stash_wordlist [label="got_nameplates" color="orange"]
|
|
|
|
P3_stash_wordlist [shape="box" label="stash\nwordlist" color="orange"]
|
|
|
|
P3_stash_wordlist -> S4 [color="orange"]
|
|
|
|
S3 -> P0_got_code [label="submit_words"]
|
|
|
|
S4 [label="S4: typing\ncode\n(yes wordlist)" color="orange"]
|
|
|
|
S4 -> P0_got_code [label="submit_words" color="orange" fontcolor="orange"]
|
2017-02-15 20:19:39 +00:00
|
|
|
|
2017-03-04 11:40:19 +00:00
|
|
|
S0A -> S1A [label="allocate_code"]
|
2017-02-24 01:11:54 +00:00
|
|
|
S1A [label="S1A:\nconnecting"]
|
|
|
|
S1A -> P1_allocate [label="connected"]
|
|
|
|
P1_allocate [shape="box" label="RC.tx_allocate"]
|
|
|
|
P1_allocate -> S1B
|
|
|
|
S1B [label="S1B:\nallocating"]
|
|
|
|
S1B -> P1_generate [label="rx_allocated"]
|
|
|
|
S1B -> S1A [label="lost"]
|
2017-02-19 19:31:49 +00:00
|
|
|
P1_generate [shape="box" label="generate\nrandom code"]
|
2017-02-23 00:56:39 +00:00
|
|
|
P1_generate -> P0_got_code
|
2017-03-04 11:40:19 +00:00
|
|
|
|
|
|
|
S0B -> P1_allocate [label="allocate_code"]
|
2017-02-15 20:19:39 +00:00
|
|
|
|
|
|
|
}
|