-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcalabash.drawio
690 lines (690 loc) · 87.7 KB
/
calabash.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
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
<mxfile host="app.diagrams.net" modified="2023-06-21T06:40:57.788Z" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 Edg/114.0.1823.51" etag="QXlKMJfd0n9j2TI7mKMk" version="21.5.0" type="github">
<diagram id="C5RBs43oDa-KdzZeNtuy" name="Page-1">
<mxGraphModel dx="820" dy="453" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="WIyWlLk6GJQsqaUBKTNV-0" />
<mxCell id="WIyWlLk6GJQsqaUBKTNV-1" parent="WIyWlLk6GJQsqaUBKTNV-0" />
<mxCell id="2g8YKXhORNe2aPhlb7zR-4" value="thread pool : 线程池" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="570" y="22" width="160" height="130" as="geometry">
<mxRectangle x="100" y="160" width="80" height="30" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-5" value="- 任务队列:queue" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-4">
<mxGeometry y="26" width="160" height="22" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-161" value="- 运行状态:bool" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-4">
<mxGeometry y="48" width="160" height="22" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-6" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-4">
<mxGeometry y="70" width="160" height="8" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-7" value="+ 添加任务" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-4">
<mxGeometry y="78" width="160" height="22" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-162" value="+ 设置状态" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-4">
<mxGeometry y="100" width="160" height="30" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-192" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;endArrow=diamondThin;endFill=0;startSize=6;endSize=18;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="2g8YKXhORNe2aPhlb7zR-20" target="2g8YKXhORNe2aPhlb7zR-146">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-20" value="socket handler : 套接字控制器" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="540" y="278" width="200" height="294" as="geometry">
<mxRectangle x="290" y="370" width="200" height="30" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-21" value="- 轮询器:event_poll *" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-20">
<mxGeometry y="26" width="200" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-25" value="- 套接字:socket *" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-20">
<mxGeometry y="52" width="200" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-26" value="- 对象池: object_pool" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-20">
<mxGeometry y="78" width="200" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-27" value="- 线程池:share_ptr&lt;thread_pool&gt;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-20">
<mxGeometry y="104" width="200" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-28" value="- 处理器:functional" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-20">
<mxGeometry y="130" width="200" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-29" value="- 互斥锁:mutex" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-20">
<mxGeometry y="156" width="200" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-22" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-20">
<mxGeometry y="182" width="200" height="8" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-23" value="+ 监听主套接字" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-20">
<mxGeometry y="190" width="200" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-30" value="+ 连接子套接字" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-20">
<mxGeometry y="216" width="200" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-31" value="+ 分离子套接字" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-20">
<mxGeometry y="242" width="200" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-32" value="+ 轮询执行处理器" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-20">
<mxGeometry y="268" width="200" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-35" value="socket 套接字" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="140" y="252" width="160" height="268" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-36" value="# 套接字标识符:int" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-35">
<mxGeometry y="26" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-39" value="# IP:string" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-35">
<mxGeometry y="52" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-40" value="# Port:int" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-35">
<mxGeometry y="78" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-37" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-35">
<mxGeometry y="104" width="160" height="8" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-38" value="+ 绑定" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-35">
<mxGeometry y="112" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-41" value="+ 监听" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-35">
<mxGeometry y="138" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-42" value="+ 连接" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-35">
<mxGeometry y="164" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-43" value="+ 关闭连接" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-35">
<mxGeometry y="190" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-44" value="+ 发送数据" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-35">
<mxGeometry y="216" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-45" value="+ 读取数据" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-35">
<mxGeometry y="242" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-188" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=diamondThin;endFill=0;startSize=6;endSize=18;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="2g8YKXhORNe2aPhlb7zR-46" target="2g8YKXhORNe2aPhlb7zR-25">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="480" y="425" />
<mxPoint x="480" y="343" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-46" value="«interface»<br><b>Server Socket</b>" style="html=1;whiteSpace=wrap;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="340" y="390" width="110" height="50" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-187" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;endArrow=diamondThin;endFill=0;startSize=6;endSize=18;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="2g8YKXhORNe2aPhlb7zR-47" target="2g8YKXhORNe2aPhlb7zR-25">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="480" y="329" />
<mxPoint x="480" y="343" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-47" value="«interface»<br><b>Client Socket</b>" style="html=1;whiteSpace=wrap;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="340" y="304" width="110" height="50" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-185" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;endArrow=diamondThin;endFill=0;startSize=6;endSize=18;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="2g8YKXhORNe2aPhlb7zR-48" target="2g8YKXhORNe2aPhlb7zR-26">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-48" value="object pool : 对象池" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="340" y="462" width="160" height="164" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-49" value="- 内存块:char *" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-48">
<mxGeometry y="26" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-52" value="- 对象表:vector&lt;T*&gt;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-48">
<mxGeometry y="52" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-53" value="- 块大小" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-48">
<mxGeometry y="78" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-50" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-48">
<mxGeometry y="104" width="160" height="8" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-51" value="+ 申请对象" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-48">
<mxGeometry y="112" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-55" value="+ 申请构造对象" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-48">
<mxGeometry y="138" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-248" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=-0.003;entryY=1.06;entryDx=0;entryDy=0;entryPerimeter=0;endArrow=none;endFill=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="2g8YKXhORNe2aPhlb7zR-60" target="2g8YKXhORNe2aPhlb7zR-231">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="380" y="992" />
<mxPoint x="650" y="992" />
<mxPoint x="650" y="722" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-60" value="exception:http异常" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=26;fillColor=#f5f5f5;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;fontColor=#333333;strokeColor=#666666;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="300" y="1013" width="140" height="130" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-61" value="+ 错误代码:int" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-60">
<mxGeometry y="26" width="140" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-62" value="+ http代码:int" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-60">
<mxGeometry y="52" width="140" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-63" value="+ 信息:string" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-60">
<mxGeometry y="78" width="140" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-64" value="+ 信息体:json" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-60">
<mxGeometry y="104" width="140" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-196" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;endArrow=none;endFill=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="2g8YKXhORNe2aPhlb7zR-65" target="2g8YKXhORNe2aPhlb7zR-135">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-65" value="<b>http task:Http 任务</b>" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=26;fillColor=#fff2cc;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;strokeColor=#d6b656;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="1075" y="345" width="140" height="52" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-66" value="+ operator():处理函数" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-65">
<mxGeometry y="26" width="140" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-194" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;endArrow=diamondThin;endFill=0;startSize=6;endSize=18;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="2g8YKXhORNe2aPhlb7zR-69" target="2g8YKXhORNe2aPhlb7zR-122">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-69" value="data reader:数据读取器" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="820" y="22" width="190" height="138" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-70" value="- 数据流:ostream" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-69">
<mxGeometry y="26" width="190" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-73" value="- 数据缓冲:string" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-69">
<mxGeometry y="52" width="190" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-74" value="- 流大小:size_t" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-69">
<mxGeometry y="78" width="190" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-71" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-69">
<mxGeometry y="104" width="190" height="8" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-72" value="+ 获取数据流<br>" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-69">
<mxGeometry y="112" width="190" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-237" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;endArrow=diamondThin;endFill=0;startSize=6;endSize=18;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="2g8YKXhORNe2aPhlb7zR-76" target="2g8YKXhORNe2aPhlb7zR-231">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="580" y="817" />
<mxPoint x="580" y="707" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-76" value="database:数据库驱动" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="340" y="670" width="170" height="294" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-77" value="- 数据库:sqlite3 *" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-76">
<mxGeometry y="26" width="170" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-98" value="- 预编译查询表:multimap" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-76">
<mxGeometry y="52" width="170" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-78" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-76">
<mxGeometry y="78" width="170" height="8" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-79" value="+ 执行SQL文本语句" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-76">
<mxGeometry y="86" width="170" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-102" value="+ 执行预编译SQL" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-76">
<mxGeometry y="112" width="170" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-99" value="+ 绑定并编译SQL语句" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-76">
<mxGeometry y="138" width="170" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-100" value="- 绑定SQL参数" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-76">
<mxGeometry y="164" width="170" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-101" value="- 编译SQL" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-76">
<mxGeometry y="190" width="170" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-103" value="- 从原始结果获取数据" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-76">
<mxGeometry y="216" width="170" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-104" value="- 格式化数据" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-76">
<mxGeometry y="242" width="170" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-105" value="- 查询列元数据" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-76">
<mxGeometry y="268" width="170" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-80" value="data:数据库数据项" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="130" y="856" width="160" height="130" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-81" value="+ 数据类型:DataType" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-80">
<mxGeometry y="26" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-89" value="+ 字符串数据:string" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-80">
<mxGeometry y="52" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-90" value="+ 整形数据:int" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-80">
<mxGeometry y="78" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-91" value="+ 浮点数据:double" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-80">
<mxGeometry y="104" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-84" value="col metadata:列元数据" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="130" y="626" width="160" height="208" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-85" value="+ 存在:bool" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-84">
<mxGeometry y="26" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-92" value="+ 非空:bool" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-84">
<mxGeometry y="52" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-93" value="+ 主键:bool" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-84">
<mxGeometry y="78" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-94" value="+ 自增:bool" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-84">
<mxGeometry y="104" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-95" value="+ 类型:string" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-84">
<mxGeometry y="130" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-96" value="+ 排序:string" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-84">
<mxGeometry y="156" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-97" value="+ 列名:string" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-84">
<mxGeometry y="182" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-106" value="Request:http请求" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="1340" y="412" width="160" height="320" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-107" value="- 类型:enum" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-106">
<mxGeometry y="26" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-111" value="- 方法:string" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-106">
<mxGeometry y="52" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-112" value="- url:string" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-106">
<mxGeometry y="78" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-113" value="- 版本:string" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-106">
<mxGeometry y="104" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-114" value="- 路径:string" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-106">
<mxGeometry y="130" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-115" value="- 大小:size_t" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-106">
<mxGeometry y="156" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-116" value="- 来源:string" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-106">
<mxGeometry y="182" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-117" value="- 请求体:string" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-106">
<mxGeometry y="208" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-108" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-106">
<mxGeometry y="234" width="160" height="8" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-109" value="+ cookie检查" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-106">
<mxGeometry y="242" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-118" value="+ header查询" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-106">
<mxGeometry y="268" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-119" value="+ 获取json" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-106">
<mxGeometry y="294" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-120" value="Response:http回复" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="1170" y="22" width="160" height="268" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-121" value="- 响应码:int" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-120">
<mxGeometry y="26" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-122" value="- 数据器:data reader" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-120">
<mxGeometry y="52" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-123" value="- 请求体:string" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-120">
<mxGeometry y="78" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-124" value="- 请求标头:map" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-120">
<mxGeometry y="104" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-129" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-120">
<mxGeometry y="130" width="160" height="8" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-130" value="+ 设置code" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-120">
<mxGeometry y="138" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-131" value="+ 设置标头" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-120">
<mxGeometry y="164" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-132" value="+ 设置请求体数据" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-120">
<mxGeometry y="190" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-133" value="+ 设置流数据" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-120">
<mxGeometry y="216" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-134" value="+ 生成请求头" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-120">
<mxGeometry y="242" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-197" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.022;entryY=0.115;entryDx=0;entryDy=0;entryPerimeter=0;endArrow=none;endFill=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="2g8YKXhORNe2aPhlb7zR-135" target="2g8YKXhORNe2aPhlb7zR-115">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-135" value="Request maker:请求生成器" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="1040" y="490" width="210" height="164" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-136" value="- 分割关键词:string" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-135">
<mxGeometry y="26" width="210" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-141" value="- 编解码数据集:char*" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-135">
<mxGeometry y="52" width="210" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-137" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-135">
<mxGeometry y="78" width="210" height="8" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-138" value="+ Pause 解析" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-135">
<mxGeometry y="86" width="210" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-139" value="+ UrlEncode编码" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-135">
<mxGeometry y="112" width="210" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-140" value="+ UrlDecode解码" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-135">
<mxGeometry y="138" width="210" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-193" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;endArrow=none;endFill=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="2g8YKXhORNe2aPhlb7zR-142" target="2g8YKXhORNe2aPhlb7zR-65">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-236" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;endArrow=diamondThin;endFill=0;startSize=6;endSize=18;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="2g8YKXhORNe2aPhlb7zR-142" target="2g8YKXhORNe2aPhlb7zR-200">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-142" value="Server:服务" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="770" y="172" width="240" height="398" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-143" value="- 线程池:thread_pool" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-142">
<mxGeometry y="26" width="240" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-146" value="- 套接字控制器:socket_handle" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-142">
<mxGeometry y="52" width="240" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-147" value="- 本地IP:string" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-142">
<mxGeometry y="78" width="240" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-149" value="- 本地端口:int" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-142">
<mxGeometry y="104" width="240" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-150" value="- 线程数量:int" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-142">
<mxGeometry y="130" width="240" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-151" value="- 最大连接数:int" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-142">
<mxGeometry y="156" width="240" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-152" value="- 静态文件根目录:string" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-142">
<mxGeometry y="182" width="240" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-153" value="- 路由映射表:map&lt;string,vector&lt;func&gt;&gt;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-142">
<mxGeometry y="208" width="240" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-154" value="- 全局处理函数:vector&lt;functional&gt;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-142">
<mxGeometry y="234" width="240" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-144" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-142">
<mxGeometry y="260" width="240" height="8" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-145" value="+ 启动" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-142">
<mxGeometry y="268" width="240" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-155" value="+ 停止" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-142">
<mxGeometry y="294" width="240" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-156" value="+ 绑定函数" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-142">
<mxGeometry y="320" width="240" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-157" value="+ 绑定全局函数" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-142">
<mxGeometry y="346" width="240" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-158" value="+ 请求响应控制" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-142">
<mxGeometry y="372" width="240" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-186" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1.01;exitY=1.21;exitDx=0;exitDy=0;exitPerimeter=0;endArrow=diamondThin;endFill=0;startSize=6;endSize=18;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="2g8YKXhORNe2aPhlb7zR-170" target="2g8YKXhORNe2aPhlb7zR-21">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-163" value="EventPool:事件轮询器" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="340" y="22" width="160" height="268" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-164" value="- epoll句柄:int" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-163">
<mxGeometry y="26" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-169" value="- 最大连接:int" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-163">
<mxGeometry y="52" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-171" value="- 事件集:epoll_event*" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-163">
<mxGeometry y="78" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-170" value="- 上升沿:bool" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-163">
<mxGeometry y="104" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-165" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-163">
<mxGeometry y="130" width="160" height="8" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-166" value="+ 初始化" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-163">
<mxGeometry y="138" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-172" value="+ 添加事件" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-163">
<mxGeometry y="164" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-173" value="+ 删除事件" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-163">
<mxGeometry y="190" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-174" value="+ 修改模式" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-163">
<mxGeometry y="216" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-175" value="+ 监听" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-163">
<mxGeometry y="242" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-177" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="2g8YKXhORNe2aPhlb7zR-38" target="2g8YKXhORNe2aPhlb7zR-47">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-178" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="2g8YKXhORNe2aPhlb7zR-38" target="2g8YKXhORNe2aPhlb7zR-46">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-183" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;endArrow=diamondThin;endFill=0;startSize=6;endSize=18;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="2g8YKXhORNe2aPhlb7zR-6" target="2g8YKXhORNe2aPhlb7zR-143">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-189" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;endArrow=none;endFill=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="2g8YKXhORNe2aPhlb7zR-94" target="2g8YKXhORNe2aPhlb7zR-99">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-190" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;endArrow=none;endFill=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="2g8YKXhORNe2aPhlb7zR-89" target="2g8YKXhORNe2aPhlb7zR-99">
<mxGeometry relative="1" as="geometry">
<mxPoint x="300" y="921" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-198" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;endArrow=none;endFill=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="2g8YKXhORNe2aPhlb7zR-129" target="2g8YKXhORNe2aPhlb7zR-65">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-199" value="MangeServer:管理服务" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="790" y="642" width="160" height="164" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-200" value="- 服务器:server" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-199">
<mxGeometry y="26" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-231" value="- 数据库:database" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-199">
<mxGeometry y="52" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-201" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-199">
<mxGeometry y="78" width="160" height="8" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-202" value="+ Init 初始化" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-199">
<mxGeometry y="86" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-229" value="+ start 启动" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-199">
<mxGeometry y="112" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-235" value="+【具体业务函数】" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-199">
<mxGeometry y="138" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-277" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1.031;entryY=1.189;entryDx=0;entryDy=0;entryPerimeter=0;endArrow=none;endFill=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="2g8YKXhORNe2aPhlb7zR-203" target="2g8YKXhORNe2aPhlb7zR-231">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-203" value="StudentStatus" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="1010" y="798" width="160" height="164" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-213" value="- union" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-203">
<mxGeometry y="26" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-214" value="- 导员状态:LeaveStatus" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-203">
<mxGeometry y="52" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-222" value="- 是否销假:bool" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-203">
<mxGeometry y="78" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-205" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-203">
<mxGeometry y="104" width="160" height="8" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-206" value="+ 获取状态" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-203">
<mxGeometry y="112" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-221" value="+ 是否通过" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-203">
<mxGeometry y="138" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-207" value="LeaveStatus:请假状态" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="1010" y="981" width="160" height="104" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-208" value="+ 待通过" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-207">
<mxGeometry y="26" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-211" value="+ 通过" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-207">
<mxGeometry y="52" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-212" value="+ 拒绝" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-207">
<mxGeometry y="78" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-215" value="union" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="1310" y="983" width="160" height="78" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-217" value="+ 导师状态:LeaveStatus" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-215">
<mxGeometry y="26" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-218" value="+ 是否低年级:bool" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-215">
<mxGeometry y="52" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-223" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;endArrow=diamondThin;endFill=0;startSize=6;endSize=18;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="2g8YKXhORNe2aPhlb7zR-215" target="2g8YKXhORNe2aPhlb7zR-213">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-247" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=-0.231;entryDx=0;entryDy=0;entryPerimeter=0;endArrow=none;endFill=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="2g8YKXhORNe2aPhlb7zR-238" target="2g8YKXhORNe2aPhlb7zR-202">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="220" y="992" />
<mxPoint x="650" y="992" />
<mxPoint x="650" y="722" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-238" value="logger:日志" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=26;fillColor=#f5f5f5;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;fontColor=#333333;strokeColor=#666666;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="150" y="1012" width="140" height="130" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-239" value="+ System 系统日志" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-238">
<mxGeometry y="26" width="140" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-240" value="+ Error 错误日志" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-238">
<mxGeometry y="52" width="140" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-241" value="+ Warning 警告日志" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-238">
<mxGeometry y="78" width="140" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-242" value="+ Console 调试日志" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-238">
<mxGeometry y="104" width="140" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-285" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.009;entryY=0.214;entryDx=0;entryDy=0;entryPerimeter=0;endArrow=none;endFill=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="2g8YKXhORNe2aPhlb7zR-249" target="2g8YKXhORNe2aPhlb7zR-264">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-249" value="MD5" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="450" y="1061" width="160" height="86" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-250" value="- 编码数据集:char*" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-249">
<mxGeometry y="26" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-251" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-249">
<mxGeometry y="52" width="160" height="8" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-252" value="+ Encode 编码" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-249">
<mxGeometry y="60" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-283" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;endFill=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="2g8YKXhORNe2aPhlb7zR-257" target="2g8YKXhORNe2aPhlb7zR-235">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-257" value="Token" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="790" y="834" width="160" height="268" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-258" value="- 是否有效:bool" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-257">
<mxGeometry y="26" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-261" value="- 是否在有效期内:bool" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-257">
<mxGeometry y="52" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-262" value="- 用户ID:string" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-257">
<mxGeometry y="78" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-263" value="- 失效时间:time_point" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-257">
<mxGeometry y="104" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-259" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-257">
<mxGeometry y="130" width="160" height="8" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-260" value="+ Encode 编码" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-257">
<mxGeometry y="138" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-264" value="+ ToString 解码" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-257">
<mxGeometry y="164" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-265" value="+ userful 有效" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-257">
<mxGeometry y="190" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-266" value="+ in_time 时间有效" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-257">
<mxGeometry y="216" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-267" value="+ get_user 获取用户" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-257">
<mxGeometry y="242" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-284" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=-0.003;entryY=0.239;entryDx=0;entryDy=0;entryPerimeter=0;endArrow=none;endFill=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="2g8YKXhORNe2aPhlb7zR-268" target="2g8YKXhORNe2aPhlb7zR-264">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-268" value="Base64" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="620" y="1061" width="160" height="78" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-271" value="+ Encode 编码" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-268">
<mxGeometry y="26" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-273" value="+ Decode 解码" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="2g8YKXhORNe2aPhlb7zR-268">
<mxGeometry y="52" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-280" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.25;exitDx=0;exitDy=0;endArrow=diamondThin;endFill=0;startSize=6;endSize=18;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="2g8YKXhORNe2aPhlb7zR-207" target="2g8YKXhORNe2aPhlb7zR-214">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="1170" y="1022" />
<mxPoint x="1190" y="1022" />
<mxPoint x="1190" y="863" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-281" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;endArrow=diamondThin;endFill=0;startSize=6;endSize=18;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" target="2g8YKXhORNe2aPhlb7zR-217">
<mxGeometry relative="1" as="geometry">
<mxPoint x="1170" y="1012" as="sourcePoint" />
<Array as="points">
<mxPoint x="1170" y="1022" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-286" value="<ul style="font-size: 17px;"><li style="font-size: 17px;">底层网络模块</li><li style="font-size: 17px;">网络模块</li><li style="font-size: 17px;">数据库模块</li><li style="font-size: 17px;">工具模块</li><li style="font-size: 17px;">业务模块</li></ul>" style="text;strokeColor=none;fillColor=none;html=1;whiteSpace=wrap;verticalAlign=middle;overflow=hidden;fontSize=17;spacingTop=2;spacing=3;spacingBottom=5;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="1460" y="22" width="180" height="160" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-289" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="1480" y="51" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-291" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="1480" y="71" width="10" height="20" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-292" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="1480" y="91" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-293" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="1490" y="111" width="10" height="20" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-294" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="1480" y="131" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-295" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="1490" y="71" width="10" height="20" as="geometry" />
</mxCell>
<mxCell id="2g8YKXhORNe2aPhlb7zR-296" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;strokeColor=#666666;fontColor=#333333;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="1480" y="111" width="10" height="20" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>