Timo Sirainen skrev:
The big problem is what the protocol should be. Use some existing RPC protocol? It should be something extensible so that a plugin in imap process can talk to a plugin in storage process, without the base processes knowing anything about the details (e.g. imap-quota plugin asking quota usage from storage's quota plugin). In any case the client side API should be asynchronous. That can make it annoyingly difficult to use though. Wonder if I could switch to erlang or something for the imap/pop3 processes :)
SOAP / BEEP: http://www.faqs.org/rfcs/rfc3288.html
You will need to thread calls, waiting for long-running commands. Unless you switch to Erlang, of course :-)
If you don't overdo the XML document part, you can use your own implementation or use saxon (sp?) or another serial XML processor.
/Peter
Peter Lindgren