Issue 17286: Message Size should be included as part of DDSI/RTPS Messages (ddsi-rtps-rtf) Source: ADLINK Technology Ltd (Angelo Corsaro, PhD., angelo.corsaro(at)adlinktech.com) Nature: Revision Severity: Critical Summary: The DDSI/RTPS wire protocol currently expects the transport to provide the size for the message -- said in other terms, the current version of the protocol can only work with message oriented transports, such as UDP/IP. This assumptions should be dropped in order to enable the use of DDSI/RTPS over stream oriented transports such as TCP/IP. One possible approach to overcome this limitation w/o breaking backward compatibility with other implementation is to add a new sub-message element, say MESSAGE_LEN structured as follows: +--------+--------+--------+--------+ | ID | Flags | octect2NextSME | +--------+--------+--------+--------+ | Message Length | +-----------------------------------+ In addition, for efficient parsing, if the sub-message above, when used, should be always placed right after the RTPS header. Resolution: Revised Text: Actions taken: March 30, 2012: received issue Discussion: End of Annotations:===== m: webmaster@omg.org To: Subject: Issue/Bug Report ******************************************************************************* Name: Angelo Corsaro Employer: PrismTech mailFrom: angelo@icorsaro.net Terms_Agreement: I agree Specification: DDS Interoperability Wire Protocol Section: 8.3 FormalNumber: formal/2009-01-05 Version: 2.1 Doc_Year: 2009 Doc_Month: January Doc_Day: 05 Page: 29 Title: Message Size should be included as part of DDSI/RTPS Messages Nature: Revision Severity: Critical CODE: 3TMw8 B1: Report Issue Description: The DDSI/RTPS wire protocol currently expects the transport to provide the size for the message -- said in other terms, the current version of the protocol can only work with message oriented transports, such as UDP/IP. This assumptions should be dropped in order to enable the use of DDSI/RTPS over stream oriented transports such as TCP/IP. One possible approach to overcome this limitation w/o breaking backward compatibility with other implementation is to add a new sub-message element, say MESSAGE_LEN structured as follows: +--------+--------+--------+--------+ | ID | Flags | octect2NextSME | +--------+--------+--------+--------+ | Message Length | +-----------------------------------+ In addition, for efficient parsing, if the sub-message above, when used, should be always placed right after the RTPS header.