示例#1
0
        private TranMsg CombineMsg(TranMsgType type)
        {
            var     queue = this._msgQueue[type];
            TranMsg ms    = TranMsg.Combine(queue.ToArray());

            queue.Clear();
            return(ms);
        }
示例#2
0
        private void EnqueueMsg(TranMsg tm)
        {
            TranMsgType     t     = tm.Type;
            Queue <TranMsg> queue = null;

            if (!this._msgQueue.ContainsKey(t))
            {
                this._msgQueue[t] = queue = new Queue <TranMsg>();
            }
            else
            {
                queue = this._msgQueue[t];
                if (tm.PackageIndex == 0 && queue.Count > 0)
                {
                    Log.ErrorFormat("Invalid msg idx: {0}, purge old packages.", tm.PackageIndex);
                    queue.Clear();
                }
            }
            queue.Enqueue(tm);
        }