1234567891011121314151617181920212223 |
- #pragma once
- class SpillBuffer
- {
- public:
- SpillBuffer();
- ~SpillBuffer();
- bool reserve(size_t bytes);
- void clear();
- void reset();
- size_t write(const void *src, size_t len);
- bool get(void **buffer, size_t *len);
- bool full() const;
- bool empty() const;
- void remove(size_t len); // removes len bytes from the start of the spill buffer
- size_t remaining() const; // how many bytes to fill it up
- size_t length() const; /* buffer length when full */
- private:
- volatile size_t spillBufferUsed;
- size_t spillBufferSize;
- char *spillBuffer;
- };
|