boost::asio::streambuf b;
...
void handler(const boost::system::error_code& e, std::size_t size)
{
if (!e)
{
std::stringstream sstr(std::string((std::istreambuf_iterator<char>(&b)),
std::istreambuf_iterator<char>()));
b.consume(size);
...
}
}
...
boost::asio::async_read_until(s, b, "END\r\n", handler);
メソッドが呼び出されたとき、consume
占有されていたメモリstreambuf b
は解放されません。async_read_until
何度も呼び出されるとメモリが増えていきます。私の使い方は正しいですか?the get pointer
streambufの前にメモリを解放する方法はありますか?