Beispiel #1
0
        public static void FistTest()
        {
            Console.WriteLine("Thrift2 Demo");
            Console.WriteLine("This demo assumes you have a table called \"example\" with a column family called \"family1\"");

            String host    = "hserver";
            int    port    = 9090;
            int    timeout = 10000;
            var    framed  = false;

            TTransport transport = new TSocket(host, port, timeout);

            if (framed)
            {
                transport = new TFramedTransport(transport);
            }
            TProtocol protocol = new TBinaryProtocol(transport);

            // This is our thrift client.
            THBaseService.Iface client = new THBaseService.Client(protocol);

            // open the transport
            transport.Open();

            var table = "t1".ToBytes();

            TPut put = new TPut();

            put.Row = ("row1".ToBytes());

            for (var i = 0; i < 1000; i++)
            {
                TColumnValue columnValue = new TColumnValue();
                columnValue.Family    = ("f1".ToBytes());
                columnValue.Qualifier = ("qualifier" + i).ToBytes();
                columnValue.Value     = ("value" + i).ToBytes();
                List <TColumnValue> columnValues = new List <TColumnValue>();
                columnValues.Add(columnValue);
                put.ColumnValues = columnValues;

                client.put(table, put);
            }

            TGet get = new TGet();

            get.Row = ("row1".ToBytes());

            TResult result = client.get(table, get);

            Console.WriteLine("row = " + result.Row.ToStr());
            foreach (TColumnValue resultColumnValue in result.ColumnValues)
            {
                Console.WriteLine("family = " + resultColumnValue.Family.ToStr());
                Console.WriteLine("qualifier = " + resultColumnValue.Qualifier.ToStr());
                Console.WriteLine("value = " + resultColumnValue.Value.ToStr());
                Console.WriteLine("timestamp = " + resultColumnValue.Timestamp);
            }

            transport.Close();
        }
Beispiel #2
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)
                {
                    {
                        ColumnValues = new List <TColumnValue>();
                        TList _list0 = iprot.ReadListBegin();
                        for (int _i1 = 0; _i1 < _list0.Count; ++_i1)
                        {
                            TColumnValue _elem2 = new TColumnValue();
                            _elem2 = new TColumnValue();
                            _elem2.Read(iprot);
                            ColumnValues.Add(_elem2);
                        }
                        iprot.ReadListEnd();
                    }
                }
                else
                {
                    TProtocolUtil.Skip(iprot, field.Type);
                }
                break;

            default:
                TProtocolUtil.Skip(iprot, field.Type);
                break;
            }
            iprot.ReadFieldEnd();
        }
        iprot.ReadStructEnd();
    }
Beispiel #3
0
        static void Main(string[] args)
        {
            var thriftsocket = new TSocket("192.168.1.40", 8090, 10000);
            var client       = new THBaseService.Client(new TBinaryProtocol(thriftsocket));

            thriftsocket.Open();
            var rowKey = new TPut();

            rowKey.Row = Encoding.UTF8.GetBytes(Guid.NewGuid().ToString());
            var col1 = new TColumnValue(null, null, null);
        }
