X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/0f123dd4d0d60d0c57bcae6f3629c83e32549b39..04e829f2dc9c85be2ea9b594437a988557c94c00:/examples/msg/bittorrent/bittorrent.c diff --git a/examples/msg/bittorrent/bittorrent.c b/examples/msg/bittorrent/bittorrent.c index ba52ea4a21..4fc3fb19e1 100644 --- a/examples/msg/bittorrent/bittorrent.c +++ b/examples/msg/bittorrent/bittorrent.c @@ -1,37 +1,53 @@ -/* Copyright (c) 2012. The SimGrid Team. +/* Copyright (c) 2012-2016. The SimGrid Team. * All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it * under the terms of the license (GNU LGPL) which comes with this package. */ + #include "bittorrent.h" #include "peer.h" #include "tracker.h" -#include -/** - * Bittorrent example launcher - */ -int main(int argc, char *argv[]) { +#include +#include + +/** Bittorrent example launcher */ +int main(int argc, char *argv[]) +{ + xbt_dynar_t host_list; + msg_host_t host; + unsigned i; + MSG_init(&argc, argv); /* Check the arguments */ - if (argc < 3) { - printf("Usage: %s platform_file deployment_file \n",argv[0]); - return -1; - } + xbt_assert (argc > 2, "Usage: %s platform_file deployment_file", argv[0]); const char *platform_file = argv[1]; const char *deployment_file = argv[2]; MSG_create_environment(platform_file); - MSG_function_register("tracker",tracker); - MSG_function_register("peer",peer); + host_list = MSG_hosts_as_dynar(); + xbt_dynar_foreach(host_list, i, host) { + char descr[512]; + RngStream stream; + snprintf(descr, sizeof descr, "RngSream<%s>", MSG_host_get_name(host)); + stream = RngStream_CreateStream(descr); + MSG_host_set_property_value(host, "stream", (char*)stream, NULL); + } + + MSG_function_register("tracker", tracker); + MSG_function_register("peer", peer); MSG_launch_application(deployment_file); - msg_error_t res = MSG_main(); + MSG_main(); - MSG_clean(); + xbt_dynar_foreach(host_list, i, host) { + RngStream stream = (RngStream) MSG_host_get_property_value(host, "stream"); + RngStream_DeleteStream(&stream); + } + xbt_dynar_free(&host_list); return 0; }