summaryrefslogtreecommitdiff
path: root/src/leap/mail/imap/soledadstore.py
AgeCommit message (Collapse)Author
2014-02-20mail parsing performance improvementsKali Kaneko
Although the do_parse function is deferred to threads, we were actually waiting till its return to fire the callback of the deferred, and hence the "append ok" was being delayed. During massive appends, this was a tight loop contributing as much as 35 msec, of a total of 100 msec average. Several ineficiencies are addressed here: * use pycryptopp hash functions. * avoiding function calling overhead. * avoid duplicate call to message.as_string * make use of the string size caching capabilities. * avoiding the mail Parser initialization/method call completely, in favor of the module helper to get the object from string. Overall, these changes cut parsing to 50% of the initial timing by my measurements with line_profiler, YMMV.
2014-02-20catch stopiterationKali Kaneko
2014-02-20fix rdoc duplicationKali Kaneko
2014-02-20fix attribute error on debug lineKali Kaneko
2014-02-18catch soledad error while updating mbox docKali Kaneko
2014-02-17remove floody logKali Kaneko
2014-02-17docstring fixesKali Kaneko
2014-02-17docstring fixesKali Kaneko
2014-02-17move mbox-doc handling to soledadstore, and lock itKali Kaneko
2014-02-17avoid revision conflict during deletionKali Kaneko
2014-02-17fix last_uid write to avoid updates to lesser valuesKali Kaneko
2014-02-17fine grained locks for putsKali Kaneko
2014-02-17separate new and dirty queuesKali Kaneko
2014-02-17defer_to_thread the bulk of write operationsKali Kaneko
and batch the notifications back to the memorystore, within the reactor thread.
2014-02-17separate better dirty/new flags; add cdocsKali Kaneko
2014-02-17take recent count from memstoreKali Kaneko
2014-02-17defend against empty itemsKali Kaneko
2014-02-17defer copy and soledad writesKali Kaneko
2014-02-17lock document retrieval/putKali Kaneko
2014-02-04fixes after reviewKali Kaneko
* Some more docstring completion/fixes. * Removed unneeded str coertion. * Handle mailbox name in logs. * Separate manhole boilerplate into its own file.
2014-01-31properly implement deferreds in several commandsKali Kaneko
Passing along a deferred as an observer whose callback will be called with the proper result. Returning to thread in the appropiate points. just let's remember that twisted APIs are not thread safe! SoledadStore process_item also properly returned to thread. Changed @deferred to @deferred_to_thread so it results less confusing to read. "know the territory". aha!
2014-01-31prime-uidsKali Kaneko
We pre-fetch the uids from soledad on mailbox initialization
2014-01-30Fix copy and deletion problemsKali Kaneko
* reorganize and simplify STORE command processing * add the notification after the processing of the whole sequence
2014-01-30docstring fixesKali Kaneko
Also some fixes for None comparisons.
2014-01-28handle last_uid property in memory storeKali Kaneko
2014-01-28recent-flags use the memory storeKali Kaneko
2014-01-28flags use the memstoreKali Kaneko
* add new/dirty deferred dict to notify when written to disk * fix eventual duplication after copy * fix flag flickering on first retrieval.
2014-01-28Unset new flag after successful writeKali Kaneko
2014-01-28add soledadstore classKali Kaneko
move parts-related bits to messageparts pass soledad in initialization for memory messages