stateless synchronization
Ploc
ploc2011 at acampado.net
Wed Oct 26 16:18:34 BST 2011
How does offlineimap determine if a mail has been deleted from an
account, or newly received from the other account ?
spaetz answered that offlineimap maintains a cache of all mails it
knows. This way it can determine if a mail has been deleted or added or
if a flag (e.g. unread) has been added or removed on either side. But
this is not specific to IMAP<->IMAP the same happens with
IMAP<->Maildir. He also added that ogglineimap was caching mail ID & msg
flags.
I do infer from this discussion that offlineimap is sort of stateful
piece of software. As offlineimap maintains a cache of all mails it
knows, offlineimap is in a way a stateful application, while imapsync is
stateless. As imapsync does only a 1-way synchronization, it is easy for
imapsync to be stateless : imapsync only has to compare mails from the
two repositories and synchronize them considering that the original
repository as the reference repository.
But let's go back to offlineimap, what happens if the cached data of
offlineimap are deleted ? Can the synchronization be recovered ? In this
case, how can offlineimap determine if a mail has been deleted from an
account, or newly received from the other account ? Cached timestamps
are helpless whitout cached data or cached metadata ?
More information about the OfflineIMAP-project
mailing list