异步日志缓冲区类 更多...
#include <buffer.hpp>
Public 成员函数 | |
Buffer () | |
构造函数 | |
void | push (const char *data, size_t len) |
向缓冲区写入数据 | |
const char * | begin () |
获取可读数据的起始地址 | |
size_t | readAbleSize () |
获取可读数据的长度 | |
size_t | writeAbleSize () |
获取可写数据的长度 | |
void | moveReader (size_t len) |
移动读指针 | |
void | reset () |
重置缓冲区 | |
void | swap (Buffer &buffer) |
交换当前缓冲区与另一个缓冲区 | |
bool | empty () |
判空 | |
Private 成员函数 | |
void | moveWriter (size_t len) |
移动写指针 | |
void | ensureEnoughSize (size_t len) |
确保缓冲区有足够的空间 | |
Private 属性 | |
std::vector< char > | _buffer |
存储缓冲区数据的字符 | |
size_t | _reader_idx |
可读数据指针 | |
size_t | _writer_idx |
可写数据指针 | |
异步日志缓冲区类
该类实现了一个可扩展的缓冲区,支持数据的写入和读取操作,管理日志数据的存储。
|
inline |
构造函数
创建一个新的 Buffer 对象,并初始化缓冲区大小和指针。
|
inline |
获取可读数据的起始地址
|
inline |
判空
|
inlineprivate |
确保缓冲区有足够的空间
len | 要写入的数据长度 |
如果当前可写空间不足,则根据条件扩容缓冲区。
|
inline |
移动读指针
len | 要移动的长度 |
更新读指针的位置,移动长度为 len。
|
inlineprivate |
移动写指针
len | 要移动的长度 |
更新写指针的位置,移动长度为 len。
|
inline |
向缓冲区写入数据
data | 要写入的数据 |
len | 数据的长度 |
在缓冲区中写入指定长度的数据,如果空间不足则进行扩容。
|
inline |
获取可读数据的长度
|
inline |
重置缓冲区
将读写指针重置为初始状态。
|
inline |
|
inline |
获取可写数据的长度
|
private |
存储缓冲区数据的字符
|
private |
可读数据指针
|
private |
可写数据指针