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

53 lines
2.0 KiB
Plaintext

digraph {
/* M_close pathways */
MC_title [label="Mailbox\nClose\nMachine" style="dotted"]
MC_title -> MC_S2 [style="invis"]
/* All dashed states are from the main Mailbox Machine diagram, and
all dashed lines indicate M_close() pathways in from those states.
Within this graph, all M_close() events leave the state unchanged. */
MC_Pr [shape="box" label="qtx release" color="orange"]
MC_Pr -> MC_Sr [color="orange"]
MC_Sr [label="SrB:\nwaiting for:\nrelease" color="orange"]
MC_Sr -> MC_P_stop [label="rx released" color="orange" fontcolor="orange"]
MC_Pc [shape="box" label="qtx close" color="orange"]
MC_Pc -> MC_Sc [color="orange"]
MC_Sc [label="ScB:\nwaiting for:\nclosed" color="orange"]
MC_Sc -> MC_P_stop [label="rx closed" color="orange" fontcolor="orange"]
MC_Prc [shape="box" label="qtx release\nqtx close" color="orange"]
MC_Prc -> MC_Src [color="orange"]
MC_Src [label="SrcB:\nwaiting for:\nrelease\nclosed" color="orange"]
MC_Src -> MC_Sc [label="rx released" color="orange" fontcolor="orange"]
MC_Src -> MC_Sr [label="rx closed" color="orange" fontcolor="orange"]
MC_P_stop [shape="box" label="C_stop()"]
MC_P_stop -> MC_Ss
MC_Ss -> MC_Ss [label="M_stopped()"]
MC_Ss [label="SsB: closed\nstopping"]
MC_Ss [label="Ss: closed" color="green"]
{rank=same; MC_S2 MC_S1 MC_S3 MC_S4 MC_S5}
MC_S1 [label="S1" color="orange" style="dashed"]
MC_S1 -> MC_P_stop [style="dashed" color="orange"]
MC_S2 [label="S2" color="orange" style="dashed"]
MC_S2 -> MC_Pr [color="orange" style="dashed"]
MC_S3 [label="S3" color="orange" style="dashed"]
MC_S3 -> MC_Prc [color="orange" style="dashed"]
MC_S4 [label="S4" color="orange" style="dashed"]
MC_S4 -> MC_Prc [color="orange" style="dashed"]
MC_S5 [label="S5" color="green" style="dashed"]
MC_S5 -> MC_Pc [style="dashed" color="green"]
}