/*---------------------------------------------------------------------------*/
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;
}
Exemple #4
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;
}