-
Try out the new Jake: AI Coding Assistant for LabVIEW (beta)!
Get answers to questions about LabVIEW and discuss your code.
IG Stream Messaging by Illuminated G - Toolkit for LabVIEW Download
Version | 1.0.0.35 |
Released | Nov 12, 2022 |
Publisher | Illuminated G |
License | MIT |
LabVIEW Version | LabVIEW>=20.0 |
Operating System | Windows, Mac, and Linux |
Dependencies | illuminatedg_lib_ig_stream_base illuminatedg_lib_ig_web&crypto |
Used By | illuminatedg_lib_ig_http_server illuminatedg_lib_ig_websocket_&_tcp_messaging_example illuminatedg_lib_ig_stream_messaging_examples |
Project links | Homepage Repository |
Description
Provides a messaging layer overtop of a stream implementation based on IG Stream Base. Allows using a single communication stream to send multiple messages identified by a string. VI Callbacks are the mechanism used to process incoming messages which allow the developer to choose whether the message gets forwarded by events, queues, notifiers, or some other means.
Messages can be sent to all currently connected endoints (broadcasting) via the messaging manager or to specific endpoints by sending to a specific endpoint instance. Callbacks can also be registered to handle new connections or disconnections. Each endpoint runs in its own asynchronous messaging loop to take advantage of multi-threading and run without polling behaviors for efficiency.
Examples for this library are provided in the IG Simple Msg Examples package and also depend on IG TCP Stream as they use TCP streaming to communicate between parts of the examples. An example is included for basic data streaming from a data producer and a display. Another example is an updated chat application that provides more features than the chat example included with the TCP Stream package.
Release Notes
- Message interfacing simplification for easier use with basic data types
- Moved flattening functionality from stream to messaging. Only support's LV's string flattening to remain "simple"
- Added capability of sending and receiving data as JSON, especially useful when paired with WebSocket streams