[Bug 23963] Support for presence optimisations

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Thu Jan 6 13:55:27 CET 2011


--- Comment #9 from Simon McVittie <simon.mcvittie at collabora.co.uk> 2011-01-06 04:55:25 PST ---
(In reply to comment #8)
> In case power-saving is not supported by server (everything except gtalk
> AFAIK), we could queue requests/updates locally into the CM to reduce client
> processes wakeup.

Not such a big deal, because if the server is sending us presence, our network
device and Gabble have to be awake, so we're awake already. The important edge
is between 0 and 1 causes to wake up. I agree that once awake, doing avatar
downloads would keep us awake for longer, though.

Queueing presence while in pseudo-power-saving mode would have the side-effect
of queueing avatar changes.

If not done carefully, this would re-order XMPP stanzas, which I think is

If you implement this, I think the right place would be Wocky? Like so:

* power-saving user provides a callback, gboolean
(*WockyInterestingStanzaPredicate) (WockyStanza *stanza, gpointer user_data) or
some such

* all uninteresting stanzas (for Gabble this would be <presence> and a
whitelist containing most known PEP notifications, I think?) are pushed onto a
queue in the porter instead of being dispatched

* when an interesting stanza arrives, the porter dispatches all the queued
uninteresting stanzas (to preserve ordering), then dispatches the interesting
stanza, then goes back to sleep

(In reply to comment #8)
> But that's a problem if we want a logger of
> such updates that works even if idle. But do we want that really?

PowerSaving is defined to be allowed to break such things; if you care about
them, don't set power saving mode.

Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.

More information about the telepathy-bugs mailing list