-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path未命名绘图.drawio
423 lines (423 loc) · 51.9 KB
/
未命名绘图.drawio
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
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
<mxfile host="app.diagrams.net" modified="2022-12-10T15:35:30.636Z" agent="5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36 Edg/108.0.1462.42" etag="qm7mkrsk38W5KAJyvplx" version="20.6.0" type="github">
<diagram id="FBNPLSgK4uQEp-y_yy-n" name="第 1 页">
<mxGraphModel dx="2647" dy="1034" grid="1" gridSize="14" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="1">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="j9FBh_obXIqPpJMOKT9w-15" value="" style="group" vertex="1" connectable="0" parent="1">
<mxGeometry x="574" y="1162" width="420" height="731" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-66" value="" style="rounded=0;whiteSpace=wrap;html=1;sketch=1;hachureGap=4;jiggle=2;fontFamily=Helvetica;fontSize=14;" parent="j9FBh_obXIqPpJMOKT9w-15" vertex="1">
<mxGeometry width="420" height="731" as="geometry" />
</mxCell>
<mxCell id="j9FBh_obXIqPpJMOKT9w-14" value="" style="group" vertex="1" connectable="0" parent="j9FBh_obXIqPpJMOKT9w-15">
<mxGeometry x="52.370000000000005" y="67" width="367.63" height="622" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-124" value="<font color="#000000">AppendEntry</font>" style="rounded=0;whiteSpace=wrap;html=1;sketch=1;hachureGap=4;jiggle=2;fontFamily=Helvetica;fontSize=14;fillColor=#60a917;strokeColor=#2D7600;fontColor=#ffffff;" parent="j9FBh_obXIqPpJMOKT9w-14" vertex="1">
<mxGeometry x="72.63" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-139" style="edgeStyle=orthogonalEdgeStyle;curved=1;sketch=1;hachureGap=4;jiggle=2;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;dashed=1;fontFamily=Helvetica;fontSize=14;fontColor=#000000;" parent="j9FBh_obXIqPpJMOKT9w-14" source="ZAG0RleTYIJ7giiX-ed6-134" target="ZAG0RleTYIJ7giiX-ed6-124" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="17.629999999999995" y="142" />
<mxPoint x="17.629999999999995" y="36" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-140" value="Loop" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=14;fontFamily=Helvetica;fontColor=#000000;" parent="ZAG0RleTYIJ7giiX-ed6-139" vertex="1" connectable="0">
<mxGeometry x="0.0004" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-134" value="<font face="Helvetica">OK?</font>" style="rhombus;whiteSpace=wrap;html=1;fontSize=14;rounded=0;sketch=1;hachureGap=4;jiggle=2;fontFamily=Architects Daughter;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DArchitects%2BDaughter;" parent="j9FBh_obXIqPpJMOKT9w-14" vertex="1">
<mxGeometry x="93.63" y="111" width="78" height="63" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-135" value="" style="edgeStyle=orthogonalEdgeStyle;curved=1;sketch=1;hachureGap=4;jiggle=2;orthogonalLoop=1;jettySize=auto;html=1;fontFamily=Helvetica;fontSize=14;fontColor=#000000;" parent="j9FBh_obXIqPpJMOKT9w-14" source="ZAG0RleTYIJ7giiX-ed6-124" target="ZAG0RleTYIJ7giiX-ed6-134" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-142" value="<font face="Helvetica">reply.AppendState==Appkilled</font>" style="rhombus;whiteSpace=wrap;html=1;fontSize=14;fontFamily=Architects Daughter;rounded=0;sketch=1;hachureGap=4;jiggle=2;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DArchitects%2BDaughter;" parent="j9FBh_obXIqPpJMOKT9w-14" vertex="1">
<mxGeometry x="12.879999999999995" y="212" width="239.5" height="84" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-143" value="" style="edgeStyle=orthogonalEdgeStyle;curved=1;sketch=1;hachureGap=4;jiggle=2;orthogonalLoop=1;jettySize=auto;html=1;fontFamily=Helvetica;fontSize=14;fontColor=#000000;" parent="j9FBh_obXIqPpJMOKT9w-14" source="ZAG0RleTYIJ7giiX-ed6-134" target="ZAG0RleTYIJ7giiX-ed6-142" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-144" value="<span style="font-family: Helvetica;">reply.AppendState==AppNormal</span>" style="rhombus;whiteSpace=wrap;html=1;fontSize=14;fontFamily=Architects Daughter;rounded=0;sketch=1;hachureGap=4;jiggle=2;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DArchitects%2BDaughter;fontColor=#000000;" parent="j9FBh_obXIqPpJMOKT9w-14" vertex="1">
<mxGeometry x="15.629999999999995" y="316" width="234" height="82" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-145" style="edgeStyle=orthogonalEdgeStyle;curved=1;sketch=1;hachureGap=4;jiggle=2;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;fontFamily=Helvetica;fontSize=14;fontColor=#000000;" parent="j9FBh_obXIqPpJMOKT9w-14" source="ZAG0RleTYIJ7giiX-ed6-142" target="ZAG0RleTYIJ7giiX-ed6-144" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-146" value="return false" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;sketch=1;hachureGap=4;jiggle=2;fontFamily=Helvetica;fontSize=14;fontColor=#000000;" parent="j9FBh_obXIqPpJMOKT9w-14" vertex="1">
<mxGeometry x="293.63" y="239" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-147" style="edgeStyle=orthogonalEdgeStyle;curved=1;sketch=1;hachureGap=4;jiggle=2;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;fontFamily=Helvetica;fontSize=14;fontColor=#000000;" parent="j9FBh_obXIqPpJMOKT9w-14" source="ZAG0RleTYIJ7giiX-ed6-142" target="ZAG0RleTYIJ7giiX-ed6-146" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-148" value="return true" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;sketch=1;hachureGap=4;jiggle=2;fontFamily=Helvetica;fontSize=14;fontColor=#000000;" parent="j9FBh_obXIqPpJMOKT9w-14" vertex="1">
<mxGeometry x="293.63" y="342" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-149" style="edgeStyle=orthogonalEdgeStyle;curved=1;sketch=1;hachureGap=4;jiggle=2;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;fontFamily=Helvetica;fontSize=14;fontColor=#000000;" parent="j9FBh_obXIqPpJMOKT9w-14" source="ZAG0RleTYIJ7giiX-ed6-144" target="ZAG0RleTYIJ7giiX-ed6-148" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-150" value="<span style="font-family: Helvetica;">reply.AppendState==AppOutOfDate</span>" style="rhombus;whiteSpace=wrap;html=1;fontSize=14;fontFamily=Architects Daughter;rounded=0;sketch=1;hachureGap=4;jiggle=2;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DArchitects%2BDaughter;fontColor=#000000;" parent="j9FBh_obXIqPpJMOKT9w-14" vertex="1">
<mxGeometry y="440" width="265.25" height="81" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-151" style="edgeStyle=orthogonalEdgeStyle;curved=1;sketch=1;hachureGap=4;jiggle=2;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;fontFamily=Helvetica;fontSize=14;fontColor=#000000;" parent="j9FBh_obXIqPpJMOKT9w-14" source="ZAG0RleTYIJ7giiX-ed6-144" target="ZAG0RleTYIJ7giiX-ed6-150" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-153" value="return true" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;sketch=1;hachureGap=4;jiggle=2;fontFamily=Helvetica;fontSize=14;fontColor=#000000;" parent="j9FBh_obXIqPpJMOKT9w-14" vertex="1">
<mxGeometry x="307.63" y="470" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-154" value="" style="edgeStyle=orthogonalEdgeStyle;curved=1;sketch=1;hachureGap=4;jiggle=2;orthogonalLoop=1;jettySize=auto;html=1;fontFamily=Helvetica;fontSize=14;fontColor=#000000;" parent="j9FBh_obXIqPpJMOKT9w-14" source="ZAG0RleTYIJ7giiX-ed6-150" target="ZAG0RleTYIJ7giiX-ed6-153" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-155" value="<font face="Helvetica">rf.status = Follower<br>rf.timer.Reset(rf.overtime)</font>" style="whiteSpace=wrap;html=1;fontSize=14;fontFamily=Architects Daughter;rounded=0;sketch=1;hachureGap=4;jiggle=2;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DArchitects%2BDaughter;fillColor=#ffff88;strokeColor=#36393d;" parent="j9FBh_obXIqPpJMOKT9w-14" vertex="1">
<mxGeometry x="30.879999999999995" y="566" width="203.5" height="56" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-157" value="" style="edgeStyle=orthogonalEdgeStyle;curved=1;sketch=1;hachureGap=4;jiggle=2;orthogonalLoop=1;jettySize=auto;html=1;fontFamily=Helvetica;fontSize=14;fontColor=#000000;" parent="j9FBh_obXIqPpJMOKT9w-14" source="ZAG0RleTYIJ7giiX-ed6-150" target="ZAG0RleTYIJ7giiX-ed6-155" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="j9FBh_obXIqPpJMOKT9w-13" value="" style="rounded=0;whiteSpace=wrap;html=1;sketch=1;hachureGap=4;jiggle=2;fontFamily=Helvetica;fontSize=14;fontColor=#000000;" vertex="1" parent="1">
<mxGeometry x="574" y="728" width="1078" height="364" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-63" value="" style="rounded=0;whiteSpace=wrap;html=1;sketch=1;hachureGap=4;jiggle=2;fontFamily=Helvetica;fontSize=14;" parent="1" vertex="1">
<mxGeometry x="105.75" y="597" width="370.25" height="873" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-6" value="" style="rounded=0;whiteSpace=wrap;html=1;sketch=1;hachureGap=4;jiggle=2;fontFamily=Architects Daughter;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DArchitects%2BDaughter;fontSize=20;" parent="1" vertex="1">
<mxGeometry x="155.5" y="266" width="264.5" height="252" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-21" value="" style="rounded=0;whiteSpace=wrap;html=1;sketch=1;hachureGap=4;jiggle=2;fontFamily=Helvetica;fontSize=14;" parent="1" vertex="1">
<mxGeometry x="491" y="244.5" width="475" height="441.5" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-1" value="" style="rounded=0;whiteSpace=wrap;html=1;sketch=1;gradientColor=none;shadow=0;glass=0;" parent="1" vertex="1">
<mxGeometry x="100" y="42" width="196" height="182" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-5" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;sketch=1;" parent="1" source="ZAG0RleTYIJ7giiX-ed6-2" target="ZAG0RleTYIJ7giiX-ed6-4" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-2" value="kvserver" style="rounded=0;whiteSpace=wrap;html=1;shadow=0;glass=0;sketch=1;fillColor=#f8cecc;strokeColor=#b85450;" parent="1" vertex="1">
<mxGeometry x="154" y="56" width="88" height="28" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-3" value="init" style="rounded=0;whiteSpace=wrap;html=1;shadow=0;glass=0;sketch=1;gradientColor=none;" parent="1" vertex="1">
<mxGeometry x="154" y="112" width="88" height="28" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-10" style="edgeStyle=orthogonalEdgeStyle;sketch=1;hachureGap=4;jiggle=2;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;fontFamily=Architects Daughter;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DArchitects%2BDaughter;fontSize=16;dashed=1;curved=1;" parent="1" source="ZAG0RleTYIJ7giiX-ed6-4" target="ZAG0RleTYIJ7giiX-ed6-8" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-4" value="make()" style="rounded=0;whiteSpace=wrap;html=1;shadow=0;glass=0;sketch=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="149" y="168" width="98" height="28" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-20" style="edgeStyle=orthogonalEdgeStyle;curved=1;sketch=1;hachureGap=4;jiggle=2;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;fontFamily=Helvetica;fontSize=14;" parent="1" source="ZAG0RleTYIJ7giiX-ed6-8" target="ZAG0RleTYIJ7giiX-ed6-15" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-8" value="make()" style="rounded=0;whiteSpace=wrap;html=1;shadow=0;glass=0;sketch=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="238" y="294" width="98" height="28" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-19" value="" style="edgeStyle=orthogonalEdgeStyle;curved=1;sketch=1;hachureGap=4;jiggle=2;orthogonalLoop=1;jettySize=auto;html=1;fontFamily=Helvetica;fontSize=14;" parent="1" source="ZAG0RleTYIJ7giiX-ed6-15" target="ZAG0RleTYIJ7giiX-ed6-18" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-15" value="<pre><font face="Helvetica" style="font-size: 14px;">raft{} init</font></pre>" style="rounded=1;whiteSpace=wrap;html=1;sketch=1;hachureGap=4;jiggle=2;fontFamily=Architects Daughter;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DArchitects%2BDaughter;fontSize=20;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" parent="1" vertex="1">
<mxGeometry x="228.5" y="350" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-23" style="edgeStyle=orthogonalEdgeStyle;curved=1;sketch=1;hachureGap=4;jiggle=2;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;dashed=1;fontFamily=Helvetica;fontSize=14;" parent="1" source="ZAG0RleTYIJ7giiX-ed6-18" target="ZAG0RleTYIJ7giiX-ed6-22" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-18" value="<font style="font-size: 14px;" face="Helvetica">ticker()</font>" style="rounded=0;whiteSpace=wrap;html=1;sketch=1;hachureGap=4;jiggle=2;fontFamily=Architects Daughter;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DArchitects%2BDaughter;fontSize=20;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1">
<mxGeometry x="232.5" y="448" width="112" height="42" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-50" value="" style="edgeStyle=orthogonalEdgeStyle;curved=1;sketch=1;hachureGap=4;jiggle=2;orthogonalLoop=1;jettySize=auto;html=1;fontFamily=Helvetica;fontSize=14;" parent="1" source="ZAG0RleTYIJ7giiX-ed6-22" target="ZAG0RleTYIJ7giiX-ed6-45" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-22" value="<font style="font-size: 14px;" face="Helvetica">ticker()</font>" style="rounded=0;whiteSpace=wrap;html=1;sketch=1;hachureGap=4;jiggle=2;fontFamily=Architects Daughter;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DArchitects%2BDaughter;fontSize=20;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1">
<mxGeometry x="741.5" y="291" width="112" height="42" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-35" value="Raft" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=30;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;sketch=1;hachureGap=4;jiggle=2;fontFamily=Helvetica;fontSize=14;" parent="1" vertex="1">
<mxGeometry x="-70" y="239" width="140" height="548" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-44" style="edgeStyle=orthogonalEdgeStyle;curved=1;sketch=1;hachureGap=4;jiggle=2;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;fontFamily=Helvetica;fontSize=14;" parent="1" source="ZAG0RleTYIJ7giiX-ed6-13" target="ZAG0RleTYIJ7giiX-ed6-15" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-13" value="<font style="font-size: 18px;" face="Helvetica">peer<br>persister<br>me<br>dead<br>leaderId<br>isLeader<br><br>commitIndex<br>lastApplied<br>nextIndex<br>matchIndex<br><br>status<br>currentTerm<br>votedFor<br>log<br><br>overtime<br>timer<br>applyCh<br>killIt</font>" style="text;html=1;resizable=0;autosize=1;align=center;verticalAlign=middle;points=[];fillColor=#ffe6cc;rounded=0;sketch=1;hachureGap=4;jiggle=2;fontFamily=Architects Daughter;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DArchitects%2BDaughter;fontSize=20;strokeColor=#d79b00;" parent="1" vertex="1">
<mxGeometry x="-70" y="266" width="140" height="518" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-48" style="edgeStyle=orthogonalEdgeStyle;curved=1;sketch=1;hachureGap=4;jiggle=2;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;fontFamily=Helvetica;fontSize=14;" parent="1" source="ZAG0RleTYIJ7giiX-ed6-45" target="ZAG0RleTYIJ7giiX-ed6-46" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-45" value="isFollower?" style="rhombus;whiteSpace=wrap;html=1;sketch=1;hachureGap=4;jiggle=2;fontFamily=Helvetica;fontSize=14;" parent="1" vertex="1">
<mxGeometry x="741.5" y="375" width="105" height="42" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-53" style="edgeStyle=orthogonalEdgeStyle;curved=1;sketch=1;hachureGap=4;jiggle=2;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;fontFamily=Helvetica;fontSize=14;" parent="1" source="ZAG0RleTYIJ7giiX-ed6-45" target="ZAG0RleTYIJ7giiX-ed6-52" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="892" y="457.9999999999998" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-49" value="" style="edgeStyle=orthogonalEdgeStyle;curved=1;sketch=1;hachureGap=4;jiggle=2;orthogonalLoop=1;jettySize=auto;html=1;fontFamily=Helvetica;fontSize=14;" parent="1" source="ZAG0RleTYIJ7giiX-ed6-46" target="ZAG0RleTYIJ7giiX-ed6-47" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-72" style="edgeStyle=orthogonalEdgeStyle;curved=1;sketch=1;hachureGap=4;jiggle=2;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;fontFamily=Helvetica;fontSize=14;" parent="1" source="ZAG0RleTYIJ7giiX-ed6-46" target="ZAG0RleTYIJ7giiX-ed6-71" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-46" value="isCandidate?" style="rhombus;whiteSpace=wrap;html=1;sketch=1;hachureGap=4;jiggle=2;fontFamily=Helvetica;fontSize=14;" parent="1" vertex="1">
<mxGeometry x="741.5" y="459" width="105" height="42" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-60" value="" style="edgeStyle=orthogonalEdgeStyle;curved=1;sketch=1;hachureGap=4;jiggle=2;orthogonalLoop=1;jettySize=auto;html=1;fontFamily=Helvetica;fontSize=14;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="ZAG0RleTYIJ7giiX-ed6-47" target="ZAG0RleTYIJ7giiX-ed6-75" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="718" y="564" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-47" value="isLeader?" style="rhombus;whiteSpace=wrap;html=1;sketch=1;hachureGap=4;jiggle=2;fontFamily=Helvetica;fontSize=14;" parent="1" vertex="1">
<mxGeometry x="812" y="555" width="105" height="42" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-52" value="rf.status = Candidate" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;sketch=1;hachureGap=4;jiggle=2;fontFamily=Helvetica;fontSize=14;" parent="1" vertex="1">
<mxGeometry x="882" y="417" width="84" height="45" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-62" style="edgeStyle=orthogonalEdgeStyle;curved=1;sketch=1;hachureGap=4;jiggle=2;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;fontFamily=Helvetica;fontSize=14;dashed=1;" parent="1" source="ZAG0RleTYIJ7giiX-ed6-55" target="ZAG0RleTYIJ7giiX-ed6-61" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-67" value="rpc call" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=14;fontFamily=Helvetica;" parent="ZAG0RleTYIJ7giiX-ed6-62" vertex="1" connectable="0">
<mxGeometry x="-0.5849" y="6" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-55" value="sendRequestVote" style="rounded=0;whiteSpace=wrap;html=1;sketch=1;hachureGap=4;jiggle=2;fontFamily=Helvetica;fontSize=14;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" vertex="1">
<mxGeometry x="546" y="448" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="j9FBh_obXIqPpJMOKT9w-11" style="edgeStyle=orthogonalEdgeStyle;curved=1;sketch=1;hachureGap=4;jiggle=2;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;dashed=1;fontFamily=Helvetica;fontSize=14;fontColor=#000000;" edge="1" parent="1" source="ZAG0RleTYIJ7giiX-ed6-57" target="j9FBh_obXIqPpJMOKT9w-10">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-57" value="sendAppendEntry" style="rounded=0;whiteSpace=wrap;html=1;sketch=1;hachureGap=4;jiggle=2;fontFamily=Helvetica;fontSize=14;fillColor=#f8cecc;strokeColor=#b85450;" parent="1" vertex="1">
<mxGeometry x="532" y="560" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-74" style="edgeStyle=orthogonalEdgeStyle;curved=1;sketch=1;hachureGap=4;jiggle=2;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;fontFamily=Helvetica;fontSize=14;" parent="1" source="ZAG0RleTYIJ7giiX-ed6-71" target="ZAG0RleTYIJ7giiX-ed6-55" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-71" value="loop peers" style="shape=parallelogram;perimeter=parallelogramPerimeter;whiteSpace=wrap;html=1;fixedSize=1;sketch=1;hachureGap=4;jiggle=2;fontFamily=Helvetica;fontSize=14;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" parent="1" vertex="1">
<mxGeometry x="594" y="350" width="112" height="42" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-77" style="edgeStyle=orthogonalEdgeStyle;curved=1;sketch=1;hachureGap=4;jiggle=2;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;fontFamily=Helvetica;fontSize=14;" parent="1" source="ZAG0RleTYIJ7giiX-ed6-75" target="ZAG0RleTYIJ7giiX-ed6-57" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-75" value="loop peers" style="shape=parallelogram;perimeter=parallelogramPerimeter;whiteSpace=wrap;html=1;fixedSize=1;sketch=1;hachureGap=4;jiggle=2;fontFamily=Helvetica;fontSize=14;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" parent="1" vertex="1">
<mxGeometry x="666" y="518" width="112" height="42" as="geometry" />
</mxCell>
<mxCell id="j9FBh_obXIqPpJMOKT9w-3" value="" style="group" vertex="1" connectable="0" parent="1">
<mxGeometry x="1092" y="1148" width="518" height="621" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-130" value="" style="rounded=0;whiteSpace=wrap;html=1;sketch=1;hachureGap=4;jiggle=2;fontFamily=Helvetica;fontSize=14;fontColor=#000000;" parent="j9FBh_obXIqPpJMOKT9w-3" vertex="1">
<mxGeometry width="518" height="621" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-128" value="<font color="#000000">AppendEntry</font>" style="rounded=0;whiteSpace=wrap;html=1;sketch=1;hachureGap=4;jiggle=2;fontFamily=Helvetica;fontSize=14;fillColor=#60a917;strokeColor=#2D7600;fontColor=#ffffff;" parent="j9FBh_obXIqPpJMOKT9w-3" vertex="1">
<mxGeometry x="113" y="29" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-158" value="rf.killed()" style="rhombus;whiteSpace=wrap;html=1;fontSize=14;fillColor=#eeeeee;strokeColor=#36393d;rounded=0;sketch=1;hachureGap=4;jiggle=2;fontFamily=Helvetica;" parent="j9FBh_obXIqPpJMOKT9w-3" vertex="1">
<mxGeometry x="129" y="139" width="90" height="64" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-163" value="" style="edgeStyle=orthogonalEdgeStyle;curved=1;sketch=1;hachureGap=4;jiggle=2;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;fontFamily=Helvetica;fontSize=14;fontColor=#000000;" parent="j9FBh_obXIqPpJMOKT9w-3" source="ZAG0RleTYIJ7giiX-ed6-128" target="ZAG0RleTYIJ7giiX-ed6-158" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-159" value="reply.AppState = AppKilled<br>reply.Term = -1<br>reply.Success = false" style="whiteSpace=wrap;html=1;fontSize=14;fillColor=#eeeeee;strokeColor=#36393d;rounded=0;sketch=1;hachureGap=4;jiggle=2;fontFamily=Architects Daughter;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DArchitects%2BDaughter;" parent="j9FBh_obXIqPpJMOKT9w-3" vertex="1">
<mxGeometry x="294" y="133" width="206" height="76" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-160" value="" style="edgeStyle=orthogonalEdgeStyle;curved=1;sketch=1;hachureGap=4;jiggle=2;orthogonalLoop=1;jettySize=auto;html=1;fontFamily=Helvetica;fontSize=14;fontColor=#000000;" parent="j9FBh_obXIqPpJMOKT9w-3" source="ZAG0RleTYIJ7giiX-ed6-158" target="ZAG0RleTYIJ7giiX-ed6-159" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-164" value="args.Term &lt; rf.currentTerm" style="rhombus;whiteSpace=wrap;html=1;fontSize=14;fillColor=#eeeeee;strokeColor=#36393d;rounded=0;sketch=1;hachureGap=4;jiggle=2;fontFamily=Helvetica;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DArchitects%2BDaughter;" parent="j9FBh_obXIqPpJMOKT9w-3" vertex="1">
<mxGeometry x="113" y="243" width="123" height="84" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-165" value="" style="edgeStyle=orthogonalEdgeStyle;curved=1;sketch=1;hachureGap=4;jiggle=2;orthogonalLoop=1;jettySize=auto;html=1;fontFamily=Helvetica;fontSize=14;fontColor=#000000;dashed=1;" parent="j9FBh_obXIqPpJMOKT9w-3" source="ZAG0RleTYIJ7giiX-ed6-158" target="ZAG0RleTYIJ7giiX-ed6-164" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-167" value="reply.AppendState = AppOutOfDate <br>reply.Term = rf.currentTerm reply.Success = false" style="whiteSpace=wrap;html=1;fontSize=14;fillColor=#eeeeee;strokeColor=#36393d;rounded=0;sketch=1;hachureGap=4;jiggle=2;fontFamily=Architects Daughter;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DArchitects%2BDaughter;" parent="j9FBh_obXIqPpJMOKT9w-3" vertex="1">
<mxGeometry x="280" y="243" width="210" height="84" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-168" value="" style="edgeStyle=orthogonalEdgeStyle;curved=1;sketch=1;hachureGap=4;jiggle=2;orthogonalLoop=1;jettySize=auto;html=1;fontFamily=Helvetica;fontSize=14;fontColor=#000000;" parent="j9FBh_obXIqPpJMOKT9w-3" source="ZAG0RleTYIJ7giiX-ed6-164" target="ZAG0RleTYIJ7giiX-ed6-167" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-169" value="<div>rf.currentTerm = args.Term</div><div><br></div><div>rf.votedFor = args.LeaderId</div><div><br></div><div>rf.status = Follower</div><div><br></div><div>rf.timer.Reset(rf.overtime)</div><div><br></div><div>reply.AppendState = AppNormal</div><div><br></div><div>reply.Term = rf.currentTerm</div><div><br></div><div>reply.Success = true</div>" style="whiteSpace=wrap;html=1;fontSize=14;fillColor=#dae8fc;strokeColor=#6c8ebf;rounded=0;sketch=1;hachureGap=4;jiggle=2;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DArchitects%2BDaughter;fontFamily=Helvetica;" parent="j9FBh_obXIqPpJMOKT9w-3" vertex="1">
<mxGeometry x="20.5" y="355" width="308" height="238" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-170" value="" style="edgeStyle=orthogonalEdgeStyle;curved=1;sketch=1;hachureGap=4;jiggle=2;orthogonalLoop=1;jettySize=auto;html=1;fontFamily=Helvetica;fontSize=14;fontColor=#000000;" parent="j9FBh_obXIqPpJMOKT9w-3" source="ZAG0RleTYIJ7giiX-ed6-164" target="ZAG0RleTYIJ7giiX-ed6-169" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="j9FBh_obXIqPpJMOKT9w-6" style="edgeStyle=orthogonalEdgeStyle;curved=1;sketch=1;hachureGap=4;jiggle=2;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.75;entryY=1;entryDx=0;entryDy=0;dashed=1;fontFamily=Helvetica;fontSize=14;fontColor=#000000;" edge="1" parent="1" source="ZAG0RleTYIJ7giiX-ed6-130" target="ZAG0RleTYIJ7giiX-ed6-124">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="817" y="1386" />
<mxPoint x="817" y="1289" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="j9FBh_obXIqPpJMOKT9w-7" value="reply" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=14;fontFamily=Helvetica;fontColor=#000000;" vertex="1" connectable="0" parent="j9FBh_obXIqPpJMOKT9w-6">
<mxGeometry x="-0.0871" y="-4" relative="1" as="geometry">
<mxPoint y="1" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="j9FBh_obXIqPpJMOKT9w-8" style="edgeStyle=orthogonalEdgeStyle;curved=1;sketch=1;hachureGap=4;jiggle=2;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;dashed=1;fontFamily=Helvetica;fontSize=14;fontColor=#000000;" edge="1" parent="1" source="ZAG0RleTYIJ7giiX-ed6-124" target="ZAG0RleTYIJ7giiX-ed6-128">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="j9FBh_obXIqPpJMOKT9w-9" value="call" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=14;fontFamily=Helvetica;fontColor=#000000;" vertex="1" connectable="0" parent="j9FBh_obXIqPpJMOKT9w-8">
<mxGeometry x="0.3525" y="-68" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="j9FBh_obXIqPpJMOKT9w-18" style="edgeStyle=orthogonalEdgeStyle;curved=1;sketch=1;hachureGap=4;jiggle=2;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;fontFamily=Helvetica;fontSize=14;fontColor=#000000;" edge="1" parent="1" source="j9FBh_obXIqPpJMOKT9w-10" target="j9FBh_obXIqPpJMOKT9w-17">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="j9FBh_obXIqPpJMOKT9w-22" style="edgeStyle=orthogonalEdgeStyle;curved=1;sketch=1;hachureGap=4;jiggle=2;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;dashed=1;fontFamily=Helvetica;fontSize=14;fontColor=#000000;" edge="1" parent="1" source="j9FBh_obXIqPpJMOKT9w-10" target="ZAG0RleTYIJ7giiX-ed6-124">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="j9FBh_obXIqPpJMOKT9w-25" value="call" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=14;fontFamily=Helvetica;fontColor=#000000;" vertex="1" connectable="0" parent="j9FBh_obXIqPpJMOKT9w-22">
<mxGeometry x="-0.3528" y="5" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="j9FBh_obXIqPpJMOKT9w-10" value="sendAppendEntry" style="rounded=0;whiteSpace=wrap;html=1;sketch=1;hachureGap=4;jiggle=2;fontFamily=Helvetica;fontSize=14;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#000000;" vertex="1" parent="1">
<mxGeometry x="610" y="770" width="168" height="70" as="geometry" />
</mxCell>
<mxCell id="j9FBh_obXIqPpJMOKT9w-12" value="" style="group" vertex="1" connectable="0" parent="1">
<mxGeometry x="168" y="628" width="298.75" height="790" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-61" value="RequestVote" style="rounded=0;whiteSpace=wrap;html=1;sketch=1;hachureGap=4;jiggle=2;fontFamily=Helvetica;fontSize=14;fillColor=#fff2cc;strokeColor=#d6b656;" parent="j9FBh_obXIqPpJMOKT9w-12" vertex="1">
<mxGeometry x="52" width="130" height="44" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-82" value="isKilled" style="rhombus;whiteSpace=wrap;html=1;sketch=1;hachureGap=4;jiggle=2;fontFamily=Helvetica;fontSize=14;" parent="j9FBh_obXIqPpJMOKT9w-12" vertex="1">
<mxGeometry x="58" y="83" width="118.5" height="61" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-80" style="edgeStyle=orthogonalEdgeStyle;curved=1;sketch=1;hachureGap=4;jiggle=2;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;dashed=1;fontFamily=Helvetica;fontSize=14;" parent="j9FBh_obXIqPpJMOKT9w-12" source="ZAG0RleTYIJ7giiX-ed6-61" target="ZAG0RleTYIJ7giiX-ed6-82" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="118.77050000000008" y="79.43599999999992" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-83" value="args.Term &lt; rf.currentTerm" style="rhombus;whiteSpace=wrap;html=1;sketch=1;hachureGap=4;jiggle=2;fontFamily=Helvetica;fontSize=14;" parent="j9FBh_obXIqPpJMOKT9w-12" vertex="1">
<mxGeometry x="50.629999999999995" y="170" width="136.75" height="70" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-87" value="" style="edgeStyle=orthogonalEdgeStyle;curved=1;sketch=1;hachureGap=4;jiggle=2;orthogonalLoop=1;jettySize=auto;html=1;fontFamily=Helvetica;fontSize=14;" parent="j9FBh_obXIqPpJMOKT9w-12" source="ZAG0RleTYIJ7giiX-ed6-82" target="ZAG0RleTYIJ7giiX-ed6-83" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-85" value="args.Term &gt; rf.currentTerm" style="rhombus;whiteSpace=wrap;html=1;sketch=1;hachureGap=4;jiggle=2;fontFamily=Helvetica;fontSize=14;" parent="j9FBh_obXIqPpJMOKT9w-12" vertex="1">
<mxGeometry x="48.629999999999995" y="268" width="136.75" height="70" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-88" value="" style="edgeStyle=orthogonalEdgeStyle;curved=1;sketch=1;hachureGap=4;jiggle=2;orthogonalLoop=1;jettySize=auto;html=1;fontFamily=Helvetica;fontSize=14;" parent="j9FBh_obXIqPpJMOKT9w-12" source="ZAG0RleTYIJ7giiX-ed6-83" target="ZAG0RleTYIJ7giiX-ed6-85" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-91" value="return" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;sketch=1;hachureGap=4;jiggle=2;fontFamily=Helvetica;fontSize=14;" parent="j9FBh_obXIqPpJMOKT9w-12" vertex="1">
<mxGeometry x="210" y="98.5" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-92" style="edgeStyle=orthogonalEdgeStyle;curved=1;sketch=1;hachureGap=4;jiggle=2;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;fontFamily=Helvetica;fontSize=14;" parent="j9FBh_obXIqPpJMOKT9w-12" source="ZAG0RleTYIJ7giiX-ed6-82" target="ZAG0RleTYIJ7giiX-ed6-91" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-94" value="return" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;sketch=1;hachureGap=4;jiggle=2;fontFamily=Helvetica;fontSize=14;" parent="j9FBh_obXIqPpJMOKT9w-12" vertex="1">
<mxGeometry x="216" y="190" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-95" style="edgeStyle=orthogonalEdgeStyle;curved=1;sketch=1;hachureGap=4;jiggle=2;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;fontFamily=Helvetica;fontSize=14;" parent="j9FBh_obXIqPpJMOKT9w-12" source="ZAG0RleTYIJ7giiX-ed6-83" target="ZAG0RleTYIJ7giiX-ed6-94" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-101" value="<font face="Helvetica">&nbsp;rf.votedFor == -1</font>" style="rhombus;whiteSpace=wrap;html=1;fontSize=14;sketch=1;hachureGap=4;jiggle=2;fontFamily=Architects Daughter;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DArchitects%2BDaughter;" parent="j9FBh_obXIqPpJMOKT9w-12" vertex="1">
<mxGeometry x="58" y="380" width="117.5" height="70" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-102" value="" style="edgeStyle=orthogonalEdgeStyle;curved=1;sketch=1;hachureGap=4;jiggle=2;orthogonalLoop=1;jettySize=auto;html=1;fontFamily=Helvetica;fontSize=14;" parent="j9FBh_obXIqPpJMOKT9w-12" source="ZAG0RleTYIJ7giiX-ed6-85" target="ZAG0RleTYIJ7giiX-ed6-101" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-104" value="<font face="Helvetica">timer.reset()</font>" style="ellipse;whiteSpace=wrap;html=1;fontSize=14;fontFamily=Architects Daughter;sketch=1;hachureGap=4;jiggle=2;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DArchitects%2BDaughter;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="j9FBh_obXIqPpJMOKT9w-12" vertex="1">
<mxGeometry x="56.5" y="481" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-105" value="" style="edgeStyle=orthogonalEdgeStyle;curved=1;sketch=1;hachureGap=4;jiggle=2;orthogonalLoop=1;jettySize=auto;html=1;fontFamily=Helvetica;fontSize=14;" parent="j9FBh_obXIqPpJMOKT9w-12" source="ZAG0RleTYIJ7giiX-ed6-101" target="ZAG0RleTYIJ7giiX-ed6-104" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-106" value="<font face="Helvetica">&nbsp;rf.votedFor == -1</font>" style="rhombus;whiteSpace=wrap;html=1;fontSize=14;sketch=1;hachureGap=4;jiggle=2;fontFamily=Architects Daughter;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DArchitects%2BDaughter;" parent="j9FBh_obXIqPpJMOKT9w-12" vertex="1">
<mxGeometry x="181.25" y="520" width="117.5" height="70" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-107" value="" style="edgeStyle=orthogonalEdgeStyle;curved=1;sketch=1;hachureGap=4;jiggle=2;orthogonalLoop=1;jettySize=auto;html=1;fontFamily=Helvetica;fontSize=14;" parent="j9FBh_obXIqPpJMOKT9w-12" source="ZAG0RleTYIJ7giiX-ed6-101" target="ZAG0RleTYIJ7giiX-ed6-106" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-112" value="<font face="Helvetica">rf.votedFor != args.CandidateId</font>" style="rhombus;whiteSpace=wrap;html=1;fontSize=14;sketch=1;hachureGap=4;jiggle=2;fontFamily=Architects Daughter;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DArchitects%2BDaughter;" parent="j9FBh_obXIqPpJMOKT9w-12" vertex="1">
<mxGeometry y="604" width="117.5" height="84" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-113" style="edgeStyle=orthogonalEdgeStyle;curved=1;sketch=1;hachureGap=4;jiggle=2;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;fontFamily=Helvetica;fontSize=14;" parent="j9FBh_obXIqPpJMOKT9w-12" source="ZAG0RleTYIJ7giiX-ed6-106" target="ZAG0RleTYIJ7giiX-ed6-112" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-114" value="return" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;sketch=1;hachureGap=4;jiggle=2;fontFamily=Helvetica;fontSize=14;" parent="j9FBh_obXIqPpJMOKT9w-12" vertex="1">
<mxGeometry x="28.75" y="730" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-115" style="edgeStyle=orthogonalEdgeStyle;curved=1;sketch=1;hachureGap=4;jiggle=2;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;fontFamily=Helvetica;fontSize=14;" parent="j9FBh_obXIqPpJMOKT9w-12" source="ZAG0RleTYIJ7giiX-ed6-112" target="ZAG0RleTYIJ7giiX-ed6-114" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-116" value="<font face="Helvetica">rf.status = Follower</font>" style="whiteSpace=wrap;html=1;fontSize=14;fontFamily=Architects Daughter;sketch=1;hachureGap=4;jiggle=2;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DArchitects%2BDaughter;" parent="j9FBh_obXIqPpJMOKT9w-12" vertex="1">
<mxGeometry x="132" y="628" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-117" value="" style="edgeStyle=orthogonalEdgeStyle;curved=1;sketch=1;hachureGap=4;jiggle=2;orthogonalLoop=1;jettySize=auto;html=1;fontFamily=Helvetica;fontSize=14;" parent="j9FBh_obXIqPpJMOKT9w-12" source="ZAG0RleTYIJ7giiX-ed6-106" target="ZAG0RleTYIJ7giiX-ed6-116" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-118" value="<font face="Helvetica">timer.reset()</font>" style="ellipse;whiteSpace=wrap;html=1;fontSize=14;fontFamily=Architects Daughter;sketch=1;hachureGap=4;jiggle=2;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DArchitects%2BDaughter;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="j9FBh_obXIqPpJMOKT9w-12" vertex="1">
<mxGeometry x="132" y="730" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="ZAG0RleTYIJ7giiX-ed6-119" style="edgeStyle=orthogonalEdgeStyle;curved=1;sketch=1;hachureGap=4;jiggle=2;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;fontFamily=Helvetica;fontSize=14;" parent="j9FBh_obXIqPpJMOKT9w-12" source="ZAG0RleTYIJ7giiX-ed6-116" target="ZAG0RleTYIJ7giiX-ed6-118" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="j9FBh_obXIqPpJMOKT9w-27" style="edgeStyle=orthogonalEdgeStyle;curved=1;sketch=1;hachureGap=4;jiggle=2;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.75;entryY=0;entryDx=0;entryDy=0;dashed=1;fontFamily=Helvetica;fontSize=14;fontColor=#000000;" edge="1" parent="1" source="j9FBh_obXIqPpJMOKT9w-17" target="j9FBh_obXIqPpJMOKT9w-10">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="885" y="742" />
<mxPoint x="736" y="742" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="j9FBh_obXIqPpJMOKT9w-28" value="loop" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=14;fontFamily=Helvetica;fontColor=#000000;" vertex="1" connectable="0" parent="j9FBh_obXIqPpJMOKT9w-27">
<mxGeometry x="-0.2743" y="5" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="j9FBh_obXIqPpJMOKT9w-30" value="" style="edgeStyle=orthogonalEdgeStyle;curved=1;sketch=1;hachureGap=4;jiggle=2;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;fontFamily=Helvetica;fontSize=14;fontColor=#000000;" edge="1" parent="1" source="j9FBh_obXIqPpJMOKT9w-17" target="j9FBh_obXIqPpJMOKT9w-29">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="j9FBh_obXIqPpJMOKT9w-17" value="<font face="Helvetica">OK?</font>" style="rhombus;whiteSpace=wrap;html=1;fontSize=14;rounded=0;sketch=1;hachureGap=4;jiggle=2;fontFamily=Architects Daughter;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DArchitects%2BDaughter;" vertex="1" parent="1">
<mxGeometry x="882" y="840" width="78" height="63" as="geometry" />
</mxCell>
<mxCell id="j9FBh_obXIqPpJMOKT9w-23" style="edgeStyle=orthogonalEdgeStyle;curved=1;sketch=1;hachureGap=4;jiggle=2;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.75;exitY=0;exitDx=0;exitDy=0;entryX=0.873;entryY=1.044;entryDx=0;entryDy=0;entryPerimeter=0;dashed=1;fontFamily=Helvetica;fontSize=14;fontColor=#000000;" edge="1" parent="1" source="ZAG0RleTYIJ7giiX-ed6-66" target="j9FBh_obXIqPpJMOKT9w-10">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="j9FBh_obXIqPpJMOKT9w-24" value="reply" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=14;fontFamily=Helvetica;fontColor=#000000;" vertex="1" connectable="0" parent="j9FBh_obXIqPpJMOKT9w-23">
<mxGeometry x="0.0754" y="-6" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="j9FBh_obXIqPpJMOKT9w-31" value="" style="edgeStyle=orthogonalEdgeStyle;curved=1;sketch=1;hachureGap=4;jiggle=2;orthogonalLoop=1;jettySize=auto;html=1;fontFamily=Helvetica;fontSize=14;fontColor=#000000;strokeColor=none;" edge="1" parent="1" source="j9FBh_obXIqPpJMOKT9w-29" target="j9FBh_obXIqPpJMOKT9w-17">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="j9FBh_obXIqPpJMOKT9w-34" value="" style="edgeStyle=orthogonalEdgeStyle;curved=1;sketch=1;hachureGap=4;jiggle=2;orthogonalLoop=1;jettySize=auto;html=1;fontFamily=Helvetica;fontSize=14;fontColor=#000000;" edge="1" parent="1" source="j9FBh_obXIqPpJMOKT9w-29" target="j9FBh_obXIqPpJMOKT9w-33">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="j9FBh_obXIqPpJMOKT9w-36" value="" style="edgeStyle=orthogonalEdgeStyle;curved=1;sketch=1;hachureGap=4;jiggle=2;orthogonalLoop=1;jettySize=auto;html=1;fontFamily=Helvetica;fontSize=14;fontColor=#000000;" edge="1" parent="1" source="j9FBh_obXIqPpJMOKT9w-29" target="j9FBh_obXIqPpJMOKT9w-35">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="j9FBh_obXIqPpJMOKT9w-29" value="<font face="Helvetica">args.Term &lt; rf.currentTerm</font>" style="rhombus;whiteSpace=wrap;html=1;fontSize=14;rounded=0;sketch=1;hachureGap=4;jiggle=2;fontFamily=Architects Daughter;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DArchitects%2BDaughter;" vertex="1" parent="1">
<mxGeometry x="994" y="836.5" width="150" height="70" as="geometry" />
</mxCell>
<mxCell id="j9FBh_obXIqPpJMOKT9w-33" value="false" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;sketch=1;hachureGap=4;jiggle=2;fontFamily=Helvetica;fontSize=14;fontColor=#000000;" vertex="1" parent="1">
<mxGeometry x="934" y="966" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="j9FBh_obXIqPpJMOKT9w-38" value="" style="edgeStyle=orthogonalEdgeStyle;curved=1;sketch=1;hachureGap=4;jiggle=2;orthogonalLoop=1;jettySize=auto;html=1;fontFamily=Helvetica;fontSize=14;fontColor=#000000;" edge="1" parent="1" source="j9FBh_obXIqPpJMOKT9w-35" target="j9FBh_obXIqPpJMOKT9w-37">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="j9FBh_obXIqPpJMOKT9w-40" value="" style="edgeStyle=orthogonalEdgeStyle;curved=1;sketch=1;hachureGap=4;jiggle=2;orthogonalLoop=1;jettySize=auto;html=1;fontFamily=Helvetica;fontSize=14;fontColor=#000000;" edge="1" parent="1" source="j9FBh_obXIqPpJMOKT9w-35" target="j9FBh_obXIqPpJMOKT9w-39">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="j9FBh_obXIqPpJMOKT9w-35" value="<font face="Helvetica">reply.VoteState = Expire</font>" style="rhombus;whiteSpace=wrap;html=1;fontSize=14;rounded=0;sketch=1;hachureGap=4;jiggle=2;fontFamily=Architects Daughter;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DArchitects%2BDaughter;" vertex="1" parent="1">
<mxGeometry x="1190" y="834.75" width="196" height="73.5" as="geometry" />
</mxCell>
<mxCell id="j9FBh_obXIqPpJMOKT9w-37" value="<font face="Helvetica">rf.status = Follower rf.timer.Reset(rf.overtime)</font>" style="whiteSpace=wrap;html=1;fontSize=14;fontFamily=Architects Daughter;rounded=0;sketch=1;hachureGap=4;jiggle=2;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DArchitects%2BDaughter;fillColor=#fff2cc;strokeColor=#d6b656;" vertex="1" parent="1">
<mxGeometry x="1078" y="966" width="186" height="60" as="geometry" />
</mxCell>
<mxCell id="j9FBh_obXIqPpJMOKT9w-42" value="" style="edgeStyle=orthogonalEdgeStyle;curved=1;sketch=1;hachureGap=4;jiggle=2;orthogonalLoop=1;jettySize=auto;html=1;fontFamily=Helvetica;fontSize=14;fontColor=#000000;" edge="1" parent="1" source="j9FBh_obXIqPpJMOKT9w-39" target="j9FBh_obXIqPpJMOKT9w-41">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="j9FBh_obXIqPpJMOKT9w-39" value="<span style="font-family: Helvetica;">reply.VoteState =&nbsp;</span><font face="Helvetica">Normal, Voted</font>" style="rhombus;whiteSpace=wrap;html=1;fontSize=14;rounded=0;sketch=1;hachureGap=4;jiggle=2;fontFamily=Architects Daughter;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DArchitects%2BDaughter;" vertex="1" parent="1">
<mxGeometry x="1442" y="787" width="196" height="73.5" as="geometry" />
</mxCell>
<mxCell id="j9FBh_obXIqPpJMOKT9w-41" value="<font face="Helvetica">count vote nums</font>" style="whiteSpace=wrap;html=1;fontSize=14;fontFamily=Architects Daughter;rounded=0;sketch=1;hachureGap=4;jiggle=2;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DArchitects%2BDaughter;fillColor=#fff2cc;strokeColor=#d6b656;" vertex="1" parent="1">
<mxGeometry x="1442" y="938" width="120" height="60" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>