Module buffer

Module buffer 

Source
Expand description

锁无关的日志存储环形缓冲区

该模块实现了高性能、多生产者单消费者 (MPSC) 环形缓冲区, 使用原子操作进行同步。

Structs§

CachePadded64 🔒
缓存行填充封装器,用于防止伪共享
GlobalLogBuffer 🔒
存储日志条目的锁无关环形缓冲区
ReaderData 🔒
读取侧同步数据
WriterData 🔒
写入侧同步数据

Constants§

LOG_ENTRY_SIZE 🔒
单个日志条目的大小(以字节为单位)
MAX_LOG_ENTRIES 🔒
缓冲区中可存储的最大日志条目数

Statics§

GLOBAL_LOG_BUFFER 🔒
全局日志缓冲区实例

Functions§

calculate_formatted_length 🔒
计算日志条目格式化后的精确字节长度
log_dropped_count
返回由于缓冲区溢出而丢弃的日志总数
log_len
返回缓冲区中当前未读日志条目的数量
log_reader_index
获取当前可读取的起始索引
log_unread_bytes
返回未读日志的总字节数(格式化后)
log_writer_index
获取当前写入位置
peek_log
非破坏性读取:按索引 peek 日志条目
read_log
从全局缓冲区读取下一个日志条目
write_log 🔒
将日志条目写入全局缓冲区(内部使用)