-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.$Socket_Channel.drawio.bkp
170 lines (170 loc) · 14.3 KB
/
.$Socket_Channel.drawio.bkp
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
<mxfile host="app.diagrams.net" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36" version="25.0.3">
<diagram name="Page-1" id="2YBvvXClWsGukQMizWep">
<mxGraphModel dx="1320" dy="649" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="aM9ryv3xv72pqoxQDRHE-1" value="user_socket.js" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=0;dropTarget=0;collapsible=0;recursiveResize=0;outlineConnect=0;portConstraint=eastwest;newEdgeStyle={"edgeStyle":"elbowEdgeStyle","elbow":"vertical","curved":0,"rounded":0};" parent="1" vertex="1">
<mxGeometry x="160" y="40" width="100" height="300" as="geometry" />
</mxCell>
<mxCell id="aM9ryv3xv72pqoxQDRHE-2" value="" style="html=1;points=[];perimeter=orthogonalPerimeter;outlineConnect=0;targetShapes=umlLifeline;portConstraint=eastwest;newEdgeStyle={"edgeStyle":"elbowEdgeStyle","elbow":"vertical","curved":0,"rounded":0};" parent="aM9ryv3xv72pqoxQDRHE-1" vertex="1">
<mxGeometry x="45" y="70" width="10" height="190" as="geometry" />
</mxCell>
<mxCell id="aM9ryv3xv72pqoxQDRHE-4" value="" style="html=1;points=[];perimeter=orthogonalPerimeter;outlineConnect=0;targetShapes=umlLifeline;portConstraint=eastwest;newEdgeStyle={"edgeStyle":"elbowEdgeStyle","elbow":"vertical","curved":0,"rounded":0};" parent="aM9ryv3xv72pqoxQDRHE-1" vertex="1">
<mxGeometry x="50" y="75" width="10" height="80" as="geometry" />
</mxCell>
<mxCell id="aM9ryv3xv72pqoxQDRHE-5" value="prime_spiral_channels.ex" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=0;dropTarget=0;collapsible=0;recursiveResize=0;outlineConnect=0;portConstraint=eastwest;newEdgeStyle={"edgeStyle":"elbowEdgeStyle","elbow":"vertical","curved":0,"rounded":0};" parent="1" vertex="1">
<mxGeometry x="340" y="40" width="150" height="300" as="geometry" />
</mxCell>
<mxCell id="aM9ryv3xv72pqoxQDRHE-6" value="" style="html=1;points=[];perimeter=orthogonalPerimeter;outlineConnect=0;targetShapes=umlLifeline;portConstraint=eastwest;newEdgeStyle={"edgeStyle":"elbowEdgeStyle","elbow":"vertical","curved":0,"rounded":0};" parent="aM9ryv3xv72pqoxQDRHE-5" vertex="1">
<mxGeometry x="70" y="80" width="10" height="170" as="geometry" />
</mxCell>
<mxCell id="aM9ryv3xv72pqoxQDRHE-7" value="channel.push("find_primes", n);" style="html=1;verticalAlign=bottom;endArrow=block;edgeStyle=elbowEdgeStyle;elbow=vertical;curved=0;rounded=0;exitX=1;exitY=0.063;exitDx=0;exitDy=0;exitPerimeter=0;" parent="1" source="aM9ryv3xv72pqoxQDRHE-4" target="aM9ryv3xv72pqoxQDRHE-6" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="315" y="130" as="sourcePoint" />
<Array as="points">
<mxPoint x="300" y="120" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="aM9ryv3xv72pqoxQDRHE-9" value="channel.on("new_prime", payload)" style="html=1;verticalAlign=bottom;endArrow=block;dashed=1;edgeStyle=elbowEdgeStyle;elbow=vertical;curved=0;rounded=0;" parent="1" target="aM9ryv3xv72pqoxQDRHE-4" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="410" y="189.76" as="sourcePoint" />
<Array as="points">
<mxPoint x="310" y="189.76" />
</Array>
<mxPoint x="230" y="189.76" as="targetPoint" />
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="W1hrzCVxCjYkh5StqpZ1-1" value="prime_calculator.ex" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=0;dropTarget=0;collapsible=0;recursiveResize=0;outlineConnect=0;portConstraint=eastwest;newEdgeStyle={"edgeStyle":"elbowEdgeStyle","elbow":"vertical","curved":0,"rounded":0};" vertex="1" parent="1">
<mxGeometry x="530" y="40" width="150" height="300" as="geometry" />
</mxCell>
<mxCell id="W1hrzCVxCjYkh5StqpZ1-2" value="" style="html=1;points=[];perimeter=orthogonalPerimeter;outlineConnect=0;targetShapes=umlLifeline;portConstraint=eastwest;newEdgeStyle={"edgeStyle":"elbowEdgeStyle","elbow":"vertical","curved":0,"rounded":0};" vertex="1" parent="W1hrzCVxCjYkh5StqpZ1-1">
<mxGeometry x="70" y="80" width="10" height="170" as="geometry" />
</mxCell>
<mxCell id="W1hrzCVxCjYkh5StqpZ1-3" value="handle_in("find_primes", ...)" style="html=1;verticalAlign=bottom;endArrow=block;edgeStyle=elbowEdgeStyle;elbow=vertical;curved=0;rounded=0;" edge="1" parent="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="420" y="130" as="sourcePoint" />
<Array as="points">
<mxPoint x="505" y="130" />
</Array>
<mxPoint x="600" y="130" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="W1hrzCVxCjYkh5StqpZ1-5" value="find_primes(n, notifier)" style="html=1;verticalAlign=bottom;endArrow=block;edgeStyle=elbowEdgeStyle;elbow=vertical;curved=0;rounded=0;" edge="1" parent="1">
<mxGeometry x="-0.0004" relative="1" as="geometry">
<mxPoint x="610" y="140" as="sourcePoint" />
<Array as="points" />
<mxPoint x="740" y="139" as="targetPoint" />
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="W1hrzCVxCjYkh5StqpZ1-10" value="push("primes_done", ...)" style="html=1;verticalAlign=bottom;endArrow=open;dashed=1;endSize=8;edgeStyle=elbowEdgeStyle;elbow=vertical;curved=0;rounded=0;exitX=0.4;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1">
<mxGeometry x="0.3333" relative="1" as="geometry">
<mxPoint x="610" y="270" as="targetPoint" />
<Array as="points">
<mxPoint x="710" y="270" />
<mxPoint x="770" y="200" />
<mxPoint x="745" y="270" />
</Array>
<mxPoint x="780" y="170" as="sourcePoint" />
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="W1hrzCVxCjYkh5StqpZ1-12" value="spiral.js" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=0;dropTarget=0;collapsible=0;recursiveResize=0;outlineConnect=0;portConstraint=eastwest;newEdgeStyle={"edgeStyle":"elbowEdgeStyle","elbow":"vertical","curved":0,"rounded":0};" vertex="1" parent="1">
<mxGeometry x="30" y="40" width="100" height="300" as="geometry" />
</mxCell>
<mxCell id="W1hrzCVxCjYkh5StqpZ1-13" value="" style="html=1;points=[];perimeter=orthogonalPerimeter;outlineConnect=0;targetShapes=umlLifeline;portConstraint=eastwest;newEdgeStyle={"edgeStyle":"elbowEdgeStyle","elbow":"vertical","curved":0,"rounded":0};" vertex="1" parent="W1hrzCVxCjYkh5StqpZ1-12">
<mxGeometry x="45" y="70" width="10" height="190" as="geometry" />
</mxCell>
<mxCell id="aM9ryv3xv72pqoxQDRHE-3" value="<br>Click Button: "<b>Start Calculation</b>"" style="html=1;verticalAlign=bottom;startArrow=oval;endArrow=block;startSize=8;edgeStyle=elbowEdgeStyle;elbow=vertical;curved=0;rounded=0;" parent="1" edge="1">
<mxGeometry x="-1" y="-10" relative="1" as="geometry">
<mxPoint x="150" y="40" as="sourcePoint" />
<mxPoint x="204" y="120" as="targetPoint" />
<Array as="points">
<mxPoint x="178" y="120" />
</Array>
<mxPoint x="10" y="-10" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="W1hrzCVxCjYkh5StqpZ1-16" value="notifier(:new_prime, i)" style="html=1;verticalAlign=bottom;endArrow=block;dashed=1;edgeStyle=elbowEdgeStyle;elbow=vertical;curved=0;rounded=0;" edge="1" parent="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="600" y="177" as="sourcePoint" />
<Array as="points">
<mxPoint x="510" y="177" />
</Array>
<mxPoint x="420" y="177.24" as="targetPoint" />
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="W1hrzCVxCjYkh5StqpZ1-17" value="push("new_prime", ...)" style="html=1;verticalAlign=bottom;endArrow=block;edgeStyle=elbowEdgeStyle;elbow=vertical;curved=0;rounded=0;exitX=0.014;exitY=0.817;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1" source="W1hrzCVxCjYkh5StqpZ1-20">
<mxGeometry x="-0.0773" relative="1" as="geometry">
<mxPoint x="719.96" y="169.76" as="sourcePoint" />
<Array as="points">
<mxPoint x="660" y="169.76" />
</Array>
<mxPoint x="610" y="169.76" as="targetPoint" />
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="W1hrzCVxCjYkh5StqpZ1-19" value="addPointToGrid(x, y)" style="html=1;verticalAlign=bottom;endArrow=block;dashed=1;edgeStyle=elbowEdgeStyle;elbow=vertical;curved=0;rounded=0;" edge="1" parent="1" source="aM9ryv3xv72pqoxQDRHE-2" target="W1hrzCVxCjYkh5StqpZ1-13">
<mxGeometry relative="1" as="geometry">
<mxPoint x="200" y="220" as="sourcePoint" />
<Array as="points">
<mxPoint x="100" y="220" />
</Array>
<mxPoint x="10" y="220.24" as="targetPoint" />
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="W1hrzCVxCjYkh5StqpZ1-20" value="async stream" style="strokeWidth=2;html=1;shape=mxgraph.flowchart.multi-document;whiteSpace=wrap;" vertex="1" parent="1">
<mxGeometry x="740" y="120" width="100" height="60" as="geometry" />
</mxCell>
<mxCell id="W1hrzCVxCjYkh5StqpZ1-21" value="<div>remote<br>distribution</div>" style="ellipse;shape=cloud;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="790" y="190" width="90" height="70" as="geometry" />
</mxCell>
<mxCell id="W1hrzCVxCjYkh5StqpZ1-22" value="handle_info({:primes_done,...})" style="html=1;verticalAlign=bottom;endArrow=open;dashed=1;endSize=8;edgeStyle=elbowEdgeStyle;elbow=vertical;curved=0;rounded=0;" edge="1" parent="1" source="W1hrzCVxCjYkh5StqpZ1-2" target="aM9ryv3xv72pqoxQDRHE-6">
<mxGeometry relative="1" as="geometry">
<mxPoint x="425" y="280" as="targetPoint" />
<Array as="points">
<mxPoint x="540" y="280" />
<mxPoint x="525" y="280" />
<mxPoint x="585" y="210" />
<mxPoint x="560" y="280" />
</Array>
<mxPoint x="595" y="280" as="sourcePoint" />
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="W1hrzCVxCjYkh5StqpZ1-24" value="" style="endArrow=classic;startArrow=classic;html=1;rounded=0;entryX=0.45;entryY=0.061;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0.771;exitY=0.873;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1" source="W1hrzCVxCjYkh5StqpZ1-20" target="W1hrzCVxCjYkh5StqpZ1-21">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="820" y="240" as="sourcePoint" />
<mxPoint x="830" y="290" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="W1hrzCVxCjYkh5StqpZ1-26" value="" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.annotation_2;align=left;labelPosition=right;pointerEvents=1;rotation=-90;" vertex="1" parent="1">
<mxGeometry x="311.88" y="200.63" width="33.75" height="352.5" as="geometry" />
</mxCell>
<mxCell id="W1hrzCVxCjYkh5StqpZ1-27" value="" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.annotation_2;align=left;labelPosition=right;pointerEvents=1;rotation=-90;" vertex="1" parent="1">
<mxGeometry x="62.5" y="332.5" width="35" height="90" as="geometry" />
</mxCell>
<mxCell id="W1hrzCVxCjYkh5StqpZ1-28" value="" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.annotation_2;align=left;labelPosition=right;pointerEvents=1;rotation=-90;" vertex="1" parent="1">
<mxGeometry x="686.88" y="213.13" width="31.25" height="325" as="geometry" />
</mxCell>
<mxCell id="W1hrzCVxCjYkh5StqpZ1-30" value="" style="shape=image;verticalLabelPosition=bottom;labelBackgroundColor=default;verticalAlign=top;aspect=fixed;imageAspect=0;image=https://www.phoenixframework.org/images/phoenix-orange.png;" vertex="1" parent="1">
<mxGeometry x="240" y="409.31" width="208.75" height="28.36" as="geometry" />
</mxCell>
<mxCell id="W1hrzCVxCjYkh5StqpZ1-31" value="" style="shape=image;verticalLabelPosition=bottom;labelBackgroundColor=default;verticalAlign=top;aspect=fixed;imageAspect=0;image=https://www.startpage.com/sp/sxpra?url=https%3A%2F%2Fupload.wikimedia.org%2Fwikipedia%2Fen%2Fa%2Fa4%2FElixir_programming_language_logo.png;" vertex="1" parent="1">
<mxGeometry x="678.13" y="390" width="40" height="45.2" as="geometry" />
</mxCell>
<mxCell id="W1hrzCVxCjYkh5StqpZ1-33" value="" style="shape=image;verticalLabelPosition=bottom;labelBackgroundColor=default;verticalAlign=top;aspect=fixed;imageAspect=0;image=https://upload.wikimedia.org/wikipedia/commons/thumb/3/3f/Three.js_Icon.svg/220px-Three.js_Icon.svg.png;" vertex="1" parent="1">
<mxGeometry x="37.5" y="392.47" width="45" height="45" as="geometry" />
</mxCell>
<mxCell id="W1hrzCVxCjYkh5StqpZ1-34" value="<div><b>Three.js</b></div>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
<mxGeometry x="60" y="407.67" width="70" height="30" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>