Review Request: This patch adds the Storage class for Plasma::DataEngine caching. This current implementation caches to disk. Soon, it will be akonadi.

Marco Martin notmart at gmail.com
Mon Jul 12 21:42:27 CEST 2010



> On 2010-07-10 08:35:01, Aaron Seigo wrote:
> > /trunk/KDE/kdelibs/plasma/dataengine.cpp, line 803
> > <http://reviewboard.kde.org/r/4548/diff/1/?file=30539#file30539line803>
> >
> >     this will work ok for low latency / synchronous storage fetching, which is what the current implementation is. but it really needs to be made properly async to avoid blocking.
> >     
> >     which means starting the job and populating the source when it returns ... but only if the source hasn't already been populated in the meantime.

problem is, retrieve gets only a key/value pair
so a ton of retrieve have to be made, and a connection for each one wouldn't be so pretty as well.
Aaron, Bruno: I'm really thinking about if Job is the proper way to go? it also forces to carry around all those base64 encoded strings of complex data, that wouldn't be solved even when using akonadi..
if the service is going to be public and usable directly by external dataengines as well it really justifies to be a service. if will remain private and only private i'm not sure.


- Marco


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviewboard.kde.org/r/4548/#review6459
-----------------------------------------------------------


On 2010-07-08 16:47:24, Brian Pritchett wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://reviewboard.kde.org/r/4548/
> -----------------------------------------------------------
> 
> (Updated 2010-07-08 16:47:24)
> 
> 
> Review request for Plasma.
> 
> 
> Summary
> -------
> 
> DataEngines can mark or unmark their sources to be cached with void DataEngine::setEnableCache(const QString &source, bool cache). If the DataEngine has implemented their own source by inheriting DataContainer, then DataContainer::setEnableCache(bool cache) will work.
> 
> 
> Diffs
> -----
> 
>   /trunk/KDE/kdelibs/plasma/CMakeLists.txt 1147556 
>   /trunk/KDE/kdelibs/plasma/data/operations/storage.operations PRE-CREATION 
>   /trunk/KDE/kdelibs/plasma/datacontainer.h 1147556 
>   /trunk/KDE/kdelibs/plasma/datacontainer.cpp 1147556 
>   /trunk/KDE/kdelibs/plasma/dataengine.h 1147556 
>   /trunk/KDE/kdelibs/plasma/dataengine.cpp 1147556 
>   /trunk/KDE/kdelibs/plasma/private/dataengine_p.h 1147556 
>   /trunk/KDE/kdelibs/plasma/private/storage.h PRE-CREATION 
>   /trunk/KDE/kdelibs/plasma/private/storage.cpp PRE-CREATION 
> 
> Diff: http://reviewboard.kde.org/r/4548/diff
> 
> 
> Testing
> -------
> 
> I have tested it with the microblogging dataengine/plasmoid.
> 
> 
> Thanks,
> 
> Brian
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.kde.org/pipermail/plasma-devel/attachments/20100712/0d82dd2e/attachment.htm 


More information about the Plasma-devel mailing list