-
Notifications
You must be signed in to change notification settings - Fork 0
/
mosquitto__two_client_will_retain.dot
186 lines (184 loc) · 11.8 KB
/
mosquitto__two_client_will_retain.dot
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
digraph g {
__start0 [label="" shape="none"];
s0 [shape="circle" label="s0"];
s1 [shape="circle" label="s1"];
s2 [shape="circle" label="s2"];
s3 [shape="circle" label="s3"];
s4 [shape="circle" label="s4"];
s5 [shape="circle" label="s5"];
s6 [shape="circle" label="s6"];
s7 [shape="circle" label="s7"];
s8 [shape="circle" label="s8"];
s9 [shape="circle" label="s9"];
s10 [shape="circle" label="s10"];
s11 [shape="circle" label="s11"];
s12 [shape="circle" label="s12"];
s13 [shape="circle" label="s13"];
s14 [shape="circle" label="s14"];
s15 [shape="circle" label="s15"];
s16 [shape="circle" label="s16"];
s17 [shape="circle" label="s17"];
s0 -> s1 [label="ConnectC2 / c1_ConnectionClosed__c2_ConnAck"];
s0 -> s3 [label="ConnectC1WithWill / c1_ConnAck__c2_ConnectionClosed"];
s0 -> s7 [label="ConnectC1WithWillRetain / c1_ConnAck__c2_ConnectionClosed"];
s0 -> s0 [label="DeleteRetainedC1 / c1_ConnectionClosed__c2_ConnectionClosed"];
s0 -> s0 [label="DeleteRetainedC2 / c1_ConnectionClosed__c2_ConnectionClosed"];
s0 -> s0 [label="SubscribeC2 / c1_ConnectionClosed__c2_ConnectionClosed"];
s0 -> s0 [label="UnSubScribeC2 / c1_ConnectionClosed__c2_ConnectionClosed"];
s0 -> s0 [label="DisconnectTCPC1 / c1_ConnectionClosed__c2_ConnectionClosed"];
s0 -> s0 [label="DisconnectC1 / c1_ConnectionClosed__c2_ConnectionClosed"];
s1 -> s0 [label="ConnectC2 / c1_ConnectionClosed__c2_ConnectionClosed"];
s1 -> s2 [label="ConnectC1WithWill / c1_ConnAck__Empty"];
s1 -> s6 [label="ConnectC1WithWillRetain / c1_ConnAck__Empty"];
s1 -> s1 [label="DeleteRetainedC1 / c1_ConnectionClosed__Empty"];
s1 -> s1 [label="DeleteRetainedC2 / c1_ConnectionClosed__c2_PubAck"];
s1 -> s4 [label="SubscribeC2 / c1_ConnectionClosed__c2_SubAck"];
s1 -> s1 [label="UnSubScribeC2 / c1_ConnectionClosed__c2_UnSubAck"];
s1 -> s1 [label="DisconnectTCPC1 / c1_ConnectionClosed__Empty"];
s1 -> s1 [label="DisconnectC1 / c1_ConnectionClosed__Empty"];
s2 -> s3 [label="ConnectC2 / Empty__c2_ConnectionClosed"];
s2 -> s1 [label="ConnectC1WithWill / c1_ConnectionClosed__Empty"];
s2 -> s1 [label="ConnectC1WithWillRetain / c1_ConnectionClosed__Empty"];
s2 -> s2 [label="DeleteRetainedC1 / c1_PubAck__Empty"];
s2 -> s2 [label="DeleteRetainedC2 / Empty__c2_PubAck"];
s2 -> s14 [label="SubscribeC2 / Empty__c2_SubAck"];
s2 -> s2 [label="UnSubScribeC2 / Empty__c2_UnSubAck"];
s2 -> s1 [label="DisconnectTCPC1 / c1_ConnectionClosed__Empty"];
s2 -> s1 [label="DisconnectC1 / c1_ConnectionClosed__Empty"];
s3 -> s2 [label="ConnectC2 / Empty__c2_ConnAck"];
s3 -> s0 [label="ConnectC1WithWill / c1_ConnectionClosed__c2_ConnectionClosed"];
s3 -> s0 [label="ConnectC1WithWillRetain / c1_ConnectionClosed__c2_ConnectionClosed"];
s3 -> s3 [label="DeleteRetainedC1 / c1_PubAck__c2_ConnectionClosed"];
s3 -> s3 [label="DeleteRetainedC2 / Empty__c2_ConnectionClosed"];
s3 -> s3 [label="SubscribeC2 / Empty__c2_ConnectionClosed"];
s3 -> s3 [label="UnSubScribeC2 / Empty__c2_ConnectionClosed"];
s3 -> s0 [label="DisconnectTCPC1 / c1_ConnectionClosed__c2_ConnectionClosed"];
s3 -> s0 [label="DisconnectC1 / c1_ConnectionClosed__c2_ConnectionClosed"];
s4 -> s0 [label="ConnectC2 / c1_ConnectionClosed__c2_ConnectionClosed"];
s4 -> s14 [label="ConnectC1WithWill / c1_ConnAck__Empty"];
s4 -> s5 [label="ConnectC1WithWillRetain / c1_ConnAck__Empty"];
s4 -> s4 [label="DeleteRetainedC1 / c1_ConnectionClosed__Empty"];
s4 -> s4 [label="DeleteRetainedC2 / c1_ConnectionClosed__Pub(c2,my_topic,)__c2_PubAck"];
s4 -> s4 [label="SubscribeC2 / c1_ConnectionClosed__c2_SubAck"];
s4 -> s1 [label="UnSubScribeC2 / c1_ConnectionClosed__c2_UnSubAck"];
s4 -> s4 [label="DisconnectTCPC1 / c1_ConnectionClosed__Empty"];
s4 -> s4 [label="DisconnectC1 / c1_ConnectionClosed__Empty"];
s5 -> s7 [label="ConnectC2 / Empty__c2_ConnectionClosed"];
s5 -> s12 [label="ConnectC1WithWill / c1_ConnectionClosed__Pub(c2,my_topic,bye)"];
s5 -> s12 [label="ConnectC1WithWillRetain / c1_ConnectionClosed__Pub(c2,my_topic,bye)"];
s5 -> s5 [label="DeleteRetainedC1 / c1_PubAck__Pub(c2,my_topic,)"];
s5 -> s5 [label="DeleteRetainedC2 / Empty__Pub(c2,my_topic,)__c2_PubAck"];
s5 -> s5 [label="SubscribeC2 / Empty__c2_SubAck"];
s5 -> s6 [label="UnSubScribeC2 / Empty__c2_UnSubAck"];
s5 -> s12 [label="DisconnectTCPC1 / c1_ConnectionClosed__Pub(c2,my_topic,bye)"];
s5 -> s4 [label="DisconnectC1 / c1_ConnectionClosed__Empty"];
s6 -> s7 [label="ConnectC2 / Empty__c2_ConnectionClosed"];
s6 -> s9 [label="ConnectC1WithWill / c1_ConnectionClosed__Empty"];
s6 -> s9 [label="ConnectC1WithWillRetain / c1_ConnectionClosed__Empty"];
s6 -> s6 [label="DeleteRetainedC1 / c1_PubAck__Empty"];
s6 -> s6 [label="DeleteRetainedC2 / Empty__c2_PubAck"];
s6 -> s5 [label="SubscribeC2 / Empty__c2_SubAck"];
s6 -> s6 [label="UnSubScribeC2 / Empty__c2_UnSubAck"];
s6 -> s9 [label="DisconnectTCPC1 / c1_ConnectionClosed__Empty"];
s6 -> s1 [label="DisconnectC1 / c1_ConnectionClosed__Empty"];
s7 -> s6 [label="ConnectC2 / Empty__c2_ConnAck"];
s7 -> s8 [label="ConnectC1WithWill / c1_ConnectionClosed__c2_ConnectionClosed"];
s7 -> s8 [label="ConnectC1WithWillRetain / c1_ConnectionClosed__c2_ConnectionClosed"];
s7 -> s7 [label="DeleteRetainedC1 / c1_PubAck__c2_ConnectionClosed"];
s7 -> s7 [label="DeleteRetainedC2 / Empty__c2_ConnectionClosed"];
s7 -> s7 [label="SubscribeC2 / Empty__c2_ConnectionClosed"];
s7 -> s7 [label="UnSubScribeC2 / Empty__c2_ConnectionClosed"];
s7 -> s8 [label="DisconnectTCPC1 / c1_ConnectionClosed__c2_ConnectionClosed"];
s7 -> s0 [label="DisconnectC1 / c1_ConnectionClosed__c2_ConnectionClosed"];
s8 -> s9 [label="ConnectC2 / c1_ConnectionClosed__c2_ConnAck"];
s8 -> s10 [label="ConnectC1WithWill / c1_ConnAck__c2_ConnectionClosed"];
s8 -> s16 [label="ConnectC1WithWillRetain / c1_ConnAck__c2_ConnectionClosed"];
s8 -> s8 [label="DeleteRetainedC1 / c1_ConnectionClosed__c2_ConnectionClosed"];
s8 -> s8 [label="DeleteRetainedC2 / c1_ConnectionClosed__c2_ConnectionClosed"];
s8 -> s8 [label="SubscribeC2 / c1_ConnectionClosed__c2_ConnectionClosed"];
s8 -> s8 [label="UnSubScribeC2 / c1_ConnectionClosed__c2_ConnectionClosed"];
s8 -> s8 [label="DisconnectTCPC1 / c1_ConnectionClosed__c2_ConnectionClosed"];
s8 -> s8 [label="DisconnectC1 / c1_ConnectionClosed__c2_ConnectionClosed"];
s9 -> s8 [label="ConnectC2 / c1_ConnectionClosed__c2_ConnectionClosed"];
s9 -> s11 [label="ConnectC1WithWill / c1_ConnAck__Empty"];
s9 -> s17 [label="ConnectC1WithWillRetain / c1_ConnAck__Empty"];
s9 -> s9 [label="DeleteRetainedC1 / c1_ConnectionClosed__Empty"];
s9 -> s1 [label="DeleteRetainedC2 / c1_ConnectionClosed__c2_PubAck"];
s9 -> s12 [label="SubscribeC2 / c1_ConnectionClosed__c2_SubAck__Pub(c2,my_topic,bye)"];
s9 -> s9 [label="UnSubScribeC2 / c1_ConnectionClosed__c2_UnSubAck"];
s9 -> s9 [label="DisconnectTCPC1 / c1_ConnectionClosed__Empty"];
s9 -> s9 [label="DisconnectC1 / c1_ConnectionClosed__Empty"];
s10 -> s11 [label="ConnectC2 / Empty__c2_ConnAck"];
s10 -> s8 [label="ConnectC1WithWill / c1_ConnectionClosed__c2_ConnectionClosed"];
s10 -> s8 [label="ConnectC1WithWillRetain / c1_ConnectionClosed__c2_ConnectionClosed"];
s10 -> s3 [label="DeleteRetainedC1 / c1_PubAck__c2_ConnectionClosed"];
s10 -> s10 [label="DeleteRetainedC2 / Empty__c2_ConnectionClosed"];
s10 -> s10 [label="SubscribeC2 / Empty__c2_ConnectionClosed"];
s10 -> s10 [label="UnSubScribeC2 / Empty__c2_ConnectionClosed"];
s10 -> s8 [label="DisconnectTCPC1 / c1_ConnectionClosed__c2_ConnectionClosed"];
s10 -> s8 [label="DisconnectC1 / c1_ConnectionClosed__c2_ConnectionClosed"];
s11 -> s10 [label="ConnectC2 / Empty__c2_ConnectionClosed"];
s11 -> s9 [label="ConnectC1WithWill / c1_ConnectionClosed__Empty"];
s11 -> s9 [label="ConnectC1WithWillRetain / c1_ConnectionClosed__Empty"];
s11 -> s2 [label="DeleteRetainedC1 / c1_PubAck__Empty"];
s11 -> s2 [label="DeleteRetainedC2 / Empty__c2_PubAck"];
s11 -> s15 [label="SubscribeC2 / Empty__c2_SubAck__Pub(c2,my_topic,bye)"];
s11 -> s11 [label="UnSubScribeC2 / Empty__c2_UnSubAck"];
s11 -> s9 [label="DisconnectTCPC1 / c1_ConnectionClosed__Empty"];
s11 -> s9 [label="DisconnectC1 / c1_ConnectionClosed__Empty"];
s12 -> s8 [label="ConnectC2 / c1_ConnectionClosed__c2_ConnectionClosed"];
s12 -> s15 [label="ConnectC1WithWill / c1_ConnAck__Empty"];
s12 -> s13 [label="ConnectC1WithWillRetain / c1_ConnAck__Empty"];
s12 -> s12 [label="DeleteRetainedC1 / c1_ConnectionClosed__Empty"];
s12 -> s4 [label="DeleteRetainedC2 / c1_ConnectionClosed__Pub(c2,my_topic,)__c2_PubAck"];
s12 -> s12 [label="SubscribeC2 / c1_ConnectionClosed__c2_SubAck__Pub(c2,my_topic,bye)"];
s12 -> s9 [label="UnSubScribeC2 / c1_ConnectionClosed__c2_UnSubAck"];
s12 -> s12 [label="DisconnectTCPC1 / c1_ConnectionClosed__Empty"];
s12 -> s12 [label="DisconnectC1 / c1_ConnectionClosed__Empty"];
s13 -> s16 [label="ConnectC2 / Empty__c2_ConnectionClosed"];
s13 -> s12 [label="ConnectC1WithWill / c1_ConnectionClosed__Pub(c2,my_topic,bye)"];
s13 -> s12 [label="ConnectC1WithWillRetain / c1_ConnectionClosed__Pub(c2,my_topic,bye)"];
s13 -> s5 [label="DeleteRetainedC1 / c1_PubAck__Pub(c2,my_topic,)"];
s13 -> s5 [label="DeleteRetainedC2 / Empty__Pub(c2,my_topic,)__c2_PubAck"];
s13 -> s13 [label="SubscribeC2 / Empty__c2_SubAck__Pub(c2,my_topic,bye)"];
s13 -> s17 [label="UnSubScribeC2 / Empty__c2_UnSubAck"];
s13 -> s12 [label="DisconnectTCPC1 / c1_ConnectionClosed__Pub(c2,my_topic,bye)"];
s13 -> s12 [label="DisconnectC1 / c1_ConnectionClosed__Empty"];
s14 -> s3 [label="ConnectC2 / Empty__c2_ConnectionClosed"];
s14 -> s4 [label="ConnectC1WithWill / c1_ConnectionClosed__Pub(c2,my_topic,bye)"];
s14 -> s4 [label="ConnectC1WithWillRetain / c1_ConnectionClosed__Pub(c2,my_topic,bye)"];
s14 -> s14 [label="DeleteRetainedC1 / c1_PubAck__Pub(c2,my_topic,)"];
s14 -> s14 [label="DeleteRetainedC2 / Empty__Pub(c2,my_topic,)__c2_PubAck"];
s14 -> s14 [label="SubscribeC2 / Empty__c2_SubAck"];
s14 -> s2 [label="UnSubScribeC2 / Empty__c2_UnSubAck"];
s14 -> s4 [label="DisconnectTCPC1 / c1_ConnectionClosed__Pub(c2,my_topic,bye)"];
s14 -> s4 [label="DisconnectC1 / c1_ConnectionClosed__Empty"];
s15 -> s10 [label="ConnectC2 / Empty__c2_ConnectionClosed"];
s15 -> s12 [label="ConnectC1WithWill / c1_ConnectionClosed__Pub(c2,my_topic,bye)"];
s15 -> s12 [label="ConnectC1WithWillRetain / c1_ConnectionClosed__Pub(c2,my_topic,bye)"];
s15 -> s14 [label="DeleteRetainedC1 / c1_PubAck__Pub(c2,my_topic,)"];
s15 -> s14 [label="DeleteRetainedC2 / Empty__Pub(c2,my_topic,)__c2_PubAck"];
s15 -> s15 [label="SubscribeC2 / Empty__c2_SubAck__Pub(c2,my_topic,bye)"];
s15 -> s11 [label="UnSubScribeC2 / Empty__c2_UnSubAck"];
s15 -> s12 [label="DisconnectTCPC1 / c1_ConnectionClosed__Pub(c2,my_topic,bye)"];
s15 -> s12 [label="DisconnectC1 / c1_ConnectionClosed__Empty"];
s16 -> s17 [label="ConnectC2 / Empty__c2_ConnAck"];
s16 -> s8 [label="ConnectC1WithWill / c1_ConnectionClosed__c2_ConnectionClosed"];
s16 -> s8 [label="ConnectC1WithWillRetain / c1_ConnectionClosed__c2_ConnectionClosed"];
s16 -> s7 [label="DeleteRetainedC1 / c1_PubAck__c2_ConnectionClosed"];
s16 -> s16 [label="DeleteRetainedC2 / Empty__c2_ConnectionClosed"];
s16 -> s16 [label="SubscribeC2 / Empty__c2_ConnectionClosed"];
s16 -> s16 [label="UnSubScribeC2 / Empty__c2_ConnectionClosed"];
s16 -> s8 [label="DisconnectTCPC1 / c1_ConnectionClosed__c2_ConnectionClosed"];
s16 -> s8 [label="DisconnectC1 / c1_ConnectionClosed__c2_ConnectionClosed"];
s17 -> s16 [label="ConnectC2 / Empty__c2_ConnectionClosed"];
s17 -> s9 [label="ConnectC1WithWill / c1_ConnectionClosed__Empty"];
s17 -> s9 [label="ConnectC1WithWillRetain / c1_ConnectionClosed__Empty"];
s17 -> s6 [label="DeleteRetainedC1 / c1_PubAck__Empty"];
s17 -> s6 [label="DeleteRetainedC2 / Empty__c2_PubAck"];
s17 -> s13 [label="SubscribeC2 / Empty__c2_SubAck__Pub(c2,my_topic,bye)"];
s17 -> s17 [label="UnSubScribeC2 / Empty__c2_UnSubAck"];
s17 -> s9 [label="DisconnectTCPC1 / c1_ConnectionClosed__Empty"];
s17 -> s9 [label="DisconnectC1 / c1_ConnectionClosed__Empty"];
__start0 -> s0;
}