async_read在收到请求的字节数时调用回调。这可能意味着多次调用async_read_some。
在文档中指定最多可以有一个挂起的async_read_some。必须在下一个async_read_some发出之前调用回调。
async_read怎么样?可以将多个async_read排队吗?如果是,是否保证执行顺序?
答案 0 :(得分:2)
此操作是根据对流的
async_read_some
函数的零次或多次调用实现的,并且称为组合操作。程序必须确保流不执行任何其他读取操作(例如async_read
,流的async_read_some
函数或执行读取的任何其他组合操作),直到此操作完成。
这意味着你不能在同一个流上启动任何进一步的async_read
操作,直到调用完成处理程序(回调) - 当提供的缓冲区被填满时,这应该只有一次,满足完成条件,或发生一些错误。
你并不完全明白你的意思和排队"多个async_read
操作。实现一系列async_read
操作的方法是在完成处理程序中启动下一个操作。