Re: DII/DSI
- From: Owen Taylor <otaylor redhat com>
- To: gnome-components-list gnome org
- Subject: Re: DII/DSI
- Date: 14 Mar 2000 11:05:42 -0500
Jon K Hellan <hellan@acm.org> writes:
> Hi,
>
> Michael Meeks asked me to share this with the list:
>
> > Yes, the perl bindings are a quick hack. The 'right way'TM is to
> > use the DSI / DII interface but it is a lot more code. I see no point in
> > writing ORBit wrappers for python if the omniorb ones are already writte,
> > better and prolly use DII / DSI already :-)
Let me just quickly mention that rewriting the ORBit Perl bindings to
use DSI / DII would NOT be an improvement.
It would be slower, more code, and would offer no conceivable advantage
other than portability to a different C-based ORB (and their aren't
really any.)
Basically, the C binding for the DII/DSI is pretty painful - you
need to construct the C structures in memory. The process would look
like:
- ORBit-Perl walks the typecode and a translates the Perl data types
into C data types using non-portable knowledge of C structure alignment,
etc.
- ORBit walks the typecode and translates the C data types into wire
format, using non-portable knowledge of C structure alignment,
etc.
As compared to the way it works now which is:
- ORBit-Perl walks the typecode and a translates the Perl data types
into wire format.
Using the C++ DII/DSI is a bit cleaner, but is still doing the
double typecode walk internally.
(There are some things about the interface to marshalling/demarshalling
in ORBit which are less than perfectly clean, but that doesn't mean
that using DII/DSI is the right way to go.)
Regards,
Owen
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]