eProsima / Fast-DDS-docs

Documentation of Fast RTPS (MarkDown Files). Looking for commercial support? Contact info@eprosima.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

For the problem where the sequence of fastdds exceeds 100 bytes

bbj767475974 opened this issue · comments

I have some questions about Fastdds. I have defined Sequencesvariables in the idl file (similar to the vector in C++), generated code through Fastddsgen, and set them to the same topic through publisher and subscriber for binding and sending. However, I found that if my Sequencesexceeds 100 bytes, there will be no write in the past, and only data below 100 bytes can be written, Are there any resource constraints? "I also checked the WriterResourceLimitsQos, ResourceLimitedContainerConfig, and so on in the source code, and changed some default parameters, but none of them worked. Is there anybody who can help me? I would appreciate it very much and can pay a certain fee.

Hi @bbj767475974

Sorry for the late reply. By default, unbounded sequences are initialized to 100 elements. You can explicitly set the bound in the IDL file if you know the maximum expected number of elements. Also, could you provide the Fast DDS version you are using? Since Fast DDS v2.9.0, the default behavior changed. Previously, PREALLOCATED memory mode was enabled by default, so if you tried to write a sample of more than 100 elements, an exception was thrown. Currently, PREALLOCATED WITH REALLOC memory mode is enabled by default. I hope this helps you!