Queue.h
上传用户:szopptop
上传日期:2013-04-23
资源大小:1047k
文件大小:1k
源码类别:

模拟服务器

开发平台:

Visual C++

  1. #pragma once
  2. #include "../def/_orzex/queue.h"
  3. #include "../def/_orzex/syncobj.h"
  4. class CWHQueue : public CQueue< BYTE >, public CIntLock
  5. {
  6. public:
  7. virtual ~CWHQueue()
  8. {
  9. ClearAll();
  10. }
  11. bool PushQ( BYTE *lpbtQ )
  12. {
  13. Lock();
  14. bool bRet = Enqueue( lpbtQ );
  15. Unlock();
  16. return bRet;
  17. }
  18. BYTE * PopQ()
  19. {
  20. Lock();
  21. BYTE *pData = Dequeue();
  22. Unlock();
  23. return pData;
  24. }
  25. };
  26. /*
  27. #define QUEUE_MAX 1000000
  28. class CWHQueue : public CIntLock
  29. {
  30. protected:
  31. UINT m_btCount;
  32. UINT m_btQPushPos;
  33. UINT m_btQPopPos;
  34. BYTE *m_lpCircularQ[QUEUE_MAX];
  35. // CRITICAL_SECTION m_cs;
  36. public:
  37. CWHQueue();
  38. ~CWHQueue();
  39. BOOL PushQ(BYTE *lpbtQ);
  40. BYTE *PopQ();
  41. __inline UINT GetCurPushPos() { return m_btQPushPos; }
  42. __inline UINT GetCurPopPos() { return m_btQPopPos; }
  43. __inline UINT GetCount() { return m_btCount; }
  44. };
  45. */