public RiakResult Read(IRiakCommand command) { bool done = false; do { int size = ReadMessageSize(command.ExpectedCode); byte[] buffer = null; if (size > 0) { buffer = ReceiveAll(new byte[size]); } RiakResp response = command.DecodeResponse(buffer); command.OnSuccess(response); var streamingResponse = response as IRpbStreamingResp; if (streamingResponse == null) { done = true; } else { done = streamingResponse.done; } }while (done == false); return(RiakResult.Success()); }
public override void OnSuccess(RiakResp response) { if (response == null) { Response = new MapResponse(); } else { DtFetchResp fetchResp = (DtFetchResp)response; if (fetchResp.type != DtFetchResp.DataType.MAP) { throw new RiakException( string.Format("Requested map, received {0}", fetchResp.type)); } if (fetchResp.value == null) { Response = new MapResponse(); } else { Response = new MapResponse(Options.Key, fetchResp.context, fetchResp.value.map_value); } } }
public override void OnSuccess(RiakResp response) { var decoder = new ResponseDecoder((TsGetResp)response); DecodedResponse dr = decoder.Decode(); Response = new GetResponse(CommandOptions.Key, dr.Columns, dr.Rows); }
public override void OnSuccess(RiakResp response) { if (response == null) { Response = new HllResponse(); } else { DtFetchResp fetchResp = (DtFetchResp)response; if (fetchResp.type != DtFetchResp.DataType.HLL) { throw new RiakException( string.Format("Requested hyperloglog, received {0}", fetchResp.type)); } if (fetchResp.value == null) { Response = new HllResponse(); } else { Response = new HllResponse(Options.Key, fetchResp.value.hll_value); } } }
public override void OnSuccess(RiakResp 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)); } } }
public override void OnSuccess(RiakResp response) { if (response == null) { Response = new Response(notFound: true); } else { Response = new Response(notFound: false); } }
public override void OnSuccess(RiakResp response) { if (response == null) { Response = default(TResponse); } else { Response = CreateResponse((DtUpdateResp)response); } }
public override void OnSuccess(RiakResp 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); } }
protected RiakString GetKey(RiakString optskey, RiakResp 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(RiakResp response) { if (usingTtb) { var ttbresp = (TsTtbResp)response; using (var s = new OtpInputStream(ttbresp.Response)) { s.ReadTupleHead(); string atom = s.ReadAtom(); if (atom.Equals(TsPutRespAtom) == false) { throw new InvalidDataException( string.Format("Expected {0}, got {1}", TsPutRespAtom, atom)); } } } else { Response = new StoreResponse(); } }
public override void OnSuccess(RiakResp 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); } }
public override void OnSuccess(RiakResp 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(RiakResp response) { DecodedResponse dr = null; ResponseDecoder decoder = null; if (usingTtb) { var rsp = (TsTtbResp)response; decoder = new ResponseDecoder(rsp); } else { var rsp = (TsQueryResp)response; decoder = new ResponseDecoder(rsp); } 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(RiakResp rpbResp);