[Dovecot] IMAP views - and things to make Outlook Express not suck so much
Timo Sirainen
tss at iki.fi
Thu May 27 03:20:05 EEST 2004
On 27.5.2004, at 02:31, Geo Carncross wrote:
>> I've thought about something similiar before, but I've mostly just
>> thought about performance and complexity issues with it. Creating a
>> single view from many mailboxes could be slow without some special
>> indexing.
>
> It shouldn't be slower than performing the actions manually.
Sure, it's not, but clients aren't doing this manually now. Doing it in
a simple way would be easy I guess, but I'm not sure if the performance
would be good enough to be acceptable.. Especially if a view consists
of tens of mailboxes. Each synchronization would require scanning
through changes in all of them.
I had been thinking about making some global index about mailboxes and
their states. So that by just reading one file would be able to tell
what mailboxes have changed. With that kind of system it would work
much better.
> The only
> "tricky" part would be the UIDL/ID matchups. If one is willing to
> implement 64-bit integers, or accept a 2^32 maximal limit on the number
> of messages accessible in a view, then the problem can be reduced to
> m=n*nfol+folnum where nfol is the number of subscribed folders, folnum
> is the relay counter, n is the original UIDL or ID number, and m is the
> resulting UIDL/ID passed to the client.
IMAP spec only allows using 32bit numbers, so UIDs and message counts
can be max. 2^32-1. But I don't think the UID lookup is too difficult,
I could just create a new index of uid => {original mailbox id, uid}
mapping with simple increasing UIDs.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: PGP.sig
Type: application/pgp-signature
Size: 186 bytes
Desc: This is a digitally signed message part
URL: <http://dovecot.org/pipermail/dovecot/attachments/20040527/d033d131/attachment-0001.bin>
More information about the dovecot
mailing list