Skip to content

Commit 57c10eb

Browse files
committed
Initial commit of the SuperNS code
1 parent 9b2411d commit 57c10eb

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+4295
-6
lines changed

README.md

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
# Super Network Streams
2-
VIT Super Network Streams is a class encapsulating and extending Network Stream functionality.
2+
The Super Network Streams is a class (background process) that encapsulates LabVIEW Network Stream functionality to:
3+
- Send/Receive LabVIEW Objects
4+
- Autorecovery if the remote endpoint gets destoyed or has a connection timeout
5+
- Background stream reading and publish the received data via user events
6+
- Allows communication between two applications on the same machine (localhost)
37

4-
VIT Super Network Streams tackle the critical challenge of maintaining continuous data flow even when network disruptions occur. Thanks to the integrated connection watchdog, any disruption such as an endpoint reset is automatically detected and corrected, ensuring that your data remains intact and reliable.
5-
6-
These streams serve as one-way, buffered communication paths, allowing for high-throughput data streaming with the resilience of lossless transmission. This automated reliability frees developers from the complexities of network protocols, allowing them to devote their energy to application development.
8+
The class has a read or write mode, so the same class can be used on both endpoints.
79

810
Designed with a focus on simplicity and efficiency, Super Network Streams are perfect for developers who need dependable inter-process communication without the hassle of manual reconnection logic.
911

@@ -35,8 +37,8 @@ Workflow:
3537

3638
## Credits
3739

