22 implements a half-way point between the one-thread-per-client approach and fully non-blocking operation like mio would provide. It multiplexes multiple clients on a single thread, but runs each client there in serial order. The performance speed-up is quite substantial.
As discussed in #5, the idiomatic way to do polling I/O in rust is probably to use mio. It would be an interesting data point to include.