Re: [Imap-protocol] If Crispin were creating IMAP today how would it be different?
Bron Gondwana <[email protected]> Tue, 10 Mar 2015 00:27:41 +1100
| Newsgroups | gmane.mail.imap.general |
|---|---|
| Message-ID | <1425907661.1215497.237833469.1EDA571D@webmail.messagingengine.com> |
On Mon, Mar 9, 2015, at 03:13 AM, Bill Janssen wrote: > Messages in files is itself kind of old-school. There's still a place > for MUA/MDA separation, but perhaps the MDA should just be an SQL or > NoSQL database; dump all the messages in MySQL. Then the "access > protocol" would simply be the appropriate set of queries for whatever > the client is trying to achieve. The DB schema would define the > protocol. So this is pretty much what JMAP is actually, it's a data model query and update protocol which is designed around batch operations (and batch queries) to reduce chattyness. > Triggers in the DB could do the thread calculation. Roughly what I'm doing for the non-Gmail case in the JMAP proxy (which is sqlite3 backed) where I generate an ID from the envelope datastructure, and then do a messageid lookup on the In-Reply-To (cheap and nasty implementation, a better one would be what we do in Cyrus) https://github.com/jmapio/jmap-perl/blob/master/JMAP/ImapDB.pm#L279 https://github.com/brong/cyrus-imapd/blob/07381525b6dcaa57fb1f9110ffec83d3618a0b96/imap/message.c#L3036 > And let the DB guys solve the intermittent connection problems :-). > Oracle, for instance, has a "Mobile Server" product that synchonizes a > local cache on a mobile device with a remote Oracle DB, including SSL > encryption on the sync connection, and data compression. The problem is, DB protocols are pretty chatty. And you need to solve authencation too. Seriously, I think we've pretty much done what you're suggesting in JMAP, but we've solved the latency problems that chatty protocols have when you don't have a nice short piece of solid copper between you and the server as well. Bron. -- Bron Gondwana [email protected] _______________________________________________ Imap-protocol mailing list [email protected] http://mailman13.u.washington.edu/mailman/listinfo/imap-protocol