Performance enhancing branch :)a

Sebastian Spaeth Sebastian at SSpaeth.de
Mon Aug 22 14:11:08 UTC 2011


Uploads from local to remote repositories are currently a pain. The
remote IMAP will assign a new UID and to record that locally we will:

a) Load the "local" message (that can be via an IMAP server, so
   expensive)
b) Save under a new UID (uploading the same message back the the IMAP
   server, or storing in on our MailDir)
c) Delete the "local" item.

All we need to do is: a) rename the file to reflect the UID in the
Maildir case or b) update the Mapping file in the Mapped IMAP case.

Please have a careful look at the following 2 patches that implement
that behaviour by adding a change_message_uid function to the required
backends. In order to do that, I refactored some code in patch #1 to
tease out the relevant components (UID, flags, rtime) from a maildir
message name.

I am not sure we should simply merge the series as is, it might be
useful to review and test this a bit. That having said, it seems to work
for me.

It would be a major performance boost for sync where we have to move
messages from LOCAL to REMOTE.

Sebastian
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/offlineimap-project/attachments/20110822/5e3eb4ff/attachment.pgp>


More information about the OfflineIMAP-project mailing list