#3566: ability to turn IMAP command pipelining on/off
--------------------------------------------+-------------------------------
 Reporter:  xrgtn                           |       Owner:  mutt-dev      
     Type:  enhancement                     |      Status:  infoneeded_new
 Priority:  major                           |   Milestone:                
Component:  mutt                            |     Version:  1.5.21        
 Keywords:  IMAP queue pipeline pipelining  |  
--------------------------------------------+-------------------------------
Changes (by brendan):

  * status:  new => infoneeded_new


Old description:

> Hello,
>
> At the moment imap.yandex.ru server doesn't understand pipelined IMAP
> commands at all. Turning off IMAP pipelining works around the problem.
> I've made 2 patches -- against 1.5.18 and against current HEAD
> (1.5.21+something).
>
> Patches introduce new configuration variable "imap_pipeline" which is on
> by default, but can be turned off by e.g. account-hook. There's one
> problem - option is global, while I'd prefer it to be set per IMAP server
> (somewhere inside *idata struct). As I understand, currently there's no
> method to do this with configuration variables? If I'm correct, the only
> viable solution would be to use pipelining until you connect to
> imap.yandex.ru server. After that, you should keep pipelining turned off,
> lest the yandex session may hang if you enable pipelining while switching
> to another IMAP server (I didn't test it yet).
>
> The patches differ slightly in behaviour, with the later one  (for HEAD)
> being more clean and robust due to new IDLE/DONE handling. Both patches
> affect IMAP command queue handling significantly, so please review them
> carefully.
>
> Please consider including it in mutt,
>
> -- [[BR]]
> WBR,[[BR]]
> xrgtn

New description:

 Hello,

 At the moment imap.yandex.ru server doesn't understand pipelined IMAP
 commands at all. Turning off IMAP pipelining works around the problem.
 I've made 2 patches -- against 1.5.18 and against current HEAD
 (1.5.21+something).

 Patches introduce new configuration variable "imap_pipeline" which is on
 by default, but can be turned off by e.g. account-hook. There's one
 problem - option is global, while I'd prefer it to be set per IMAP server
 (somewhere inside *idata struct). As I understand, currently there's no
 method to do this with configuration variables? If I'm correct, the only
 viable solution would be to use pipelining until you connect to
 imap.yandex.ru server. After that, you should keep pipelining turned off,
 lest the yandex session may hang if you enable pipelining while switching
 to another IMAP server (I didn't test it yet).

 The patches differ slightly in behaviour, with the later one  (for HEAD)
 being more clean and robust due to new IDLE/DONE handling. Both patches
 affect IMAP command queue handling significantly, so please review them
 carefully.

 Please consider including it in mutt,

 -- [[BR]]
 WBR,[[BR]]
 xrgtn

--

Comment:

 First, I just tried connecting to imap.yandex.com with a test account and
 it seemed to handle some basic pipelining. Second, does setting
 `imap_pipeline_depth=0` not already do what you want?

-- 
Ticket URL: <http://dev.mutt.org/trac/ticket/3566#comment:1>
Mutt <http://www.mutt.org/>
The Mutt mail user agent

Reply via email to