|
NexusForce 1.0.0
A rigorously engineered full-stack C++ backend library.
|
自适应扩容的动态缓冲区 更多...
#include <buffer.hpp>
Public 成员函数 | |
| mutable_buffers | prepare (size_t n) |
| 准备写入区域 | |
| void | commit (size_t n) |
| 标记已写入的字节数 | |
| void | consume (size_t n) |
| 移除已消费的数据 | |
| size_t | size () const noexcept |
| 当前可读数据大小 | |
| const char * | data () const noexcept |
| 获取可读数据的原始指针 | |
| char * | data () noexcept |
| 获取可写数据的原始指针 | |
| size_t | capacity () const noexcept |
| 内部缓冲区容量 | |
| size_t | max_size () const noexcept |
| 最大允许大小 | |
自适应扩容的动态缓冲区
适用于异步读取场景:prepare() 获取可写区域,commit() 标记已填充, consume() 移除已处理数据。内部自动扩容。
使用示例:
在文件 buffer.hpp 第 228 行定义.
|
inlinenodiscardnoexcept |
|
inline |
标记已写入的字节数
| n | 已写入的字节数 |
将 write_pos_ 前移 n 字节,使已写入数据可通过 data()/size() 访问。 必须在 prepare() 返回的缓冲区被填充后调用。
在文件 buffer.hpp 第 260 行定义.
被这些函数引用 neforce::async_stream::async_read().
|
inline |
|
inlinenodiscardnoexcept |
|
inlinenodiscardnoexcept |
|
inlinenodiscardnoexcept |
|
inline |
准备写入区域
| n | 至少需要的字节数 |
保证返回的缓冲区至少 n 字节可用。若内部空间不足则自动扩容。 返回的 mutable_buffers 指向内部存储,在下次 prepare 或对象析构前有效。
在文件 buffer.hpp 第 244 行定义.
被这些函数引用 neforce::async_stream::async_read().
|
inlinenodiscardnoexcept |