On Thu, 17 Dec 2009, Shawn Walker wrote:
How does the client tell the server to refresh the message flags? The client is multithreaded and that we have multiple connections to the server (2).
That is not a good client design. There is neither guarantee nor requirement in IMAP that the server supports multiple simultaneous read-write access to a mailbox.
If the server is UW with traditional UNIX format (mbox) format, there is no simultaneous read-write access, and every time you open the mailbox read-write it forcibly closes the mailbox in the previous session.
The mix and mbx formats support simultaneous read-write access, but they do immediate flag updates across sessions.
We have a situation where the client mark a message as read in one thread, but when the synchronize the folder, the client send ". UID FETCH 15402 FLAGS", the server send back "* 5261 FETCH (FLAGS (\Answered) UID 15402)" which mean that the message is unseen for that connection.
If the server is UW with traditional UNIX format, this happened because the mailbox was forcibly closed. See above.
Obviously the IMAP server is caching the flags for the connection, but I need it to dump the cache or refresh the message cache, but without logging out and log back in every time the client want to get the message flags.
No server "caches the flags" as you describe. If the mail store in the server supports multiple simultaneous sessions to the same mailbox (e.g., mix and mbx formats in UW), then flags are updated immediately.
-- Mark -- http://panda.com/mrc Democracy is two wolves and a sheep deciding what to eat for lunch. Liberty is a well-armed sheep contesting the vote. _______________________________________________ Imap-uw mailing list [email protected] http://mailman2.u.washington.edu/mailman/listinfo/imap-uw
