BACnet.IP.ForeignDevicePort._processMessage C# (CSharp) Method

_processMessage() private method

Processes a received bvlc message
private _processMessage ( Mac mac, IBvlcMessage message, byte buffer, int offset, int length ) : NetgramReceivedMessage
mac BACnet.Core.Datalink.Mac The mac address of the device that sent the message
message IBvlcMessage The bvlc message
buffer byte The buffer containing the message content
offset int The offset of the content within the message
length int The length of the received datagram
return BACnet.Core.Datalink.NetgramReceivedMessage
        private NetgramReceivedMessage _processMessage(Mac mac, IBvlcMessage message, byte[] buffer, int offset, int length)
        {
            switch(message.Function)
            {
                case FunctionCode.Result:
                    _processResult(mac, ((ResultMessage)message).Result);
                    break;
                case FunctionCode.ForwardedNpdu:
                    mac = ((ForwardedNpduMessage)message).OriginalMac;
                    goto case FunctionCode.OriginalUnicastNpdu;
                case FunctionCode.OriginalUnicastNpdu:
                case FunctionCode.OriginalBroadcastNpdu:
                    return _createInboundNetgram(mac, buffer, offset, length);
            }

            return null;
        }