[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
> 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
> 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.
Chief Technical Officer - Electronic Billing and Payment Systems
Phone: 780 424 4922