Wait for the socket
to become ready to read, ready to write, or to have pending error conditions.
boost::system::error_code & ec);
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)