Hi folks,
Unfortunately I don't have the opportunity to follow the live streams on monday, so I watched the replay on youtube this evening. The pluggable message routing is one of my favorite items on the backlog, so it was really interesting to watch this one. So much fun to see how the development of such an important feature is being started from scratch...
If you are interested in core development, you should really watch it! It is a great initiative that we get involved with development this way
But I have some questions, so I'm going to post them here. Although I understand that the design is far from complete yet, so perhaps it is a bit early for some of those...
-
Looking at the code, it seems like there is 1 router stack per flow. Is that correct?
As a result I assume that all wires in a flow share the same router stack? But then I not really understand how we can send something to a remote flow, when "all" wires have a RemoteRouter (while the nodes in that flow run locally)? Don't see the picture yet...
-
In the live-stream some time ago for Js foundation, there was an interesting thought that groups (= new feature from the 1.1 release) could be run in the future on a remote machine. Is that somehow related to the RemoteRouter also, or not? I mean, has a group also a router stack?
-
Do PreMessageLogger and PostMessageLogger have different functionality, or is it also possible to add the same logger on multiple locations in the router stack?
-
Currently - when an output is connected to N wires - the message will cloned N-1 times. Is the cloning mechanism the same in the new setup with pluggable routing? Reason of my question is that I try to avoid message cloning (as much as possible) when messages contain lots of data (e.g. audio or video). When using a RemoteRouter, I assume that it will serialize the data anyway (?) so cloning in advance is not really required?? I assume cloning will not be inside one of the routers in the stack?
-
In the past there have been some discussions about introducing a "Wire.js" object in Node-RED, which can have its own properties. Is that also related to the pluggable routing somehow, or does it have nothing to do with it?
-
The hot pluggable stack makes sense to me. Could this perhaps become a new sidebar panel, where multiple stacks can be managed and activated?
I also like the idea of having in a 1.x release a minimal version (with only a LocalRouter in the router stack).
Bart