dovecot-2.2: imapc: Don't send FETCHes for data that is already ...
dovecot at dovecot.org
dovecot at dovecot.org
Sat Nov 16 20:10:36 EET 2013
details: http://hg.dovecot.org/dovecot-2.2/rev/52fccca876b9
changeset: 16960:52fccca876b9
user: Timo Sirainen <tss at iki.fi>
date: Sat Nov 16 20:06:34 2013 +0200
description:
imapc: Don't send FETCHes for data that is already in cache.
diffstat:
src/lib-storage/index/imapc/imapc-mail-fetch.c | 3 +++
src/lib-storage/index/imapc/imapc-mail.c | 4 ++--
src/lib-storage/index/imapc/imapc-mail.h | 1 +
3 files changed, 6 insertions(+), 2 deletions(-)
diffs (44 lines):
diff -r 50026d936001 -r 52fccca876b9 src/lib-storage/index/imapc/imapc-mail-fetch.c
--- a/src/lib-storage/index/imapc/imapc-mail-fetch.c Sat Nov 16 19:41:07 2013 +0200
+++ b/src/lib-storage/index/imapc/imapc-mail-fetch.c Sat Nov 16 20:06:34 2013 +0200
@@ -217,6 +217,9 @@
if (mbox->prev_mail_cache.uid == _mail->uid)
imapc_mail_cache_get(mail, &mbox->prev_mail_cache);
+ /* try to get as much from cache as possible */
+ imapc_mail_update_access_parts(&mail->imail);
+
if ((data->wanted_fields & MAIL_FETCH_RECEIVED_DATE) != 0 &&
data->received_date == (time_t)-1)
fields |= MAIL_FETCH_RECEIVED_DATE;
diff -r 50026d936001 -r 52fccca876b9 src/lib-storage/index/imapc/imapc-mail.c
--- a/src/lib-storage/index/imapc/imapc-mail.c Sat Nov 16 19:41:07 2013 +0200
+++ b/src/lib-storage/index/imapc/imapc-mail.c Sat Nov 16 20:06:34 2013 +0200
@@ -285,7 +285,7 @@
return TRUE;
}
-static void index_mail_update_access_parts(struct index_mail *mail)
+void imapc_mail_update_access_parts(struct index_mail *mail)
{
struct mail *_mail = &mail->mail.mail;
struct imapc_mailbox *mbox = (struct imapc_mailbox *)_mail->box;
@@ -340,7 +340,7 @@
struct index_mail *mail = (struct index_mail *)_mail;
index_mail_add_temp_wanted_fields(_mail, fields, headers);
- index_mail_update_access_parts(mail);
+ imapc_mail_update_access_parts(mail);
}
static void imapc_mail_close(struct mail *_mail)
diff -r 50026d936001 -r 52fccca876b9 src/lib-storage/index/imapc/imapc-mail.h
--- a/src/lib-storage/index/imapc/imapc-mail.h Sat Nov 16 19:41:07 2013 +0200
+++ b/src/lib-storage/index/imapc/imapc-mail.h Sat Nov 16 20:06:34 2013 +0200
@@ -33,5 +33,6 @@
void imapc_mail_fetch_update(struct imapc_mail *mail,
const struct imapc_untagged_reply *reply,
const struct imap_arg *args);
+void imapc_mail_update_access_parts(struct index_mail *mail);
#endif
More information about the dovecot-cvs
mailing list