private void OnSaveReply(Msg_DL_SaveResult msg, PBChannel channel, int src, uint session)
{
KeyString key = KeyString.Wrap(msg.PrimaryKeys);
ConcurrentDictionary <KeyString, ConcurrentQueue <SaveRequestInfo> > dict;
if (m_SaveRequestQueues.TryGetValue(msg.MsgId, out dict))
{
ConcurrentQueue <SaveRequestInfo> reqQueue;
if (dict.TryGetValue(key, out reqQueue))
{
SaveRequestInfo info;
if (reqQueue.TryPeek(out info))
{
if (info.m_Request.SerialNo == msg.SerialNo)
{
if (null != info.m_Callback)
{
info.m_Callback(msg);
}
SaveRequestInfo delInfo;
if (reqQueue.TryDequeue(out delInfo))
{
m_SaveRequestPool.Recycle(delInfo);
}
//发送队列中的下一个消息
if (reqQueue.TryPeek(out info))
{
info.m_LastSendTime = TimeUtility.GetLocalMilliseconds();
m_DataStoreChannel.Send(info.m_Request);
}
}
}
}
}
}