<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
</head>
<body bgcolor="#ffffff" text="#000000">
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:<br>
<ul>
<li>dbus-versions on the different operating systems</li>
<ul>
<li>Ubuntu 64 (11.04), dbus: 1.4.14</li>
<li>Windows XP, SP 3, dbus: 1.5.7</li>
<li>MacOSX 10.8, dbus: 1.4.12 (latest version from Mac ports)<br>
</li>
</ul>
</ul>
<ul>
<li>server on Ubuntu 64, o.k.:</li>
<ul>
<li>Ubuntu client to Ubuntu: o.k.</li>
<li>Windows XP client to Ubuntu: o.k.</li>
<li>MacOSX client to Ubuntu: o.k.<br>
<br>
</li>
</ul>
<li>server on Windows XP, SP 3, o.k.:</li>
<ul>
<li>Ubuntu client to Windows: o.k.</li>
<li>Windows client to Windows: o.k.</li>
<li>MacOSX to Windows: o.k.<br>
<br>
</li>
</ul>
<li>server on Mac OSX 10.8, NOT o.k. (intermittent bus errors):</li>
<ul>
<li>Ubuntu client to Windows: NOT o.k. (intermittent bus errors)</li>
<li>Windows client to Windows: NOT o.k. (intermittent bus errors)</li>
<li>MacOSX client to MacOSX: NOT o.k. (intermittent bus errors,
twice it worked throughout, i.e. 16.200 message calls)</li>
</ul>
</ul>
These are different machines on the same segment, with different
hardware, but also different versions of dbus.<br>
<br>
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). <br>
<br>
---<br>
<br>
Some inferrals:<br>
<ul>
<li>it seems that the dbus IPC using tcp is quite stable (rock-solid
using Linux and Windows for private dbus server connections),<br>
<br>
</li>
<li>all clients on all platforms performed stable,<br>
<br>
</li>
<li>the MacOSX server implementation shows instabilities, so maybe
needs some debugging; also possible, that the latest dbus version fixes
that observed instability.<br>
<br>
</li>
<li>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</li>
<ul>
<li>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.</li>
<ul>
<li>e.g. the ooRexx test scripts - server and client - were
originally created on Ubuntu and have run unchanged on MacOSX and
Windows,<br>
<br>
</li>
</ul>
</ul>
<li>the ooRexx language bindings does not employ glib or qt main loops</li>
<ul>
<li>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!).<br>
<br>
</li>
</ul>
<li>without the great (unfortunately currently a dead link) dbus
tutorial "<a class="http"
href="http://dbus.freedesktop.org/doc/dbus/libdbus-tutorial.html">D-Bus
Low-Level API Tutorial</a>" 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).</li>
<ul>
<li>I reported this earlier: the link to Matthew Johnson's tutorial
on <a class="moz-txt-link-rfc2396E" href="http://www.freedesktop.org/wiki/Software/dbus">"http://www.freedesktop.org/wiki/Software/dbus"</a> is unfortunately
dead (the link given is:
<a class="moz-txt-link-rfc2396E" href="http://dbus.freedesktop.org/doc/dbus/libdbus-tutorial.html"><http://dbus.freedesktop.org/doc/dbus/libdbus-tutorial.html></a>) 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).<br>
</li>
</ul>
</ul>
Finally: many thanks to everyone who gave me a helping hand so far via
this list ! <br>
(Please keep on doing so! :) )<br>
<br>
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).<br>
<br>
---rony<br>
<br>
<br>
</body>
</html>