Today I noticed I had a new channel writer endpoint called "Messenger2". I just installed 2019 SP1, so I am guessing it could come from there. Anyone else see it? Now, should i use "Messenger" or "Messenger2"?
Solved! Go to Solution.
The Messenger Channel is the one I use the most. I've never heard of "Messenger2", but then I haven't (been brave enough to) install LabVIEW 2019 SP1 (it took me months to get 2019 to install along with my earlier 2016 and 2018 installs). Does the "What's New" document say anything about this?
Bob "Channel Wire" Schor
Messenger is deprecated in favor of Messenger2. Messenger still exists and still works, but it is no longer in the top of the list. Messenger2 works a lot better (fewer oddities when building applications). There shouldn't be any functional differences between the two in this release. In a future release, the two may diverge... the internal architecture of Messenger2 is both simpler and more extensible. And its architecture is likely easier for LabVIEW's compiler to chew on, so the performance may boost in future years.
...Does the "What's New" document say anything about this?
Bob "Channel Wire" Schor
Not that I could find. When SP1 came out I scanned the fixed issues list. It had one fix regarding channel wires (did not fix my CAR#738559 unfortunately). I looked through the upgrade notes now and could not see it (it doesn't say anything about SP's). I also always read "LabVIEW 20xx Features and Changes" every year (its like opening a christmas gift) but nothing there. I couldn't find anything called "what's new" though.
AQ, thank you for the answer. The only thing left is just that it was a bit confusing when there were two messenger types and no clear distinction in the description for them (different words but similar meaning). And since I have had some weird issues with channel wires I had a suspicion that it could maybe have corrupted LV and when SP1 was installed, "Messenger2" was "Messenger" but renamed at install.
If Messenger2 is more of a 2nd gen, then it would be good to have the description say something about it. Messenger2 says "Writes a value to a Messenger channel, blocking if the channel is full.", but Messenger says "Writes an element to a Messenger channel. The endpoint waits if the channel is full." The description for Messenger is clear, but what does "blocking" mean in this context. Blocking what? Until when? The other types says "...waits if the channel is full". So is there a difference in behavior or is the wording just different? If there is a difference in behavior I think that it needs better description, and if the behavior is the same then the description should match.
The help documentation refers to "Messenger" and not "Messenger2". There is nothing about Messenger2 in the help.
The examples (at least one of them) use Messenger2 so that's good I think.
AQ, I'm leaving that as input and will mark your answer as solution.
AQ's response may be a reason to upgrade to 2019 SP1. The only thing impeding me is that it's taken me almost 6 months to have all of my PCs (three) to have a 100% stable, functioning Windows 10 installation of LabVIEW 2016, 2018 SP1, and 2019 (LabVIEW, Real Time, Vision Development Module, DAQmx, VISA, PXI Platform Services, and Vision Application Software). As recently as last week, I discovered that the first such "Triple LabVIEW" installation, completed last June, had no working NI Authentication Service ...
Thols: I'll make a note to tech writers to review the documentation of Messenger2. It should've been a duplicate of Messenger. I'll also augment the dialog (myself or my team) to put [Deprecated] next to Messenger to make that clearer. Thanks for the feedback.