Replies: 1 comment
-
Hi @draum, Unfortunately, there is no easy method to know from which Domain/partition a sample is coming. In that sense, mind that the DDS specification is data-centric and focused on the data itself, not on the origin of the data. That said, you could prepare Application A with a DomainParticipant registered in each Domain you want to monitor (4 DomainParticipants in the use case you are describing). The application will have to take charge of mapping registered entities to Domain IDs, thus being able to infer origin upon data reception. Regarding Partitions, it is important to note that every DDS entity that should communicate would need to be in the same Domain ID. As for the Domain case, the mapping between entities and partitions will need to be maintained by the application, as the discovery callbacks include the partition information (through the ReaderQos which is accessible through the ReaderProxyData contained in the ReaderDiscoveryInfo. This is analogous for the DataWriter case). However, the data reception callbacks does not include this information. |
Beta Was this translation helpful? Give feedback.
-
In the Connext-DDS documentation, there is an example of using domain IDs like this:
I have four pieces of hardware (pi4), each one is running a mix-and-match collection of FastDDS applications that share a common IDL. Using domains, I can have all four pieces of hardware on the same physical network but keep each piece of hardware isolated so that it only handles it's own traffic. I'd like to add a 'command' application (on one of the existing pieces of hardware) that can monitor/pub/sub all domains at the same time, basically acting as 'application 1' in the diagram above. Is this possible? I know I can accomplish this in some fashion with partitioning, but a domain-centric approach seems cleaner for some reason.
In either a domain-centric approach or a partition-centric approach, is there some easy method to derive the domain or partition ID from an incoming sample on any topic?
Beta Was this translation helpful? Give feedback.
All reactions