Безопасно ли манипулировать streambuf после выполнения boost :: asio :: async_read? - PullRequest
2 голосов
/ 01 сентября 2010

Я знаю, что манипулировать streambuf небезопасно, пока async_write работает, как указано автором asio в списке рассылки boost. То, что я хочу знать, это безопасно ли манипулировать streambuf после async_read?

Пример:

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 Ответ

1 голос
/ 01 сентября 2010

Вы должны иметь возможность делать все что угодно с помощью streambuf, когда выполняется обратный вызов async_read. Обратный вызов сообщает нам, когда asio завершает работу с памятью.

...