dbus performance information

David Zeuthen zeuthen at gmail.com
Thu Mar 20 13:25:46 PDT 2014


Hi,

On Thu, Mar 20, 2014 at 12:11 PM, Simon McVittie <
simon.mcvittie at collabora.co.uk> wrote:

> If someone reimplemented D-Bus over Win32 named pipes or something, it
> might be possible for that reimplementation to do something analogous
> to fd passing (HANDLE passing?),


Just for the record, Windows does allow passing HANDLEs over named pipes
and this was discussed when file-descriptor passing was introduced and care
was taken to ensure that the 'h' type could be re-used for such an
implementation (I think Lennart initially wanted to use another letter for
the type but chose 'h' maybe because the word HANDLE was thrown around. I
can't remember.). That's also the reason why the fd-passing in GDBus is
unix-specific e.g.

 g_dbus_connection_call_with_unix_fd_list()

and the GUnixFDList type and the org.gtk.GDBus.C.UnixFD annotation for
gdbus-codegen(1) which are also unix-specific things.

So if someone were to implement GDBus over named pipes (which shouldn't be
too much work), I'd expect we'd add something like

 g_dbus_connection_call_with_win32_handle_list()

and introduce a similar GWin32HandleList type and
org.gtk.GDBus.C.Win32HANDLE annotation + other porcelain (e.g. GDBusProxy +
friends) to make things work.


> but that reimplementation wouldn't
> necessarily look much like D-Bus any more.
>

The implementation I sketched above (D-Bus + win32-HANDLE-passing) would
look as much as D-Bus as D-Bus + unix-fd-passing does. But, sure, the
program would need to have #ifdefs for whether to use GUnixFDList or
GWin32HandleList.

    David
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/dbus/attachments/20140320/955c405b/attachment.html>


More information about the dbus mailing list