www.pudn.com > evil¡¯s illusion Server Codes.rar > Queue.h
#pragma once
#include "../def/_orzex/queue.h"
#include "../def/_orzex/syncobj.h"
class CWHQueue : public CQueue< BYTE >, public CIntLock
{
public:
virtual ~CWHQueue()
{
ClearAll();
}
bool PushQ( BYTE *lpbtQ )
{
Lock();
bool bRet = Enqueue( lpbtQ );
Unlock();
return bRet;
}
BYTE * PopQ()
{
Lock();
BYTE *pData = Dequeue();
Unlock();
return pData;
}
};
/*
#define QUEUE_MAX 1000000
class CWHQueue : public CIntLock
{
protected:
UINT m_btCount;
UINT m_btQPushPos;
UINT m_btQPopPos;
BYTE *m_lpCircularQ[QUEUE_MAX];
// CRITICAL_SECTION m_cs;
public:
CWHQueue();
~CWHQueue();
BOOL PushQ(BYTE *lpbtQ);
BYTE *PopQ();
__inline UINT GetCurPushPos() { return m_btQPushPos; }
__inline UINT GetCurPopPos() { return m_btQPopPos; }
__inline UINT GetCount() { return m_btCount; }
};
*/