That's it for Tutorial 6. With very little effort we've managed to extend the previous single-threaded server to an implementation which allows runtime selection of single or multi-threaded operation. In Tutorial 7 we'll extend that again to allow a thread-pool choice in addition to the current two.
For reference, here's the file list again: