public static EncodeNull ( ByteBuffer buffer ) : void | ||
buffer | ByteBuffer | |
return | void |
public static void Encode <T>(T[] value, ByteBuffer buffer) { if (value == null) { AmqpEncoding.EncodeNull(buffer); } else { ArrayEncoding.Encode(value, value.Length, typeof(T), buffer); } }
public static void Encode(Guid?value, ByteBuffer buffer) { if (value.HasValue) { AmqpBitConverter.WriteUByte(buffer, FormatCode.Uuid); AmqpBitConverter.WriteUuid(buffer, value.Value); } else { AmqpEncoding.EncodeNull(buffer); } }
public static void Encode(char?value, ByteBuffer buffer) { if (value.HasValue) { AmqpBitConverter.WriteUByte(buffer, FormatCode.Char); AmqpBitConverter.WriteInt(buffer, char.ConvertToUtf32(new string(value.Value, 1), 0)); } else { AmqpEncoding.EncodeNull(buffer); } }
public static void Encode(DateTime?value, ByteBuffer buffer) { if (value.HasValue) { AmqpBitConverter.WriteUByte(buffer, FormatCode.TimeStamp); AmqpBitConverter.WriteLong(buffer, TimeStampEncoding.GetMilliseconds(value.Value)); } else { AmqpEncoding.EncodeNull(buffer); } }
public static void Encode(AmqpSymbol value, ByteBuffer buffer) { if (value.Value == null) { AmqpEncoding.EncodeNull(buffer); } else { int width = AmqpEncoding.GetEncodeWidthBySize(value.Value.Length); Encode(value, width == FixedWidth.UByte ? FormatCode.Symbol8 : FormatCode.Symbol32, buffer); } }
public static void Encode(decimal?value, ByteBuffer buffer) { if (value.HasValue) { AmqpBitConverter.WriteUByte(buffer, FormatCode.Decimal128); DecimalEncoding.EncodeValue(value.Value, buffer); } else { AmqpEncoding.EncodeNull(buffer); } }
public static void Encode(DateTime?value, ByteBuffer buffer) { if (value.HasValue) { AmqpBitConverter.WriteUByte(buffer, FormatCode.TimeStamp); AmqpBitConverter.WriteTimestamp(buffer, value.Value); } else { AmqpEncoding.EncodeNull(buffer); } }
public static void Encode(AmqpSymbol value, ByteBuffer buffer) { if (value.Value == null) { AmqpEncoding.EncodeNull(buffer); } else { byte[] encodedData = Encoding.ASCII.GetBytes(value.Value); int encodeWidth = AmqpEncoding.GetEncodeWidthBySize(encodedData.Length); AmqpBitConverter.WriteUByte(buffer, encodeWidth == FixedWidth.UByte ? FormatCode.Symbol8 : FormatCode.Symbol32); SymbolEncoding.Encode(encodedData, encodeWidth, buffer); } }
public static void Encode(string value, ByteBuffer buffer) { if (value == null) { AmqpEncoding.EncodeNull(buffer); } else { byte[] encodedData = Encoding.UTF8.GetBytes(value); int encodeWidth = AmqpEncoding.GetEncodeWidthBySize(encodedData.Length); AmqpBitConverter.WriteUByte(buffer, encodeWidth == FixedWidth.UByte ? FormatCode.String8Utf8 : FormatCode.String32Utf8); StringEncoding.Encode(encodedData, encodeWidth, buffer); } }
public static void Encode <T>(T[] value, ByteBuffer buffer) { if (value == null) { AmqpEncoding.EncodeNull(buffer); } else { int width; int encodeSize = ArrayEncoding.GetEncodeSize(value, false, out width); AmqpBitConverter.WriteUByte(buffer, width == FixedWidth.UByte ? FormatCode.Array8 : FormatCode.Array32); ArrayEncoding.Encode(value, width, encodeSize, 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 ? FormatCode.Map8 : FormatCode.Map32); int size = encodeWidth + value.ValueSize; MapEncoding.Encode(value, encodeWidth, size, buffer); } }
public static void Encode(IList value, ByteBuffer buffer) { if (value == null) { AmqpEncoding.EncodeNull(buffer); } else if (value.Count == 0) { AmqpBitConverter.WriteUByte(buffer, FormatCode.List0); } else { int valueSize = ListEncoding.GetValueSize(value); int width = AmqpEncoding.GetEncodeWidthByCountAndSize(value.Count, valueSize); AmqpBitConverter.WriteUByte(buffer, width == FixedWidth.UByte ? FormatCode.List8 : FormatCode.List32); int size = width + valueSize; ListEncoding.Encode(value, width, size, buffer); } }
public static void Encode(ArraySegment <byte> value, ByteBuffer buffer) { if (value.Array == null) { AmqpEncoding.EncodeNull(buffer); } else { int width = AmqpEncoding.GetEncodeWidthBySize(value.Count); if (width == FixedWidth.UByte) { AmqpBitConverter.WriteUByte(buffer, FormatCode.Binary8); AmqpBitConverter.WriteUByte(buffer, (byte)value.Count); } else { AmqpBitConverter.WriteUByte(buffer, FormatCode.Binary32); AmqpBitConverter.WriteUInt(buffer, (uint)value.Count); } AmqpBitConverter.WriteBytes(buffer, value.Array, value.Offset, value.Count); } }