Exemplo n.º 1
0
        private void ProcessDatagram(byte[] datagram)
        {
            try
            {
                switch (KnxHelper.GetServiceType(datagram))
                {
                case KnxHelper.SERVICE_TYPE.CONNECT_RESPONSE:
                    ProcessConnectResponse(datagram);
                    break;

                case KnxHelper.SERVICE_TYPE.CONNECTIONSTATE_RESPONSE:
                    ProcessConnectionStateResponse(datagram);
                    break;

                case KnxHelper.SERVICE_TYPE.TUNNELLING_ACK:
                    ProcessTunnelingAck(datagram);
                    break;

                case KnxHelper.SERVICE_TYPE.DISCONNECT_REQUEST:
                    ProcessDisconnectRequest(datagram);
                    break;

                case KnxHelper.SERVICE_TYPE.TUNNELLING_REQUEST:
                    ProcessDatagramHeaders(datagram);
                    break;
                }
            }
            catch (Exception e)
            {
                Logger.Error(ClassName, e);

                // ignore, missing warning information
            }
        }
Exemplo n.º 2
0
        private void ProcessDatagram(byte[] datagram)
        {
            try
            {
                //if (datagram.Length >= 4)
                //{
                //    _logger.Debug(ClassName, "Received datagram - [2]: {0}, [3]: {1}", datagram[2], datagram[3]);
                //}
                //else
                //{
                //    _logger.Debug(ClassName, "Received datagram, datagram.Length < 4");
                //}
                switch (KnxHelper.GetServiceType(datagram))
                {
                case KnxHelper.SERVICE_TYPE.CONNECT_RESPONSE:
                    ProcessConnectResponse(datagram);
                    break;

                case KnxHelper.SERVICE_TYPE.CONNECTIONSTATE_RESPONSE:
                    ProcessConnectionStateResponse(datagram);
                    break;

                case KnxHelper.SERVICE_TYPE.TUNNELLING_ACK:
                    ProcessTunnelingAck(datagram);
                    break;

                case KnxHelper.SERVICE_TYPE.DISCONNECT_REQUEST:
                    ProcessDisconnectRequest(datagram);
                    break;

                case KnxHelper.SERVICE_TYPE.DISCONNECT_RESPONSE:
                    ProcessDisconnectResponse(datagram);
                    break;

                case KnxHelper.SERVICE_TYPE.TUNNELLING_REQUEST:
                    ProcessDatagramHeaders(datagram);
                    break;
                }
            }
            catch (Exception e)
            {
                _logger.Error(ClassName, e);

                // ignore, missing warning information
            }
        }
Exemplo n.º 3
0
        private void ProcessDatagram(byte[] datagram)
        {
            try
            {
                switch (KnxHelper.GetServiceType(datagram))
                {
                case KnxHelper.SERVICE_TYPE.CONNECT_RESPONSE:
                    ProcessConnectResponse(datagram);
                    break;

                case KnxHelper.SERVICE_TYPE.CONNECTIONSTATE_RESPONSE:
                    ProcessConnectionStateResponse(datagram);
                    break;

                case KnxHelper.SERVICE_TYPE.TUNNELLING_ACK:
                    ProcessTunnelingAck(datagram);
                    break;

                case KnxHelper.SERVICE_TYPE.DISCONNECT_REQUEST:
                    ProcessDisconnectRequest(datagram);
                    break;

                case KnxHelper.SERVICE_TYPE.TUNNELLING_REQUEST:
                    ProcessDatagramHeaders(datagram);
                    break;
                }
            }
            catch (Exception e)
            {
                Console.Write(e.Message);
                Console.Write(e.ToString());
                Console.Write(e.StackTrace);
                if (e.InnerException != null)
                {
                    Console.Write(e.InnerException.Message);
                    Console.Write(e.ToString());
                    Console.Write(e.InnerException.StackTrace);
                }

                // ignore, missing warning information
            }
        }