EncodeNull() public static method

public static EncodeNull ( ByteBuffer buffer ) : void
buffer ByteBuffer
return void
Ejemplo n.º 1
0
 public static void Encode <T>(T[] value, ByteBuffer buffer)
 {
     if (value == null)
     {
         AmqpEncoding.EncodeNull(buffer);
     }
     else
     {
         ArrayEncoding.Encode(value, value.Length, typeof(T), buffer);
     }
 }
Ejemplo n.º 2
0
 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);
     }
 }
Ejemplo n.º 3
0
 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);
     }
 }
Ejemplo n.º 4
0
 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);
     }
 }
Ejemplo n.º 5
0
 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);
     }
 }
Ejemplo n.º 6
0
 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);
     }
 }
Ejemplo n.º 7
0
 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);
     }
 }
Ejemplo n.º 8
0
 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);
     }
 }
Ejemplo n.º 9
0
 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);
     }
 }
Ejemplo n.º 10
0
 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);
     }
 }
Ejemplo n.º 11
0
        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);
            }
        }
Ejemplo n.º 12
0
        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);
            }
        }
Ejemplo n.º 13
0
        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);
            }
        }