summaryrefslogtreecommitdiffstats
path: root/proxy/src/gp_workers.c
diff options
context:
space:
mode:
Diffstat (limited to 'proxy/src/gp_workers.c')
-rw-r--r--proxy/src/gp_workers.c19
1 files changed, 14 insertions, 5 deletions
diff --git a/proxy/src/gp_workers.c b/proxy/src/gp_workers.c
index 3d5467b..47cab34 100644
--- a/proxy/src/gp_workers.c
+++ b/proxy/src/gp_workers.c
@@ -430,11 +430,20 @@ static void *gp_worker_main(void *pvt)
static void gp_handle_query(struct gp_workers *w, struct gp_query *q)
{
- /* TODO */
+ uint8_t *buffer;
+ size_t buflen;
+ int ret;
- free(q->buffer);
- q->buffer = strdup("WHATS UP?");
- q->buflen = strlen(q->buffer);
- q->status = GP_QUERY_OUT;
+ ret = gp_rpc_process_call(w->gpctx,
+ q->buffer, q->buflen,
+ &buffer, &buflen);
+ if (ret) {
+ q->status = GP_QUERY_ERR;
+ } else {
+ q->status = GP_QUERY_OUT;
+ free(q->buffer);
+ q->buffer = buffer;
+ q->buflen = buflen;
+ }
}