in src/NMS.AMQP/Message/NmsStreamMessage.cs [313:351]
public object ReadObject()
{
CheckWriteOnlyBody();
CheckBytesInFlight();
object result;
object value = facade.Peek();
if (value == null)
result = null;
else if (value is string)
result = value;
else if (value is float)
result = value;
else if (value is double)
result = value;
else if (value is long)
result = value;
else if (value is int)
result = value;
else if (value is short)
result = value;
else if (value is byte)
result = value;
else if (value is bool)
result = value;
else if (value is char)
result = value;
else if (value is byte[] original)
{
byte[] bytesResult = new byte[original.Length];
Array.Copy(original, 0, bytesResult, 0, original.Length);
result = bytesResult;
}
else
throw new MessageFormatException("stream value: " + value.GetType().Name + " cannot be converted to int.");
facade.Pop();
return result;
}