Beispiel #1
0
    public void Read(TProtocol iprot)
    {
        TField field;

        iprot.ReadStructBegin();
        while (true)
        {
            field = iprot.ReadFieldBegin();
            if (field.Type == TType.Stop)
            {
                break;
            }
            switch (field.ID)
            {
            case 1:
                if (field.Type == TType.String)
                {
                    Row = iprot.ReadBinary();
                }
                else
                {
                    TProtocolUtil.Skip(iprot, field.Type);
                }
                break;

            case 2:
                if (field.Type == TType.List)
                {
                    {
                        Columns = new List <TColumn>();
                        TList _list26 = iprot.ReadListBegin();
                        for (int _i27 = 0; _i27 < _list26.Count; ++_i27)
                        {
                            TColumn _elem28 = new TColumn();
                            _elem28 = new TColumn();
                            _elem28.Read(iprot);
                            Columns.Add(_elem28);
                        }
                        iprot.ReadListEnd();
                    }
                }
                else
                {
                    TProtocolUtil.Skip(iprot, field.Type);
                }
                break;

            case 3:
                if (field.Type == TType.I64)
                {
                    Timestamp = iprot.ReadI64();
                }
                else
                {
                    TProtocolUtil.Skip(iprot, field.Type);
                }
                break;

            case 4:
                if (field.Type == TType.I32)
                {
                    DeleteType = (TDeleteType)iprot.ReadI32();
                }
                else
                {
                    TProtocolUtil.Skip(iprot, field.Type);
                }
                break;

            case 6:
                if (field.Type == TType.Map)
                {
                    {
                        Attributes = new Dictionary <byte[], byte[]>();
                        TMap _map29 = iprot.ReadMapBegin();
                        for (int _i30 = 0; _i30 < _map29.Count; ++_i30)
                        {
                            byte[] _key31;
                            byte[] _val32;
                            _key31             = iprot.ReadBinary();
                            _val32             = iprot.ReadBinary();
                            Attributes[_key31] = _val32;
                        }
                        iprot.ReadMapEnd();
                    }
                }
                else
                {
                    TProtocolUtil.Skip(iprot, field.Type);
                }
                break;

            case 7:
                if (field.Type == TType.I32)
                {
                    Durability = (TDurability)iprot.ReadI32();
                }
                else
                {
                    TProtocolUtil.Skip(iprot, field.Type);
                }
                break;

            default:
                TProtocolUtil.Skip(iprot, field.Type);
                break;
            }
            iprot.ReadFieldEnd();
        }
        iprot.ReadStructEnd();
    }
