Boost C++ 库

...世界上最受推崇和专业设计的 C++ 库项目之一。 Herb SutterAndrei Alexandrescu, C++ 编码标准

PrevUpHomeNext

面向缓冲区的异步读取流需求

如果类型 X 满足以下列出的需求,则它满足 AsyncReadStream 需求。

在下表中,a 表示类型为 X 的值,mb 表示满足 MutableBufferSequence 需求的(可能是 const)值,而 t 是一个完成令牌。

表 6. AsyncReadStream 需求

操作

类型

语义,前置/后置条件

a.get_executor()

满足 Executor 需求的类型。

返回关联的 I/O 执行器。

a.async_read_some(mb,t)

返回类型根据 异步操作 的需求确定。

满足 读取操作异步操作 的需求,完成签名是 void(error_code ec, size_t n)

如果 buffer_size(mb) > 0,则启动一个异步操作,从流 a 中读取一个或多个字节的数据到缓冲区序列 mb 中。如果成功,则设置 ec,使得 !ectrue,并且 n 是读取的字节数。 如果发生错误,则设置 ec,使得 !!ectrue,并且 n 为 0。如果已从流中读取所有数据,并且流执行了有序关闭,则 ecstream_errc::eof 并且 n 为 0。

如果 buffer_size(mb) == 0,则操作立即完成。 设置 ec,使得 !ectrue,并且 n 为 0。



PrevUpHomeNext