Re: language/locale selector [was: Re: Settings downstream would reasonably want to add]



Hey Lennart,

On Mon, May 16, 2011 at 1:22 PM, Lennart Poettering <mztabzr 0pointer de> wrote:
> I think the right place for tiny mini-daemons like that is probably
> systemd.

I completely agree - it's nice that we finally have a place to do
this. And it's nice that you are using D-Bus properties to convey the
values since it makes it easy to use with high-level D-Bus bindings
with native support for D-Bus properties.

However, when you emit the PropertiesChanged signal on the
org.fd.DBus.Properties interface, you could pretty please include the
value for the property that changed as well [0]? The fact you
currently don't (which Bastien found out after I helped him debug his
app using your service) means that each instance of each app using
your interface manually using your service will have to issue a
Property.Get() method invocation. This is both inconvenient [1] and it
also causes extra over-head in terms of wakeups etc. from handling
these extra messages.

It is true that @invalidated_properties has its place (consider huge
Blob-like properties), but in this particular case we're talking about
tens of bytes extra that is emitted every six months or so that
property changes. So I don't think there's any performance impact.

Thanks for considering.

    David

[0] : E.g. use @changed_properties instead of @invalidated_properties
cf. http://dbus.freedesktop.org/doc/dbus-specification.html#standard-interfaces-properties

[1] : though maybe we could do this automatically in GDBusProxy.. but
that is against the spirit of using @invalidated_properties instead of
@changed_properties so we don't ... it could be turned on by a flag
though. It's also slightly racy.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]