A nonblocking single-threaded network framework based on Boost.Asio