eclipse-iceoryx / iceoryx

Eclipse iceoryx™ - true zero-copy inter-process-communication
https://iceoryx.io
Apache License 2.0
1.69k stars 396 forks source link

Introduction of Runnables/Nodes for the new APIs #349

Closed budrus closed 3 years ago

budrus commented 4 years ago

Brief feature description

We already had runnables on the old API. These can be used to group publishers and subscribers. E.g. it is already used by rmw_iceoryx to represent ROS nodes. We need this functionality also for the new C++ and C APIs

Detailed information

One OS process can contain 1..x SW modules which maybe are related to each other but can be treated as individual deliveries with an own responsibility and interface. In the Autosar world this is often called a runnable, in the ROS world a node. Iceoryx does not really need this information (as DDS) but having this grouping of publisher and subscriber entities makes it easier for the user to deal with nodes or runnables. We already introduced runnables some time ago for supporting the ROS tools with rmw_iceoryx. With the old API runnables could be created and when creating publishers and subscribers the runnable could be provided as optional parameter (see here. The runnable information is also already included in the introspection topics but so far was not displayed by the introspection client (e.g. here The proposal would be to name this API element node, as this is also the name in ROS and with Publisher and Subscriber we are already aligned to the names there.

elBoberido commented 4 years ago

assign to @FerdinandSpitzschnueffler

FerdinandSpitzschnueffler commented 4 years ago

assign to @FerdinandSpitzschnueffler

great

budrus commented 4 years ago

As there are now "volunteers" it's time for me to get my "more description for the node ticket" TODO done ;-)