类别:LoopBuffer
循环缓冲区
类型 | 使用 | 成员 | 说明 |
建构子 | public | ||
建构子 | public | ||
解构子 | public | ||
资料 | protected | 缓冲区。 |
|
资料 | protected | 缓冲区大小。 |
|
资料 | protected | 留空区域大小。 |
|
资料 | protected | 开始位置。 |
|
资料 | protected | 结尾位置。 |
|
函式 | public | 缓冲区大小。 |
|
函式 | public | 留空区域大小。 | |
函式 | public | 开始位置。 | |
函式 | public | 结尾位置。 | |
函式 | public | 设定缓冲区大小。 | |
函式 | public | 设定留空区域大小。 | |
函式 | public | 将开始位置与结尾位置归零。 | |
函式 | public | 缓冲资料大小。 | |
函式 | public | 缓冲资料是否为零。 | |
函式 | public | 缓冲资料是否大于Size - Margin。 | |
函式 | public | 数据输入缓冲区。 |
|
函式 | public | 从缓冲区中取得数据。 |
说明
循环缓冲区一般用于快取时间固定时间大小的音讯输出入,它记录大约Size - Margin的数据,Margin的使用,目的是尽可能不导致缓冲区溢出的问题发生。C/C++定义
class LoopBuffer
{
public:
explicit LoopBuffer (void) ;
LoopBuffer (int size,int margin) ;
virtual ~LoopBuffer (void) ;
int size (void) const ;
int margin (void) const ;
int start (void) const ;
int tail (void) const ;
int setBufferSize (int size) ;
int setMargin (int margin) ;
void reset (void) ;
int available (void) ;
bool isEmpty (void) ;
bool isFull (void) ;
int put (void * data,int length) ;
int get (void * data,int length) ;
protected:
unsigned char * buffer ;
int Size ;
int Margin ;
int Start ;
int Tail ;
};