Beispiel #2
0
        public void Read(TProtocol iprot)
        {
            iprot.IncrementRecursionDepth();
            try
            {
                bool   isset_row = false;
                TField field;
                iprot.ReadStructBegin();
                while (true)
                {
                    field = iprot.ReadFieldBegin();
                    if (field.Type == TType.Stop)
                    {
                        break;
                    }
                    switch (field.ID)
                    {
                    case 1:
                        if (field.Type == TType.String)
                        {
                            Row       = iprot.ReadBinary();
                            isset_row = true;
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 2:
                        if (field.Type == TType.List)
                        {
                            {
                                Columns = new List <TColumn>();
                                TList _list26 = iprot.ReadListBegin();
                                for (int _i27 = 0; _i27 < _list26.Count; ++_i27)
                                {
                                    TColumn _elem28;
                                    _elem28 = new TColumn();
                                    _elem28.Read(iprot);
                                    Columns.Add(_elem28);
                                }
                                iprot.ReadListEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 3:
                        if (field.Type == TType.I64)
                        {
                            Timestamp = iprot.ReadI64();
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 4:
                        if (field.Type == TType.I32)
                        {
                            DeleteType = (TDeleteType)iprot.ReadI32();
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 6:
                        if (field.Type == TType.Map)
                        {
                            {
                                Attributes = new Dictionary <byte[], byte[]>();
                                TMap _map29 = iprot.ReadMapBegin();
                                for (int _i30 = 0; _i30 < _map29.Count; ++_i30)
                                {
                                    byte[] _key31;
                                    byte[] _val32;
                                    _key31             = iprot.ReadBinary();
                                    _val32             = iprot.ReadBinary();
                                    Attributes[_key31] = _val32;
                                }
                                iprot.ReadMapEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 7:
                        if (field.Type == TType.I32)
                        {
                            Durability = (TDurability)iprot.ReadI32();
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    default:
                        TProtocolUtil.Skip(iprot, field.Type);
                        break;
                    }
                    iprot.ReadFieldEnd();
                }
                iprot.ReadStructEnd();
                if (!isset_row)
                {
                    throw new TProtocolException(TProtocolException.INVALID_DATA, "required field Row not set");
                }
            }
            finally
            {
                iprot.DecrementRecursionDepth();
            }
        }
Beispiel #3
0
    public async Task ReadAsync(TProtocol iprot, CancellationToken cancellationToken)
    {
        iprot.IncrementRecursionDepth();
        try
        {
            bool   isset_row = false;
            TField field;
            await iprot.ReadStructBeginAsync(cancellationToken);

            while (true)
            {
                field = await iprot.ReadFieldBeginAsync(cancellationToken);

                if (field.Type == TType.Stop)
                {
                    break;
                }

                switch (field.ID)
                {
                case 1:
                    if (field.Type == TType.String)
                    {
                        Row = await iprot.ReadBinaryAsync(cancellationToken);

                        isset_row = true;
                    }
                    else
                    {
                        await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken);
                    }
                    break;

                case 2:
                    if (field.Type == TType.List)
                    {
                        {
                            Columns = new List <TColumn>();
                            TList _list26 = await iprot.ReadListBeginAsync(cancellationToken);

                            for (int _i27 = 0; _i27 < _list26.Count; ++_i27)
                            {
                                TColumn _elem28;
                                _elem28 = new TColumn();
                                await _elem28.ReadAsync(iprot, cancellationToken);

                                Columns.Add(_elem28);
                            }
                            await iprot.ReadListEndAsync(cancellationToken);
                        }
                    }
                    else
                    {
                        await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken);
                    }
                    break;

                case 3:
                    if (field.Type == TType.I64)
                    {
                        Timestamp = await iprot.ReadI64Async(cancellationToken);
                    }
                    else
                    {
                        await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken);
                    }
                    break;

                case 4:
                    if (field.Type == TType.I32)
                    {
                        DeleteType = (TDeleteType)await iprot.ReadI32Async(cancellationToken);
                    }
                    else
                    {
                        await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken);
                    }
                    break;

                case 6:
                    if (field.Type == TType.Map)
                    {
                        {
                            Attributes = new Dictionary <byte[], byte[]>();
                            TMap _map29 = await iprot.ReadMapBeginAsync(cancellationToken);

                            for (int _i30 = 0; _i30 < _map29.Count; ++_i30)
                            {
                                byte[] _key31;
                                byte[] _val32;
                                _key31 = await iprot.ReadBinaryAsync(cancellationToken);

                                _val32 = await iprot.ReadBinaryAsync(cancellationToken);

                                Attributes[_key31] = _val32;
                            }
                            await iprot.ReadMapEndAsync(cancellationToken);
                        }
                    }
                    else
                    {
                        await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken);
                    }
                    break;

                case 7:
                    if (field.Type == TType.I32)
                    {
                        Durability = (TDurability)await iprot.ReadI32Async(cancellationToken);
                    }
                    else
                    {
                        await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken);
                    }
                    break;

                default:
                    await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken);

                    break;
                }

                await iprot.ReadFieldEndAsync(cancellationToken);
            }

            await iprot.ReadStructEndAsync(cancellationToken);

            if (!isset_row)
            {
                throw new TProtocolException(TProtocolException.INVALID_DATA);
            }
        }
        finally
        {
            iprot.DecrementRecursionDepth();
        }
    }