GetValueSize() 공개 정적인 메소드

public static GetValueSize ( IList value ) : int
value IList
리턴 int
예제 #1
0
 public static int GetEncodeSize(IList value)
 {
     if (value == null)
     {
         return(FixedWidth.NullEncoded);
     }
     else if (value.Count == 0)
     {
         return(FixedWidth.FormatCode);
     }
     else
     {
         int valueSize = ListEncoding.GetValueSize(value);
         int width     = AmqpEncoding.GetEncodeWidthByCountAndSize(value.Count, valueSize);
         return(FixedWidth.FormatCode + (width * 2) + valueSize);
     }
 }
예제 #2
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);
            }
        }