On Fri, Jul 28, 2006 at 12:18:12AM -0700, Nikola Milutinovic wrote:

> So, perhaps we could state that the desired behavior of any IMAP client would 
> be to fetch only those message headers it nedds to and perhaps a bit more. In 
> case of TB, that would transalte to fetching only headers that would be 
> visible to the user and perhaps screenful of header up and down.

It also helps if the clients ask for a limited set of headers from
each message of interest. For example, Squirrelmail asks for this lot at
mailbox opening time:

(FLAGS UID RFC822.SIZE INTERNALDATE BODY.PEEK[HEADER.FIELDS (Date To
Cc From Subject X-Priority Importance Priority Content-Type)])

Cyrus caches some headers in the index file, but unfortunately does
not include Importance or Content-Type so it has to open and parse
every message file in the mailbox to satisfy the request! This is
defined in imapd/mailbox.c in struct mailbox_header_cache
mailbox_cache_headers. I am considering expanding the list in that
definition to improve efficiency: does anyone know of any problems
this might cause? (This is for a new deployment, so there are no
existing index files to worry about).

Andrew
-- 
-----------------------------------------------------------------------
|                 From Andrew Findlay, Skills 1st Ltd                 |
| Consultant in large-scale systems, networks, and directory services |
|     http://www.skills-1st.co.uk/                +44 1628 782565     |
-----------------------------------------------------------------------
----
Cyrus Home Page: http://asg.web.cmu.edu/cyrus
Cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu
List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html

Reply via email to