Boost C++ 库

……这是世界上最受推崇、设计最精良的 C++ 库项目之一。 Herb SutterAndrei Alexandrescu, C++ Coding Standards

面向缓冲区的异步读取流要求 - Boost C++ 函数库
PrevUpHomeNext

如果类型 X 满足下述要求,则它满足 AsyncReadStream 要求。

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

表 6. AsyncReadStream 要求

操作

type

语义、前/后置条件

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