#include <p6circb.h>
Inherits P6R::p6ICom.
Public Member Functions | |
virtual P6INT32 | addref (void)=0 |
virtual P6R::P6ERR | available (P6SIZE *pcAvailable)=0 |
virtual P6R::P6ERR | getData (P6UINT8 *pBuffer, P6SIZE *pcBuffer)=0 |
virtual P6R::P6ERR | getSize (P6SIZE *pcSize)=0 |
virtual P6R::P6ERR | initialize (P6SIZE cSize, CIRCBFLAGS fFlags, p6IMonitor *pReadMonitor)=0 |
virtual P6R::P6ERR | inUse (P6SIZE *pcInUse)=0 |
virtual P6R::P6ERR | putData (P6UINT8 *pBuffer, P6SIZE cBuffer)=0 |
virtual P6R::P6ERR | queryInterface (const P6R::P6IID &iid, P6VOID **ppIface)=0 |
virtual P6INT32 | release (void)=0 |
virtual P6R::P6ERR | reset ()=0 |
virtual P6R::P6ERR | resize (P6SIZE cNewSize)=0 |
A byte oriented circular buffer.
A circular buffer is typically written to by one thread and read from by another. Data is written starting at the beginning and wrapped back to the beginning after reaching the end of the buffer. Separate read and write pointers are maintained and are not allowed to pass each other so the data will not be overwritten or invalid data read.