Beispiel #1
0
        // 获得发送缓冲区管理器
        public SendDataBufferMgr MallocSendBufferMgr()
        {
            SendDataBufferMgr sendDataBufMgr = null;

            if (sendDataBufMgrList.Count() > 0)
            {
                sendDataBufMgr = sendDataBufMgrList[0];
                sendDataBufMgrList.RemoveAt(0);
            }

            if (sendDataBufMgr == null)
            {
                sendDataBufMgr = new SendDataBufferMgr();
                if (sendDataBufMgr == null)
                {
                    return(null);
                }

                // 初始化 BufferMgr
                if (!sendDataBufMgr.Init())
                {
                    sendDataBufMgr = null;
                    return(null);
                }
            }

            return(sendDataBufMgr);
        }
Beispiel #2
0
        // 释放发送缓冲区管理器
        public void FreeSendBufferMgr(SendDataBufferMgr sendDataBufMgr)
        {
            if (sendDataBufMgr == null)
            {
                Trace.Assert(false, "sendDataBufMgr is null");
                return;
            }

            if (sendDataBufMgrList.Count() >= reservedSize)
            {
                sendDataBufMgr.Release();
                sendDataBufMgr = null;
            }
            else
            {
                sendDataBufMgr.Reset();
                sendDataBufMgrList.Add(sendDataBufMgr);
            }
        }