Open budrus opened 3 years ago
@sumanth-nirmal @eboasson @MatthiasKillat Are the listed options correct? Do you see other ones. They seem to have equal costs and it depends on whether the subscriber wants to consume a serialized or non-serialized message. If that's the case Option B is maybe the easier one
@eboasson @budrus @MatthiasKillat I think the cost for both options are more or less the same (depending on the take
path). However, with option-A it is tricky to determine if the received message is serialized or de-serialized. So I went ahead and implemented the following (Option-B) in #308, where the loaned memory is always initialized with the de-serialized sample and passed to Cyclone DDS
Publishing serialized messages with SHM enabled
Taking serialized message
Taking message
return_loaned_message
is called
Feature request
Feature description
It seems that the combination of publishing and taking serialized messages and a zero-copy shared memory transport is currently not supported. This should also be possible
Implementation considerations
Option A
rmw_take_serialized_message()
is usedrmw_take()
is usedOption B