/*---------------------------------------------------------------------------*/ static int on_client_message(struct xio_session *session, struct xio_msg *msg, int more_in_batch, void *cb_prv_data) { if (msg->status) printf("**** request completed with error. [%s]\n", xio_strerror(msg->status)); /* process message */ process_request(msg); xio_release_msg(msg); return 0; }
/*---------------------------------------------------------------------------*/ static int on_server_message(struct xio_session *session, struct xio_msg *msg, int last_in_rxq, void *cb_user_context) { struct ow_test_params *ow_params = (struct ow_test_params *)cb_user_context; /* server send message */ /* process the incoming message */ process_rx_message(ow_params, msg); /* message is no longer needed */ xio_release_msg(msg); return 0; }
/*---------------------------------------------------------------------------*/ static int on_server_message(struct xio_session *session, struct xio_msg *msg, int more_in_batch, void *cb_user_context) { /* server send message */ /* process the incoming message */ process_rx_message(msg); if (msg->status) printf("**** message completed with error. [%s]\n", xio_strerror(msg->status)); /* message is no longer needed */ xio_release_msg(msg); return 0; }
/*---------------------------------------------------------------------------*/ static int on_request(struct xio_session *session, struct xio_msg *req, int last_in_rxq, void *cb_user_context) { struct test_params *test_params = cb_user_context; test_params->nrecv++; /* process request */ process_request(req); xio_release_msg(req); if (test_params->finite_run && test_params->nrecv == test_params->disconnect_nr) { xio_disconnect(test_params->connection); return 0; } return 0; }