simple async server/client using boost.asio