Signals vs Calls

Havoc Pennington hp at redhat.com
Mon Oct 25 10:35:03 PDT 2004


On Mon, 2004-10-25 at 09:24 -0700, wink saville wrote:
> If I have a Method with a void return type, no "out" parameters and set
> NO_REPLY_EXPECTED in header.flags there still may be a return message?

The current "reference implementation" libdbus would never send a return
message in this case, but (assuming the spec were fully up-to-date) the
spec would probably allow it. You can always just ignore the return
message.

> You indicate that the use cases D-BUS is targeting "systemwide bus and
> per-session desktop bus", but in the specification it says it works over
> TCP/IP so the definition of "desktop/systemwide" includes LAN's at least.
> But with the use cases you've mentioned it would imply to me that it wasn't
> intended to be "optimal" for that use, although it does work. Is that a fair
> statement?

Yes. The TCP/IP feature is intended to let you run a remote X
application, for example, with the session bus.

> Also the D-BUS programming model is an RPC with blocking symantecs, is this
> correct? Although blocking is optional the programming model and the
> implementation seems to be based on a typical method call.

libdbus can do blocking or nonblocking. It is intended to be mappable to
a method call, but there's no requirement that a particular app or
binding API treat it that way. All the protocol really says is that
there's a message with parameters and an optional reply with parameters.

Havoc




More information about the dbus mailing list