38-
VIT Super Network Stream is an open source project maintained by [VI Technologies](http://vi-tech.nl).
40+
VIT Super Network Streams is an open source project maintained by [VI Technologies](http://vi-tech.nl).
3941

4042
## License
4143

42-
VIT Super Network Stream is distributed under the open source three clause BSD license providing everyone right to use and distribute both souce code and compiled versions of the VIT Super Network Stream. See [LICENSE](https://github.com/VITechnologies/VIT-Super-Network-Streams/blob/main/LICENSE) file for details.
44+
VIT Super Network Stream is distributed under the open source BSD 3-Clause License providing everyone right to use and distribute both souce code and compiled versions of the VIT Super Network Streams. See [LICENSE](https://github.com/VITechnologies/VIT-Super-Network-Streams/blob/main/LICENSE) file for details.

docs/ClassDiagram.uml

Lines changed: 228 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,228 @@
1+
<Cluster>
2+
<Name></Name>
3+
<NumElts>5</NumElts>
4+
<EW>
5+
<Name>TYPEDEF-FileSaveVersion</Name>
6+
<Choice>A</Choice>
7+
<Val>0</Val>
8+
</EW>
9+
<EW>
10+
<Name>diagramType</Name>
11+
<Choice>None</Choice>
12+
<Choice>Class</Choice>
13+
<Choice>Sequency</Choice>
14+
<Choice>State</Choice>
15+
<Choice>UseCase</Choice>
16+
<Val>1</Val>
17+
</EW>
18+
<String>
19+
<Name>DiagramData</Name>
20+
<Val></Val>
21+
</String>
22+
<Cluster>
23+
<Name>nodeInfo</Name>
24+
<NumElts>4</NumElts>
25+
<Array>
26+
<Name>NodeType</Name>
27+
<Dimsize>1</Dimsize>
28+
<String>
29+
<Name>Class name</Name>
30+
<Val>ClassNode</Val>
31+
</String>
32+
</Array>
33+
<Array>
34+
<Name>ParentIndex</Name>
35+
<Dimsize>1</Dimsize>
36+
<I32>
37+
<Name>index of element</Name>
38+
<Val>-1</Val>
39+
</I32>
40+
</Array>
41+
<Array>
42+
<Name>ChildernIndexies</Name>
43+
<Dimsize>1</Dimsize>
44+
<Cluster>
45+
<Name></Name>
46+
<NumElts>1</NumElts>
47+
<Array>
48+
<Name></Name>
49+
<Dimsize>0</Dimsize>
50+
<I32>
51+
<Name>index of element</Name>
52+
<Val></Val>
53+
</I32>
54+
</Array>
55+
</Cluster>
56+
</Array>
57+
<Array>
58+
<Name>FlattenData</Name>
59+
<Dimsize>1</Dimsize>
60+
<String>
61+
<Name>XML Out</Name>
62+
<Val>&lt;Cluster&gt;
63+
&lt;Name&gt;&lt;/Name&gt;
64+
&lt;NumElts&gt;4&lt;/NumElts&gt;
65+
&lt;Cluster&gt;
66+
&lt;Name&gt;Attributes&lt;/Name&gt;
67+
&lt;NumElts&gt;12&lt;/NumElts&gt;
68+
&lt;Cluster&gt;
69+
&lt;Name&gt;Base class&lt;/Name&gt;
70+
&lt;NumElts&gt;2&lt;/NumElts&gt;
71+
&lt;Cluster&gt;
72+
&lt;Name&gt;Base class&lt;/Name&gt;
73+
&lt;NumElts&gt;3&lt;/NumElts&gt;
74+
&lt;Refnum&gt;
75+
&lt;Name&gt;parent&lt;/Name&gt;
76+
&lt;RefKind&gt;Data Log File&lt;/RefKind&gt;
77+
&lt;Val&gt;0x00000000&lt;/Val&gt;
78+
&lt;/Refnum&gt;
79+
&lt;Array&gt;
80+
&lt;Name&gt;children&lt;/Name&gt;
81+
&lt;Dimsize&gt;0&lt;/Dimsize&gt;
82+
&lt;Refnum&gt;
83+
&lt;Name&gt;reference&lt;/Name&gt;
84+
&lt;RefKind&gt;Data Log File&lt;/RefKind&gt;
85+
&lt;Val&gt;&lt;/Val&gt;
86+
&lt;/Refnum&gt;
87+
&lt;/Array&gt;
88+
&lt;Boolean&gt;
89+
&lt;Name&gt;Hidden&lt;/Name&gt;
90+
&lt;Val&gt;0&lt;/Val&gt;
91+
&lt;/Boolean&gt;
92+
&lt;/Cluster&gt;
93+
&lt;Cluster&gt;
94+
&lt;Name&gt;bounds&lt;/Name&gt;
95+
&lt;NumElts&gt;4&lt;/NumElts&gt;
96+
&lt;DBL&gt;
97+
&lt;Name&gt;x&lt;/Name&gt;
98+
&lt;Val&gt;100.00000000000000&lt;/Val&gt;
99+
&lt;/DBL&gt;
100+
&lt;DBL&gt;
101+
&lt;Name&gt;y&lt;/Name&gt;
102+
&lt;Val&gt;60.00000000000000&lt;/Val&gt;
103+
&lt;/DBL&gt;
104+
&lt;DBL&gt;
105+
&lt;Name&gt;width&lt;/Name&gt;
106+
&lt;Val&gt;170.00000000000000&lt;/Val&gt;
107+
&lt;/DBL&gt;
108+
&lt;DBL&gt;
109+
&lt;Name&gt;height&lt;/Name&gt;
110+
&lt;Val&gt;230.00000000000000&lt;/Val&gt;
111+
&lt;/DBL&gt;
112+
&lt;/Cluster&gt;
113+
&lt;/Cluster&gt;
114+
&lt;DBL&gt;
115+
&lt;Name&gt;midHeight&lt;/Name&gt;
116+
&lt;Val&gt;126.00000000000000&lt;/Val&gt;
117+
&lt;/DBL&gt;
118+
&lt;DBL&gt;
119+
&lt;Name&gt;botHeight&lt;/Name&gt;
120+
&lt;Val&gt;84.00000000000000&lt;/Val&gt;
121+
&lt;/DBL&gt;
122+
&lt;Refnum&gt;
123+
&lt;Name&gt;name&lt;/Name&gt;
124+
&lt;RefKind&gt;Data Log File&lt;/RefKind&gt;
125+
&lt;Val&gt;0x00000000&lt;/Val&gt;
126+
&lt;/Refnum&gt;
127+
&lt;Refnum&gt;
128+
&lt;Name&gt;attributes&lt;/Name&gt;
129+
&lt;RefKind&gt;Data Log File&lt;/RefKind&gt;
130+
&lt;Val&gt;0x00000000&lt;/Val&gt;
131+
&lt;/Refnum&gt;
132+
&lt;Refnum&gt;
133+
&lt;Name&gt;methods&lt;/Name&gt;
134+
&lt;RefKind&gt;Data Log File&lt;/RefKind&gt;
135+
&lt;Val&gt;0x00000000&lt;/Val&gt;
136+
&lt;/Refnum&gt;
137+
&lt;I32&gt;
138+
&lt;Name&gt;DEFAULT_COMPARTMENT_HEIGHT&lt;/Name&gt;
139+
&lt;Val&gt;20&lt;/Val&gt;
140+
&lt;/I32&gt;
141+
&lt;I32&gt;
142+
&lt;Name&gt;DEFAULT_WIDTH&lt;/Name&gt;
143+
&lt;Val&gt;100&lt;/Val&gt;
144+
&lt;/I32&gt;
145+
&lt;I32&gt;
146+
&lt;Name&gt;DEFAULT_HEIGHT&lt;/Name&gt;
147+
&lt;Val&gt;60&lt;/Val&gt;
148+
&lt;/I32&gt;
149+
&lt;Boolean&gt;
150+
&lt;Name&gt;showMethods&lt;/Name&gt;
151+
&lt;Val&gt;1&lt;/Val&gt;
152+
&lt;/Boolean&gt;
153+
&lt;Boolean&gt;
154+
&lt;Name&gt;showAttributes&lt;/Name&gt;
155+
&lt;Val&gt;1&lt;/Val&gt;
156+
&lt;/Boolean&gt;
157+
&lt;Path&gt;
158+
&lt;Name&gt;ClassPath&lt;/Name&gt;
159+
&lt;Val&gt;SuperNS\SuperNS.lvclass&lt;/Val&gt;
160+
&lt;/Path&gt;
161+
&lt;/Cluster&gt;
162+
&lt;String&gt;
163+
&lt;Name&gt;text&lt;/Name&gt;
164+
&lt;Val&gt;SuperNS&lt;/Val&gt;
165+
&lt;/String&gt;
166+
&lt;String&gt;
167+
&lt;Name&gt;text&lt;/Name&gt;
168+
&lt;Val&gt;NSName : STRING
169+
RemoteEP_URL : STRING
170+
BufferSize : INT32
171+
ElementAllocationMode : STRING
172+
Timeout : INT32
173+
Writer : BOOL
174+
ReadDataEvent : STRING
175+
FlushAfterWrite : BOOL
176+
FlushWaitCondition : STRING&lt;/Val&gt;
177+
&lt;/String&gt;
178+
&lt;String&gt;
179+
&lt;Name&gt;text&lt;/Name&gt;
180+
&lt;Val&gt;+Create
181+
+Destroy
182+
+WriteToStream
183+
+GetReadDataEventReg
184+
-StartThread
185+
-ConnRecoveryThread&lt;/Val&gt;
186+
&lt;/String&gt;
187+
&lt;/Cluster&gt;
188+
</Val>
189+
</String>
190+
</Array>
191+
</Cluster>
192+
<Cluster>
193+
<Name>edgeInfo</Name>
194+
<NumElts>4</NumElts>
195+
<Array>
196+
<Name>EdgeType</Name>
197+
<Dimsize>0</Dimsize>
198+
<String>
199+
<Name>Class name</Name>
200+
<Val></Val>
201+
</String>
202+
</Array>
203+
<Array>
204+
<Name>StartNodeIndex</Name>
205+
<Dimsize>0</Dimsize>
206+
<I32>
207+
<Name>index of element</Name>
208+
<Val></Val>
209+
</I32>
210+
</Array>
211+
<Array>
212+
<Name>EndNodeIndex</Name>
213+
<Dimsize>0</Dimsize>
214+
<I32>
215+
<Name>index of element</Name>
216+
<Val></Val>
217+
</I32>
218+
</Array>
219+
<Array>
220+
<Name>FlattenData</Name>
221+
<Dimsize>0</Dimsize>
222+
<String>
223+
<Name>XML Out</Name>
224+
<Val></Val>
225+
</String>
226+
</Array>
227+
</Cluster>
228+
</Cluster>

0 commit comments

Comments
 (0)