public override void EncodeObject(object value, bool arrayEncoding, ByteBuffer buffer) { if (!arrayEncoding) { MapEncoding.Encode((AmqpMap)value, buffer); return; } AmqpMap amqpMaps = (AmqpMap)value; int valueSize = 4 + amqpMaps.ValueSize; MapEncoding.Encode(amqpMaps, 4, valueSize, buffer); }
public override void EncodeObject(object value, bool arrayEncoding, ByteBuffer buffer) { if (arrayEncoding) { AmqpMap mapValue = (AmqpMap)value; int size = FixedWidth.UInt + mapValue.ValueSize; MapEncoding.Encode(mapValue, FixedWidth.UInt, size, buffer); } else { MapEncoding.Encode((AmqpMap)value, buffer); } }
public static void Encode(AmqpMap value, ByteBuffer buffer) { if (value == null) { AmqpEncoding.EncodeNull(buffer); return; } int encodeWidth = MapEncoding.GetEncodeWidth(value); AmqpBitConverter.WriteUByte(buffer, (byte)((encodeWidth == 1 ? 193 : 209))); int valueSize = encodeWidth + value.ValueSize; MapEncoding.Encode(value, encodeWidth, valueSize, buffer); }
public static void Encode(AmqpMap value, ByteBuffer buffer) { if (value == null) { AmqpEncoding.EncodeNull(buffer); } else { int encodeWidth = MapEncoding.GetEncodeWidth(value); AmqpBitConverter.WriteUByte(buffer, encodeWidth == FixedWidth.UByte ? (byte)FormatCode.Map8 : (byte)FormatCode.Map32); int size = encodeWidth + value.ValueSize; MapEncoding.Encode(value, encodeWidth, size, buffer); } }