Is rotor-http the only really concurrent http server?

Hyper's server can run out of threads quickly if they support KeepAlive, as that ties up the thread until their current client makes the next request, or until a timeout occurs. In my servers, I turn off KeepAlive whenever the thread pool is running out of threads. In practice, this workaround is sufficient while we wait for a stable feature-rich non-blocking event driven server.

Once a non-blocking event-driven server becomes available, switching over to it is not going to be easy, as all existing request handling code must be rewritten to never block, but rather register events and callbacks.