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