Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[surf] Move networkLinkCreatedCallbacks outside of constructor
[simgrid.git] / src / surf / network_cm02.cpp
index 1ce6db8..1d5b594 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2013-2014. The SimGrid Team.
+/* Copyright (c) 2013-2015. The SimGrid Team.
  * All rights reserved.                                                     */
 
 /* This program is free software; you can redistribute it and/or modify it
@@ -55,7 +55,7 @@ void surf_network_model_init_LegrandVelho(void)
   surf_network_model = new NetworkCm02Model();
   net_define_callbacks();
   Model *model = surf_network_model;
-  xbt_dynar_push(model_list, &model);
+  xbt_dynar_push(all_existing_models, &model);
 
   xbt_cfg_setdefault_double(_sg_cfg_set, "network/latency_factor",
                             13.01);
@@ -84,7 +84,7 @@ void surf_network_model_init_CM02(void)
   surf_network_model = new NetworkCm02Model();
   net_define_callbacks();
   Model *model = surf_network_model;
-  xbt_dynar_push(model_list, &model);
+  xbt_dynar_push(all_existing_models, &model);
 
   xbt_cfg_setdefault_double(_sg_cfg_set, "network/latency_factor", 1.0);
   xbt_cfg_setdefault_double(_sg_cfg_set, "network/bandwidth_factor",
@@ -110,7 +110,7 @@ void surf_network_model_init_Reno(void)
   surf_network_model = new NetworkCm02Model();
   net_define_callbacks();
   Model *model = surf_network_model;
-  xbt_dynar_push(model_list, &model);
+  xbt_dynar_push(all_existing_models, &model);
   lmm_set_default_protocol_function(func_reno_f, func_reno_fp,
                                     func_reno_fpi);
   surf_network_model->f_networkSolve = lagrange_solve;
@@ -130,7 +130,7 @@ void surf_network_model_init_Reno2(void)
   surf_network_model = new NetworkCm02Model();
   net_define_callbacks();
   Model *model = surf_network_model;
-  xbt_dynar_push(model_list, &model);
+  xbt_dynar_push(all_existing_models, &model);
   lmm_set_default_protocol_function(func_reno2_f, func_reno2_fp,
                                     func_reno2_fpi);
   surf_network_model->f_networkSolve = lagrange_solve;
@@ -150,7 +150,7 @@ void surf_network_model_init_Vegas(void)
   surf_network_model = new NetworkCm02Model();
   net_define_callbacks();
   Model *model = surf_network_model;
-  xbt_dynar_push(model_list, &model);
+  xbt_dynar_push(all_existing_models, &model);
   lmm_set_default_protocol_function(func_vegas_f, func_vegas_fp,
                                     func_vegas_fpi);
   surf_network_model->f_networkSolve = lagrange_solve;
@@ -215,8 +215,10 @@ Link* NetworkCm02Model::createLink(const char *name,
              "Link '%s' declared several times in the platform",
              name);
 
-  return new NetworkCm02Link(this, name, properties, p_maxminSystem, sg_bandwidth_factor * bw_initial, history,
+  Link* link = new NetworkCm02Link(this, name, properties, p_maxminSystem, sg_bandwidth_factor * bw_initial, history,
                                             state_initial, state_trace, bw_initial, bw_trace, lat_initial, lat_trace, policy);
+  surf_callback_emit(networkLinkCreatedCallbacks, link);
+  return link;
 }
 
 void NetworkCm02Model::updateActionsStateLazy(double now, double /*delta*/)