summaryrefslogtreecommitdiffstats
path: root/proxy/src/gp_workers.c
diff options
context:
space:
mode:
authorSimo Sorce <simo@redhat.com>2012-01-19 14:49:22 -0500
committerSimo Sorce <simo@redhat.com>2012-01-20 00:38:16 -0500
commit8e4d1ddfcd496a38aa5ea07b2d0d60f2833a98fa (patch)
treeded0026d15463ea8af68552cb16a57c39db23d69 /proxy/src/gp_workers.c
parent81090c3159fed8efd2184ebb7d0d9acf3c2914ff (diff)
downloadgss-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.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;
+ }
}