X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/92c7b1c13b9caae6c737701f21276a01a75c68e1..aed6c0fceb5d7963006a105350770507030878ba:/examples/msg/app-bittorrent/bittorrent.c diff --git a/examples/msg/app-bittorrent/bittorrent.c b/examples/msg/app-bittorrent/bittorrent.c new file mode 100644 index 0000000000..4fc3fb19e1 --- /dev/null +++ b/examples/msg/app-bittorrent/bittorrent.c @@ -0,0 +1,53 @@ +/* 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 +#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 */ + 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); + + 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_main(); + + 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; +}