Hi all, Just sending another little update since I merged the events branch into HEAD late last night and is on track for 2.3.3.
Apart from being event-driven, I've also refactored the imap code to be much better at imap compliance. The imaptest tool (imapwiki.org) now passes all tests except checkpointing. This means that the whole server code has undergone some quite massively invasive changes. As I explained earlier, the HEAD code now uses a single process and a single database connector per daemon to handle /all/ incoming clients. Finally, I've begun putting in some infrastructure for a simple global (query) cache that may one day start talking to a memcache backend like we've been discussing for ages. Though performance is quite nice (and already way beyond 2.2) in most lab-bases scenarios, this approach has also introduced some very obvious scalability limitations by design: - a single process is doesn't scale in multi-core systems - a single database connector doesn't scale in case of longer running queries like complex searches. Especially the second limitation will need to be addressed before 2.4. Still, dispite these limitations I'm exctatic about the state of things. The clutter in the servercode is gone leaving a thin and easily maintainable layer. And libevent is truly a rock solid layer for driving network IO; I love it! later, -- ________________________________________________________________ Paul Stevens paul at nfg.nl NET FACILITIES GROUP GPG/PGP: 1024D/11F8CD31 The Netherlands________________________________http://www.nfg.nl _______________________________________________ Dbmail-dev mailing list Dbmail-dev@dbmail.org http://twister.fastxs.net/mailman/listinfo/dbmail-dev