stateless synchronization

Ploc ploc2011 at acampado.net
Wed Oct 26 15:18:34 UTC 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