为什么 boost asio 中的 async_read 将 const MutableBufferSequence 作

Why does async_read in boost asio has const MutableBufferSequence as the second arguments?

本文关键字:const MutableBufferSequence read boost asio 中的 async 为什么      更新时间:2023-10-16

boost asio 库具有async_read功能。

template<
typename AsyncReadStream,
typename MutableBufferSequence,
typename ReadHandler>
void-or-deduced async_read(
AsyncReadStream & s,
const MutableBufferSequence & buffers,
ReadHandler handler);

此函数用于从流中异步读取一定数量的字节数据。结果将放入第二个参数 MutableBufferSequence。常量是什么意思?因为缓冲区很快就会被修改?

MutableBufferSequenceMutableBuffers的容器。MutableBuffer是对可变内存的固定长度区域的引用。请注意,它本身不包含内存。

在调用期间,MutableBufferSequence 被复制(可能多次(并存储在异步操作中。

请注意,唯一被复制的内容是对可变内存区域的引用,而不是内存本身。