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/

Reply via email to