Ejemplo n.º 1
0
        internal static RESPBulkString Load(SocketReader reader)
        {
            Int32 byteLength = reader.ReadInt32();

            if (byteLength < 0)
            {
                return(Null);
            }
            else
            {
                return(new RESPBulkString(reader.ReadString(byteLength)));
            }
        }
Ejemplo n.º 2
0
        internal static RESPArray Load(SocketReader reader)
        {
            Int32 itemCount = reader.ReadInt32();

            if (itemCount < 0)
            {
                return(RESPArray.Empty);
            }

            var array = new RESPArray(itemCount);

            for (int i = 0; i < itemCount; i++)
            {
                var obj = RESPObject.Read(reader);
                if (obj == null)
                {
                    throw new RESPException("Cannot read array elements.");
                }
                array._items[i] = obj;
            }
            return(array);
        }