forked from lavina/lavina
diagram
This commit is contained in:
parent
d436631450
commit
c47627ad24
|
@ -0,0 +1,185 @@
|
|||
<mxfile host="Electron" modified="2024-04-06T13:09:04.675Z" agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/21.6.8 Chrome/114.0.5735.289 Electron/25.5.0 Safari/537.36" etag="qtPu2_DzKaLY6sI-tH9P" version="21.6.8" type="device">
|
||||
<diagram name="Page-1" id="nZtLUrlbBAqduTWwrSIR">
|
||||
<mxGraphModel dx="2034" dy="1953" 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="0" />
|
||||
<mxCell id="1" parent="0" />
|
||||
<mxCell id="pe1hktWt-6-3Kgrw7cIj-1" value="Room" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="360" y="200" width="120" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="pe1hktWt-6-3Kgrw7cIj-3" value="membership<br>N to N" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;endFill=0;" edge="1" parent="1" source="pe1hktWt-6-3Kgrw7cIj-2" target="pe1hktWt-6-3Kgrw7cIj-1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="pe1hktWt-6-3Kgrw7cIj-18" value="N to 1" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;endFill=0;" edge="1" parent="1" source="pe1hktWt-6-3Kgrw7cIj-2" target="pe1hktWt-6-3Kgrw7cIj-17">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="pe1hktWt-6-3Kgrw7cIj-2" value="Player" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="80" y="200" width="120" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="pe1hktWt-6-3Kgrw7cIj-4" value="RoomId<br><font style="font-size: 7px;">cluster-global, public, stable room identifier</font>" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="370" y="340" width="100" height="50" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="pe1hktWt-6-3Kgrw7cIj-5" value="PersistenceId<br><font style="font-size: 7px;">node-local, private room identifier in the database</font>" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="370" y="280" width="100" height="50" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="pe1hktWt-6-3Kgrw7cIj-6" value="PlayerId<br><font style="font-size: 7px;">cluster-global, public, stable room identifier</font>" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="87" y="280" width="106" height="50" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="pe1hktWt-6-3Kgrw7cIj-8" value="belongs to<br>N to 1" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;endFill=0;" edge="1" parent="1" source="pe1hktWt-6-3Kgrw7cIj-7" target="pe1hktWt-6-3Kgrw7cIj-1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="pe1hktWt-6-3Kgrw7cIj-7" value="Message" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="310" y="60" width="120" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="pe1hktWt-6-3Kgrw7cIj-9" value="author of<br>1 to N" style="endArrow=none;html=1;rounded=0;endFill=0;" edge="1" parent="1" source="pe1hktWt-6-3Kgrw7cIj-2" target="pe1hktWt-6-3Kgrw7cIj-7">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="320" y="190" as="sourcePoint" />
|
||||
<mxPoint x="370" y="140" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="pe1hktWt-6-3Kgrw7cIj-12" value="N to 1" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;endFill=0;" edge="1" parent="1" source="pe1hktWt-6-3Kgrw7cIj-11" target="pe1hktWt-6-3Kgrw7cIj-2">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="pe1hktWt-6-3Kgrw7cIj-11" value="Session<br><font style="font-size: 7px;">Created for each successful authentication</font>" style="rounded=0;whiteSpace=wrap;html=1;dashed=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="-160" y="200" width="120" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="pe1hktWt-6-3Kgrw7cIj-14" value="N to 1" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;endFill=0;" edge="1" parent="1" source="pe1hktWt-6-3Kgrw7cIj-13" target="pe1hktWt-6-3Kgrw7cIj-11">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="pe1hktWt-6-3Kgrw7cIj-13" value="Connection<br><font style="font-size: 7px;">An open TCP with successful session authentication. At most one active per session&nbsp;</font>" style="rounded=0;whiteSpace=wrap;html=1;dashed=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="-360" y="200" width="120" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="pe1hktWt-6-3Kgrw7cIj-15" value="Multi-user chat (MUC)<br><font style="font-size: 7px;">e.g. flood@rooms.lavina</font>" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="-50" y="580" width="120" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="pe1hktWt-6-3Kgrw7cIj-16" value="" style="endArrow=classic;html=1;rounded=0;dashed=1;" edge="1" parent="1" source="pe1hktWt-6-3Kgrw7cIj-15" target="pe1hktWt-6-3Kgrw7cIj-1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="-130" y="430" as="sourcePoint" />
|
||||
<mxPoint x="-80" y="380" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="pe1hktWt-6-3Kgrw7cIj-17" value="Contact<br><font style="font-size: 7px;">Stored player-private contacts of other players</font>" style="rounded=0;whiteSpace=wrap;html=1;dashed=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="10" y="60" width="120" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="pe1hktWt-6-3Kgrw7cIj-35" value="Resource<br><font style="font-size: 7px;">Given by the server</font>" style="rounded=0;whiteSpace=wrap;html=1;dashed=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="-290" y="510" width="120" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="pe1hktWt-6-3Kgrw7cIj-37" value="" style="endArrow=classic;html=1;rounded=0;dashed=1;" edge="1" parent="1" source="pe1hktWt-6-3Kgrw7cIj-35" target="pe1hktWt-6-3Kgrw7cIj-11">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="52" y="590" as="sourcePoint" />
|
||||
<mxPoint x="398" y="270" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="pe1hktWt-6-3Kgrw7cIj-38" value="XMPP Connection" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="-473" y="510" width="120" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="pe1hktWt-6-3Kgrw7cIj-39" value="" style="endArrow=classic;html=1;rounded=0;dashed=1;" edge="1" parent="1" source="pe1hktWt-6-3Kgrw7cIj-38" target="pe1hktWt-6-3Kgrw7cIj-13">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="-240" y="460" as="sourcePoint" />
|
||||
<mxPoint x="-190" y="410" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="pe1hktWt-6-3Kgrw7cIj-40" value="User<br><font style="font-size: 7px;">e.g. ivan@lavina</font>" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="-380" y="630" width="120" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="pe1hktWt-6-3Kgrw7cIj-41" value="" style="endArrow=none;html=1;rounded=0;endFill=0;" edge="1" parent="1" source="pe1hktWt-6-3Kgrw7cIj-40" target="pe1hktWt-6-3Kgrw7cIj-38">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="-240" y="390" as="sourcePoint" />
|
||||
<mxPoint x="-190" y="340" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="pe1hktWt-6-3Kgrw7cIj-42" value="" style="endArrow=none;html=1;rounded=0;endFill=0;" edge="1" parent="1" source="pe1hktWt-6-3Kgrw7cIj-40" target="pe1hktWt-6-3Kgrw7cIj-15">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="-240" y="390" as="sourcePoint" />
|
||||
<mxPoint x="-190" y="340" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="pe1hktWt-6-3Kgrw7cIj-43" value="" style="endArrow=none;html=1;rounded=0;endFill=0;" edge="1" parent="1" source="pe1hktWt-6-3Kgrw7cIj-35" target="pe1hktWt-6-3Kgrw7cIj-38">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="-170" y="400" as="sourcePoint" />
|
||||
<mxPoint x="-120" y="350" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="pe1hktWt-6-3Kgrw7cIj-44" value="Username<br><font style="font-size: 7px;">Part before @ in JID<br>e.g. ivan<br></font>" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="-373" y="700" width="106" height="50" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="pe1hktWt-6-3Kgrw7cIj-45" value="" style="endArrow=classic;html=1;rounded=0;dashed=1;" edge="1" parent="1" source="pe1hktWt-6-3Kgrw7cIj-40" target="pe1hktWt-6-3Kgrw7cIj-2">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="-230" y="510" as="sourcePoint" />
|
||||
<mxPoint x="-180" y="460" as="targetPoint" />
|
||||
<Array as="points">
|
||||
<mxPoint x="-160" y="570" />
|
||||
<mxPoint x="40" y="280" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="pe1hktWt-6-3Kgrw7cIj-46" value="" style="endArrow=classic;html=1;rounded=0;dashed=1;" edge="1" parent="1" source="pe1hktWt-6-3Kgrw7cIj-44" target="pe1hktWt-6-3Kgrw7cIj-6">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="-230" y="470" as="sourcePoint" />
|
||||
<mxPoint x="-180" y="420" as="targetPoint" />
|
||||
<Array as="points">
|
||||
<mxPoint x="-190" y="670" />
|
||||
<mxPoint x="60" y="320" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="pe1hktWt-6-3Kgrw7cIj-47" value="Name<br><font style="font-size: 7px;">Part before @ in jid<br>e.g. flood<br></font>" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="-43" y="650" width="106" height="50" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="pe1hktWt-6-3Kgrw7cIj-49" value="IRC Connection" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="-473" y="-290" width="120" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="pe1hktWt-6-3Kgrw7cIj-50" value="" style="endArrow=classic;html=1;rounded=0;dashed=1;" edge="1" parent="1" source="pe1hktWt-6-3Kgrw7cIj-49" target="pe1hktWt-6-3Kgrw7cIj-13">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="-210" y="90" as="sourcePoint" />
|
||||
<mxPoint x="-160" y="40" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="pe1hktWt-6-3Kgrw7cIj-51" value="Username" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="-230" y="-240" width="100" height="50" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="pe1hktWt-6-3Kgrw7cIj-52" value="Nickname" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="-230" y="-310" width="100" height="50" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="pe1hktWt-6-3Kgrw7cIj-53" value="Realname" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="-230" y="-170" width="100" height="50" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="pe1hktWt-6-3Kgrw7cIj-54" value="" style="endArrow=classic;html=1;rounded=0;dashed=1;" edge="1" parent="1" source="pe1hktWt-6-3Kgrw7cIj-52" target="pe1hktWt-6-3Kgrw7cIj-6">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="-160" y="10" as="sourcePoint" />
|
||||
<mxPoint x="-110" y="-40" as="targetPoint" />
|
||||
<Array as="points">
|
||||
<mxPoint x="-70" y="-250" />
|
||||
<mxPoint x="10" y="300" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="pe1hktWt-6-3Kgrw7cIj-55" value="" style="endArrow=classic;html=1;rounded=0;dashed=1;" edge="1" parent="1" source="pe1hktWt-6-3Kgrw7cIj-47" target="pe1hktWt-6-3Kgrw7cIj-4">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="170" y="440" as="sourcePoint" />
|
||||
<mxPoint x="220" y="390" as="targetPoint" />
|
||||
<Array as="points">
|
||||
<mxPoint x="80" y="650" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="pe1hktWt-6-3Kgrw7cIj-56" value="Channel<br><font style="font-size: 7px;">e.g. #flood</font>" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry y="-315" width="120" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="pe1hktWt-6-3Kgrw7cIj-58" value="Name<br><font style="font-size: 7px;">part after #<br>e.g. flood<br></font>" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="10" y="-240" width="100" height="50" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="pe1hktWt-6-3Kgrw7cIj-59" value="" style="endArrow=classic;html=1;rounded=0;dashed=1;" edge="1" parent="1" source="pe1hktWt-6-3Kgrw7cIj-58" target="pe1hktWt-6-3Kgrw7cIj-4">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="-20" y="30" as="sourcePoint" />
|
||||
<mxPoint x="30" y="-20" as="targetPoint" />
|
||||
<Array as="points">
|
||||
<mxPoint x="130" y="-190" />
|
||||
<mxPoint x="350" y="340" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
</root>
|
||||
</mxGraphModel>
|
||||
</diagram>
|
||||
</mxfile>
|
Loading…
Reference in New Issue