What modseq value should I cache?

I am reading RFC 7162 , trying to understand how the client should behave when communicating with a server that supports CONDSTORE, but not QRESYNC.

The initial connection case is quite simple: the client compares its cached modseq value with the response HIGHESTMODSEQto the command SELECT, and if it is lower, the client can receive any changes using FETCH+ CHANGEDSINCEor SEARCH+ MODSEQ. After that, the client can save the value HIGHESTMODSEQas the new cached modseq value for the mailbox.

However, if the client receives unsolicited responses FETCHduring the selection of the mailbox, can he draw any reliable conclusions from the attributes MODSEQin these updates? Will it be safe to cache the highest value seen, MODSEQor is the client at risk of losing any updates in the state of the mailbox at the same time?

+4
source share
1 answer

It's complicated.

The question probably relates to the language in RFC7162, which explains that HIGHESTMODSEQthey MODSEQare two different animals, and what FETCH MODSEQmay appear when the server is forced to recall some EXPUNGEs, possibly because the client sent a command that uses MSN (see the motivation in chapter 3.2 )

, , , CONDSTORE, QRESYNC, MODSEQ HIGHESTMODSEQ (, FLAGS updates). . , , RFC - QRESYNC, - , , , HIGHESTMODSEQ , FLAGS . , , HIGHESTMODSEQ CONDSTORE MODSEQ.

, IMAP . , , RFC .

+2
source

All Articles