From 3171e59e1e2076d5f3b2c39bfd61967c3aca17b7 Mon Sep 17 00:00:00 2001 From: Phil Carns Date: Fri, 29 Jul 2016 21:49:12 -0500 Subject: [PATCH] get manual eager write path working --- src/bake-bulk-rpc.h | 9 +++++++++ src/bake-bulk-server.c | 3 +++ 2 files changed, 12 insertions(+) diff --git a/src/bake-bulk-rpc.h b/src/bake-bulk-rpc.h index 421fe5f..8503e08 100644 --- a/src/bake-bulk-rpc.h +++ b/src/bake-bulk-rpc.h @@ -131,7 +131,16 @@ static inline hg_return_t hg_proc_bake_bulk_eager_write_in_t(hg_proc_t proc, voi hg_proc_bake_bulk_region_id_t(proc, &in->rid); hg_proc_uint64_t(proc, &in->region_offset); hg_proc_uint32_t(proc, &in->size); + if(hg_proc_get_op(proc) == HG_DECODE) + { + in->buffer = malloc(in->size); + } hg_proc_memcpy(proc, in->buffer, in->size); + if(hg_proc_get_op(proc) == HG_FREE) + { + if(in->buffer) + free(in->buffer); + } return(HG_SUCCESS); } diff --git a/src/bake-bulk-server.c b/src/bake-bulk-server.c index 52beb32..cac3fff 100644 --- a/src/bake-bulk-server.c +++ b/src/bake-bulk-server.c @@ -127,6 +127,9 @@ int main(int argc, char **argv) MERCURY_REGISTER(hg_class, "bake_bulk_write_rpc", bake_bulk_write_in_t, bake_bulk_write_out_t, bake_bulk_write_ult_handler); + MERCURY_REGISTER(hg_class, "bake_bulk_eager_write_rpc", bake_bulk_eager_write_in_t, + bake_bulk_eager_write_out_t, + bake_bulk_eager_write_ult_handler); MERCURY_REGISTER(hg_class, "bake_bulk_persist_rpc", bake_bulk_persist_in_t, bake_bulk_persist_out_t, bake_bulk_persist_ult_handler); -- 2.26.2