25 buffer.resize(new_size);
31 if (
isFull())
return false;
33 tail = (tail + 1) % capacity;
40 for (
size_t i = 0; i < len; ++i) {
62 return count == capacity;
75 uint8_t
byte = buffer[head];
76 head = (head + 1) % capacity;
93 bool peek(uint8_t& out)
const {
103 return capacity - count;
107 std::vector<uint8_t> buffer;
Efficient ring buffer for storing frame data.
Definition RingBuffer.h:18
bool isEmpty() const
Definition RingBuffer.h:65
int readArray(uint8_t *dest, size_t len)
Definition RingBuffer.h:84
int read()
Definition RingBuffer.h:73
bool write(uint8_t byte)
Definition RingBuffer.h:30
void clear()
Definition RingBuffer.h:55
int available() const
Definition RingBuffer.h:51
bool isFull() const
Definition RingBuffer.h:61
int availableForWrite() const
Definition RingBuffer.h:102
size_t size() const
Definition RingBuffer.h:69
void resize(size_t new_size)
Definition RingBuffer.h:24
RingBuffer(int size=128)
Definition RingBuffer.h:20
bool peek(uint8_t &out) const
Definition RingBuffer.h:93
int writeArray(const uint8_t *data, size_t len)
Definition RingBuffer.h:38
Definition ESP32TransceiverIEEE802_15_4.cpp:15