NewTOAPIA.Net.Udt.CSndBuffer.CSndBuffer C# (CSharp) Method

CSndBuffer() public method

public CSndBuffer ( int size, int mss ) : System
size int
mss int
return System
        public CSndBuffer(int size, int mss)
        {
            m_BufLock = null;
            m_pBlock = null;
            m_pFirstBlock = null;
            m_pCurrBlock = null;
            m_pLastBlock = null;
            m_pBuffer = null;
            m_iNextMsgNo = 0;
            m_iSize = size;
            m_iMSS = mss;
            m_iCount = 0;

            // initial physical buffer of "size"
            m_pBuffer = new Buffer();
            m_pBuffer.m_pcData = new byte[m_iSize * m_iMSS];
            m_pBuffer.m_iSize = m_iSize;
            m_pBuffer.m_pNext = null;

            // circular linked list for out bound packets
            m_pBlock = new Block();
            Block pb = m_pBlock;
            for (int i = 1; i < m_iSize; ++i)
            {
                pb.m_pNext = new Block();
                pb = pb.m_pNext;
            }
            pb.m_pNext = m_pBlock;

            pb = m_pBlock;
            byte[] pc = m_pBuffer.m_pcData;
            for (int i = 0; i < m_iSize; ++i)
            {
                pb.m_pcData = pc;
                pb = pb.m_pNext;
                //pc += m_iMSS;
            }

            m_pFirstBlock = m_pCurrBlock = m_pLastBlock = m_pBlock;

            m_BufLock = new Mutex();
        }