Beispiel #4
0
    public async Task ReadAsync(TProtocol iprot, CancellationToken cancellationToken)
    {
        iprot.IncrementRecursionDepth();
        try
        {
            bool   isset_row          = false;
            bool   isset_columnValues = 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)
                    {
                        {
                            ColumnValues = new List <TColumnValue>();
                            TList _list17 = await iprot.ReadListBeginAsync(cancellationToken);

                            for (int _i18 = 0; _i18 < _list17.Count; ++_i18)
                            {
                                TColumnValue _elem19;
                                _elem19 = new TColumnValue();
                                await _elem19.ReadAsync(iprot, cancellationToken);

                                ColumnValues.Add(_elem19);
                            }
                            await iprot.ReadListEndAsync(cancellationToken);
                        }
                        isset_columnValues = true;
                    }
                    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 5:
                    if (field.Type == TType.Map)
                    {
                        {
                            Attributes = new Dictionary <byte[], byte[]>();
                            TMap _map20 = await iprot.ReadMapBeginAsync(cancellationToken);

                            for (int _i21 = 0; _i21 < _map20.Count; ++_i21)
                            {
                                byte[] _key22;
                                byte[] _val23;
                                _key22 = await iprot.ReadBinaryAsync(cancellationToken);

                                _val23 = await iprot.ReadBinaryAsync(cancellationToken);

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

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

                case 7:
                    if (field.Type == TType.Struct)
                    {
                        CellVisibility = new TCellVisibility();
                        await CellVisibility.ReadAsync(iprot, 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);
            }
            if (!isset_columnValues)
            {
                throw new TProtocolException(TProtocolException.INVALID_DATA);
            }
        }
        finally
        {
            iprot.DecrementRecursionDepth();
        }
    }
Beispiel #5
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 <TColumnValue>();
                        TList _list44 = iprot.ReadListBegin();
                        for (int _i45 = 0; _i45 < _list44.Count; ++_i45)
                        {
                            TColumnValue _elem46 = new TColumnValue();
                            _elem46 = new TColumnValue();
                            _elem46.Read(iprot);
                            Columns.Add(_elem46);
                        }
                        iprot.ReadListEnd();
                    }
                }
                else
                {
                    TProtocolUtil.Skip(iprot, field.Type);
                }
                break;

            case 3:
                if (field.Type == TType.Map)
                {
                    {
                        Attributes = new Dictionary <byte[], byte[]>();
                        TMap _map47 = iprot.ReadMapBegin();
                        for (int _i48 = 0; _i48 < _map47.Count; ++_i48)
                        {
                            byte[] _key49;
                            byte[] _val50;
                            _key49             = iprot.ReadBinary();
                            _val50             = iprot.ReadBinary();
                            Attributes[_key49] = _val50;
                        }
                        iprot.ReadMapEnd();
                    }
                }
                else
                {
                    TProtocolUtil.Skip(iprot, field.Type);
                }
                break;

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

            case 5:
                if (field.Type == TType.Struct)
                {
                    CellVisibility = new TCellVisibility();
                    CellVisibility.Read(iprot);
                }
                else
                {
                    TProtocolUtil.Skip(iprot, field.Type);
                }
                break;

            default:
                TProtocolUtil.Skip(iprot, field.Type);
                break;
            }
            iprot.ReadFieldEnd();
        }
        iprot.ReadStructEnd();
    }
Beispiel #6
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)
                {
                    {
                        ColumnValues = new List <TColumnValue>();
                        TList _list17 = iprot.ReadListBegin();
                        for (int _i18 = 0; _i18 < _list17.Count; ++_i18)
                        {
                            TColumnValue _elem19 = new TColumnValue();
                            _elem19 = new TColumnValue();
                            _elem19.Read(iprot);
                            ColumnValues.Add(_elem19);
                        }
                        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 5:
                if (field.Type == TType.Map)
                {
                    {
                        Attributes = new Dictionary <byte[], byte[]>();
                        TMap _map20 = iprot.ReadMapBegin();
                        for (int _i21 = 0; _i21 < _map20.Count; ++_i21)
                        {
                            byte[] _key22;
                            byte[] _val23;
                            _key22             = iprot.ReadBinary();
                            _val23             = iprot.ReadBinary();
                            Attributes[_key22] = _val23;
                        }
                        iprot.ReadMapEnd();
                    }
                }
                else
                {
                    TProtocolUtil.Skip(iprot, field.Type);
                }
                break;

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

            case 7:
                if (field.Type == TType.Struct)
                {
                    CellVisibility = new TCellVisibility();
                    CellVisibility.Read(iprot);
                }
                else
                {
                    TProtocolUtil.Skip(iprot, field.Type);
                }
                break;

            default:
                TProtocolUtil.Skip(iprot, field.Type);
                break;
            }
            iprot.ReadFieldEnd();
        }
        iprot.ReadStructEnd();
    }
Beispiel #7
0
 public TColumnValueWarpper(string familyname, string colname, object val)
 {
     byte[] family     = Encoding.UTF8.GetBytes(familyname);
     byte[] qualifiter = Encoding.UTF8.GetBytes(colname);
     TColumnVal = new TColumnValue(family, qualifiter, Serializer.TSerializer.GetBytes(val));
 }
Beispiel #8
0
    public async Task ReadAsync(TProtocol iprot, CancellationToken cancellationToken)
    {
        iprot.IncrementRecursionDepth();
        try
        {
            bool   isset_columnValues = 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);
                    }
                    else
                    {
                        await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken);
                    }
                    break;

                case 2:
                    if (field.Type == TType.List)
                    {
                        {
                            ColumnValues = new List <TColumnValue>();
                            TList _list0 = await iprot.ReadListBeginAsync(cancellationToken);

                            for (int _i1 = 0; _i1 < _list0.Count; ++_i1)
                            {
                                TColumnValue _elem2;
                                _elem2 = new TColumnValue();
                                await _elem2.ReadAsync(iprot, cancellationToken);

                                ColumnValues.Add(_elem2);
                            }
                            await iprot.ReadListEndAsync(cancellationToken);
                        }
                        isset_columnValues = true;
                    }
                    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_columnValues)
            {
                throw new TProtocolException(TProtocolException.INVALID_DATA);
            }
        }
        finally
        {
            iprot.DecrementRecursionDepth();
        }
    }