Question on specifying localhost and inter-computer topics #942
Replies: 1 comment 1 reply
-
Short answer: No, there is no way to control the network-availability of topics an a per-topic level. Long answer: All eCAL Processes that run in network mode advertise all of their topics in the network. This behavior is controlled by the You can make each process load its own Another workaround is to control the transport layer from your code. In the eCAL CPublisher API you can override the layer that is being used for data transport and just turn UDP and TCP off for topics that are supposed to stay locally. The process will however still advertise the topic in the network and remote processes will be able to subscribe to them - but they will not receive any data. My suggested solution would be to prefix your topics with your hostname. So you don't publish them in a plain list like Another workaround is to not use the eCAL network mode at all, but run a proxy application that subscribes to a specific set of topics on one PC (via SHM), transports those over network and re-publishes them via SHM. @hannemn |
Beta Was this translation helpful? Give feedback.
-
May I know If there is a good way to specify only a subset of topics to be available for inter-computer discovery & transimission, while in the network-mode of eCAL?
The motivation is there are many topics created and exchanged within the same computer, mostly for pipelines of data processing. But they are not interesting to other computers (nodes) in the networking. Only a small number of final topics are of interest to be exchanged between computers over network (wired or wireless).
Another motivation is to have natural topic namespace. If we make all topics discoverable for all machines under the same network, we have to manually make sure all nodes are not publishing duplicated topic names. But if we know topics are default only discover-able localhost, then we can only worry about scoping topic names for those topics selected for inter-computer exchange.
Beta Was this translation helpful? Give feedback.
All reactions