Send an IMAP command, but don't wait for responses.
authorDan Winship <danw@src.gnome.org>
Thu, 26 Jul 2001 19:07:40 +0000 (19:07 +0000)
committerDan Winship <danw@src.gnome.org>
Thu, 26 Jul 2001 19:07:40 +0000 (19:07 +0000)
commitf4e05781288e965198888e067b7360aa92fabc8b
tree281b12ad98ea6ef7fedd574c02b36af9d60d8ae5
parent62e50a3c0c91a1cf7c4eecf46fef7d107ff2fab4
Send an IMAP command, but don't wait for responses.

* providers/imap/camel-imap-command.c (camel_imap_command_start):
Send an IMAP command, but don't wait for responses.
(camel_imap_command_response): Read a single line of response from
the server.
(camel_imap_command, etc): Reimplement in terms of the new code.

* providers/imap/camel-imap-folder.c (imap_rescan): Use
camel_imap_command_start and camel_imap_command_response, and
call camel_operation_progress after each line read from the
server.
(imap_update_summary): Likewise, although with more fudging on the
precentages... Also, fix this so that if none of the new messages
are cached, it only does a single FETCH, and if some of them are
cached, it does two FETCHes (one to get the UIDs, FLAGS, and
SIZEs, and another to get the bodies of all of the messages that
aren't cached now that it knows the relevant UIDs). This should
speed up startup a bunch (especially if you have high bandwidth
but also high latency to the IMAP server).
camel/ChangeLog
camel/providers/imap/camel-imap-command.c
camel/providers/imap/camel-imap-command.h
camel/providers/imap/camel-imap-folder.c
camel/providers/imap/camel-imap-store.c