TwiceAsNice
2019-02-18
|
#include <CircularBuffer.h>
Public Member Functions | |
CCircularBuffer (int id=0) | |
virtual | ~CCircularBuffer (void) |
void | Initialize (void *pCircularBuffer, int elementSize, int numElements) |
void | Initialize (int elementSize, int numElements) |
void | CleanUp () |
void | SetReadPositionReference (tCircularBufferPositionReference ref) |
void | SetReadOffset (int offset) |
int | GetCurrentReadPosition () |
void | SetWritePositionReference (tCircularBufferPositionReference ref) |
void | SetWriteOffset (int offset) |
int | GetCurrentWritePosition () |
bool | WriteData (int numElements, void *pBuffer, int timeout, ICircularBufferDataAccessor *pDataAccess=NULL) |
bool | BeginWriteData (int numElements, void *pBuffer, int timeout, ICircularBufferDataAccessor *pDataAccess=NULL) |
bool | EndWriteData (int actualElements) |
bool | ReadData (int numElements, void *pBuffer, int timeout, ICircularBufferDataAccessor *pDataAccess=NULL) |
bool | BeginReadData (int numElements, void *pBuffer, int timeout, ICircularBufferDataAccessor *pDataAccess=NULL) |
bool | EndReadData (int actualElements) |
int | ReadAvailableData (int numElements, void *pBuffer, int timeout, ICircularBufferDataAccessor *pDataAccess=NULL) |
int | ReadUntilTermination (int numElements, void *pBuffer, int timeout, const char *termStr, ICircularBufferDataAccessor *pDataAccess=NULL) |
void * | PeekElement (int offset) |
int | GetNumberOfEmptyElements () |
int | GetNumberOfStoredElements () |
int | GetTotalNumberOfWrittenElements () |
int | GetTotalNumberOfReadElements () |
int | GetNumberOfAvailableReadElements (int absoluteWritePosition=-1) |
int | GetNumberOfAvailableWriteElements (int absoluteReadPosition=-1) |
int | GetNumberOfReadElements (int absoluteReadPos, int absoluteWritePos) |
int | GetNumberOfWriteElements (int absoluteWritePos, int absoluteReadPos) |
int | GetAbsoluteReadPosition (int absoluteWritePos, int offset) |
int | GetAbsoluteWritePosition (int absoluteReadPos) |
void | SetWriteOverRun (bool writeOverRun) |
void | SetReadUnderRun (bool writeOverRun) |
int | GetId () |
bool | Abort () |
bool | Clear () |
CCircularBuffer (int id=0) | |
virtual | ~CCircularBuffer (void) |
void | Initialize (void *pCircularBuffer, int elementSize, int numElements) |
void | Initialize (int elementSize, int numElements) |
void | CleanUp () |
void | SetReadPositionReference (tCircularBufferPositionReference ref) |
void | SetReadOffset (int offset) |
int | GetCurrentReadPosition () |
void | SetWritePositionReference (tCircularBufferPositionReference ref) |
void | SetWriteOffset (int offset) |
int | GetCurrentWritePosition () |
bool | WriteData (int numElements, void *pBuffer, int timeout, ICircularBufferDataAccessor *pDataAccess=NULL) |
bool | BeginWriteData (int numElements, void *pBuffer, int timeout, ICircularBufferDataAccessor *pDataAccess=NULL) |
bool | EndWriteData (int actualElements) |
bool | ReadData (int numElements, void *pBuffer, int timeout, ICircularBufferDataAccessor *pDataAccess=NULL) |
bool | BeginReadData (int numElements, void *pBuffer, int timeout, ICircularBufferDataAccessor *pDataAccess=NULL) |
bool | EndReadData (int actualElements) |
int | ReadAvailableData (int numElements, void *pBuffer, int timeout, ICircularBufferDataAccessor *pDataAccess=NULL) |
int | ReadUntilTermination (int numElements, void *pBuffer, int timeout, const char *termStr, ICircularBufferDataAccessor *pDataAccess=NULL) |
void * | PeekElement (int offset) |
int | GetNumberOfEmptyElements () |
int | GetNumberOfStoredElements () |
int | GetTotalNumberOfWrittenElements () |
int | GetTotalNumberOfReadElements () |
int | GetNumberOfAvailableReadElements (int absoluteWritePosition=-1) |
int | GetNumberOfAvailableWriteElements (int absoluteReadPosition=-1) |
int | GetNumberOfReadElements (int absoluteReadPos, int absoluteWritePos) |
int | GetNumberOfWriteElements (int absoluteWritePos, int absoluteReadPos) |
int | GetAbsoluteReadPosition (int absoluteWritePos, int offset) |
int | GetAbsoluteWritePosition (int absoluteReadPos) |
void | SetWriteOverRun (bool writeOverRun) |
void | SetReadUnderRun (bool writeOverRun) |
int | GetId () |
bool | Abort () |
bool | Clear () |
Private Attributes | |
CCircularBufferDefaultDataAccessor | m_DefaultAccessor |
unsigned char * | m_pBuffer |
unsigned char * | m_pInternalBuffer |
int | m_ElementSize |
int | m_NumElements |
int | m_CurrentWritePosition |
int | m_CurrentReadPosition |
int | m_AccumulatedElementsRead |
int | m_AccumulatedElementsWritten |
CCriticalSection | m_Lock |
CEvent | m_WaitForDataEvent |
CEvent | m_WaitForRoomEvent |
bool | m_bAbort |
int | m_Id |
tCircularBufferPositionReference | m_ReadReference |
int | m_ReadOffset |
tCircularBufferPositionReference | m_WriteReference |
int | m_WriteOffset |
bool | m_WriteOverRun |
bool | m_ReadUnderRun |
CCircularBuffer::CCircularBuffer | ( | int | id = 0 | ) |
|
virtual |
CCircularBuffer::CCircularBuffer | ( | int | id = 0 | ) |
|
virtual |
bool CCircularBuffer::Abort | ( | ) |
bool CCircularBuffer::Abort | ( | ) |
bool CCircularBuffer::BeginReadData | ( | int | numElements, |
void * | pBuffer, | ||
int | timeout, | ||
ICircularBufferDataAccessor * | pDataAccess = NULL |
||
) |
bool CCircularBuffer::BeginReadData | ( | int | numElements, |
void * | pBuffer, | ||
int | timeout, | ||
ICircularBufferDataAccessor * | pDataAccess = NULL |
||
) |
bool CCircularBuffer::BeginWriteData | ( | int | numElements, |
void * | pBuffer, | ||
int | timeout, | ||
ICircularBufferDataAccessor * | pDataAccess = NULL |
||
) |
bool CCircularBuffer::BeginWriteData | ( | int | numElements, |
void * | pBuffer, | ||
int | timeout, | ||
ICircularBufferDataAccessor * | pDataAccess = NULL |
||
) |
void CCircularBuffer::CleanUp | ( | ) |
void CCircularBuffer::CleanUp | ( | ) |
bool CCircularBuffer::Clear | ( | ) |
bool CCircularBuffer::Clear | ( | ) |
bool CCircularBuffer::EndReadData | ( | int | actualElements | ) |
bool CCircularBuffer::EndReadData | ( | int | actualElements | ) |
bool CCircularBuffer::EndWriteData | ( | int | actualElements | ) |
bool CCircularBuffer::EndWriteData | ( | int | actualElements | ) |
int CCircularBuffer::GetAbsoluteReadPosition | ( | int | absoluteWritePos, |
int | offset | ||
) |
int CCircularBuffer::GetAbsoluteReadPosition | ( | int | absoluteWritePos, |
int | offset | ||
) |
int CCircularBuffer::GetAbsoluteWritePosition | ( | int | absoluteReadPos | ) |
int CCircularBuffer::GetAbsoluteWritePosition | ( | int | absoluteReadPos | ) |
int CCircularBuffer::GetCurrentReadPosition | ( | ) |
int CCircularBuffer::GetCurrentReadPosition | ( | ) |
int CCircularBuffer::GetCurrentWritePosition | ( | ) |
int CCircularBuffer::GetCurrentWritePosition | ( | ) |
int CCircularBuffer::GetId | ( | ) |
int CCircularBuffer::GetId | ( | ) |
int CCircularBuffer::GetNumberOfAvailableReadElements | ( | int | absoluteWritePosition = -1 | ) |
int CCircularBuffer::GetNumberOfAvailableReadElements | ( | int | absoluteWritePosition = -1 | ) |
int CCircularBuffer::GetNumberOfAvailableWriteElements | ( | int | absoluteReadPosition = -1 | ) |
int CCircularBuffer::GetNumberOfAvailableWriteElements | ( | int | absoluteReadPosition = -1 | ) |
int CCircularBuffer::GetNumberOfEmptyElements | ( | ) |
int CCircularBuffer::GetNumberOfEmptyElements | ( | ) |
int CCircularBuffer::GetNumberOfReadElements | ( | int | absoluteReadPos, |
int | absoluteWritePos | ||
) |
int CCircularBuffer::GetNumberOfReadElements | ( | int | absoluteReadPos, |
int | absoluteWritePos | ||
) |
int CCircularBuffer::GetNumberOfStoredElements | ( | ) |
int CCircularBuffer::GetNumberOfStoredElements | ( | ) |
int CCircularBuffer::GetNumberOfWriteElements | ( | int | absoluteWritePos, |
int | absoluteReadPos | ||
) |
int CCircularBuffer::GetNumberOfWriteElements | ( | int | absoluteWritePos, |
int | absoluteReadPos | ||
) |
int CCircularBuffer::GetTotalNumberOfReadElements | ( | ) |
int CCircularBuffer::GetTotalNumberOfReadElements | ( | ) |
int CCircularBuffer::GetTotalNumberOfWrittenElements | ( | ) |
int CCircularBuffer::GetTotalNumberOfWrittenElements | ( | ) |
void CCircularBuffer::Initialize | ( | void * | pCircularBuffer, |
int | elementSize, | ||
int | numElements | ||
) |
void CCircularBuffer::Initialize | ( | void * | pCircularBuffer, |
int | elementSize, | ||
int | numElements | ||
) |
void CCircularBuffer::Initialize | ( | int | elementSize, |
int | numElements | ||
) |
void CCircularBuffer::Initialize | ( | int | elementSize, |
int | numElements | ||
) |
void* CCircularBuffer::PeekElement | ( | int | offset | ) |
void * CCircularBuffer::PeekElement | ( | int | offset | ) |
int CCircularBuffer::ReadAvailableData | ( | int | numElements, |
void * | pBuffer, | ||
int | timeout, | ||
ICircularBufferDataAccessor * | pDataAccess = NULL |
||
) |
int CCircularBuffer::ReadAvailableData | ( | int | numElements, |
void * | pBuffer, | ||
int | timeout, | ||
ICircularBufferDataAccessor * | pDataAccess = NULL |
||
) |
bool CCircularBuffer::ReadData | ( | int | numElements, |
void * | pBuffer, | ||
int | timeout, | ||
ICircularBufferDataAccessor * | pDataAccess = NULL |
||
) |
bool CCircularBuffer::ReadData | ( | int | numElements, |
void * | pBuffer, | ||
int | timeout, | ||
ICircularBufferDataAccessor * | pDataAccess = NULL |
||
) |
int CCircularBuffer::ReadUntilTermination | ( | int | numElements, |
void * | pBuffer, | ||
int | timeout, | ||
const char * | termStr, | ||
ICircularBufferDataAccessor * | pDataAccess = NULL |
||
) |
int CCircularBuffer::ReadUntilTermination | ( | int | numElements, |
void * | pBuffer, | ||
int | timeout, | ||
const char * | termStr, | ||
ICircularBufferDataAccessor * | pDataAccess = NULL |
||
) |
void CCircularBuffer::SetReadOffset | ( | int | offset | ) |
void CCircularBuffer::SetReadOffset | ( | int | offset | ) |
void CCircularBuffer::SetReadPositionReference | ( | tCircularBufferPositionReference | ref | ) |
void CCircularBuffer::SetReadPositionReference | ( | tCircularBufferPositionReference | ref | ) |
void CCircularBuffer::SetReadUnderRun | ( | bool | writeOverRun | ) |
void CCircularBuffer::SetReadUnderRun | ( | bool | writeOverRun | ) |
void CCircularBuffer::SetWriteOffset | ( | int | offset | ) |
void CCircularBuffer::SetWriteOffset | ( | int | offset | ) |
void CCircularBuffer::SetWriteOverRun | ( | bool | writeOverRun | ) |
void CCircularBuffer::SetWriteOverRun | ( | bool | writeOverRun | ) |
void CCircularBuffer::SetWritePositionReference | ( | tCircularBufferPositionReference | ref | ) |
void CCircularBuffer::SetWritePositionReference | ( | tCircularBufferPositionReference | ref | ) |
bool CCircularBuffer::WriteData | ( | int | numElements, |
void * | pBuffer, | ||
int | timeout, | ||
ICircularBufferDataAccessor * | pDataAccess = NULL |
||
) |
bool CCircularBuffer::WriteData | ( | int | numElements, |
void * | pBuffer, | ||
int | timeout, | ||
ICircularBufferDataAccessor * | pDataAccess = NULL |
||
) |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |