>from there, implementing Maildir might be easier than from here. even >IMAP isn't impossible, if we're willing to return a socket descriptor >instead of a file descriptor, or maybe a pipe from a fork, or (gag me) a >temporary file.
Weeeelll ... I think, sadly, that to really make things like IMAP a win we need to abstract out things a bit more. You can see my experiments with program I wrote, "imaptest", here: http://lists.nongnu.org/archive/html/nmh-workers/2017-10/msg00043.html http://lists.nongnu.org/archive/html/nmh-workers/2017-10/msg00068.html The upshot from all that is to really take advantage of IMAP, we need to be a lot smarter and leverage the protocol more. For example, when doing a scan(1) of a large group of messages you can just ask the IMAP server for the information you are interested in; we already know this because the format engine has that information. For pick(1) we can ask the server to do the searching for us, and that is a HUGE win. So just asking for a handle for a message to do what we've BEEN doing isn't really good enough, I think ... we want to tell our API, "Hey, I want to work on this set of messages, I need this information, and here's an iterator function I want you to call for every message". --Ken -- Nmh-workers https://lists.nongnu.org/mailman/listinfo/nmh-workers
