title: Reading from boost asio streambuf keeps bytes in buffer
body: <p>I have a problem with reading from boost asio's stream. The first invocation of an async_read_until gives me 460 bytes transfered( I checked that with wireshark). After that I use an istream initialized with the streambuf pointer to use std::copy_n with an istreambuf_iterator. That works fine and the target of std::copy_n holds the request up to the delimiter sequence. </p>
  
  <p>The strange thing happens after the next call to async_read_until. It seems that the last character was not read from the streambuf so the next handler call gives me one byte more than the actual size of the request. </p>
  
  <p>Are there any limitations using istream with asio's streambuf?</p>