X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/c83246c94a2ea53cc13a509c8f39da2c3403fc38..952599b42d28ac5fd226bbe1008cf2b9210ad588:/examples/msg/bittorrent/bittorrent_platfgen.c diff --git a/examples/msg/bittorrent/bittorrent_platfgen.c b/examples/msg/bittorrent/bittorrent_platfgen.c index 8e97af6c75..16c0e65569 100644 --- a/examples/msg/bittorrent/bittorrent_platfgen.c +++ b/examples/msg/bittorrent/bittorrent_platfgen.c @@ -1,11 +1,13 @@ -/* Copyright (c) 2012. The SimGrid Team. +/* Copyright (c) 2012-2015. 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 #include /** * Bittorrent example launcher, using a generated platform @@ -17,7 +19,7 @@ void promoter(context_node_t node); void labeler(context_edge_t edge); void create_environment(int node_count); void dispatch_jobs(double tracker_deadline, double peer_deadline, - double seed_percentage); + double seed_percentage); void promoter(context_node_t node) { @@ -30,12 +32,13 @@ void promoter(context_node_t node) host_parameters.id = NULL; //Power from 3,000,000 to 10,000,000 - host_parameters.power_peak = - 7000000 * RngStream_RandU01(rng_stream) + 3000000; + host_parameters.speed_peak = xbt_dynar_new(sizeof(double), NULL); + xbt_dynar_push_as(host_parameters.speed_peak, double, + 7000000 * RngStream_RandU01(rng_stream) + 3000000.0); host_parameters.core_amount = 1; - host_parameters.power_scale = 1; - host_parameters.power_trace = NULL; - host_parameters.initial_state = SURF_RESOURCE_ON; + host_parameters.speed_scale = 1; + host_parameters.speed_trace = NULL; + host_parameters.initiallyOn = 1; host_parameters.state_trace = NULL; host_parameters.coord = NULL; host_parameters.properties = NULL; @@ -51,14 +54,13 @@ void labeler(context_edge_t edge) link_parameters.id = NULL; //bandwidth from 3,000,000 to 10,000,000 - link_parameters.bandwidth = - 7000000 * RngStream_RandU01(rng_stream) + 3000000; + link_parameters.bandwidth = 7000000 * RngStream_RandU01(rng_stream) + 3000000; link_parameters.bandwidth_trace = NULL; //Latency from 0ms to 100ms link_parameters.latency = RngStream_RandU01(rng_stream) / 10.0; link_parameters.latency_trace = NULL; - link_parameters.state = SURF_RESOURCE_ON; + link_parameters.initiallyOn = 1; link_parameters.state_trace = NULL; link_parameters.policy = SURF_LINK_SHARED; link_parameters.properties = NULL; @@ -88,7 +90,7 @@ void create_environment(int node_count) } void dispatch_jobs(double tracker_deadline, double peer_deadline, - double seed_percentage) + double seed_percentage) { xbt_dynar_t available_nodes = MSG_hosts_as_dynar(); @@ -99,7 +101,7 @@ void dispatch_jobs(double tracker_deadline, double peer_deadline, char **arguments_peer; unsigned int seed_count = - (seed_percentage / 100.0) * xbt_dynar_length(available_nodes); + (seed_percentage / 100.0) * xbt_dynar_length(available_nodes); xbt_dynar_foreach(available_nodes, i, host) { if (i == 0) { @@ -108,7 +110,7 @@ void dispatch_jobs(double tracker_deadline, double peer_deadline, arguments_tracker[0] = xbt_strdup("tracker"); arguments_tracker[1] = bprintf("%f", tracker_deadline); MSG_process_create_with_arguments("tracker", tracker, NULL, host, 2, - arguments_tracker); + arguments_tracker); } else { //Other nodes are peers int argument_size; @@ -119,16 +121,16 @@ void dispatch_jobs(double tracker_deadline, double peer_deadline, //The first peers will be seeders if (seed_count > 0) { - seed_count--; - arguments_peer[3] = xbt_strdup("1"); - argument_size = 4; + seed_count--; + arguments_peer[3] = xbt_strdup("1"); + argument_size = 4; } else { - //Other ars leechers - arguments_peer[3] = NULL; - argument_size = 3; + //Other ars leechers + arguments_peer[3] = NULL; + argument_size = 3; } MSG_process_create_with_arguments("peer", peer, NULL, host, - argument_size, arguments_peer); + argument_size, arguments_peer); } } }