]>
Commit | Line | Data |
---|---|---|
f765701f JM |
1 | digraph p2p { |
2 | ranksep=.75; | |
3 | size = "8.5,7.5"; | |
4 | ||
5 | start -> IDLE; | |
6 | start [label="Init",shape=none]; | |
7 | ||
8 | /* Discovery: Scan followed by Find(SEARCH,LISTEN) */ | |
9 | subgraph cluster_0 { | |
10 | label="Discovery"; | |
11 | color=lightgrey; | |
12 | node [color=blue]; | |
13 | /* SCAN and LISTEN currently not used in the implementation */ | |
14 | SCAN [style=dotted]; | |
15 | LISTEN [style=dotted]; | |
16 | ||
17 | SCAN -> LISTEN; | |
18 | LISTEN -> SEARCH -> LISTEN [style=dotted]; | |
19 | SEARCH -> SD_DURING_FIND [label="Peer SD capab\nand no info", weight=100]; | |
20 | SD_DURING_FIND -> SEARCH [label="RX SD Resp\nor timeout", weight=100]; | |
21 | SEARCH -> PROV_DISC_DURING_FIND [label="Prov Disc cmd\nand no Resp", weight=100]; | |
22 | PROV_DISC_DURING_FIND -> SEARCH [label="RX Prov Disc Resp\nor timeout", weight=100]; | |
23 | } | |
24 | ||
25 | /* Group Formation */ | |
26 | subgraph cluster_1 { | |
27 | label="Group Formation"; | |
28 | color=lightgrey; | |
29 | node [color=green]; | |
30 | ||
31 | CONNECT -> CONNECT_LISTEN [style=dotted,weight=100]; | |
32 | CONNECT_LISTEN -> CONNECT [style=dotted,weight=100]; | |
33 | CONNECT -> WAIT_PEER_IDLE [label="RX GO Neg Resp\n(info unavail)"]; | |
34 | WAIT_PEER_IDLE -> WAIT_PEER_CONNECT [style=dotted,weight=100]; | |
35 | WAIT_PEER_CONNECT -> WAIT_PEER_IDLE [style=dotted,weight=100]; | |
36 | ||
37 | CONNECT -> GO_NEG [label="RX GO Neg Resp\n(success)", weight=10]; | |
38 | CONNECT_LISTEN -> GO_NEG [label="RX GO Neg Req or\nTX GO Neg Resp"]; | |
39 | WAIT_PEER_CONNECT -> GO_NEG [label="RX GO Neg Req"]; | |
40 | GO_NEG -> PROVISIONING [label="TX/RX GO Neg Conf"]; | |
41 | } | |
42 | ||
43 | PROVISIONING -> IDLE [label="WPS\nsuccess"]; | |
44 | ||
45 | /* External triggers */ | |
46 | IDLE -> SCAN [label="Find cmd",weight=20]; | |
47 | IDLE -> CONNECT [label="Connect cmd",weight=20]; | |
48 | IDLE -> LISTEN_ONLY [label="Listen cmd"]; | |
49 | ||
50 | /* Timeouts */ | |
51 | /* | |
52 | edge [color=red]; | |
53 | WAIT_PEER_IDLE -> IDLE [label="timeout", weight=0]; | |
54 | WAIT_PEER_CONNECT -> IDLE [label="timeout", weight=0]; | |
55 | CONNECT -> IDLE [label="timeout", weight=0]; | |
56 | CONNECT_LISTEN -> IDLE [label="timeout", weight=0]; | |
57 | GO_NEG -> IDLE [label="timeout", weight=0]; | |
58 | PROVISIONING -> IDLE [label="timeout", weight=0]; | |
59 | LISTEN_ONLY -> IDLE [label="timeout", weight=0]; | |
60 | SEARCH -> IDLE [label="timeout", weight=0]; | |
61 | */ | |
62 | } |