Skip to content

Commit a1844f8

Browse files
committed
Implemented Error Generation, Reporting, and Handling see #8
*Define custom error codes *generate errors and propagate them to the subscribers (client or server) *The client subscriber must override the "Handle Last Ack Core" method and from that extract the error of the client shutting down *The subscriber of the server must override the "Handle Error" method to catch the specific errors* * If an unknown error leads to an invalid Listener reference the server will now shutdown, because it would then kill possibly working connections to clients, but it will stop accepting definitions of new services by throwing a specific error
1 parent 72caf66 commit a1844f8

18 files changed

Lines changed: 160 additions & 32 deletions

Install Error Codes.vi

7.69 KB
Binary file not shown.

WebSocket Actor.lvlps

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
[ProjectWindow_Data]
2-
ProjectExplorer.ClassicPosition[String] = "127,777,953,1296"
2+
ProjectExplorer.ClassicPosition[String] = "37,777,915,1296"

WebSocket Actor.lvproj

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,19 +23,22 @@
2323
<Item Name="LV WebSockets.lvlib" Type="Library" URL="/&lt;vilib&gt;/LS Instruments AG/LV-WebSockets/LV WebSockets.lvlib"/>
2424
</Item>
2525
<Item Name="VIPM" Type="Folder">
26+
<Item Name="Install Error Codes.vi" Type="VI" URL="../Install Error Codes.vi"/>
2627
<Item Name="WebSocket-Actor.vipb" Type="Document" URL="../WebSocket-Actor.vipb"/>
2728
<Item Name="WebSocket-Actor.vipc" Type="Document" URL="../WebSocket-Actor.vipc"/>
2829
</Item>
2930
<Item Name="README.md" Type="Document" URL="../README.md"/>
3031
<Item Name="WebSocket Actor Release Notes.txt" Type="Document" URL="../WebSocket Actor Release Notes.txt"/>
3132
<Item Name="WebSocket Actors.lvlib" Type="Library" URL="../WebSocket Actor/WebSocket Actors.lvlib"/>
33+
<Item Name="WebSocket-Actors-errors.txt" Type="Document" URL="../WebSocket-Actors-errors.txt"/>
3234
<Item Name="Dependencies" Type="Dependencies">
3335
<Item Name="user.lib" Type="Folder">
3436
<Item Name="openg_error.lvlib" Type="Library" URL="/&lt;userlib&gt;/_OpenG.lib/error/error.llb/openg_error.lvlib"/>
3537
<Item Name="openg_time.lvlib" Type="Library" URL="/&lt;userlib&gt;/_OpenG.lib/time/time.llb/openg_time.lvlib"/>
3638
</Item>
3739
<Item Name="vi.lib" Type="Folder">
3840
<Item Name="Actor Framework.lvlib" Type="Library" URL="/&lt;vilib&gt;/ActorFramework/Actor Framework.lvlib"/>
41+
<Item Name="Application Directory.vi" Type="VI" URL="/&lt;vilib&gt;/Utility/file.llb/Application Directory.vi"/>
3942
<Item Name="BuildHelpPath.vi" Type="VI" URL="/&lt;vilib&gt;/Utility/error.llb/BuildHelpPath.vi"/>
4043
<Item Name="Check Special Tags.vi" Type="VI" URL="/&lt;vilib&gt;/Utility/error.llb/Check Special Tags.vi"/>
4144
<Item Name="Clear Errors.vi" Type="VI" URL="/&lt;vilib&gt;/Utility/error.llb/Clear Errors.vi"/>
@@ -61,8 +64,10 @@
6164
<Item Name="Longest Line Length in Pixels.vi" Type="VI" URL="/&lt;vilib&gt;/Utility/error.llb/Longest Line Length in Pixels.vi"/>
6265
<Item Name="LVBoundsTypeDef.ctl" Type="VI" URL="/&lt;vilib&gt;/Utility/miscctls.llb/LVBoundsTypeDef.ctl"/>
6366
<Item Name="LVRectTypeDef.ctl" Type="VI" URL="/&lt;vilib&gt;/Utility/miscctls.llb/LVRectTypeDef.ctl"/>
67+
<Item Name="NI_FileType.lvlib" Type="Library" URL="/&lt;vilib&gt;/Utility/lvfile.llb/NI_FileType.lvlib"/>
6468
<Item Name="NI_SystemLogging.lvlib" Type="Library" URL="/&lt;vilib&gt;/Utility/SystemLogging/NI_SystemLogging.lvlib"/>
6569
<Item Name="Not Found Dialog.vi" Type="VI" URL="/&lt;vilib&gt;/Utility/error.llb/Not Found Dialog.vi"/>
70+
<Item Name="Report Error Msg.lvclass" Type="LVClass" URL="/&lt;vilib&gt;/ActorFramework/Report Error Msg/Report Error Msg.lvclass"/>
6671
<Item Name="Search and Replace Pattern.vi" Type="VI" URL="/&lt;vilib&gt;/Utility/error.llb/Search and Replace Pattern.vi"/>
6772
<Item Name="Set Bold Text.vi" Type="VI" URL="/&lt;vilib&gt;/Utility/error.llb/Set Bold Text.vi"/>
6873
<Item Name="Set String Value.vi" Type="VI" URL="/&lt;vilib&gt;/Utility/error.llb/Set String Value.vi"/>

WebSocket Actor/WebSocket Actors.lvlib

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@
4646
<Item Name="Add Client Msg.lvclass" Type="LVClass" URL="../WebSocket Service Messages/Add Client Msg/Add Client Msg.lvclass"/>
4747
<Item Name="WebSocket Service Connection Handler Msg.lvclass" Type="LVClass" URL="../WebSocket Service Messages/WebSocket Service Connection Handler Msg/WebSocket Service Connection Handler Msg.lvclass"/>
4848
</Item>
49+
<Item Name="Write Listener Down Msg.lvclass" Type="LVClass" URL="../WebSocket Server Messages/Write Listener Down Msg/Write Listener Down Msg.lvclass"/>
4950
</Item>
5051
<Item Name="Palette" Type="Folder">
5152
<Item Name="Open Examples.vi" Type="VI" URL="../WebSocket Actor Palette/Open Examples.vi"/>
4.8 KB
Binary file not shown.
17.3 KB
Binary file not shown.

WebSocket Actor/WebSocket Server Manager/WebSocket Server Manager.lvclass

Lines changed: 27 additions & 13 deletions
Large diffs are not rendered by default.
Binary file not shown.
Binary file not shown.

WebSocket Actor/WebSocket Server Messages/Write Listener Down Msg/Write Listener Down Msg.lvclass

Lines changed: 49 additions & 0 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)