understood example of boost::asio