diff options
author | Simo Sorce <simo@redhat.com> | 2012-01-19 14:49:22 -0500 |
---|---|---|
committer | Simo Sorce <simo@redhat.com> | 2012-01-20 00:38:16 -0500 |
commit | 8e4d1ddfcd496a38aa5ea07b2d0d60f2833a98fa (patch) | |
tree | ded0026d15463ea8af68552cb16a57c39db23d69 /proxy/src/gp_workers.c | |
parent | 81090c3159fed8efd2184ebb7d0d9acf3c2914ff (diff) | |
download | gss-proxy-8e4d1ddfcd496a38aa5ea07b2d0d60f2833a98fa.tar.gz gss-proxy-8e4d1ddfcd496a38aa5ea07b2d0d60f2833a98fa.tar.xz gss-proxy-8e4d1ddfcd496a38aa5ea07b2d0d60f2833a98fa.zip |
Add rpc processing infrastructure
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; + } } |