Bob Ham rah at bash.sh
Mon Nov 23 12:26:06 UTC 2009

On Sat, 2009-11-21 at 09:45 -0500, Paul Davis wrote:

> I don't really care at all about the technology inside a Linux session
> handling "toolkit", although clearly it would be nicer if it worked on
> all Linux systems. What I care about is the complete lack of any
> stable API that a developer of an application that would participate
> in this could use and have some confidence in. Do I believe that using
> dbus as an IPC mechanism makes sense in this case, and that therefore
> "the API" is really just a set of dbus names and semantics? Well, i'm
> agnostic about that

I'd like to comment on this issue in order to clarify and also to
explain why, as Nedko stated in his original email, I gave no support to
D-Busification efforts.

One of the goals of LADCCA, LASH and even LADISH is to enable
network-wide session management.  A D-Bus connection enables
communication between remote objects on a single bus.  However, that bus
is limited to a single host.  Buses cannot span hosts.  In order to
implement a network-aware session management system using D-Bus, there
must necessarily be one of only two approaches.

The first approach is to have one bus on one host which all clients and
servers on all hosts connect to.  This is a star topology which has
inherent weaknesses in terms of resilience.  I believe the robustness
needed for a usable networked audio session cannot be provided using an
IPC mechanism with a single point of failure.

The second option is to have multiple buses; for each session client and
server to open multiple D-Bus connections.  However, this introduces
another layer of addressing.  In order for messages to be passed to a
remote object, not only must you know the address of the object but the
address of the bus to which it is connected.  This completely undermines
the use of D-Bus.  D-Bus is an IPC mechanism for communication with
remote objects that doesn't allow communication with remote objects on
remote hosts.

I have never understood why D-Bus was even considered for a network-wide
audio session system.  It seems to me to be a case of all problems
looking like a nail when you have a hammer.

Bob Ham <rah at bash.sh>

More information about the Linux-audio-dev mailing list