The Server consists of a main, parent process and a small, static number of child processes.
The parent process' job is to manage the child processes. This
involves spawning children as required to ensure there are always
Each child process consists of a a pool of worker threads and a
main thread that accepts connections and passes them to the workers via
a work queue. The worker thread pool is dynamic, managed by a
maintenance thread so that the number of idle threads is kept between