public override void OnSuccess(RpbResp response)
        {
            if (response == null)
            {
                Response = new SetResponse();
            }
            else
            {
                DtFetchResp fetchResp = (DtFetchResp)response;
                if (fetchResp.type != DtFetchResp.DataType.SET)
                {
                    throw new RiakException(
                              string.Format("Requested set, received {0}", fetchResp.type));
                }

                if (fetchResp.value == null)
                {
                    Response = new SetResponse();
                }
                else
                {
                    Response = new SetResponse(
                        Options.Key,
                        fetchResp.context,
                        new HashSet <byte[]>(fetchResp.value.set_value));
                }
            }
        }
Example #2
0
        public override void OnSuccess(RpbResp response)
        {
            if (response == null)
            {
                Response = new CounterResponse();
            }
            else
            {
                DtFetchResp fetchResp = (DtFetchResp)response;
                if (fetchResp.type != DtFetchResp.DataType.COUNTER)
                {
                    throw new RiakException(
                              string.Format("Requested counter, received {0}", fetchResp.type));
                }

                if (fetchResp.value == null)
                {
                    Response = new CounterResponse();
                }
                else
                {
                    Response = new CounterResponse(Options.Key, fetchResp.context, fetchResp.value.counter_value);
                }
            }
        }
Example #3
0
        public RiakResult Read(IRiakCommand command)
        {
            bool done = false;

            do
            {
                MessageCode expectedCode = command.ExpectedCode;
                Type        expectedType = MessageCodeTypeMapBuilder.GetTypeFor(expectedCode);

                int size = DoRead(expectedCode, expectedType);

                RpbResp response = DeserializeInstance(expectedType, size);
                command.OnSuccess(response);

                var streamingResponse = response as IRpbStreamingResp;
                if (streamingResponse == null)
                {
                    done = true;
                }
                else
                {
                    done = streamingResponse.done;
                }
            }while (done == false);

            return(RiakResult.Success());
        }
Example #4
0
        public override void OnSuccess(RpbResp response)
        {
            var             decoder = new ResponseDecoder((TsGetResp)response);
            DecodedResponse dr      = decoder.Decode();

            Response = new GetResponse(CommandOptions.Key, dr.Columns, dr.Rows);
        }
Example #5
0
 public override void OnSuccess(RpbResp response)
 {
     if (response == null)
     {
         Response = new Response(notFound: true);
     }
     else
     {
         Response = new Response(notFound: false);
     }
 }
 public override void OnSuccess(RpbResp response)
 {
     if (response == null)
     {
         Response = default(TResponse);
     }
     else
     {
         Response = CreateResponse((DtUpdateResp)response);
     }
 }
 public override void OnSuccess(RpbResp response)
 {
     if (response == null)
     {
         Response = new ServerInfoResponse();
     }
     else
     {
         RpbGetServerInfoResp resp = (RpbGetServerInfoResp)response;
         var info = new ServerInfo(new RiakString(resp.node), new RiakString(resp.server_version));
         Response = new ServerInfoResponse(info);
     }
 }
        public RiakResult Read(IRiakCommand command)
        {
            MessageCode expectedCode = command.ExpectedCode;
            Type        expectedType = MessageCodeTypeMapBuilder.GetTypeFor(expectedCode);

            int size = DoRead(expectedCode, expectedType);

            RpbResp response = DeserializeInstance(expectedType, size);

            command.OnSuccess(response);

            return(RiakResult.Success());
        }
Example #9
0
        protected RiakString GetKey(RiakString optskey, RpbResp response)
        {
            RiakString key = optskey;

            IRpbGeneratedKey krsp = response as IRpbGeneratedKey;

            if (krsp != null && krsp.HasKey)
            {
                key = new RiakString(krsp.key);
            }

            return(key);
        }
 public override void OnSuccess(RpbResp response)
 {
     if (response == null)
     {
         Response = default(TResponse);
     }
     else
     {
         DtUpdateResp resp = (DtUpdateResp)response;
         RiakString   key  = EnumerableUtil.NotNullOrEmpty(resp.key) ?
                             new RiakString(resp.key) : CommandOptions.Key;
         Response = CreateResponse(key, resp);
     }
 }
        public override void OnSuccess(RpbResp response)
        {
            if (response == null)
            {
                Response = new PreflistResponse();
            }
            else
            {
                RpbGetBucketKeyPreflistResp resp = (RpbGetBucketKeyPreflistResp)response;

                IEnumerable <PreflistItem> preflistItems = Enumerable.Empty <PreflistItem>();

                if (EnumerableUtil.NotNullOrEmpty(resp.preflist))
                {
                    preflistItems = resp.preflist.Select(i =>
                                                         new PreflistItem(RiakString.FromBytes(i.node), i.partition, i.primary));
                }

                Response = new PreflistResponse(Options.Key, preflistItems);
            }
        }
Example #12
0
        public override void OnSuccess(RpbResp response)
        {
            TsListKeysResp rsp = (TsListKeysResp)response;

            Response = new ListKeysResponse(rsp.keys.Select(tsr => new Row(tsr)));

            if (CommandOptions.Callback != null)
            {
                CommandOptions.Callback(Response);
            }
            else
            {
                rows.AddRange(Response.Value);
            }

            var streamingResponse = response as IRpbStreamingResp;

            if (streamingResponse != null && streamingResponse.done)
            {
                Response = new ListKeysResponse(rows);
            }
        }
        public override void OnSuccess(RpbResp response)
        {
            var             decoder = new ResponseDecoder((TsQueryResp)response);
            DecodedResponse dr      = decoder.Decode();

            Response = new QueryResponse(CommandOptions.Query, dr.Columns, dr.Rows);

            if (CommandOptions.Callback != null)
            {
                CommandOptions.Callback(Response);
            }
            else
            {
                rows.AddRange(Response.Value);
            }

            var streamingResponse = response as IRpbStreamingResp;

            if (streamingResponse != null && streamingResponse.done)
            {
                Response = new QueryResponse(CommandOptions.Query, dr.Columns, rows);
            }
        }
 public abstract void OnSuccess(RpbResp rpbResp);
Example #15
0
 public override void OnSuccess(RpbResp response)
 {
     Response = new StoreResponse();
 }