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

Reply via email to