Fun with Akonadi Dataengine
David Baron
d_baron at 012.net.il
Tue Feb 17 17:43:33 CET 2009
On Tuesday 17 February 2009 17:41:38 Sebastian Kügler wrote:
> On Tuesday 17 February 2009 14:13:10 David Baron wrote:
> > On Tuesday 17 February 2009 14:37:11 you wrote:
> > > On Tuesday 17 February 2009 08:01:31 David Baron wrote:
> > > > > > 2. At 1st timeout, I do the a query("ContactCollections")
> > > > > > then if I find a suitable key, connectSource, i.e to
> > > > > > ContentCollection-6.
> > > > >
> > > > > You can just do that in or from init(). Why use a timer here?
> > > >
> > > > The panel on which the applet is nested delays coming up when I do it
> > > > directly in init().
> > >
> > > Have you tried connecting to ContactCollections, and then checking for
> > > data of this one in dataUpdated()? This would be non-blocking.
> > > (Fetching the collections is pretty fast here, so I wouldn't have
> > > thought it's necessary.)
> >
> > This is what I am doing. This gives me one (more?) ContactConnection-#.
> > It is connecting to this, oro mre accurately, its contents that needs the
> > QTimer. Doing the initial connect was put in the timer because otherwize,
> > it delayed the panel from coming up.
>
> Some more:
>
> - if you run 'plasmaengineexplorer --engine akonadi', how long does it
> take to start up? (instantly or a couple of seconds?)
Program comes up quickly
>
> - if you request the source 'ContactCollections', how long does it take
> until it returns results?
And I get this quickly
These two connections are quick enough. However, when plasma is first starting
up, everything has slowed down. Maybe this is why my 1 second delay simply
lets everything start up nicely.
It is all the contacts that might take several-10 seconds to come up in the
explorer and in the program. The explorer is blocked during this wait.
I seem to need to see them all listed in the console before any dataUpdate's
are called. This is most probably the change you cite below.
Maybe I do not really (or always) need to repeat my connectAllSources but the
.h file says doing so is harmless .
>
> - I've just made the fetching of the collectionlist async as well, can you
> svn up and recompile the akonadi dataengine to see if that helps?
Most probably will.
More information about the Plasma-devel
mailing list