#include "ProcessEvtMsg.h"
extern ACE_Thread_Mutex gAceMutexEvtMsgFrame;
CProcessEvtMsg::CProcessEvtMsg(void)
: m_PoolEvtFrame(sizeof(SEvtFrame))
{
m_bIsAdd = false;
}
CProcessEvtMsg::~CProcessEvtMsg(void)
{
}
Boolean CProcessEvtMsg::SendEvtMsg(APP::SEvtMsg* pMsg)
{
#ifdef USE_POOL
ACE_Guard<ACE_Thread_Mutex> guardEvtMsgFramePool(gAceMutexEvtMsgFrame);
SEvtFrame* pEvtFrame = (SEvtFrame*)m_PoolEvtFrame.malloc();
#else
SEvtFrame* pEvtFrame = new SEvtFrame();
#endif
//SEvtFrame* pEvtFrame = new SEvtFrame;
if (!pEvtFrame)
{
return false;
}
pEvtFrame->pEvt = pMsg;
//if (m_bIsAdd)
//{
// m_lstEvtFrameAdd.Push(pEvtFrame);
// if (m_lstEvtFrameAdd.m_nCount%10000 == 0)
// {
// if (m_lstEvtFrame.m_nCount == 0)
// {
// m_bIsAdd = false;
// }
//
// }
//}
//else
//{
// m_lstEvtFrame.Push(pEvtFrame);
// if (m_lstEvtFrame.m_nCount%10000 == 0)
// {
// if (m_lstEvtFrameAdd.m_nCount == 0)
// {
// m_bIsAdd = true;
// }
// }
//}
m_lstEvtFrame.Push(pEvtFrame);
return true;
}
Boolean CProcessEvtMsg::GetEvtMsg(SEvtFrame*& pEvtFrame)
{
//if (m_bIsAdd)
//{
// pEvtFrame = m_lstEvtFrame.Pop();
//}
//else
//{
// pEvtFrame = m_lstEvtFrameAdd.Pop();
//}
pEvtFrame = m_lstEvtFrame.Pop();
return (NULL == pEvtFrame) ? false : true;
}