[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: IMAP4 List Command Extensions



On Thu, 2 Jun 2005 10:12:42 +0200 Arnt Gulbrandsen 
<arnt@xxxxxxxxxxxxxxxxxxx> wrote:

> 
> Let me step back. AFAICT, there are two approaches to this:
> 
> 1. Client sends LIST. When an interesting LIST response arrives, it 
> sends a STATUS command. As the STATUS commands' responses arrive, the 
> client has the information it wants.
> 
> 2. Client sends LIST with some extension. For each mailbox matching the 
> supplied pattern, the server does the same work that STATUS would do, 
> and sends the result in a LIST response.
> 
> Do I understand it correctly?
> 
> Alternative 1 has a cost of two roundtrips, plus traffic costs for the 
> LIST responses and for the responses to STATUS, plus CPU costs for 
> LIST, STATUS and quite a bit of parsing.

Almost right.   Alternative 1 has a cost of 1 roundtrip for the LIST and
1 roundtrip for each STATUS per interesting mailbox.  Perhaps you are 
thinking of a STATUS extension that accepts multiple mailboxes as 
arguments?

> Alternative 2 has a cost of one roundtrip, plus traffic for the LIST 
> responses, plus CPU cost for LIST including STATUS.
>
> If we assume that there's 100 LIST responses and 10 interesting 
> mailboxes, then 1 costs one roundtrip more and 2 has 90 unnecessary 
> STATUS processings and 90 unnecessary transmitted UIDNEXT/UIDVALIDITY 
> pairs. (And of course, a client that implements 2 has to implement 1 as 
> well, or else it won't work with plain servers.)

Based on the roundtrip calculation correction:

1 costs 1 LIST + 10 STATUS roundtrips.
2 costs 1 LIST roundtrip.

I believe the response processing to be roughly equivalent in both cases.

>From a client point of view, avoiding the 10 additional roundtrips is very
useful -- especially in a highly latent situation.

> Hm. I suppose I must misunderstand terribly, because I cannot see any 
> appeal in 2 at all.

You've missed the roundtrip cost of multiple STATUS commands.

Cheers.

---
Steve Hole
Chief Technical Officer - Electronic Billing and Payment Systems
ACI Worldwide

Email: holes@xxxxxxxxxxxxxxxx
Phone: 780 424 4922