📄 aimessagequeue.h
字号:
#ifndef _AIMESSAGEQUEUE_H_
#define _AIMESSAGEQUEUE_H_
#include <RingBuffer.h>
struct AI_MSG;
class AIMessageQueue
{
public:
AIMessageQueue()
{
m_pAIMessageBuffer = new util::RingBuffer;
m_pAIMessageBuffer->InitBuffer( RINGBUFFER_SIZE );
}
~AIMessageQueue()
{
if( m_pAIMessageBuffer )
{
m_pAIMessageBuffer->ReleaseBuffer();
}
SAFE_DELETE( m_pAIMessageBuffer );
}
inline VOID Clear()
{
m_pAIMessageBuffer->ResetBuffer();
}
inline DWORD GetOccupiedSize()
{
return m_pAIMessageBuffer->GetOccupiedSize();
}
inline VOID SendAIMessage( AI_MSG *pMsg, WORD wSize, DWORD dwDelay = 0 )
{
pMsg->wSize = wSize;
pMsg->dwDeliveryTick = GetTickCount() + dwDelay;
m_pAIMessageBuffer->Put( (BYTE*)pMsg, wSize );
}
// dwSize俊 荤捞令甫 掘绢郴绊 单捞磐 矫累 器牢磐甫 府畔茄促.
inline BYTE* RecvAIMessage( WORD &wSize )
{
if( !m_pAIMessageBuffer->Peek( (BYTE*)&wSize, sizeof(WORD) ) )
{
return NULL;
}
return m_pAIMessageBuffer->GetFrontPtr();
}
inline VOID Completion( WORD wSize )
{
m_pAIMessageBuffer->Get( NULL, wSize ) ;
}
private:
enum { RINGBUFFER_SIZE = 500 };
util::RingBuffer * m_pAIMessageBuffer;
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -