diff options
Diffstat (limited to 'proxy/src/gp_workers.c')
-rw-r--r-- | proxy/src/gp_workers.c | 19 |
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; + } } |