Some cursory findings ...
rony
rony at wu.ac.at
Wed Aug 24 11:55:16 PDT 2011
While stress testing the private server on tcp-connections between
different operating systems with ooRexx language bindings it may be
interesting to learn some cursory results:
* dbus-versions on the different operating systems
o Ubuntu 64 (11.04), dbus: 1.4.14
o Windows XP, SP 3, dbus: 1.5.7
o MacOSX 10.8, dbus: 1.4.12 (latest version from Mac ports)
* server on Ubuntu 64, o.k.:
o Ubuntu client to Ubuntu: o.k.
o Windows XP client to Ubuntu: o.k.
o MacOSX client to Ubuntu: o.k.
* server on Windows XP, SP 3, o.k.:
o Ubuntu client to Windows: o.k.
o Windows client to Windows: o.k.
o MacOSX to Windows: o.k.
* server on Mac OSX 10.8, NOT o.k. (intermittent bus errors):
o Ubuntu client to Windows: NOT o.k. (intermittent bus errors)
o Windows client to Windows: NOT o.k. (intermittent bus errors)
o MacOSX client to MacOSX: NOT o.k. (intermittent bus errors,
twice it worked throughout, i.e. 16.200 message calls)
These are different machines on the same segment, with different
hardware, but also different versions of dbus.
Even in the case of the MaxOSX private dbus server, the bus errors
occurred between appr. 5.000 and 6.000 message calls (still does not
make it a rock-solid stable private dbus server platform at this time;
maybe a newer version of dbus helps).
---
Some inferrals:
* it seems that the dbus IPC using tcp is quite stable (rock-solid
using Linux and Windows for private dbus server connections),
* all clients on all platforms performed stable,
* the MacOSX server implementation shows instabilities, so maybe
needs some debugging; also possible, that the latest dbus version
fixes that observed instability.
* dbus makes for a *great* interprocess mechanism over tcp,
insulating the server and clients from each other (bitnesses,
programming languages, operating systems), which is just great and
should be made known on a much larger scale IMHO
o e.g. this may help managers to break-out from lock-ins,
given the dbus language bindings to create applications that
are cross-operating-system (relieving lock-ins even more
over time), etc.
+ e.g. the ooRexx test scripts - server and client -
were originally created on Ubuntu and have run
unchanged on MacOSX and Windows,
* the ooRexx language bindings does not employ glib or qt main loops
o it was not really difficult to create the respective loops
one-self (message loops for connections, loops for servers
listening to connection attempts on separate threads etc.),
*after* getting the great help on this list to what one was
supposed to employ (there seems to be the basic assumption
that language bindings would click into exisiting message
loops anyway, which may not be the case at all times, hence
stressing this particular fact; to be clear: whoever
benefits from message loop integrations should by all means
exploit it!).
* without the great (unfortunately currently a dead link) dbus
tutorial "D-Bus Low-Level API Tutorial
<http://dbus.freedesktop.org/doc/dbus/libdbus-tutorial.html>" by
Matthew Johnson starting a language binding from scratch is almost
impossible; that tutorial demonstrates how one can among other
things fetch messages without using any message loop. This
nutshell-like tutorial allowed me to start out, having something
working to experiment with. (Still, it has been a long way to get
so far as to become able to do an - almost - full implemention of
a language binding).
o I reported this earlier: the link to Matthew Johnson's
tutorial on "http://www.freedesktop.org/wiki/Software/dbus"
is unfortunately dead (the link given is:
<http://dbus.freedesktop.org/doc/dbus/libdbus-tutorial.html>) and
it should be fixed for others seeking a starting point for
other (new) language bindings. (Found my copy on a Matthew
Johnson WWW-site, if I remember correctly).
Finally: many thanks to everyone who gave me a helping hand so far via
this list !
(Please keep on doing so! :) )
Without this help I would not have been able to create the language
binding in this rather short time-frame given my rather scarce resources
(and working therefore in the free time in the evenings and weekends
which has been "stealing" quite some time from my family).
---rony
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/dbus/attachments/20110824/e439de33/attachment.htm>
More information about the dbus
mailing list