Re: [Logicmail-devel] Upcoming mail store services refactoring
Brought to you by:
octorian
From: Derek K. <dko...@lo...> - 2011-08-13 04:00:02
|
Okay, this is my final (fingers crossed) message on this topic. I've just checked in my work so far, and here's what I've done: - Created two new "mail store" requests, containing 90% of the convoluted logic that used to be in the FolderRefreshHandler classes of the "services" layer: - ImapFolderRefreshRequest - PopFolderRefreshRequest - Cleaned up the "services" layer based on the knowledge that due to the above, complex folder refresh/sync operations are now single requests within the mail store. - Drastically simplified the multi-folder refresh logic to simply queue up a whole bunch of these refresh requests within the mail store. Hopefully I didn't break anything, but I'll continue to test-and-fix as I start running the code on my personal device. Eventually, if I get around to implementing IMAP's QRESYNC extension, it'll now be a lot easier. It'll just be an alternate refresh request implementation. (If I do that, IMAP folder refreshes will become significantly more efficient for servers that support it.) Due to these changes, users will hopefully notice the following: - Folder refreshes should now show a single updating status message (instead of 2-3 show/hides of the status bar). - Folder refreshes should be a little bit faster, due to a lot less round-tripping between layers of the app. P.S. Any further work on this will be cleanup, and not worth writing E-Mails about. -Derek On 08/11/2011 10:08 PM, Derek Konigsberg wrote: > I'm creating the more complex requests *inside* the mail store layer. > The services layer will still be responsible for cache loading (upfront) > and updates (by intercepting mail store events). However, the rest of > the protocol-dependent processes are going to solely be the > responsibility of the mail store layer. (So far, this actually improves > performance as well, though it still needs a lot of testing before I can > check it in.) -- ---------------------------- Derek Konigsberg dko...@lo... ---------------------------- |