System.IO.BACnet.BacnetMstpProtocolTransport.RemoveGarbage C# (CSharp) Method

RemoveGarbage() private method

private RemoveGarbage ( ) : void
return void
        private void RemoveGarbage()
        {
            //scan for preambles
            for (int i = 0; i < (m_local_offset - 1); i++)
            {
                if (m_local_buffer[i] == MSTP.MSTP_PREAMBLE1 && m_local_buffer[i + 1] == MSTP.MSTP_PREAMBLE2)
                {
                    if (i > 0)
                    {
                        //move back
                        Array.Copy(m_local_buffer, i, m_local_buffer, 0, m_local_offset - i);
                        m_local_offset -= i;
                        Trace.WriteLine("Garbage", null);
                    }
                    return;
                }
            }

            //one preamble?
            if (m_local_offset > 0 && m_local_buffer[m_local_offset - 1] == MSTP.MSTP_PREAMBLE1)
            {
                m_local_buffer[0] = MSTP.MSTP_PREAMBLE1;
                m_local_offset = 1;
                Trace.WriteLine("Garbage", null);
                return;
            }

            //no preamble?
            if (m_local_offset > 0)
            {
                m_local_offset = 0;
                Trace.WriteLine("Garbage", null);
            }
        }