queue.h

来自「EVC下的串口测试工具」· C头文件 代码 · 共 36 行

H
36
字号
#pragma once

typedef struct Qdata
{
	BYTE *data;
	unsigned int size;
}QNode;

class CQueue
{
public:
	CQueue(int cnt);
	int GetCount();
	BOOL Push(QNode *data);
	BOOL Pop(QNode *data);
	DWORD QueueReader(BYTE *buff, unsigned int size, DWORD timeout, char endchar='\n');
	void Clear();
	BOOL IsEmpty();
	BOOL IsFull();
	void SetReady();
	DWORD WaitForData(DWORD time);
	DWORD WaitForSpace(DWORD time);
	~CQueue(void);

	HANDLE hNotEmpty[2];
	HANDLE hNotFull[2];

protected:
	QNode *m_data;
	unsigned int buffCounter;
	unsigned int m_count;
	unsigned int m_head;
	unsigned int m_tale;
	unsigned int m_size;
};

⌨️ 快捷键说明

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