boost asio timeout [duplicado]

Posible duplicado:
¿Cómo establecer un tiempo de espera para bloquear tomas en boost asio?

Leí algunas de las entradas antes sobre el tiempo de espera, pero no entiendo.

Quiero un tiempo de espera definido para la conexión. el código de conexión se ve así:

try{
  boost::asio::ip::tcp::resolver              resolver(m_ioService);
  boost::asio::ip::tcp::resolver::query       query(link.get_host(), link.get_scheme());
  boost::asio::ip::tcp::resolver::iterator    endpoint_iterator = resolver.resolve(query);
  boost::asio::ip::tcp::resolver::iterator    end;
  boost::system::error_code                   error   =   boost::asio::error::host_not_found;

  while (error && endpoint_iterator != end)
   {
    m_socket.close();
    m_socket.connect(*endpoint_iterator++, error);
   }
}

También quiero un tiempo de espera de lectura.

Yo sueloboost::asio::read_until(m_socket, response, "\r\n"); para leer el encabezado.

es posible configurar SIMPLE un tiempo de espera?

Respuestas a la pregunta(2)

Su respuesta a la pregunta