Messenger Library (original) (raw)
About This File
Advanced messaging made simple!
Messenger Library is a library for message passing using a variety of powerful Messaging Patterns, and a set of Templates for easily creating parallel modules to interact with those Patterns. Together, these comprise a powerful and deep framework for rapid application development.
Communication patterns supported and other features include:
- -- Request-and-wait-for-Reply
- -- Asynchronous Request-Reply, where the reply is sent to a "reply address" attached to the request
- -- Scatter-Gather: Requests sent to multiple addresses, with all Replies gathered together in order
- -- Register-Notify, where one process sends a registration message to another in order to subscribe to published messages.
- -- Future Token, a reference to a future Reply not yet made
- -- Asynchronous Dialog: query the User without blocking (User's response sent as a message)
- -- Delayed Request: message sent with a set asynchronous delay
- -- Metronome, a source of precisely-timed periodic messages
- -- Timeout Watchdog: trigger an action if something expected doesn't happen
Freely intermix communication by Queues, User Events or Notifiers.
First-class support for TCP communication, allowing easy interaction of multiple executables using any of the Messaging Patterns. Also supports UDP, including multicast.
Module Templates are simple, consisting of a single VI and a single loop, and are robust against race conditions (unlike the more complex "Producer Consumer" NI templates)
Includes two utilities under the menu "Tools>>Messenger Library":
- -- a utility to create a new parallel modules from a set of well-tested templates
- -- a Manager utility to see all running Modules
Multiple Examples are included. Of particular interest are:
- -- An example developed over a series of YouTube videos (linked below)
- -- A redo of the standard "Continuous Measurement and Logging" Example using Messenger Library
- -- TCP Reconnecting Example, showing easy network communication with handling of temporary disconnects
Note: Messenger Library is intended to promote actor-oriented design, but is not related to the Actor Framework.
***Introductory Videos are on a YouTube channel.***
***A great summary of many Messenger Library sources, provided by Bob W Edwards***
JDP Science Tools group on NI.com.
Edited January 8 by drjdpowell
Update
What's New in Version 2.1.7 See changelog
Released January 8
- Significantly-improved palette layout.
- Better Icons, especially for Register-Notify API;
- Better "Create Actor from Template" Tool, with Template Descriptions.
- TCP Cient and Sever Templates. "DEV Top Level"
- Template now includes Config File done with JSONtext.