Thomas Bruederli wrote: > Well, I'm still not convinced about the bodystructure stuff in headers. > Especially if you have caching disabled, all headers need to be fetched > when listing a folder. This IMO is too much overhead just to safe one FETCH > command in the case one opens a message. > > You made the bodystructure fetch optional in iil_C_FetchHeader() so why not > add a thirg argument to rcube_imap::get_headers() which defaults to false > (for listing) but will be used in rcube_message class.
You mean 4th argument? From conclusions below you'd see that get_headers() isn't used for messages listing (list_headers() -> _fetch_headers() is used) > Let's check this for caching enabled and disabled: > > Caching disabled: > - headers are fetched for listing in one FETCH command > - headers + bodystructure are fetched together when viewing the message > - part headers are fetched in an additional FETCH command > -> list + view totals in 3 FETCH commands > > (even if we always fetch the bodystructure there won't be less fetch > commands because caching is disabled) > > Caching enabled: > - headers are fetched for listing in one FETCH command > - headers are cached, bodystructure needs to be fetched when viewing msg. > - part headers are fetched in an additional FETCH command > -> list + view totals in 3 FETCH commands (of not cached yet) > > (once the bodystructure is fetched it is also saved in cache) > > My conclusion: making the bodystructure optional in > rcube_imap::get_headers() and use it in rcube_message::__construct() would > be a reasonable improvement. I will do this and then commit to trunk. -- Aleksander 'A.L.E.C' Machniak http://alec.pl gg:2275252 LAN Management System Developer http://lms.org.pl Roundcube Webmail Project Developer http://roundcube.net _______________________________________________ List info: http://lists.roundcube.net/dev/
