-
Notifications
You must be signed in to change notification settings - Fork 0
/
Untitled Diagram.drawio
243 lines (243 loc) · 22 KB
/
Untitled Diagram.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
<mxfile host="app.diagrams.net" modified="2022-07-11T13:17:59.700Z" agent="5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36" etag="aiG8w9nqdAxzmz29QbVG" version="20.0.4" type="github">
<diagram id="C5RBs43oDa-KdzZeNtuy" name="Page-1">
<mxGraphModel dx="1131" dy="1347" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="1654" math="0" shadow="0">
<root>
<mxCell id="WIyWlLk6GJQsqaUBKTNV-0" />
<mxCell id="WIyWlLk6GJQsqaUBKTNV-1" parent="WIyWlLk6GJQsqaUBKTNV-0" />
<mxCell id="pFPX5FQTGyR96OKZIBBq-10" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0.75;entryDx=0;entryDy=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="zkfFHV4jXpPFQw0GAbJ--0" target="pFPX5FQTGyR96OKZIBBq-9">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="zkfFHV4jXpPFQw0GAbJ--0" value="on_connection" style="swimlane;fontStyle=2;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="110" y="90" width="160" height="60" as="geometry">
<mxRectangle x="230" y="140" width="160" height="26" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="zkfFHV4jXpPFQw0GAbJ--1" value="conn" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="zkfFHV4jXpPFQw0GAbJ--0" vertex="1">
<mxGeometry y="26" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="zkfFHV4jXpPFQw0GAbJ--4" value="" style="line;html=1;strokeWidth=1;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" parent="zkfFHV4jXpPFQw0GAbJ--0" vertex="1">
<mxGeometry y="52" width="160" height="8" as="geometry" />
</mxCell>
<mxCell id="zkfFHV4jXpPFQw0GAbJ--6" value="REQ" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="890" y="20" width="160" height="250" as="geometry">
<mxRectangle x="600" y="60" width="160" height="26" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="zkfFHV4jXpPFQw0GAbJ--8" value="conn" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;" parent="zkfFHV4jXpPFQw0GAbJ--6" vertex="1">
<mxGeometry y="26" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="zkfFHV4jXpPFQw0GAbJ--7" value="std::mutex mtx;" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="zkfFHV4jXpPFQw0GAbJ--6" vertex="1">
<mxGeometry y="52" width="160" height="24" as="geometry" />
</mxCell>
<mxCell id="pFPX5FQTGyR96OKZIBBq-3" value="senbuf
" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="zkfFHV4jXpPFQw0GAbJ--6">
<mxGeometry y="76" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="pFPX5FQTGyR96OKZIBBq-4" value="atomic_bool exit" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="zkfFHV4jXpPFQw0GAbJ--6">
<mxGeometry y="102" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="pFPX5FQTGyR96OKZIBBq-6" value="json req" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="zkfFHV4jXpPFQw0GAbJ--6">
<mxGeometry y="128" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="pFPX5FQTGyR96OKZIBBq-7" value="fastring ip" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="zkfFHV4jXpPFQw0GAbJ--6">
<mxGeometry y="154" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="pFPX5FQTGyR96OKZIBBq-8" value="fastring body_bin" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="zkfFHV4jXpPFQw0GAbJ--6">
<mxGeometry y="180" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="zkfFHV4jXpPFQw0GAbJ--9" value="" style="line;html=1;strokeWidth=1;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" parent="zkfFHV4jXpPFQw0GAbJ--6" vertex="1">
<mxGeometry y="206" width="160" height="8" as="geometry" />
</mxCell>
<mxCell id="zkfFHV4jXpPFQw0GAbJ--10" value="send_msg" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontStyle=4" parent="zkfFHV4jXpPFQw0GAbJ--6" vertex="1">
<mxGeometry y="214" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="pFPX5FQTGyR96OKZIBBq-43" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="zkfFHV4jXpPFQw0GAbJ--17" target="pFPX5FQTGyR96OKZIBBq-42">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="zkfFHV4jXpPFQw0GAbJ--17" value="web_send_co(REQ *)" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="457" y="130" width="160" height="30" as="geometry">
<mxRectangle x="550" y="140" width="160" height="26" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="zkfFHV4jXpPFQw0GAbJ--26" value="" style="endArrow=open;shadow=0;strokeWidth=1;rounded=0;endFill=1;edgeStyle=elbowEdgeStyle;elbow=vertical;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="zkfFHV4jXpPFQw0GAbJ--0" target="zkfFHV4jXpPFQw0GAbJ--17" edge="1">
<mxGeometry x="0.5" y="41" relative="1" as="geometry">
<mxPoint x="450" y="192" as="sourcePoint" />
<mxPoint x="610" y="192" as="targetPoint" />
<mxPoint x="-40" y="32" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="zkfFHV4jXpPFQw0GAbJ--28" value="1" style="resizable=0;align=right;verticalAlign=bottom;labelBackgroundColor=none;fontSize=12;" parent="zkfFHV4jXpPFQw0GAbJ--26" connectable="0" vertex="1">
<mxGeometry x="1" relative="1" as="geometry">
<mxPoint x="-7" y="4" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="pFPX5FQTGyR96OKZIBBq-1" value="new REQ" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="zkfFHV4jXpPFQw0GAbJ--26">
<mxGeometry x="-0.1943" y="-3" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="pFPX5FQTGyR96OKZIBBq-14" value="y" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="pFPX5FQTGyR96OKZIBBq-9" target="pFPX5FQTGyR96OKZIBBq-13">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="pFPX5FQTGyR96OKZIBBq-23" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="pFPX5FQTGyR96OKZIBBq-9" target="pFPX5FQTGyR96OKZIBBq-21">
<mxGeometry relative="1" as="geometry">
<mxPoint x="340" y="350" as="targetPoint" />
<Array as="points">
<mxPoint x="404" y="310" />
<mxPoint x="210" y="310" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="pFPX5FQTGyR96OKZIBBq-9" value="while recv" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="324" y="260" width="160" height="30" as="geometry">
<mxRectangle x="550" y="140" width="160" height="26" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="pFPX5FQTGyR96OKZIBBq-16" value="y" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="pFPX5FQTGyR96OKZIBBq-13" target="pFPX5FQTGyR96OKZIBBq-15">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="pFPX5FQTGyR96OKZIBBq-13" value="on_connect(REQ*)" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="324" y="370" width="160" height="30" as="geometry">
<mxRectangle x="550" y="140" width="160" height="26" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="pFPX5FQTGyR96OKZIBBq-18" value="y" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="pFPX5FQTGyR96OKZIBBq-15" target="pFPX5FQTGyR96OKZIBBq-17">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="pFPX5FQTGyR96OKZIBBq-28" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="pFPX5FQTGyR96OKZIBBq-15" target="pFPX5FQTGyR96OKZIBBq-27">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="700" y="490" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="pFPX5FQTGyR96OKZIBBq-53" value="升级为ws" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="pFPX5FQTGyR96OKZIBBq-28">
<mxGeometry x="0.0226" y="-3" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="pFPX5FQTGyR96OKZIBBq-15" value="on_header(REQ*)" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="324" y="480" width="160" height="30" as="geometry">
<mxRectangle x="550" y="140" width="160" height="26" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="pFPX5FQTGyR96OKZIBBq-20" value="短连接" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="pFPX5FQTGyR96OKZIBBq-17" target="pFPX5FQTGyR96OKZIBBq-19">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="pFPX5FQTGyR96OKZIBBq-25" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.25;entryDx=0;entryDy=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="pFPX5FQTGyR96OKZIBBq-17" target="pFPX5FQTGyR96OKZIBBq-9">
<mxGeometry relative="1" as="geometry">
<mxPoint x="530" y="280" as="targetPoint" />
<Array as="points">
<mxPoint x="560" y="605" />
<mxPoint x="560" y="268" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="pFPX5FQTGyR96OKZIBBq-26" value="长连接" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="pFPX5FQTGyR96OKZIBBq-25">
<mxGeometry x="-0.1706" y="1" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="pFPX5FQTGyR96OKZIBBq-17" value="on_body(REQ*)" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="324" y="590" width="160" height="30" as="geometry">
<mxRectangle x="550" y="140" width="160" height="26" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="pFPX5FQTGyR96OKZIBBq-19" value="on_close" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="324" y="700" width="160" height="30" as="geometry">
<mxRectangle x="550" y="140" width="160" height="26" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="pFPX5FQTGyR96OKZIBBq-45" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="pFPX5FQTGyR96OKZIBBq-21" target="pFPX5FQTGyR96OKZIBBq-44">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="80" y="390" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="pFPX5FQTGyR96OKZIBBq-21" value="on_err" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="130" y="370" width="160" height="30" as="geometry">
<mxRectangle x="550" y="140" width="160" height="26" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="pFPX5FQTGyR96OKZIBBq-32" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="pFPX5FQTGyR96OKZIBBq-27" target="pFPX5FQTGyR96OKZIBBq-31">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="700" y="600" />
<mxPoint x="700" y="600" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="pFPX5FQTGyR96OKZIBBq-27" value="on_wsupgrade(REQ*)" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="620" y="520" width="160" height="30" as="geometry">
<mxRectangle x="550" y="140" width="160" height="26" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="pFPX5FQTGyR96OKZIBBq-37" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=1.014;entryY=0.126;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="pFPX5FQTGyR96OKZIBBq-29" target="pFPX5FQTGyR96OKZIBBq-31">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="880" y="790" />
<mxPoint x="880" y="631" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="pFPX5FQTGyR96OKZIBBq-29" value="on_wsbody
(ws::REQ* req,void* callback_vector);" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=40;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="595" y="750" width="210" height="80" as="geometry">
<mxRectangle x="550" y="140" width="160" height="26" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="pFPX5FQTGyR96OKZIBBq-35" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="pFPX5FQTGyR96OKZIBBq-31" target="pFPX5FQTGyR96OKZIBBq-29">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="pFPX5FQTGyR96OKZIBBq-40" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="pFPX5FQTGyR96OKZIBBq-31" target="pFPX5FQTGyR96OKZIBBq-21">
<mxGeometry relative="1" as="geometry">
<mxPoint x="200" y="920" as="targetPoint" />
<Array as="points">
<mxPoint x="700" y="730" />
<mxPoint x="510" y="730" />
<mxPoint x="510" y="910" />
<mxPoint x="210" y="910" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="pFPX5FQTGyR96OKZIBBq-41" value="err" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="pFPX5FQTGyR96OKZIBBq-40">
<mxGeometry x="0.7057" relative="1" as="geometry">
<mxPoint x="340" y="153" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="pFPX5FQTGyR96OKZIBBq-31" value="ws::handle while" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="555" y="620" width="290" height="90" as="geometry">
<mxRectangle x="550" y="140" width="160" height="26" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="pFPX5FQTGyR96OKZIBBq-34" value="(tcp::Connection&amp; conn, void* callback_vector, <br>std::function&lt;bool(ws::REQ*, void*)&gt; _on_wsbody)" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="pFPX5FQTGyR96OKZIBBq-31">
<mxGeometry y="26" width="290" height="40" as="geometry" />
</mxCell>
<mxCell id="pFPX5FQTGyR96OKZIBBq-42" value="web_send_co(REQ *)" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="710" y="130" width="147" height="146" as="geometry">
<mxRectangle x="550" y="140" width="160" height="26" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="pFPX5FQTGyR96OKZIBBq-51" value="while !exit" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="pFPX5FQTGyR96OKZIBBq-42">
<mxGeometry y="26" width="147" height="30" as="geometry" />
</mxCell>
<mxCell id="pFPX5FQTGyR96OKZIBBq-52" value="sendbuf&gt;0&nbsp;" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="pFPX5FQTGyR96OKZIBBq-42">
<mxGeometry y="56" width="147" height="30" as="geometry" />
</mxCell>
<mxCell id="pFPX5FQTGyR96OKZIBBq-49" value="conn.send&nbsp;" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="pFPX5FQTGyR96OKZIBBq-42">
<mxGeometry y="86" width="147" height="30" as="geometry" />
</mxCell>
<mxCell id="pFPX5FQTGyR96OKZIBBq-44" value="end" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="20" y="560" width="160" height="130" as="geometry">
<mxRectangle x="550" y="140" width="160" height="26" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="pFPX5FQTGyR96OKZIBBq-46" value="等待web_send_co销毁" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="pFPX5FQTGyR96OKZIBBq-44">
<mxGeometry y="26" width="160" height="30" as="geometry" />
</mxCell>
<mxCell id="pFPX5FQTGyR96OKZIBBq-47" value="delete REQ" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="pFPX5FQTGyR96OKZIBBq-44">
<mxGeometry y="56" width="160" height="30" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>