public static void WriteBinary(ByteBuffer buffer, byte[] value, bool smallEncoding)
{
if (value == null)
{
AmqpBitConverter.WriteUByte(buffer, FormatCode.Null);
}
else if (smallEncoding && value.Length <= byte.MaxValue)
{
AmqpBitConverter.WriteUByte(buffer, FormatCode.Binary8);
AmqpBitConverter.WriteUByte(buffer, (byte)value.Length);
AmqpBitConverter.WriteBytes(buffer, value, 0, value.Length);
}
else
{
AmqpBitConverter.WriteUByte(buffer, FormatCode.Binary32);
AmqpBitConverter.WriteUInt(buffer, (uint)value.Length);
AmqpBitConverter.WriteBytes(buffer, value, 0, value.Length);
}
}