Legacy Issue Number: 3327
Source: Triodia Technologies Pty Ltd ( Michi Henning)
Page 15-50 of 2.3.1:
ORBs that suport only version 1.1. or 1.2 IIOP profiles must
ignore, but preserve, any data in the profile that occurs
after the components member.
A 1.2 ORB is obliged to ignore, but preserve, any information that follows
the components member in 1_1 profile body. I think the cost of implementing
this is quite high. What follows after the components member is not in
a separate encapsulation. So, an ORB that receives an IOR that indeed has
data after the components member doesn't understand anything about that data
and therefore must treat it as a blob of bits.
However, the IOR might be little-endian and the receiving ORB might be
big-endian. When the receiving ORB wants to send the IOR back out, it
can't send it as a big-endian IOR because it can't know how to byte-swap
the data that follows the components member. That means that a big-endian
ORB is obliged to remarshal the IOR back as a little-endian IOR.
That's inconvenient, to say the least.
I don't think it makes sense to require an ORB to preserve something that
is not encapsulated, simply because the cost of doing this is high.
(The ORB has to keep a copy of the marshaled profile around because of
the trailing bit it doesn't understand.)
Reported: CPP 1.1 — Thu, 17 Feb 2000 05:00 GMT
Disposition: Resolved — CORBA 2.4
Close with revision
Updated: Fri, 6 Mar 2015 20:58 GMT