What is the current behaviour of UDP receiver, when dealing with out-of-order packets? (5.11.x / 5.12.x release) #1283
-
I just notice there is some new development on UDP design with eCAL, pretty interesting. It reminds me a question releated to the design of the UDP pub/sub of eCAL. May I know if the current release version of eCAL handles out-of-order UDP packages, during the reception of the eCAL message (say ~1MB big)? In other words, if packages are received out of order, will the design tolerate that and still recover the right full eCAL message? Now I see there is a de-fragmentation talked about in this PR. Does it mean it is improving the situration of the out-of-order UDP package reception? Thanks! |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 9 replies
-
Hi @chengguizi,
Kind regards |
Beta Was this translation helpful? Give feedback.
For fragmented messages, the current eCAL v5 UDP protocol requires an entire UDP datagram to be transmitted for telling the receiver about the fragmented package. This datagram (called "header" in the current implementation) cannot contain any actual user payload. The payload is transmitted with the next datagrams (called "payload" in the current implementation). And yes, it looks like an out-of-order header would cause the message to be lost. This can be considered to be a bug.
The new implementation that I am working on will: