13 Aug
2007
13 Aug
'07
6:06 p.m.
On Mon, 2007-08-13 at 22:22 +0800, Joe Wong wrote:
Hi Timo,
I see. So, if the client fetch the From field at the first time and then fetch the subject field at the second time, the index.cache file will be updated twice?
Not necessarily. It goes like this:
- mailbox is newly created
- a new mail arrives
- Client does FETCH 1 (BODY.PEEK[HEADER.FIELDS (From)]) --> Dovecot caches From header
- Client does FETCH 1 (BODY.PEEK[HEADER.FIELDS (Subject)]) --> Dovecot caches Subject header
- a new mail arrives
- Client does FETCH 1 (BODY.PEEK[HEADER.FIELDS (From)]) --> Dovecot caches From and Subject headers
- Client does FETCH 1 (BODY.PEEK[HEADER.FIELDS (Subject)]) --> Dovecot gets Subject from cache
- a new mail is added with APPEND command or with deliver --> Dovecot caches From and Subject header immediately (v1.1 only)
So Dovecot remembers what fields client is interested of and when header is being parsed it caches everything that it knows the client wants.