LogSystem beta 1.4
This is a logging system project
 
载入中...
搜索中...
未找到
Xulog::Buffer类 参考

异步日志缓冲区类 更多...

#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
 可写数据指针
 

详细描述

异步日志缓冲区类

该类实现了一个可扩展的缓冲区,支持数据的写入和读取操作,管理日志数据的存储。

构造及析构函数说明

◆ Buffer()

Xulog::Buffer::Buffer ( )
inline

构造函数

创建一个新的 Buffer 对象,并初始化缓冲区大小和指针。

成员函数说明

◆ begin()

const char * Xulog::Buffer::begin ( )
inline

获取可读数据的起始地址

返回
const char* 可读数据的起始地址
这是这个函数的调用关系图:

◆ empty()

bool Xulog::Buffer::empty ( )
inline

判空

返回
bool 如果缓冲区为空则返回 true,否则返回 false
这是这个函数的调用关系图:

◆ ensureEnoughSize()

void Xulog::Buffer::ensureEnoughSize ( size_t  len)
inlineprivate

确保缓冲区有足够的空间

参数
len要写入的数据长度

如果当前可写空间不足,则根据条件扩容缓冲区。

函数调用图:
这是这个函数的调用关系图:

◆ moveReader()

void Xulog::Buffer::moveReader ( size_t  len)
inline

移动读指针

参数
len要移动的长度

更新读指针的位置,移动长度为 len。

函数调用图:

◆ moveWriter()

void Xulog::Buffer::moveWriter ( size_t  len)
inlineprivate

移动写指针

参数
len要移动的长度

更新写指针的位置,移动长度为 len。

这是这个函数的调用关系图:

◆ push()

void Xulog::Buffer::push ( const char *  data,
size_t  len 
)
inline

向缓冲区写入数据

参数
data要写入的数据
len数据的长度

在缓冲区中写入指定长度的数据,如果空间不足则进行扩容。

函数调用图:
这是这个函数的调用关系图:

◆ readAbleSize()

size_t Xulog::Buffer::readAbleSize ( )
inline

获取可读数据的长度

返回
size_t 可读数据的长度
这是这个函数的调用关系图:

◆ reset()

void Xulog::Buffer::reset ( )
inline

重置缓冲区

将读写指针重置为初始状态。

这是这个函数的调用关系图:

◆ swap()

void Xulog::Buffer::swap ( Buffer buffer)
inline

交换当前缓冲区与另一个缓冲区

参数
buffer另一个 Buffer 对象

将当前缓冲区与传入的缓冲区进行交换。

这是这个函数的调用关系图:

◆ writeAbleSize()

size_t Xulog::Buffer::writeAbleSize ( )
inline

获取可写数据的长度

返回
size_t 可写数据的长度
这是这个函数的调用关系图:

类成员变量说明

◆ _buffer

std::vector<char> Xulog::Buffer::_buffer
private

存储缓冲区数据的字符

◆ _reader_idx

size_t Xulog::Buffer::_reader_idx
private

可读数据指针

◆ _writer_idx

size_t Xulog::Buffer::_writer_idx
private

可写数据指针