I have a use case where it would be really nice to process-isolate my DDS code so I can unit/module test them, possibly in parallel without them interfering with one another.
So far I've come up with using different domains, shmem transport only and randomized topic names. Are there any other strategies that I could use to get process isolation? I understand that this is the opposite of what DDS is meant for but from a testing standpoint, it is useful.
Thanks,
Paul
Hi Paul,
Using domain IDs is the actual mechanism provided by DDS to isolate systems from communicating. Also random topic names looks good to me. I would follow this strategy considering this two suggestions:
Another tool that may be useful in some parts is partitions. The provide isolation at the endpoint (writer or reader ) level, so still participants will exchange discovery information.
- Antonio