How do two vendors ensure that each others data over the wire is serialised the same?
To be explicit - one provider creates a reader and one a writer how do they ensure that the writer serialises the byte array in the same way that the other providers reader can read in - given that the reader and writer were created by two different vendors?
posted on Saturday, January 26, 2008 - 10:05 am
I've just scoured the OMG site and found out what you're talking about now.
So, CDR is part of the IIOP spec !
Excellent - Many thanks !
posted on Wednesday, February 13, 2008 - 12:26 pm
Just had a thought about your statement you say that a provider must support "at least" - this implies that a provider can support other encodings and therefore my question is - how does a provider indicate that they are using CDR? or how does a new provider get another provider to send them CDR?
The reason that I wrote "at least" is because data encapsulation is not strictly part of the RTPS protocol. The encapsulated data in the 'SerializedData' SubMessageElement is not interpreted by RTPS and is represented as opaque data. Therefore RTPS does not provide a mechanism to negotiate about the data encapsulation.
Data encapsulation is the responsibility of the DDS type-plugin. DDS-type plugins of two different vendors must of course encapsulate data in the same way in order to be interoperable. Therefore the RTPS specification states that CDR must be used by all DDS-type plugins, but I can imagine that other forms of encapsulation are also supported implementations of one or more vendors.
Best regards, Niels
posted on Wednesday, February 13, 2008 - 01:58 pm
Ah - thankyou ! Yes, I keep getting confused by who specs. what :-)