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