25#include "local_config.h"
43 RingBufferPacket(
int _capacity);
51 RingBufferPacket(
const RingBufferPacket& other);
52 RingBufferPacket& operator=(
const RingBufferPacket& other);
59 virtual ~RingBuffer();
99 int write(
const char * data,
int len);
134 RingBuffer(
const RingBuffer& other);
135 RingBuffer& operator=(
const RingBuffer& other);
140 const int m_capacity;
146 Chunk() : packet(
nullptr), next(
nullptr) { }
147 ~Chunk() {
if (packet)
delete packet; }
152 std::vector<Chunk*> m_buffer;
158 std::list<RingBufferPacket*> m_pool;
RingBufferPacket * read()
unsigned m_count
buffer size
Chunk * m_write
chunk to read
unsigned m_unread
total count of processed chunk
void freePacket(RingBufferPacket *p)
unsigned bytesUnread() const
RingBufferPacket * newPacket(int len)
void init()
chunk to write
int write(const char *data, int len)
Chunk * m_read
buffer of chunk
void writePacket(RingBufferPacket *packet)
total size of unread data in the buffer