环形缓存,当前用于通讯写入数据时的缓存
更多...
#include <ring_buffer.h>
|
|
| RingBuffer () |
| | 使用默认缓存大小的构造函数,默认大小16K
|
| |
| | RingBuffer (int32_t size) |
| | 指定初始化大小的构造函数 更多...
|
| |
| RC | read (char *buf, int32_t size, int32_t &read_size) |
| | 从缓存中读取数据 更多...
|
| |
| RC | buffer (const char *&buf, int32_t &read_size) |
| | 从缓存中读取数据,不会移动读指针 更多...
|
| |
| RC | forward (int32_t size) |
| | 将读指针向前移动size个字节 更多...
|
| |
| RC | write (const char *buf, int32_t size, int32_t &write_size) |
| | 将数据写入缓存 更多...
|
| |
|
int32_t | capacity () const |
| | 缓存的总容量
|
| |
|
int32_t | remain () const |
| | 缓存中剩余的可写入数据的空间
|
| |
|
int32_t | size () const |
| | 缓存中已经写入数据的空间大小
|
| |
|
|
int32_t | read_pos () const |
| |
|
|
std::vector< char > | buffer_ |
| | 缓存使用的内存,使用vector方便管理
|
| |
|
int32_t | data_size_ = 0 |
| | 已经写入的数据量
|
| |
|
int32_t | write_pos_ = 0 |
| | 当前写指针的位置,范围不会超出[0, capacity)
|
| |
◆ RingBuffer()
| RingBuffer::RingBuffer |
( |
int32_t |
size | ) |
|
|
explicit |
◆ buffer()
| RC RingBuffer::buffer |
( |
const char *& |
buf, |
|
|
int32_t & |
read_size |
|
) |
| |
从缓存中读取数据,不会移动读指针
读取数据时直接返回缓存中的指针,不会移动读指针。读取完成后执行forward函数移动读指针。
- 参数
-
◆ forward()
| RC RingBuffer::forward |
( |
int32_t |
size | ) |
|
将读指针向前移动size个字节
通常在buffer函数读取数据后,调用forward函数移动读指针
- 参数
-
◆ read()
| RC RingBuffer::read |
( |
char * |
buf, |
|
|
int32_t |
size, |
|
|
int32_t & |
read_size |
|
) |
| |
从缓存中读取数据
- 参数
-
| buf | 读取数据的缓存 |
| size | 读取数据的大小 |
| read_size | 实际读取的数据大小 |
◆ write()
| RC RingBuffer::write |
( |
const char * |
buf, |
|
|
int32_t |
size, |
|
|
int32_t & |
write_size |
|
) |
| |
将数据写入缓存
- 参数
-
| buf | 待写入的数据 |
| size | 待写入的数据大小 |
| write_size | 实际写入的数据大小 |
该类的文档由以下文件生成: