5. Selective Routing¶
The selective routing functionality allows to define which kind of data (which topics and which partitions) should be routed or not by Vortex Link. This is defined with the help of a black list and/or a white list. Each list is defined in a different file containing a partition.topic combination on each line. partition.topic combinations may contain wild-card ‘*’ characters.
Example :
partitionA.topicA
*.topicB
partitionB.*
A*.C
Each Vortex Link service can be configured to point to a black list file and/or a white list file with the help of link.blacklist.file and link.whitelist.file configuration properties.
When a white list is defined, partition.topic combinations not present in the white list will not be routed by Vortex Link. When a black list is defined, partition.topic combinations present in the black list will not be routed by Vortex Link. When both white list and black list are defined, black list has precedence over white list: partition.topic combinations present in both lists will not be routed by Vortex Link.
Different black lists and white lists can be defined in each different Vortex Link service of the system. This means that some partition.topic combinations may be routed from/to some sub systems/applications but not from/to some other sub systems/applications in the system.
- WARNING Partitions containing a wild-card ‘*’ character are never blocked. So user entities configured with partitions containing a wild-card ‘*’ character will always be able to send receive data on those partitions whatever is defined in the black and white lists.
5.1. Specific case of Vortex Link as an intermediate routing point¶
Note that Vortex Link only applies Selective Routing to the subsystem or devices it routes directly (i.e. only to DDS applications it discovered directly via UDP multicast or TCP). If Vortex Link is used as an intermediate routing point between 2 (or more) services, it wont apply Selective Routing to the data it routes between those services.
For instance, with an Indirect-LAN-to-LAN deployment as such:
Vortex Link applies the blacklisting of “topicA” only to DDS applications it directly discovered. But it still routes data on “topicA” between the two Vortex Link services deployed in subsystems.