예제 #1
0
 public static int GetEncodeSize <T>(T[] value)
 {
     if (value == null)
     {
         return(1);
     }
     return(ArrayEncoding.GetEncodeSize(value, false));
 }
예제 #2
0
        public override void EncodeObject(object value, bool arrayEncoding, ByteBuffer buffer)
        {
            Array array = (Array)value;
            int   width;
            int   encodeSize = ArrayEncoding.GetEncodeSize(array, arrayEncoding, out width);

            AmqpBitConverter.WriteUByte(buffer, width == FixedWidth.UByte ? (byte)FormatCode.Array8 : (byte)FormatCode.Array32);
            ArrayEncoding.Encode(array, width, encodeSize, buffer);
        }
예제 #3
0
        public override void EncodeObject(object value, bool arrayEncoding, ByteBuffer buffer)
        {
            int   num;
            Array arrays     = (Array)value;
            int   encodeSize = ArrayEncoding.GetEncodeSize(arrays, arrayEncoding, out num);

            AmqpBitConverter.WriteUByte(buffer, (byte)((num == 1 ? 224 : 240)));
            ArrayEncoding.Encode(arrays, num, encodeSize, buffer);
        }
예제 #4
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 ? (byte)FormatCode.Array8 : (byte)FormatCode.Array32);
         ArrayEncoding.Encode(value, width, encodeSize, buffer);
     }
 }
예제 #5
0
        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);
        }
예제 #6
0
 public override int GetObjectEncodeSize(object value, bool arrayEncoding)
 {
     return(ArrayEncoding.GetEncodeSize((Array)value, arrayEncoding));
 }
예제 #7
0
        static int GetEncodeSize(Array array, bool arrayEncoding)
        {
            int unused;

            return(ArrayEncoding.GetEncodeSize(array, arrayEncoding, out unused));
        }
예제 #8
0
 public static int GetEncodeSize <T>(T[] value)
 {
     return(value == null ? FixedWidth.NullEncoded : ArrayEncoding.GetEncodeSize(value, false));
 }
예제 #9
0
        private static int GetEncodeSize(Array array, bool arrayEncoding)
        {
            int num;

            return(ArrayEncoding.GetEncodeSize(array, arrayEncoding, out num));
        }