- brw_test_client.tso_init = brw_client_init;
- brw_test_client.tso_fini = brw_client_fini;
- brw_test_client.tso_prep_rpc = brw_client_prep_rpc;
- brw_test_client.tso_done_rpc = brw_client_done_rpc;
+ /* just alloc a maximal size - actual values will be adjusted later */
+ rpc->srpc_bulk = srpc_alloc_bulk(cpt, LNET_MTU);
+ if (rpc->srpc_bulk == NULL)
+ return -ENOMEM;
+
+ srpc_init_bulk(rpc->srpc_bulk, 0, 0, 0);
+
+ return 0;
+}
+
+static void
+brw_srpc_fini(struct srpc_server_rpc *rpc)
+{
+ srpc_free_bulk(rpc->srpc_bulk);
+ rpc->srpc_bulk = NULL;
+}
+
+struct sfw_test_client_ops brw_test_client = {
+ .tso_init = brw_client_init,
+ .tso_fini = brw_client_fini,
+ .tso_prep_rpc = brw_client_prep_rpc,
+ .tso_done_rpc = brw_client_done_rpc,
+};
+
+struct srpc_service brw_test_service = {
+ .sv_id = SRPC_SERVICE_BRW,
+ .sv_name = "brw_test",
+ .sv_handler = brw_server_handle,
+ .sv_bulk_ready = brw_bulk_ready,
+
+ .sv_srpc_init = brw_srpc_init,
+ .sv_srpc_fini = brw_srpc_fini,