thiago at kde.org
Sat May 8 01:37:44 PDT 2010
Em Sábado 8. Maio 2010, às 10.29.06, Michael 'Mickey' Lauer escreveu:
> Am Samstag, den 08.05.2010, 09:24 +0200 schrieb Thiago Macieira:
> > Em Sexta-feira 7. Maio 2010, às 23.10.00, Michael 'Mickey' Lauer escreveu:
> > > And while we're there we could/should also fix the client-based signal
> > > matching, which is IMO one of the major design flaws in DBus.
> > > I know that the desktop people don't care, but still...
> > What is the issue?
> Two issues:
> 1.) Listeners are always woken up on any kind of signals (to run the
> match function), no matter whether they are listening to a certain
> signal or not. That's a waste of CPU hence battery.
Wrong. Listeners are woken up if there's a message (a signal) that matches
their listening rules. If they are woken up by a message that they weren't
interested in, it's because the listener added a rule that was too broad.
The listener must be fixed to listen to the specific signals it's interested in.
> 2.) Signals are being computed and sent no matter whether anyone is
> listening or not. Again a terrible waste of CPU.
That is true and is the one I'm trying to avoid wasting more on. I like
David's idea of making all senders be notified of signal connection, but it's
going to take some more discussion to hash out a full proposal that works.
> Both issues are commonly worked around by introducing additional
> application-specific protocols, such as the 'agent-based' approach we
> see in bluez, connman, etc.; still it's merely done due to the lack of
> server-side signal handling.
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
Size: 190 bytes
Desc: This is a digitally signed message part.
More information about the dbus