X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/8a98e237cf171b9295fd40e56b0a901387fbe185..fa6c13d41657422d267644ec99f0419a723f4bf9:/examples/msg/chainsend/broadcaster.h diff --git a/examples/msg/chainsend/broadcaster.h b/examples/msg/chainsend/broadcaster.h index 7d69cea3c6..ce6fe977bf 100644 --- a/examples/msg/chainsend/broadcaster.h +++ b/examples/msg/chainsend/broadcaster.h @@ -12,14 +12,30 @@ #include "iterator.h" #include "common.h" -#define PIECE_COUNT 50 +/* Connection parameters */ +#define MAX_PENDING_SENDS 10 + +/* Default values for the ``file'' details */ +#define PIECE_SIZE 65536 +#define PIECE_COUNT 16384 + +/* Broadcaster struct */ +typedef struct s_broadcaster { + const char *first; + int piece_count; + int current_piece; + xbt_dynar_t host_list; + xbt_dynar_iterator_t it; + int max_pending_sends; + xbt_dynar_t pending_sends; +} s_broadcaster_t, *broadcaster_t; xbt_dynar_t build_hostlist_from_hostcount(int hostcount); /* Broadcaster: helper functions */ -int broadcaster_build_chain(const char **first, xbt_dynar_t host_list, xbt_dynar_iterator_t it); -int broadcaster_send_file(const char *first); -int broadcaster_finish(xbt_dynar_iterator_t it); +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); /* Tasks */ int broadcaster(int argc, char *argv[]);