From 03a8f40048341b03dc7d8e321ca89d0209c306fc Mon Sep 17 00:00:00 2001 From: Maximiliano Geier Date: Fri, 7 Dec 2012 14:38:03 +0100 Subject: [PATCH] chainsend: add number of pieces as parameter of the broadcaster --- examples/msg/chainsend/broadcaster.c | 16 ++++++++++++---- examples/msg/chainsend/broadcaster.h | 2 +- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/examples/msg/chainsend/broadcaster.c b/examples/msg/chainsend/broadcaster.c index c87efc96bc..85e5ca152d 100644 --- a/examples/msg/chainsend/broadcaster.c +++ b/examples/msg/chainsend/broadcaster.c @@ -104,12 +104,12 @@ int broadcaster_finish(broadcaster_t bc) return MSG_OK; } -broadcaster_t broadcaster_init(xbt_dynar_t host_list) +broadcaster_t broadcaster_init(xbt_dynar_t host_list, unsigned int piece_count) { int status; broadcaster_t bc = xbt_new(s_broadcaster_t, 1); - bc->piece_count = PIECE_COUNT; + bc->piece_count = piece_count; bc->current_piece = 0; bc->host_list = host_list; bc->it = xbt_dynar_iterator_new(bc->host_list, forward_indices_list); @@ -136,13 +136,21 @@ int broadcaster(int argc, char *argv[]) broadcaster_t bc = NULL; xbt_dynar_t host_list = NULL; int status; + unsigned int piece_count = PIECE_COUNT; XBT_INFO("broadcaster"); /* Add every mailbox given by the hostcount in argv[1] to a dynamic array */ host_list = build_hostlist_from_hostcount(atoi(argv[1])); - - bc = broadcaster_init(host_list); + + /* argv[2] is the number of pieces */ + if (argc > 2) { + piece_count = atoi(argv[2]); + XBT_DEBUG("piece_count set to %d", piece_count); + } else { + XBT_DEBUG("No piece_count specified, defaulting to %d", piece_count); + } + bc = broadcaster_init(host_list, piece_count); /* TODO: Error checking */ status = broadcaster_send_file(bc); diff --git a/examples/msg/chainsend/broadcaster.h b/examples/msg/chainsend/broadcaster.h index e0c026c040..3760973d78 100644 --- a/examples/msg/chainsend/broadcaster.h +++ b/examples/msg/chainsend/broadcaster.h @@ -33,7 +33,7 @@ typedef struct s_broadcaster { xbt_dynar_t build_hostlist_from_hostcount(int hostcount); /* Broadcaster: helper functions */ -broadcaster_t broadcaster_init(xbt_dynar_t host_list); +broadcaster_t broadcaster_init(xbt_dynar_t host_list, unsigned int piece_count); int broadcaster_build_chain(broadcaster_t bc); int broadcaster_send_file(broadcaster_t bc); int broadcaster_finish(broadcaster_t bc); -- 2.20.1