예제 #1
0
        public GetResponse Get(ByteSequence key, GetOption option)
        {
            Etcdserverpb.RangeRequest request = new Etcdserverpb.RangeRequest();
            request.Key          = key.GetByteString();
            request.KeysOnly     = option.IsCountOnly();
            request.Limit        = option.GetLimit();
            request.Revision     = option.GetRevision();
            request.KeysOnly     = option.IsKeysOnly();
            request.Serializable = option.isSerializable();
            request.SortOrder    = OptionsUtil.ToRangeRequestSortOrder(option.GetSortOrder());
            request.SortTarget   = OptionsUtil.ToRangeRequestSortTarget(option.GetSortField());
            if (option.GetEndKey() != null)
            {
                request.RangeEnd = option.GetEndKey().GetByteString();
            }
            var         rsp      = kVClient.Range(request);
            GetResponse response = new GetResponse(rsp);

            return(response);
            //return Util.ToCompletableFutureWithRetry(
            //    stub.Range(request),
            //     new FunctionResponse<Etcdserverpb.RangeRequest, GetResponse>(),
            //    Util.IsRetriable
            //);
        }
예제 #2
0
        static void Main(string[] args)
        {
            Channel  c  = new Channel("localhost", 2379, ChannelCredentials.Insecure);
            KVClient kv = new KVClient(c);

            Console.WriteLine("client");

            while (true)
            {
                Console.WriteLine("...");

                var sss = Console.ReadLine();
                if (sss.StartsWith("get "))
                {
                    sss = sss.Replace("get ", "").TrimStart();

                    var lis = kv.Range(new Etcdserverpb.RangeRequest()
                    {
                        Key = ByteString.CopyFromUtf8(sss)
                    });
                    Console.WriteLine(lis.ToString());
                }
                else if (sss.StartsWith("set "))
                {
                    sss = sss.Replace("set ", "").TrimStart();
                    var sasa = sss.Split(' ');
                    var res  = kv.Put(new Etcdserverpb.PutRequest()
                    {
                        Key = Google.Protobuf.ByteString.CopyFromUtf8(sasa[0]), Value = ByteString.CopyFromUtf8(sasa[1])
                    });
                    Console.WriteLine(res.ToString());
                }
            }
        }