Targetted signals

Thiago Macieira thiago.macieira at trolltech.com
Tue Jun 13 09:20:02 PDT 2006


Ross Burton wrote:
>I'd really like it if signals could be send to specific addresses. 

I don't really agree with that. You're thinking of signals like a kind 
of "broadcast": all parties receive it.

However, signals are more like "multicast": only interested parties 
receive it. You just have to craft the signal emission so that the 
receivers can make up a rule to match them.

Since you can't influence the service name, nor the interface name or the 
signal name, you're left with two items: the object path and the 
arguments (and signature). You've tried to construct the rule based on 
the arguments: I would recomment the opposite approach: make the signals 
distinct based on the object path.

>My 
>use-case is the DBus port of evolution-data-server.  When a live book
>view is updated a signal needs to be sent to interested parties, but as
>there can be multiple book views with different queries and the message
>arguments can be large (up to 40 vcards), restricting the sending of the
>signals to only the relevant clients would be a good idea.  

Without understanding what "relevant clients" means, there isn't much more 
we can help you with.

But, for example, if this meant that "relevant clients" means "clients 
that have open queries on the book view that got updated", one solution 
would be to have one object path per book view. That means clients would 
listen to the signals coming only from the book views that they queried, 
because they would have queried according to the object path.

>At the 
>moment the server calls methods on the server, but this causes a method
>return to be sent, which is not required.

You can make a call with the "no reply needed" flag set. The receiver side 
can opt to not send a reply in that case.

-- 
Thiago José Macieira - thiago.macieira AT trolltech.com
Trolltech AS - Sandakerveien 116, NO-0402 Oslo, Norway
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 191 bytes
Desc: not available
Url : http://lists.freedesktop.org/archives/dbus/attachments/20060613/b369b01d/attachment-0001.pgp


More information about the dbus mailing list