title: boost::asio::async_read_until does not read all message
body: <p>boost::asio::async_read_until does not read all data, and hangs in the middle of the message.</p>
  
  <pre><code>    boost::asio::async_read_until(socket, response, "\n", boost::asio::placeholders::error));
                          [&amp;](const boost::system::error_code &amp;err2, std::size_t lenght)
                          {
                              RUN_CHECK;
                              if (!err2)
                              {
                                  RUN_CHECK;
                                  std::string r =  this-&gt;response_get();
      /*
      .. do stuff here
      */
  
                              }
                              else
                              {
                                  report_error(err2);
                              }
  }
  </code></pre>
  
  <p>Any idea what's wrong? Is not supposed for async_read_until to read until "\n" is reached?</p>