Ejemplo n.º 1
0
        public void Start()
        {
            if (!_isStarted)
            {
                _isStarted = true;
                IsActive   = true;

                var thread = new Thread(async() =>
                {
                    try
                    {
                        while (!_isDisposing)
                        {
                            _parser.Parse();

                            await Task.Delay(1);
                        }
                    }
                    catch (Exception e)
                    {
                        ConnectionError?.Invoke(this, EventArgs.Empty);
                    }
                });

                thread.Priority = ThreadPriority.AboveNormal;
                thread.Start();
            }
        }
Ejemplo n.º 2
0
        void HandleChanged(object sender, EventArgs e)
        {
            Lexer     scnr = new Lexer(this.Source.Stream);
            IdpParser pars = new IdpParser(scnr, this);

            pars.Parse();
        }
Ejemplo n.º 3
0
        public void Can_Parse_Frame_With_1Byte_Payload_NoCRC()
        {
            var incomingData = new MemoryStream();

            var parser = new IdpParser(incomingData);

            var data = new byte[] { 0x02, 0x00, 0x00, 0x00, 0x08, 0x00, 0xAA, 0x03 };

            incomingData.Write(data, 0, data.Length);

            incomingData.Seek(0, SeekOrigin.Begin);

            byte[] payload = null;

            parser.PacketParsed += (sender, e) =>
            {
                payload = e.Packet.Data;
            };

            parser.Parse();

            Assert.Equal(0xaa, payload[0]);
        }