Provider data interchange PreviousNext
Data Distribution Service (DDS) Forum > DDS Technical Forum >
Message/Author
Next message John Hawkins  posted on Friday, January 25, 2008 - 10:55 am
Hi Folks,

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?


cheers,
John.
Next message Niels Kortstee  posted on Friday, January 25, 2008 - 01:47 pm
Hi John,

DDS implementations must support at least OMG CDR encapsulation for application defined types.

Cheers, Niels
Next message John Hawkins  posted on Friday, January 25, 2008 - 03:13 pm
I'm struggling getting google to give me back what this means :-)

Does the OMG CDR define what an object defined in IDL appear as on the wire then?

many thanks,
John.
Next message Niels Kortstee  posted on Friday, January 25, 2008 - 03:28 pm
CDR stands for Common Data Representation and is part of the CORBA specification. CDR is a transfer syntax, mapping from data types defined in OMG IDL to a bicanonical, low-level representation.

http://en.wikipedia.org/wiki/Common_Data_Representation

Cheers, Niels
Next message John Hawkins  posted on Saturday, January 26, 2008 - 10:05 am
Ah !!

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 !
Next message John Hawkins  posted on Wednesday, February 13, 2008 - 12:26 pm
Hi Niels,

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?

many thanks,
john
Next message Niels Kortstee  posted on Wednesday, February 13, 2008 - 01:09 pm
Hi John,

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
Next message John Hawkins  posted on Wednesday, February 13, 2008 - 01:58 pm
Ah - thankyou ! Yes, I keep getting confused by who specs. what :-)
Back to top
Add Your Message Here
Post:
Username: Posting Information:
This is a private posting area. Only registered users and moderators may post messages here.
Password:
Options: Post as "Anonymous"
Enable HTML code in message
Automatically activate URLs in message
Action: