Replies: 2 comments 6 replies
-
The standard allows submessages larger than 64K under certain conditions. This is exploited by the SHM transport when maxMessageSize is greater than 64k |
Beta Was this translation helpful? Give feedback.
-
Perhaps this RTPS submessage standard was designed to be compatible with both SHM and UDP transports simultaneously. Due to the limitations of the IP header protocol (where the total length field is of type uint16_t), the maximum allowable size for a UDP packet is 65,535 bytes. Consequently, the maximum segment size for DDS UDP transport is also set to 64K. As a result, SHM has also adopted this standard. However, this is just my personal understanding and is provided for reference only. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
According to DDS standard ,the type of field submessageLength in structure of the RTPS Submessages is uint16,so submessage size is no more than 64K. But if there is process A and B in the same host, and I shut down UDP transport, so there is just SHM transport which is aimed to use large fragement size to reduce fragement count. But the type of submessage is uint16, so no matter what transport I use, the size of fragment is no more than 64k.
why?
Beta Was this translation helpful? Give feedback.
All reactions