Example #1
0
    public override void Deserialize(ByteArray stream)
    {
        base.Deserialize(stream);

        int retCodeCount = 0;

        while (stream.bytesAvailable > 0)
        {
            var tag = ReadUtils.ReadTag(stream);
            switch (tag.number)
            {
            case 0:
                throw new ProtobufException("Invalid field id: 0, wrong stream");

            case 1:
                this.retCode = ReadUtils.Read_TYPE_UINT32(stream);
                retCodeCount++;
                break;

            default:
                ReadUtils.Skip(stream, tag.wireType);
                break;
            }
        }

        if (retCodeCount == 0)
        {
            throw new ProtobufException("Required field retCode not readed");
        }
    }