magic-wormhole/docs/code.dot
2017-04-06 12:21:00 -07:00

47 lines
1.7 KiB
Plaintext

digraph {
start [label="Wormhole Code\nMachine" style="dotted"]
{rank=same; start S0}
start -> S0 [style="invis"]
S0 [label="S0:\nunknown\ndisconnected"]
S0 -> P0_got_code [label="set_code"]
P0_got_code [shape="box" label="B.got_code"]
P0_got_code -> S4
S4 [label="S4: known" color="green"]
S0 -> P0_list_nameplates [label="input_code"]
S2 [label="S2: typing\nnameplate"]
S2 -> P2_completion [label="<tab>"]
P2_completion [shape="box" label="do completion"]
P2_completion -> P0_list_nameplates
P0_list_nameplates [shape="box" label="NL.refresh_nameplates"]
P0_list_nameplates -> S2
S2 -> P2_got_nameplates [label="got_nameplates"]
P2_got_nameplates [shape="box" label="stash nameplates\nfor completion"]
P2_got_nameplates -> S2
S2 -> P2_finish [label="<hyphen>" color="orange" fontcolor="orange"]
P2_finish [shape="box" label="lookup wordlist\nfor completion"]
P2_finish -> S3
S3 [label="S3: typing\ncode"]
S3 -> P3_completion [label="<tab>"]
P3_completion [shape="box" label="do completion"]
P3_completion -> S3
S3 -> P0_got_code [label="<return>"
color="orange" fontcolor="orange"]
S0 -> S1A [label="allocate_code"]
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"]
P1_generate [shape="box" label="generate\nrandom code"]
P1_generate -> P0_got_code
}