private void HandleMessages(int maxCount)
{
try {
for (int i = 0; i < maxCount; ++i)
{
if (m_MsgQueue.Count > 0)
{
NodeMessageInfo info = null;
m_MsgQueue.TryDequeue(out info);
if (null != info)
{
try {
if (info.IsGmTool)
{
JsonGmMessageDispatcher.HandleNodeMessage(info.Seq, info.SourceHandle, info.DestHandle, info.Data);
}
else
{
NodeMessageDispatcher.HandleNodeMessage(info.Seq, info.SourceHandle, info.DestHandle, info.Data);
}
m_MsgPool.Enqueue(info);
} catch (Exception ex) {
LogSys.Log(LOG_TYPE.ERROR, "NodeMessageThread JsonMessageDispatcher.HandleDcoreMessage() throw exception:{0}\n{1}", ex.Message, ex.StackTrace);
}
}
}
else
{
break;
}
}
} catch (Exception ex) {
LogSys.Log(LOG_TYPE.ERROR, "NodeMessageThread.HandleMessages throw exception:{0}\n{1}", ex.Message, ex.StackTrace);
}
}