Example #1
0
        private bool HandleSendReq(tReqHead pReq)
        {
            if (pReq == null)
            {
                return(false);
            }

            tReqSend pSend = (tReqSend)pReq;

            if (pSend.pSendData == null)
            {
                return(true);
            }
            if (pSend.pSendData.Length <= 0)
            {
                return(true);
            }

            int uFreeSize = mSendBuffer.Length - mWaitSendSize;
            int uSendSize = pSend.pSendData.Length;

            if (uFreeSize > uSendSize)
            {
                Buffer.BlockCopy(pSend.pSendData, 0, mSendBuffer, mWaitSendSize, uSendSize);
                mWaitSendSize += uSendSize;
                return(true);
            }

            return(false);
        }
Example #2
0
        private void AddSendReq(byte[] pData)
        {
            tReqSend pReq = new tReqSend(pData);

            lock (mMutex) {
                LinkedListNode <tReqHead> node = new LinkedListNode <tReqHead>(pReq);
                mQueueReq.AddLast(node);
            }
        }
Example #3
0
        private void AddSendReq(byte[] pData, int bufSize)
        {
            // tReqSend pReq = new tReqSend(pData, bufSize);
            tReqSend pReq = tReqSend.CreateFromPool(pData, bufSize);

            lock (m_Mutex) {
                LinkedListNode <tReqHead> node = pReq.ListNode;
                m_QueueReq.AddLast(node);
            }
        }