static void H_getreplica(mc_PIPELINE *pipeline, mc_PACKET *request, packet_info *response, lcb_error_t immerr) { lcb_error_t rc; lcb_get_resp_t resp; lcb_t instance = pipeline->parent->instance; void *freeptr = NULL; MK_RESPKEY(&resp, 0, request); MK_ERROR(instance, rc, response, immerr); resp.version = 0; if (rc == LCB_SUCCESS) { const protocol_binary_response_get *get = PACKET_EPHEMERAL_START(response); resp.v.v0.cas = PACKET_CAS(response); resp.v.v0.datatype = PACKET_DATATYPE(response); resp.v.v0.flags = ntohl(get->message.body.flags); resp.v.v0.bytes = PACKET_VALUE(response); resp.v.v0.nbytes = PACKET_NVALUE(response); } maybe_decompress(instance, response, &resp, &freeptr); request->u_rdata.exdata->callback(pipeline, request, rc, &resp); free(freeptr); }
static void H_get(mc_PIPELINE *pipeline, mc_PACKET *request, packet_info *response, lcb_error_t immerr) { lcb_t o; lcb_RESPGET resp = { 0 }; void *freeptr = NULL; o = pipeline->parent->cqdata; init_resp3(o, response, request, immerr, (lcb_RESPBASE *)&resp); if (resp.rc == LCB_SUCCESS) { const protocol_binary_response_getq *getq = PACKET_EPHEMERAL_START(response); resp.datatype = PACKET_DATATYPE(response); resp.itmflags = ntohl(getq->message.body.flags); resp.value = PACKET_VALUE(response); resp.nvalue = PACKET_NVALUE(response); resp.bufh = response->bufh; } maybe_decompress(o, response, &resp, &freeptr); TRACE_GET_END(response, &resp); INVOKE_CALLBACK3(request, &resp, o, LCB_CALLBACK_GET); free(freeptr); }
static void H_getreplica(mc_PIPELINE *pipeline, mc_PACKET *request, packet_info *response, lcb_error_t immerr) { lcb_RESPGET resp = { 0 }; lcb_t instance = pipeline->parent->cqdata; void *freeptr = NULL; mc_REQDATAEX *rd = request->u_rdata.exdata; init_resp3(instance, response, request, immerr, (lcb_RESPBASE *)&resp); if (resp.rc == LCB_SUCCESS) { const protocol_binary_response_get *get = PACKET_EPHEMERAL_START(response); resp.itmflags = ntohl(get->message.body.flags); resp.datatype = PACKET_DATATYPE(response); resp.value = PACKET_VALUE(response); resp.nvalue = PACKET_NVALUE(response); resp.bufh = response->bufh; } maybe_decompress(instance, response, &resp, &freeptr); rd->procs->handler(pipeline, request, resp.rc, &resp); free(freeptr); }
static void H_get(mc_PIPELINE *pipeline, mc_PACKET *request, packet_info *response, lcb_error_t immerr) { lcb_error_t rc; lcb_t o; lcb_get_resp_t resp; void *freeptr = NULL; o = pipeline->parent->instance; MK_RESPKEY(&resp, 0, request); MK_ERROR(o, rc, response, immerr); resp.version = 0; if (rc == LCB_SUCCESS) { const protocol_binary_response_getq *getq = PACKET_EPHEMERAL_START(response); resp.v.v0.cas = PACKET_CAS(response); resp.v.v0.datatype = PACKET_DATATYPE(response); resp.v.v0.flags = ntohl(getq->message.body.flags); resp.v.v0.bytes = PACKET_VALUE(response); resp.v.v0.nbytes = PACKET_NVALUE(response); rc = LCB_SUCCESS; } else { resp.v.v0.cas = 0; resp.v.v0.nbytes = 0; resp.v.v0.bytes = NULL; resp.v.v0.flags = 0; } maybe_decompress(o, response, &resp, &freeptr); INVOKE_CALLBACK(request, o->callbacks.get, (o, MCREQ_PKT_COOKIE(request), rc, &resp)); free(freeptr); }