Talk:Thunderbird:Pluggable Mail Stores
I notice that a lot of the functions here don't have callbacks. Should they? (I'm assuming they're not actually synchronous).
If my assumption is wrong, and they are synchronous, should they actually be async and also cancelable (ie return a request ID), since we're presumably going to want to call them from the UI thread and be able to abort them? I'm asking because I made a bunch of calendar interfaces sync early on, and it became clear after a while that that was a mistake, and they had to be redeone.
I think treating messages as streams of characters or octets is too coarse a view. Each MIME message is itself a decorated tree with all kinds of structure... and a message store interface should allow retrieval and manipulation of message parts and their headers. See also my abandoned project to rewrite the MIME library:
and of course everything should allow for asynchronous activity and multi-threadedness etc. etc.
--Eyalroz 21:51, 11 February 2010 (UTC)