Introduction to D-BUS
Havoc Pennington
hp at redhat.com
Mon Aug 28 06:45:23 PDT 2006
Jeroen T. Vermeulen wrote:
>
> 1. IIRC there is some provision for inter-bus routing. How does this
> work--especially the addressing? (And is message ordering affected?)
>
No provision. Was considered for a while, but didn't really come up with
a good use-case and it seemed complicated.
> 2. Is there any kind of support for failover? Let's say you have a proxy,
> for an object you looked up using a well-known bus name, and the client
> providing that object dies. Assume the client restarts (e.g. using
> activation), grabs the same well-known bus name, and once again creates
> that object you had a proxy to. Is the proxy always dead at this stage,
> or is there a way (for objects that support it, obviously) to resume where
> things left off?
Binding-dependent. The GLib bindings offer two kinds of proxy; one is
called "for name" and it simply doesn't pay any attention to the name's
existence, just sends the method calls; if the name doesn't exist, the
bus replies with an error. If the client restarts some of your calls
might get errors while it's down. The other kind of proxy is "for name
owner" and when you create the proxy it looks up the current name owner
and then binds the proxy to the unique name ":NN-NN" - which means the
proxy only ever talks to the one current client, and will break
permanently if the client restarts.
More sophisticated handling (e.g. what to do when either of these
proxies returns an error) has to be done by the application.
> 3. It's okay for objects to receive method invocation messages, queue
> them, and process them in an order of its own liking, right?
Yep.
Havoc
More information about the dbus
mailing list