magic-wormhole/docs/terminator.dot
Brian Warner 02bea00366 dot: split Mailbox and Nameplate into separate machines
add Terminator for shutdown
2017-04-06 12:21:00 -07:00

51 lines
1.8 KiB
Plaintext

digraph {
/* M_close pathways */
title [label="Terminator\nMachine" style="dotted"]
initial [style="invis"]
initial -> Snm [style="dashed"]
Snm [label="Snm:\nnameplate active\nmailbox active" color="orange"]
Sn [label="Sn:\nnameplate active\nmailbox done"]
Sm [label="Sm:\nnameplate done\nmailbox active" color="green"]
S0 [label="S0:\nnameplate done\nmailbox done"]
Snm -> Sn [label="mailbox_done"]
Snm -> Sm [label="nameplate_done" color="orange"]
Sn -> S0 [label="nameplate_done"]
Sm -> S0 [label="mailbox_done"]
Snm -> Snm_closing [label="close"]
Sn -> Sn_closing [label="close"]
Sm -> Sm_closing [label="close" color="red"]
S0 -> P_stop [label="close"]
Snm_closing [label="Snm_closing:\nnameplate active\nmailbox active"
style="dashed"]
Sn_closing [label="Sn_closing:\nnameplate active\nmailbox done"
style="dashed"]
Sm_closing [label="Sm_closing:\nnameplate done\nmailbox active"
style="dashed" color="red"]
Snm_closing -> Sn_closing [label="mailbox_done"]
Snm_closing -> Sm_closing [label="nameplate_done"]
Sn_closing -> P_stop [label="nameplate_done"]
Sm_closing -> P_stop [label="mailbox_done" color="red"]
{rank=same; S_stopping Pss S_stopped}
P_stop [shape="box" label="C.stop" color="red"]
P_stop -> S_stopping [color="red"]
S_stopping [label="S_stopping" color="red"]
S_stopping -> Pss [label="stopped"]
Pss [shape="box" label="B.closed"]
Pss -> S_stopped
S_stopped [label="S_stopped"]
other [shape="box" style="dashed"
label="close -> N.close, M.close"]
}