[omniORB] Invalid TypeCode..
Duncan Grisby
dgrisby@uk.research.att.com
Tue, 25 Apr 2000 14:51:43 +0100
On Tuesday 25 April, Shawn Bisgrove wrote:
> The question now is why did it work and what does
> it do? Forgive me for being dense. I would like to
> know if this is nescessary to solve the problem at
> hand or if it is just coincidentally masking the
> underlying problem.
>
> omniORB::useTypeCodeIndirections = 0 ; //added
If a TypeCode fragment appears more than once in a complete TypeCode,
the marshalled form can insert an "indirection" to avoid the overhead
of marshalling the whole thing again. For example, in
struct S1 {
long l;
string s;
};
struct S2 {
S1 s11;
S1 s12;
};
the naive representation of S2's TypeCode will contain S1's TypeCode
twice. With indirections, the second instance is replaced with a
(negative) offset pointing to the first instance. Some ORBs do not
understand indirections; omniORB::useTypeCodeIndirections = 0 prevents
omniORB from using them.
Cheers,
Duncan.
--
-- Duncan Grisby \ Research Engineer --
-- AT&T Laboratories Cambridge --
-- http://www.uk.research.att.com/~dpg1 --