コード例 #1
0
ファイル: MemPool.cs プロジェクト: mengtest/MyGame
        //回收对象节点
        public void Recycle(ref QueueNode <ByteData> node)
        {
            int nBoundSize = node.item.data.Length;
            ThreadQueue <ByteData> queueData = null;

            if (m_dicMemPool.TryGetValue(nBoundSize, out queueData))
            {
                if (queueData.Size() < m_nQueueMaxSize)
                {
                    queueData.Push(node);
                }
            }
        }
コード例 #2
0
ファイル: kcp.cs プロジェクト: mengtest/MyGame
        private void RecycleSegmentNode(QueueNode <Segment> node)
        {
            //回收data的内存
            m_oMemPool.Recycle(ref node.item.data);
            node.item.data = null;
            node.next      = null;


            if (null != node)
            {
                if (IKCP_MAX_SEGMENT_OBJECT > m_oSegmentPool.Size())
                {
                    m_oSegmentPool.Push(node);
                }
            }
        }
コード例 #3
0
ファイル: ThreadDataSwap.cs プロジェクト: mengtest/MyGame
 //取得当前积压包的数量
 public int DataCount()
 {
     return(m_oDataQueue.Size());
 }