XBT_DEBUG("Building chain -- broadcaster:\"%s\" dest:\"%s\" prev:\"%s\" next:\"%s\"", me, current_host, prev, next);
/* Send message to current peer */
- task = task_message_chain_new(me, current_host, prev, next);
- //MSG_task_set_category(task, current_host);
+ task = task_message_chain_new(me, current_host, prev, next, bc->piece_count);
MSG_task_send(task, current_host);
last = current_host;
return MSG_OK;
}
-int broadcaster_finish(broadcaster_t bc)
-{
- msg_task_t task = NULL;
- const char *me = "host0"; /* FIXME: hardcoded*/ /*MSG_host_get_name(MSG_host_self());*/
- const char *current_host = NULL;
- char **cur = NULL;
-
- xbt_dynar_iterator_seek(bc->it, 0);
-
- /* Send goodbye message to every peer in the order generated by iterator it */
- for (cur = (char**)xbt_dynar_iterator_next(bc->it); cur != NULL; cur = (char**)xbt_dynar_iterator_next(bc->it)) {
- /* Send message to current peer */
- current_host = *cur;
- task = task_message_end_data_new(me, current_host);
- //MSG_task_set_category(task, current_host);
- MSG_task_send(task, current_host);
- }
-
- return MSG_OK;
-}
-
broadcaster_t broadcaster_init(xbt_dynar_t host_list, unsigned int piece_count)
{
int status;
/* TODO: Error checking */
status = broadcaster_send_file(bc);
- status = broadcaster_finish(bc);
broadcaster_destroy(bc);