在执行boost :: asio :: async_read之后操纵streambuf是否安全?

时间:2010-09-01 10:21:12

标签: c++ boost-asio streambuf

我知道操作streambuf是不安全的,而async_write正如asio作者在boost邮件列表中所说的那样工作。我想知道的是,在async_read之后操纵streambuf是否安全?

示例:

async_read(socket_, recv_streambuf_, ...);
// manipulated while async_read is working
// for example, after I call async_read,
recv_streambuf_.consume(2); 
// or something advance, like this...
int var;
std::istream recv_is(recv_streambuf_);
recv_is >> var; 

1 个答案:

答案 0 :(得分:1)

执行async_read回调时,您应该可以使用streambuf执行任何操作。回调让我们知道asio何时完成使用内存。