circularbuffer.h~

来自「实现了SS7中MTP2层的基本功能」· H~ 代码 · 共 37 行

H~
37
字号
// File Name: CircularBuffer.h
///////////////////////////////////////////////////

#ifndef _EASYTELECOM_CIRCULAR_BUFFER_H_XING_20080903_
#define _EASYTELECOM_CIRCULAR_BUFFER_H_XING_20080903_

#include <pthread.h>

class CircularBuffer
{
public:
    CircularBuffer(int _size);
    ~CircularBuffer(void);

public:
    int read(unsigned char * _buffer, int _count);
    int write(unsigned char * _buffer, int _count);
    int remove(int _count);

    int getFreeBytesNumber();
    int getStoredBytesNumber();

    int reSize(int _newCount);
    void reset();
private:
    unsigned char * buffer;
    int    bufferSize;
    pthread_mutex_t  mutex_buffer; // used mutual excluded

    int    write_pos;
    int    read_pos;
};

#endif // _EASYTELECOM_CIRCULAR_BUFFER_H_XING_20080903_

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?