类别:RingBuffer
环状缓冲区
类型 | 使用 | 成员 | 说明 |
建构子 | public | ||
建构子 | public | CaInt32 elementSizeBytes, CaInt32 elementCount, void * dataPtr) |
|
解构子 | public | ||
资料 | public | ||
资料 | public | ||
资料 | public | ||
资料 | public | ||
资料 | public | ||
资料 | public | ||
资料 | public | ||
函式 | public | CaInt32 elementCount , void * dataPtr ) |
|
函式 | public | ||
函式 | public | ||
函式 | public | ||
函式 | public | void ** dataPtr1 , CaInt32 * sizePtr1 , void ** dataPtr2 , CaInt32 * sizePtr2 ) |
|
函式 | public | ||
函式 | public | void ** dataPtr1 , CaInt32 * sizePtr1 , void ** dataPtr2 , CaInt32 * sizePtr2 ) |
|
函式 | public | ||
函式 | public | ||
函式 | public |
建议
外部程序不应使用这个类别,这是专门为了「音讯驱动介面」内部使用的类别。C/C++定义
class RingBuffer
{
public:
CaInt32 bufferSize ;
volatile CaInt32 writeIndex ;
volatile CaInt32 readIndex ;
CaInt32 bigMask ;
CaInt32 smallMask ;
CaInt32 elementSizeBytes ;
char * buffer ;
explicit RingBuffer (void) ;
RingBuffer (CaInt32 elementSizeBytes ,
CaInt32 elementCount ,
void * dataPtr ) ;
virtual ~RingBuffer (void) ;
virtual CaInt32 Initialize (CaInt32 elementSizeBytes ,
CaInt32 elementCount ,
void * dataPtr ) ;
virtual CaInt32 ReadAvailable (void) ;
virtual CaInt32 WriteAvailable (void) ;
virtual void Flush (void) ;
virtual CaInt32 WriteRegions (CaInt32 elementCount ,
void ** dataPtr1 ,
CaInt32 * sizePtr1 ,
void ** dataPtr2 ,
CaInt32 * sizePtr2 ) ;
virtual CaInt32 AdvanceWriteIndex (CaInt32 elementCount) ;
virtual CaInt32 ReadRegions (CaInt32 elementCount ,
void ** dataPtr1 ,
CaInt32 * sizePtr1 ,
void ** dataPtr2 ,
CaInt32 * sizePtr2 ) ;
virtual CaInt32 AdvanceReadIndex (CaInt32 elementCount) ;
virtual CaInt32 Write (const void * data,CaInt32 elementCount) ;
virtual CaInt32 Read (void * data,CaInt32 elementCount) ;
};