eProsima/Integration-Service

System handle for CYCONE_DDS or CONTEXT_DDS

Closed this issue · 1 comments

The System_handle for ROS2 and DDS works like a charm. It helps to communicate between different domain_id and ros1<-->ros2, but when I have tried with the DDS type: cyclonedds and contextdds in the configuration yaml it gives error missing mix files, I understand it should happen.

systems:
    dds: { type: cyclonedds }
    ros2: { type: ros2, domain: 5, node_name: "led_server" }
    ros1: { type: ros2, domain: 10, node_name: "battery_client" }
~/is-workspace$ integration-service src/Integration-Service/examples/basic/led_pkg.yaml
[Integration Service][ERROR] [is::core::Config] Unable to find .mix file for middleware 'cyclonedds'. The following locations were checked unsuccessfully: 

For the same domain_id all the implementations works fine. If all the nodes were on same domain then I might not require the system_handles.

My question is as fastdds, cyclonedds, contextdds are the different dds implementations, do we need specific system_handle for each type? What procedure I should follow to create another system_handle for other dds implementation? Do you have any plan to implement other system_handels for other dds implementations or not?

As you pointed out the systems type is associated to a system handle. Currently, the only available DDS system handle is Fast-DDS based and no other DDS implementations are planned to be supported.