digraph { /* "connected": NL_connected "rx": NL_rx_nameplates "refresh": NL_refresh_nameplates */ {rank=same; NL_title NL_S0A NL_S0B} NL_title [label="Nameplate\nLister" style="dotted"] NL_S0A [label="S0A:\nnot wanting\nunconnected"] NL_S0B [label="S0B:\nnot wanting\nconnected" color="orange"] NL_S0A -> NL_S0B [label="connected"] NL_S0B -> NL_S0A [label="lost"] NL_S0A -> NL_S1A [label="refresh"] NL_S0B -> NL_P_tx [label="refresh" color="orange"] NL_S0A -> NL_P_tx [style="invis"] {rank=same; NL_S1A NL_P_tx NL_S1B NL_C_notify} NL_S1A [label="S1A:\nwant list\nunconnected"] NL_S1B [label="S1B:\nwant list\nconnected" color="orange"] NL_S1A -> NL_P_tx [label="connected"] NL_P_tx [shape="box" label="C.tx_list()" color="orange"] NL_P_tx -> NL_S1B [color="orange"] NL_S1B -> NL_S1A [label="lost"] NL_S1A -> foo [label="refresh"] foo [label="" style="dashed"] foo -> NL_S1A NL_S1B -> foo2 [label="refresh"] foo2 [label="" style="dashed"] foo2 -> NL_P_tx NL_S0B -> NL_C_notify [label="rx"] NL_S1B -> NL_C_notify [label="rx"] NL_C_notify [shape="box" label="W.got_nameplates()"] NL_C_notify -> NL_S0B {rank=same; foo foo2 legend} legend [shape="box" style="dotted" label="connected: NL_connected()\nlost: NL_lost()\nrefresh: NL_refresh_nameplates()\nrx: NL_rx_nameplates()"] }