-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathProtocolStackSimulation.drawio
More file actions
278 lines (278 loc) · 34.7 KB
/
ProtocolStackSimulation.drawio
File metadata and controls
278 lines (278 loc) · 34.7 KB
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
<mxfile host="65bd71144e">
<diagram id="C5RBs43oDa-KdzZeNtuy" name="Page-1">
<mxGraphModel dx="1502" dy="421" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="827" math="0" shadow="0">
<root>
<mxCell id="WIyWlLk6GJQsqaUBKTNV-0"/>
<mxCell id="WIyWlLk6GJQsqaUBKTNV-1" parent="WIyWlLk6GJQsqaUBKTNV-0"/>
<mxCell id="_broUkZbqEhw3iz0FzK7-55" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="_broUkZbqEhw3iz0FzK7-0" target="_broUkZbqEhw3iz0FzK7-19" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="90" y="570" as="targetPoint"/>
<Array as="points">
<mxPoint x="195" y="560"/>
<mxPoint x="15" y="560"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="_broUkZbqEhw3iz0FzK7-56" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="_broUkZbqEhw3iz0FzK7-0" target="_broUkZbqEhw3iz0FzK7-23" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="195" y="560"/>
<mxPoint x="345" y="560"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="_broUkZbqEhw3iz0FzK7-57" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="_broUkZbqEhw3iz0FzK7-0" target="_broUkZbqEhw3iz0FzK7-27" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="195" y="560"/>
<mxPoint x="650" y="560"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="_broUkZbqEhw3iz0FzK7-58" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="_broUkZbqEhw3iz0FzK7-0" target="_broUkZbqEhw3iz0FzK7-35" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="195" y="560"/>
<mxPoint x="965" y="560"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="_broUkZbqEhw3iz0FzK7-0" value="Device" 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;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="60" y="100" width="270" height="220" as="geometry"/>
</mxCell>
<mxCell id="_broUkZbqEhw3iz0FzK7-1" value="<div>- sharedStack: std::stack&lt;Frame&gt; *</div><div>- app : Application</div><div>- transp : Transport</div><div>- internetw : Internetwork</div><div>- netwacc : NetworkAccess</div><div>- deviceName : std::string</div><div><br></div><div><br></div>" 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;" parent="_broUkZbqEhw3iz0FzK7-0" vertex="1">
<mxGeometry y="26" width="270" height="104" as="geometry"/>
</mxCell>
<mxCell id="_broUkZbqEhw3iz0FzK7-2" 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;" parent="_broUkZbqEhw3iz0FzK7-0" vertex="1">
<mxGeometry y="130" width="270" height="8" as="geometry"/>
</mxCell>
<mxCell id="_broUkZbqEhw3iz0FzK7-3" value="<div>+ Device(name : std::string, ip : std::string, stack : std::stack&lt;Frame&gt; *) <br></div><div>+ sendMessage(str : std::string) : void</div><div>+ receiveMessage() : void</div><div><br></div>" 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;" parent="_broUkZbqEhw3iz0FzK7-0" vertex="1">
<mxGeometry y="138" width="270" height="82" as="geometry"/>
</mxCell>
<mxCell id="_broUkZbqEhw3iz0FzK7-4" value="PDU" 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;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="400" y="1180" width="160" height="88" as="geometry"/>
</mxCell>
<mxCell id="_broUkZbqEhw3iz0FzK7-5" value="<div>+ payload : std::string</div><div>+ source : std::string</div><div>+ destination : std::string</div><div><br></div>" 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;" parent="_broUkZbqEhw3iz0FzK7-4" vertex="1">
<mxGeometry y="26" width="160" height="54" as="geometry"/>
</mxCell>
<mxCell id="_broUkZbqEhw3iz0FzK7-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;" parent="_broUkZbqEhw3iz0FzK7-4" vertex="1">
<mxGeometry y="80" width="160" height="8" as="geometry"/>
</mxCell>
<mxCell id="_broUkZbqEhw3iz0FzK7-11" value="Protocol" 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;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="490" y="300" width="160" height="80" as="geometry"/>
</mxCell>
<mxCell id="_broUkZbqEhw3iz0FzK7-13" 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;" parent="_broUkZbqEhw3iz0FzK7-11" vertex="1">
<mxGeometry y="26" width="160" height="8" as="geometry"/>
</mxCell>
<mxCell id="_broUkZbqEhw3iz0FzK7-14" value="<div>+ incapsulate(): void</div><div>+ decapsulate(): void</div>" 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;" parent="_broUkZbqEhw3iz0FzK7-11" vertex="1">
<mxGeometry y="34" width="160" height="46" as="geometry"/>
</mxCell>
<mxCell id="_broUkZbqEhw3iz0FzK7-19" value="Application" 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;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="-100" y="630" width="230" height="160" as="geometry"/>
</mxCell>
<mxCell id="_broUkZbqEhw3iz0FzK7-20" value="+ tr : Transport *" 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;" parent="_broUkZbqEhw3iz0FzK7-19" vertex="1">
<mxGeometry y="26" width="230" height="26" as="geometry"/>
</mxCell>
<mxCell id="_broUkZbqEhw3iz0FzK7-21" 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;" parent="_broUkZbqEhw3iz0FzK7-19" vertex="1">
<mxGeometry y="52" width="230" height="8" as="geometry"/>
</mxCell>
<mxCell id="_broUkZbqEhw3iz0FzK7-22" value="<div><font style="font-size: 10px;">+ incapsulate(str : std::string, d : std::string ): void</font></div><div><font style="font-size: 10px;">+ decapsulate (m : Message) : void</font></div><div><font style="font-size: 10px;">+ decode (encode : std::string) : std:: string</font></div><div>+ setTransp (transp : Transport *) : void</div><div>+printToScreen (s : std::string) : void</div>" 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;" parent="_broUkZbqEhw3iz0FzK7-19" vertex="1">
<mxGeometry y="60" width="230" height="100" as="geometry"/>
</mxCell>
<mxCell id="_broUkZbqEhw3iz0FzK7-63" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.75;exitY=0;exitDx=0;exitDy=0;endArrow=block;endFill=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="_broUkZbqEhw3iz0FzK7-23" target="_broUkZbqEhw3iz0FzK7-11" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="570.0000000000002" y="410" as="targetPoint"/>
<Array as="points">
<mxPoint x="407" y="490"/>
<mxPoint x="570" y="490"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="_broUkZbqEhw3iz0FzK7-76" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="_broUkZbqEhw3iz0FzK7-23" target="_broUkZbqEhw3iz0FzK7-43" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="_broUkZbqEhw3iz0FzK7-23" value="Transport" 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;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="220" y="610" width="250" height="240" as="geometry"/>
</mxCell>
<mxCell id="_broUkZbqEhw3iz0FzK7-24" value="<div>- source : std::string</div><div>- dest : std::string</div><div>- maxSegmentSize : int</div><div>- appl : Application *</div><div>- netw : Internetwork *</div>" 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;" parent="_broUkZbqEhw3iz0FzK7-23" vertex="1">
<mxGeometry y="26" width="250" height="84" as="geometry"/>
</mxCell>
<mxCell id="_broUkZbqEhw3iz0FzK7-25" 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;" parent="_broUkZbqEhw3iz0FzK7-23" vertex="1">
<mxGeometry y="110" width="250" height="8" as="geometry"/>
</mxCell>
<mxCell id="_broUkZbqEhw3iz0FzK7-26" value="<div><font style="font-size: 10px;">- segmentate (s : std::string, num : int) : std::vector&lt;std::string&gt; <br>+ incapsulate(m : Message, dest : std::string) : void</font></div><div><font style="font-size: 10px;">+ decapsulate (s : std::vector&lt;Segment&gt;) : void</font></div><div><font style="font-size: 10px;">+ setAppl (appls : Application *) : void</font></div><div>+ setNetw (netwk: Internetwork *) : void</div><div>+Transport(src : std::string) <br><br></div>" 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;" parent="_broUkZbqEhw3iz0FzK7-23" vertex="1">
<mxGeometry y="118" width="250" height="122" as="geometry"/>
</mxCell>
<mxCell id="_broUkZbqEhw3iz0FzK7-64" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.25;exitY=0;exitDx=0;exitDy=0;endArrow=block;endFill=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="_broUkZbqEhw3iz0FzK7-27" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="570.0000000000002" y="380" as="targetPoint"/>
<Array as="points">
<mxPoint x="587" y="490"/>
<mxPoint x="571" y="490"/>
<mxPoint x="571" y="380"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="_broUkZbqEhw3iz0FzK7-77" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="_broUkZbqEhw3iz0FzK7-27" target="_broUkZbqEhw3iz0FzK7-47" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="_broUkZbqEhw3iz0FzK7-27" value="Internetwork" 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;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="525" y="610" width="250" height="200" as="geometry"/>
</mxCell>
<mxCell id="_broUkZbqEhw3iz0FzK7-28" value="- ipAddress : int<div>- transp: Transport*</div><div>- netaccs: NetworkAccess *</div>" 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;" parent="_broUkZbqEhw3iz0FzK7-27" vertex="1">
<mxGeometry y="26" width="250" height="64" as="geometry"/>
</mxCell>
<mxCell id="_broUkZbqEhw3iz0FzK7-29" 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;" parent="_broUkZbqEhw3iz0FzK7-27" vertex="1">
<mxGeometry y="90" width="250" height="8" as="geometry"/>
</mxCell>
<mxCell id="_broUkZbqEhw3iz0FzK7-30" value="<div><font style="font-size: 10px;">- getIP (ip : std::string) : int<br>+ incapsulate(s : Segment) : void</font></div><div><font style="font-size: 10px;">+ decapsulate (d : std::vector&lt;Datagram&gt;) : void</font></div><div>+ setTransp (transprt: Transport*) : void</div><div>+ setNetAcc (netaccess : NetworkAccess *)</div><div>+Internetwork(ip: std::string) <br></div><div><br></div>" 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;" parent="_broUkZbqEhw3iz0FzK7-27" vertex="1">
<mxGeometry y="98" width="250" height="102" as="geometry"/>
</mxCell>
<mxCell id="_broUkZbqEhw3iz0FzK7-65" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.25;exitY=0;exitDx=0;exitDy=0;endArrow=block;endFill=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="_broUkZbqEhw3iz0FzK7-35" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="570.0000000000002" y="380" as="targetPoint"/>
<Array as="points">
<mxPoint x="903" y="490"/>
<mxPoint x="571" y="490"/>
<mxPoint x="571" y="380"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="_broUkZbqEhw3iz0FzK7-78" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="_broUkZbqEhw3iz0FzK7-35" target="_broUkZbqEhw3iz0FzK7-51" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="_broUkZbqEhw3iz0FzK7-35" value="NetworkAccess" 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;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="840" y="610" width="250" height="200" as="geometry"/>
</mxCell>
<mxCell id="_broUkZbqEhw3iz0FzK7-36" value="- naccs: int<div>- datastack: std::stack&lt;Frame&gt; *</div><div>- netwk: Internetwork *</div>" 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;" parent="_broUkZbqEhw3iz0FzK7-35" vertex="1">
<mxGeometry y="26" width="250" height="64" as="geometry"/>
</mxCell>
<mxCell id="_broUkZbqEhw3iz0FzK7-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;" parent="_broUkZbqEhw3iz0FzK7-35" vertex="1">
<mxGeometry y="90" width="250" height="8" as="geometry"/>
</mxCell>
<mxCell id="_broUkZbqEhw3iz0FzK7-38" value="<div><font style="font-size: 10px;">- putFrameInMemory(f : Frame) : void<br>+ incapsulate(s : Datagram) : void</font></div><div><font style="font-size: 10px;">+ decapsulate () : void</font></div><div><font style="font-size: 10px;">+ setNetwAndStack(internetw : Internetwork *, stk : std::stack&lt;Frame&gt; *)</font></div><div>+ NetworkAccess(naccsAddr : int)</div><div><br></div><div><br></div>" 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;" parent="_broUkZbqEhw3iz0FzK7-35" vertex="1">
<mxGeometry y="98" width="250" height="102" as="geometry"/>
</mxCell>
<mxCell id="_broUkZbqEhw3iz0FzK7-79" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;dashed=1;endArrow=block;endFill=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="_broUkZbqEhw3iz0FzK7-39" target="_broUkZbqEhw3iz0FzK7-4" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="-5" y="1150"/>
<mxPoint x="480" y="1150"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="_broUkZbqEhw3iz0FzK7-39" value="Message" 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;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="-90" y="890" width="170" height="120" as="geometry"/>
</mxCell>
<mxCell id="_broUkZbqEhw3iz0FzK7-40" value="<div>+ payload : std::string</div><div>+ source : std::string</div><div>+ destination : std::string</div>" 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;" parent="_broUkZbqEhw3iz0FzK7-39" vertex="1">
<mxGeometry y="26" width="170" height="54" as="geometry"/>
</mxCell>
<mxCell id="_broUkZbqEhw3iz0FzK7-41" 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;" parent="_broUkZbqEhw3iz0FzK7-39" vertex="1">
<mxGeometry y="80" width="170" height="8" as="geometry"/>
</mxCell>
<mxCell id="_broUkZbqEhw3iz0FzK7-42" value="+ Message(msg : std::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;" parent="_broUkZbqEhw3iz0FzK7-39" vertex="1">
<mxGeometry y="88" width="170" height="32" as="geometry"/>
</mxCell>
<mxCell id="_broUkZbqEhw3iz0FzK7-80" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;endArrow=block;endFill=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="_broUkZbqEhw3iz0FzK7-43" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="480" y="1180" as="targetPoint"/>
<Array as="points">
<mxPoint x="345" y="1150"/>
<mxPoint x="480" y="1150"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="_broUkZbqEhw3iz0FzK7-43" value="Segment" 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;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="245" y="890" width="200" height="160" as="geometry"/>
</mxCell>
<mxCell id="_broUkZbqEhw3iz0FzK7-44" value="- seqNumber<br><div>+ payload : std::string</div><div>+ source : std::string</div><div>+ destination : std::string</div><br><div><br></div>" 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;" parent="_broUkZbqEhw3iz0FzK7-43" vertex="1">
<mxGeometry y="26" width="200" height="64" as="geometry"/>
</mxCell>
<mxCell id="_broUkZbqEhw3iz0FzK7-45" 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;" parent="_broUkZbqEhw3iz0FzK7-43" vertex="1">
<mxGeometry y="90" width="200" height="8" as="geometry"/>
</mxCell>
<mxCell id="_broUkZbqEhw3iz0FzK7-46" value="+ Segment(p : std::string, src: std::string, dst std::string, sqnmb : 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;" parent="_broUkZbqEhw3iz0FzK7-43" vertex="1">
<mxGeometry y="98" width="200" height="62" as="geometry"/>
</mxCell>
<mxCell id="_broUkZbqEhw3iz0FzK7-82" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;dashed=1;endArrow=block;endFill=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="_broUkZbqEhw3iz0FzK7-47" target="_broUkZbqEhw3iz0FzK7-4" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="650" y="1150"/>
<mxPoint x="480" y="1150"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="_broUkZbqEhw3iz0FzK7-47" value="Segment" 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;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="550" y="890" width="200" height="160" as="geometry"/>
</mxCell>
<mxCell id="_broUkZbqEhw3iz0FzK7-48" value="- ip_add : std::bitset&lt;32&gt;<div>+ myseg: Segment</div><div>+ source : std::string</div><div>+ destination : std::string</div><br><div><br></div>" 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;" parent="_broUkZbqEhw3iz0FzK7-47" vertex="1">
<mxGeometry y="26" width="200" height="74" as="geometry"/>
</mxCell>
<mxCell id="_broUkZbqEhw3iz0FzK7-49" 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;" parent="_broUkZbqEhw3iz0FzK7-47" vertex="1">
<mxGeometry y="100" width="200" height="8" as="geometry"/>
</mxCell>
<mxCell id="_broUkZbqEhw3iz0FzK7-50" value="+ Datagram(s: Segment, a : std::bitset&lt;8&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;" parent="_broUkZbqEhw3iz0FzK7-47" vertex="1">
<mxGeometry y="108" width="200" height="52" as="geometry"/>
</mxCell>
<mxCell id="_broUkZbqEhw3iz0FzK7-83" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;endArrow=block;endFill=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="_broUkZbqEhw3iz0FzK7-51" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="480" y="1180" as="targetPoint"/>
<Array as="points">
<mxPoint x="960" y="1150"/>
<mxPoint x="481" y="1150"/>
<mxPoint x="481" y="1180"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="_broUkZbqEhw3iz0FzK7-51" value="Frame" 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;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="860" y="900" width="200" height="160" as="geometry"/>
</mxCell>
<mxCell id="_broUkZbqEhw3iz0FzK7-52" value="+ header : int<div>+ padding: int</div><div>+ datg: Datagram</div><br><div><br></div>" 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;" parent="_broUkZbqEhw3iz0FzK7-51" vertex="1">
<mxGeometry y="26" width="200" height="74" as="geometry"/>
</mxCell>
<mxCell id="_broUkZbqEhw3iz0FzK7-53" 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;" parent="_broUkZbqEhw3iz0FzK7-51" vertex="1">
<mxGeometry y="100" width="200" height="8" as="geometry"/>
</mxCell>
<mxCell id="_broUkZbqEhw3iz0FzK7-54" value="+ Frame(d: Datagram, na :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;" parent="_broUkZbqEhw3iz0FzK7-51" vertex="1">
<mxGeometry y="108" width="200" height="52" as="geometry"/>
</mxCell>
<mxCell id="_broUkZbqEhw3iz0FzK7-62" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.75;exitY=0;exitDx=0;exitDy=0;endArrow=block;endFill=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="_broUkZbqEhw3iz0FzK7-19" target="_broUkZbqEhw3iz0FzK7-11" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="571" y="410" as="targetPoint"/>
<Array as="points">
<mxPoint x="72" y="490"/>
<mxPoint x="570" y="490"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="_broUkZbqEhw3iz0FzK7-66" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="_broUkZbqEhw3iz0FzK7-20" target="_broUkZbqEhw3iz0FzK7-24" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="_broUkZbqEhw3iz0FzK7-67" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=-0.02;entryY=0.656;entryDx=0;entryDy=0;entryPerimeter=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="_broUkZbqEhw3iz0FzK7-24" target="_broUkZbqEhw3iz0FzK7-28" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="_broUkZbqEhw3iz0FzK7-68" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="_broUkZbqEhw3iz0FzK7-28" target="_broUkZbqEhw3iz0FzK7-36" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="_broUkZbqEhw3iz0FzK7-69" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="_broUkZbqEhw3iz0FzK7-38" target="_broUkZbqEhw3iz0FzK7-30" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="_broUkZbqEhw3iz0FzK7-70" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1.025;entryY=0.227;entryDx=0;entryDy=0;entryPerimeter=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="_broUkZbqEhw3iz0FzK7-30" target="_broUkZbqEhw3iz0FzK7-26" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="_broUkZbqEhw3iz0FzK7-71" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1.033;entryY=0.452;entryDx=0;entryDy=0;entryPerimeter=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="_broUkZbqEhw3iz0FzK7-26" target="_broUkZbqEhw3iz0FzK7-22" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="_broUkZbqEhw3iz0FzK7-72" value="<font style="font-size: 17px;"><b>STACK</b></font>" style="ellipse;whiteSpace=wrap;html=1;strokeWidth=2;fillWeight=2;hachureGap=8;fillColor=#990000;fillStyle=dots;sketch=1;labelBorderColor=#FFFFFF;labelBackgroundColor=default;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="1010" y="480" width="120" height="60" as="geometry"/>
</mxCell>
<mxCell id="_broUkZbqEhw3iz0FzK7-73" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=1;entryDx=0;entryDy=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="_broUkZbqEhw3iz0FzK7-36" target="_broUkZbqEhw3iz0FzK7-72" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="_broUkZbqEhw3iz0FzK7-75" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.564;entryY=-0.017;entryDx=0;entryDy=0;entryPerimeter=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="_broUkZbqEhw3iz0FzK7-19" target="_broUkZbqEhw3iz0FzK7-39" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>