public static RESPONSE_MESSAGE DecodeResponseMessage(byte[] byteArr)
{
RESPONSE_MESSAGE responseMessage;
TRANSPORT_HEADER header;
RESPONSE_CODE responseCode;
if (byteArr == null)
{
throw new ArgumentNullException("byteArr");
}
int index = 0;
byte[] informationData = GetBytes(byteArr, ref index, byteArr.Length - index);
int tempIndex = 0;
header.Size = GetUInt32(informationData, ref tempIndex, false);
if ((informationData[tempIndex] ^ 0x00) == 0)
{
responseCode = RESPONSE_CODE.OK;
}
else if ((informationData[tempIndex] ^ 0x01) == 0)
{
responseCode = RESPONSE_CODE.INTERESTED;
}
else
{
responseCode = (RESPONSE_CODE)informationData[tempIndex];
}
responseMessage.TransportHeader = header;
responseMessage.ResponseCode = responseCode;
return responseMessage;
}