eclipse-cyclonedds / cyclonedds-cxx

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Does Shm exchange support dynamic data types now?

allenwang-git opened this issue · comments

I noticed that there is a pr #137 merged in 2021, based on the Tests in the SharedMemory.cpp, the dynamic type like sequence and string should have been supported, but in #353 discussion, seems like those dynamic size type is still unsupported. My experiments lead to the same result, and the reason is IDL generator still set such a module

module UnBounded
{
  struct Msg
  {
    string unbounded_string;
    sequence<long> unbounded_sequence_long;
    sequence<boolean> unbounded_sequence_bool;
  };
};

as not self-contained data type

template <> constexpr bool TopicTraits<::UnBounded::Msg>::isSelfContained()
{
  return false;
}

Lmk if I'm wrong. but I think only self-contained data type is shm supported. right now I always get such error

  what():  Error Unsupported - sample loan failed.
===============================================================================
Context     : void org::eclipse::cyclonedds::pub::AnyDataWriterDelegate::loan_sample
Node        : UnknownNode

when I tried to use shm to exchange dynamic types. I also tried the tests u added to tests/SharedMemory.cpp, and found the generated header has the same issue. So i'm wondering if the dyn type really be supported by cyclonedds. Do u have any idea @sumanth-nirmal ?