PropertiesChanged signal

Thiago Macieira thiago at kde.org
Sat May 8 00:21:49 PDT 2010


Em Sábado 8. Maio 2010, às 04.28.33, David Zeuthen escreveu:
> While it is certainly your prerogative to not support this new signal
> in QtDBus, please note this new signal is mostly a codification of
> existing (and in my humble opinion good) practices. I mean, one way to
> look at it is that if you have a remote object with properties you
> want remote peers to know about these properties. So one way or the
> other you will to transport these values over the transport and that
> includes property changes too. Codifying this into a PropertiesChanged
> signal is helpful because it allows bindings to automatically handle
> this and it does so in a race-free manner and economical manner [0].
> 
> As to whether this signal is inherently wasteful, why is this any
> different than any other (existing) signal? Sure, the way things
> currently work you will always have signal traffic flowing from each
> name owner to the bus even if no clients are listening. While this
> comes with some overhead [1] we can solve this by extending the D-Bus
> protocol with something like this handwavy proposal:

There are two reasons for wanting to know from the bus if anyone is listening:

1) some properties may be changing very fast and relaying that info to the bus 
if no one is interesting will just generate useless traffic, like the position 
of a window/item during motion

2) connecting for a signal makes the signal emission slower than if nothing is 
connected, so it's also a performance issue

Maybe extending the bus protocol like you suggested is the way to go, but it 
requires a more specific "connect to signal" method than AddMatch.

One more suggestion: an annotation, per property, that indicates whether this 
property is contained in the PropertiesChanged signal. This allows a client to 
know whether the PropertiesChanged signal will contain any interesting 
information, or if it will be emitted at all.

-- 
Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org
  Senior Product Manager - Nokia, Qt Development Frameworks
      PGP/GPG: 0x6EF45358; fingerprint:
      E067 918B B660 DBD1 105C  966C 33F5 F005 6EF4 5358
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 190 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.freedesktop.org/archives/dbus/attachments/20100508/a057e38c/attachment.pgp>


More information about the dbus mailing list