/*---------------------------------------------------------------------------*/ int xio_on_setup_rsp_send_comp(struct xio_connection *connection, struct xio_task *task) { TRACE_LOG("got session setup response comp. session:%p, " \ "connection:%p\n", connection->session, connection); kfree(task->omsg); /* recycle the task */ xio_tasks_pool_put(task); /* time to set new callback */ DEBUG_LOG("task recycled\n"); switch (connection->session->state) { case XIO_SESSION_STATE_ACCEPTED: case XIO_SESSION_STATE_REJECTED: case XIO_SESSION_STATE_REDIRECTED: xio_disconnect_initial_connection(connection); break; default: /* try to transmit now */ xio_connection_xmit_msgs(connection); break; } return 0; }
/*---------------------------------------------------------------------------*/ int xio_on_connection_hello_rsp_send_comp(struct xio_connection *connection, struct xio_task *task) { xio_connection_release_hello(connection, task->omsg); xio_tasks_pool_put(task); return 0; }