Lines Matching refs:rpc_state

288 	struct evrpc_req_generic *rpc_state = NULL;  in evrpc_request_cb()  local
295 rpc_state = mm_calloc(1, sizeof(struct evrpc_req_generic)); in evrpc_request_cb()
296 if (rpc_state == NULL) in evrpc_request_cb()
298 rpc_state->rpc = rpc; in evrpc_request_cb()
299 rpc_state->http_req = req; in evrpc_request_cb()
300 rpc_state->rpc_data = NULL; in evrpc_request_cb()
305 evrpc_hook_associate_meta_(&rpc_state->hook_meta, req->evcon); in evrpc_request_cb()
311 rpc_state, req, req->input_buffer); in evrpc_request_cb()
316 evrpc_pause_request(rpc->base, rpc_state, in evrpc_request_cb()
328 evrpc_request_cb_closure(rpc_state, EVRPC_CONTINUE); in evrpc_request_cb()
332 if (rpc_state) in evrpc_request_cb()
333 evrpc_reqstate_free_(rpc_state); in evrpc_request_cb()
341 struct evrpc_req_generic *rpc_state = arg; in evrpc_request_cb_closure() local
345 EVUTIL_ASSERT(rpc_state); in evrpc_request_cb_closure()
346 rpc = rpc_state->rpc; in evrpc_request_cb_closure()
347 req = rpc_state->http_req; in evrpc_request_cb_closure()
353 rpc_state->request = rpc->request_new(rpc->request_new_arg); in evrpc_request_cb_closure()
354 if (rpc_state->request == NULL) in evrpc_request_cb_closure()
358 rpc_state->request, req->input_buffer) == -1) { in evrpc_request_cb_closure()
365 rpc_state->reply = rpc->reply_new(rpc->reply_new_arg); in evrpc_request_cb_closure()
366 if (rpc_state->reply == NULL) in evrpc_request_cb_closure()
370 rpc->cb(rpc_state, rpc->cb_arg); in evrpc_request_cb_closure()
375 evrpc_reqstate_free_(rpc_state); in evrpc_request_cb_closure()
382 evrpc_reqstate_free_(struct evrpc_req_generic* rpc_state) in evrpc_reqstate_free_() argument
385 EVUTIL_ASSERT(rpc_state != NULL); in evrpc_reqstate_free_()
386 rpc = rpc_state->rpc; in evrpc_reqstate_free_()
389 if (rpc_state->hook_meta != NULL) in evrpc_reqstate_free_()
390 evrpc_hook_context_free_(rpc_state->hook_meta); in evrpc_reqstate_free_()
391 if (rpc_state->request != NULL) in evrpc_reqstate_free_()
392 rpc->request_free(rpc_state->request); in evrpc_reqstate_free_()
393 if (rpc_state->reply != NULL) in evrpc_reqstate_free_()
394 rpc->reply_free(rpc_state->reply); in evrpc_reqstate_free_()
395 if (rpc_state->rpc_data != NULL) in evrpc_reqstate_free_()
396 evbuffer_free(rpc_state->rpc_data); in evrpc_reqstate_free_()
397 mm_free(rpc_state); in evrpc_reqstate_free_()
404 evrpc_request_done(struct evrpc_req_generic *rpc_state) in evrpc_request_done() argument
409 EVUTIL_ASSERT(rpc_state); in evrpc_request_done()
411 req = rpc_state->http_req; in evrpc_request_done()
412 rpc = rpc_state->rpc; in evrpc_request_done()
414 if (rpc->reply_complete(rpc_state->reply) == -1) { in evrpc_request_done()
419 if ((rpc_state->rpc_data = evbuffer_new()) == NULL) { in evrpc_request_done()
425 rpc->reply_marshal(rpc_state->rpc_data, rpc_state->reply); in evrpc_request_done()
430 evrpc_hook_associate_meta_(&rpc_state->hook_meta, req->evcon); in evrpc_request_done()
434 rpc_state, req, rpc_state->rpc_data); in evrpc_request_done()
439 if (evrpc_pause_request(rpc->base, rpc_state, in evrpc_request_done()
452 evrpc_request_done_closure(rpc_state, EVRPC_CONTINUE); in evrpc_request_done()
456 evrpc_reqstate_free_(rpc_state); in evrpc_request_done()
476 struct evrpc_req_generic *rpc_state = arg; in evrpc_request_done_closure() local
478 EVUTIL_ASSERT(rpc_state); in evrpc_request_done_closure()
479 req = rpc_state->http_req; in evrpc_request_done_closure()
489 evhttp_send_reply(req, HTTP_OK, "OK", rpc_state->rpc_data); in evrpc_request_done_closure()
491 evrpc_reqstate_free_(rpc_state); in evrpc_request_done_closure()
496 evrpc_reqstate_free_(rpc_state); in evrpc_request_done_closure()