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.
>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.
>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
Size: 191 bytes
Desc: not available
Url : http://lists.freedesktop.org/archives/dbus/attachments/20060613/b369b01d/attachment-0001.pgp
More information about the dbus