* under the terms of the license (GNU LGPL) which comes with this package. */
#include "surf_private.h"
+#include "surf/maxmin.h"
#include "surf/ns3/ns3_interface.h"
#include "xbt/lib.h"
#include "surf/network_ns3_private.h"
str = xbt_strdup(buffer);
}
-static void replace_bdw_ns3(char * bdw)
+static void replace_bdw_ns3(char ** bdw)
{
- char *temp = xbt_strdup(bdw);
- xbt_free(bdw);
- bdw = bprintf("%fBps",atof(temp));
+ char *temp = xbt_strdup(*bdw);
+ xbt_free(*bdw);
+ *bdw = bprintf("%fBps",atof(temp));
xbt_free(temp);
}
-static void replace_lat_ns3(char * lat)
+static void replace_lat_ns3(char ** lat)
{
- char *temp = xbt_strdup(lat);
- xbt_free(lat);
- lat = bprintf("%fs",atof(temp));
+ char *temp = xbt_strdup(*lat);
+ xbt_free(*lat);
+ *lat = bprintf("%fs",atof(temp));
xbt_free(temp);
}
int elmts;
char * lat = xbt_strdup(cluster_lat);
char * bw = xbt_strdup(cluster_bw);
- replace_lat_ns3(lat);
- replace_bdw_ns3(bw);
+ replace_lat_ns3(&lat);
+ replace_bdw_ns3(&bw);
xbt_dynar_foreach(tab_elements_num,cpt,elmts)
{
//Create link backbone
lat = xbt_strdup(cluster_bb_lat);
bw = xbt_strdup(cluster_bb_bw);
- replace_lat_ns3(lat);
- replace_bdw_ns3(bw);
+ replace_lat_ns3(&lat);
+ replace_bdw_ns3(&bw);
ns3_add_cluster(bw,lat,A_surfxml_cluster_id);
xbt_free(lat);
xbt_free(bw);
XBT_DEBUG("Route from '%s' to '%s' with link '%s'",src,dst,((surf_ns3_link_t)link)->data->id);
char * link_bdw = bprintf("%s",((surf_ns3_link_t)link)->data->bdw);
char * link_lat = bprintf("%s",(((surf_ns3_link_t)link)->data->lat));
- replace_lat_ns3(link_lat);
- replace_bdw_ns3(link_bdw);
+ replace_lat_ns3(&link_lat);
+ replace_bdw_ns3(&link_bdw);
((surf_ns3_link_t)link)->created = 0;
// XBT_DEBUG("src (%s), dst (%s), src_id = %d, dst_id = %d",src,dst, src_id, dst_id);
do {
ns3_simulator(min);
time_to_next_flow_completion = ns3_time() - surf_get_clock();
- } while(time_to_next_flow_completion==0.0);
+ } while(double_equals(time_to_next_flow_completion,0));
XBT_DEBUG("min : %f",min);
XBT_DEBUG("ns3 time : %f",ns3_time());
/* If there are no running flows, just return */
if (!xbt_swag_size(running_actions)) {
- while(ns3_time()<now) {
+ while(double_positive(now-ns3_time())) {
ns3_simulator(now-ns3_time());
}
return;