public static void Encode(ulong?value, ByteBuffer buffer) { if (!value.HasValue) { AmqpEncoding.EncodeNull(buffer); return; } ulong?nullable = value; if ((nullable.GetValueOrDefault() != (long)0 ? false : nullable.HasValue)) { AmqpBitConverter.WriteUByte(buffer, 68); return; } ulong?nullable1 = value; if ((nullable1.GetValueOrDefault() > (long)255 ? true : !nullable1.HasValue)) { AmqpBitConverter.WriteUByte(buffer, 128); AmqpBitConverter.WriteULong(buffer, value.Value); return; } AmqpBitConverter.WriteUByte(buffer, 83); AmqpBitConverter.WriteUByte(buffer, (byte)value.Value); }
public static void Encode(bool?value, ByteBuffer buffer) { if (!value.HasValue) { AmqpEncoding.EncodeNull(buffer); return; } AmqpBitConverter.WriteUByte(buffer, (byte)((value.Value ? 65 : 66))); }
public static void Encode(byte?value, ByteBuffer buffer) { if (!value.HasValue) { AmqpEncoding.EncodeNull(buffer); return; } AmqpBitConverter.WriteUByte(buffer, 80); AmqpBitConverter.WriteUByte(buffer, value.Value); }
public static void Encode(decimal?value, ByteBuffer buffer) { if (!value.HasValue) { AmqpEncoding.EncodeNull(buffer); return; } AmqpBitConverter.WriteUByte(buffer, 148); DecimalEncoding.EncodeValue(value.Value, buffer); }
public static void Encode(DateTime?value, ByteBuffer buffer) { if (!value.HasValue) { AmqpEncoding.EncodeNull(buffer); return; } AmqpBitConverter.WriteUByte(buffer, 131); AmqpBitConverter.WriteLong(buffer, TimeStampEncoding.GetMilliseconds(value.Value)); }
public static void Encode(char?value, ByteBuffer buffer) { if (!value.HasValue) { AmqpEncoding.EncodeNull(buffer); return; } AmqpBitConverter.WriteUByte(buffer, 115); AmqpBitConverter.WriteInt(buffer, char.ConvertToUtf32(new string(value.Value, 1), 0)); }
public static void Encode(string value, ByteBuffer buffer) { if (value == null) { AmqpEncoding.EncodeNull(buffer); } else { StringEncoding.Encode(value, 0, buffer); } }
public static void Encode(DescribedType value, ByteBuffer buffer) { if (value.Value == null) { AmqpEncoding.EncodeNull(buffer); return; } AmqpBitConverter.WriteUByte(buffer, 0); AmqpEncoding.EncodeObject(value.Descriptor, buffer); AmqpEncoding.EncodeObject(value.Value, buffer); }
public static void Encode(AmqpSymbol value, ByteBuffer buffer) { if (value.Value == null) { AmqpEncoding.EncodeNull(buffer); } else { SymbolEncoding.Encode(value, 0, buffer); } }
public static void Encode(decimal?value, ByteBuffer buffer) { if (value.HasValue) { AmqpBitConverter.WriteUByte(buffer, (byte)FormatCode.Decimal128); DecimalEncoding.EncodeValue(value.Value, buffer); } else { AmqpEncoding.EncodeNull(buffer); } }
public static void Encode(char?value, ByteBuffer buffer) { if (value.HasValue) { AmqpBitConverter.WriteUByte(buffer, (byte)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, (byte)FormatCode.TimeStamp); AmqpBitConverter.WriteLong(buffer, TimeStampEncoding.GetMilliseconds(value.Value)); } else { AmqpEncoding.EncodeNull(buffer); } }
public static void Encode(Guid?value, ByteBuffer buffer) { if (value.HasValue) { AmqpBitConverter.WriteUByte(buffer, (byte)FormatCode.Uuid); AmqpBitConverter.WriteUuid(buffer, value.Value); } else { AmqpEncoding.EncodeNull(buffer); } }
public static void Encode(string value, ByteBuffer buffer) { if (value == null) { AmqpEncoding.EncodeNull(buffer); return; } byte[] bytes = System.Text.Encoding.UTF8.GetBytes(value); int encodeWidthBySize = AmqpEncoding.GetEncodeWidthBySize((int)bytes.Length); AmqpBitConverter.WriteUByte(buffer, (byte)((encodeWidthBySize == 1 ? 161 : 177))); StringEncoding.Encode(bytes, encodeWidthBySize, buffer); }
public static void Encode(AmqpSymbol value, ByteBuffer buffer) { if (value.Value == null) { AmqpEncoding.EncodeNull(buffer); return; } byte[] bytes = System.Text.Encoding.ASCII.GetBytes(value.Value); int encodeWidthBySize = AmqpEncoding.GetEncodeWidthBySize((int)bytes.Length); AmqpBitConverter.WriteUByte(buffer, (byte)((encodeWidthBySize == 1 ? 163 : 179))); SymbolEncoding.Encode(bytes, encodeWidthBySize, buffer); }
public static void Encode <T>(T[] value, ByteBuffer buffer) { int num; if (value == null) { AmqpEncoding.EncodeNull(buffer); return; } int encodeSize = ArrayEncoding.GetEncodeSize(value, false, out num); AmqpBitConverter.WriteUByte(buffer, (byte)((num == 1 ? 224 : 240))); ArrayEncoding.Encode(value, num, encodeSize, 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 ? (byte)FormatCode.Array8 : (byte)FormatCode.Array32); ArrayEncoding.Encode(value, width, encodeSize, 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); } }
public static void EncodeObject(object value, ByteBuffer buffer) { if (value == null) { AmqpEncoding.EncodeNull(buffer); return; } IAmqpSerializable amqpSerializable = value as IAmqpSerializable; if (amqpSerializable != null) { amqpSerializable.Encode(buffer); return; } AmqpEncoding.GetEncoding(value).EncodeObject(value, false, buffer); }
public static void Encode(IList value, ByteBuffer buffer) { if (value == null) { AmqpEncoding.EncodeNull(buffer); return; } if (value.Count == 0) { AmqpBitConverter.WriteUByte(buffer, 69); return; } int valueSize = ListEncoding.GetValueSize(value); int encodeWidthByCountAndSize = AmqpEncoding.GetEncodeWidthByCountAndSize(value.Count, valueSize); AmqpBitConverter.WriteUByte(buffer, (byte)((encodeWidthByCountAndSize == 1 ? 192 : 208))); ListEncoding.Encode(value, encodeWidthByCountAndSize, encodeWidthByCountAndSize + valueSize, buffer); }
public static void Encode(ArraySegment <byte> value, ByteBuffer buffer) { if (value.Array == null) { AmqpEncoding.EncodeNull(buffer); return; } if (AmqpEncoding.GetEncodeWidthBySize(value.Count) != 1) { AmqpBitConverter.WriteUByte(buffer, 176); AmqpBitConverter.WriteUInt(buffer, (uint)value.Count); } else { AmqpBitConverter.WriteUByte(buffer, 160); AmqpBitConverter.WriteUByte(buffer, (byte)value.Count); } AmqpBitConverter.WriteBytes(buffer, value.Array, value.Offset, value.Count); }
public static void Encode(IList value, ByteBuffer buffer) { if (value == null) { AmqpEncoding.EncodeNull(buffer); } else if (value.Count == 0) { AmqpBitConverter.WriteUByte(buffer, (byte)FormatCode.List0); } else { int valueSize = ListEncoding.GetValueSize(value); int width = AmqpEncoding.GetEncodeWidthByCountAndSize(value.Count, valueSize); AmqpBitConverter.WriteUByte(buffer, width == FixedWidth.UByte ? (byte)FormatCode.List8 : (byte)FormatCode.List32); int size = width + valueSize; ListEncoding.Encode(value, width, size, buffer); } }
public static void Encode(int?value, ByteBuffer buffer) { if (!value.HasValue) { AmqpEncoding.EncodeNull(buffer); return; } int?nullable = value; if ((nullable.GetValueOrDefault() >= -128 ? true : !nullable.HasValue)) { int?nullable1 = value; if ((nullable1.GetValueOrDefault() <= 127 ? true : !nullable1.HasValue)) { AmqpBitConverter.WriteUByte(buffer, 84); AmqpBitConverter.WriteByte(buffer, (sbyte)value.Value); return; } } AmqpBitConverter.WriteUByte(buffer, 113); AmqpBitConverter.WriteInt(buffer, value.Value); }
public static void Encode(long?value, ByteBuffer buffer) { if (!value.HasValue) { AmqpEncoding.EncodeNull(buffer); return; } long?nullable = value; if ((nullable.GetValueOrDefault() >= (long)-128 ? true : !nullable.HasValue)) { long?nullable1 = value; if ((nullable1.GetValueOrDefault() <= (long)127 ? true : !nullable1.HasValue)) { AmqpBitConverter.WriteUByte(buffer, 85); AmqpBitConverter.WriteByte(buffer, (sbyte)value.Value); return; } } AmqpBitConverter.WriteUByte(buffer, 129); AmqpBitConverter.WriteLong(buffer, value.Value); }
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, (byte)FormatCode.Binary8); AmqpBitConverter.WriteUByte(buffer, (byte)value.Count); } else { AmqpBitConverter.WriteUByte(buffer, (byte)FormatCode.Binary32); AmqpBitConverter.WriteUInt(buffer, (uint)value.Count); } buffer.WriteBytes(value.Array, value.Offset, value.Count); } }
public static void Encode(uint?value, ByteBuffer buffer) { if (!value.HasValue) { AmqpEncoding.EncodeNull(buffer); return; } uint?nullable = value; if ((nullable.GetValueOrDefault() != 0 ? false : nullable.HasValue)) { AmqpBitConverter.WriteUByte(buffer, 67); return; } if (value.Value > 255) { AmqpBitConverter.WriteUByte(buffer, 112); AmqpBitConverter.WriteUInt(buffer, value.Value); return; } AmqpBitConverter.WriteUByte(buffer, 82); AmqpBitConverter.WriteUByte(buffer, (byte)value.Value); }