BACSharp.BacNetListener.ParseBacNetMessage C# (CSharp) Method

ParseBacNetMessage() private method

private ParseBacNetMessage ( byte bytes, IPEndPoint endPoint ) : void
bytes byte
endPoint System.Net.IPEndPoint
return void
        private void ParseBacNetMessage(byte[] bytes, IPEndPoint endPoint)
        {
            if (bytes[0] != BacNetEnums.BACNET_BVLC_TYPE_BIP || bytes[4] != BacNetEnums.BACNET_PROTOCOL_VERSION)
                return;

            BacNetRawMessage msg = new BacNetRawMessage();
            msg.All = bytes;
            if (msg.All == null)
            {
                _logger.Info("Malformed packet received.");
                return;
            }

            byte type = (byte)(msg.Apdu[0] >> 4);
            switch (type)
            {
                case 0:
                    ParseConfirmed(msg, endPoint);
                    break;
                case 1:
                    ParseUncofirmed(msg, endPoint);
                    break;
                case 2:
                    ParseSimpleAck(msg, endPoint);
                    break;
                case 3:
                    ParseComplexAck(msg, endPoint);
                    break;
                case 5:
                    ParseErrorAck(msg, endPoint);
                    break;
            }
        }