Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
inline a signal
authorMartin Quinson <martin.quinson@loria.fr>
Sat, 26 Mar 2016 14:11:31 +0000 (15:11 +0100)
committerMartin Quinson <martin.quinson@loria.fr>
Sat, 26 Mar 2016 14:11:31 +0000 (15:11 +0100)
src/surf/network_cm02.cpp
src/surf/network_constant.cpp
src/surf/network_ib.cpp
src/surf/network_interface.cpp
src/surf/network_interface.hpp
src/surf/network_ns3.cpp
src/surf/network_smpi.cpp
src/surf/ptask_L07.cpp
src/surf/sg_platf.cpp

index ff819ff..432189d 100644 (file)
@@ -40,7 +40,6 @@ void surf_network_model_init_LegrandVelho(void)
   if (surf_network_model)
     return;
 
-  simgrid::surf::on_link.connect(netlink_parse_init);
   surf_network_model = new simgrid::surf::NetworkCm02Model();
   xbt_dynar_push(all_existing_models, &surf_network_model);
 
@@ -66,7 +65,6 @@ void surf_network_model_init_CM02(void)
   if (surf_network_model)
     return;
 
-  simgrid::surf::on_link.connect(netlink_parse_init);
   surf_network_model = new simgrid::surf::NetworkCm02Model();
   xbt_dynar_push(all_existing_models, &surf_network_model);
 
@@ -90,7 +88,6 @@ void surf_network_model_init_Reno(void)
   if (surf_network_model)
     return;
 
-  simgrid::surf::on_link.connect(netlink_parse_init);
   surf_network_model = new simgrid::surf::NetworkCm02Model();
   xbt_dynar_push(all_existing_models, &surf_network_model);
 
@@ -108,7 +105,6 @@ void surf_network_model_init_Reno2(void)
   if (surf_network_model)
     return;
 
-  simgrid::surf::on_link.connect(netlink_parse_init);
   surf_network_model = new simgrid::surf::NetworkCm02Model();
   xbt_dynar_push(all_existing_models, &surf_network_model);
 
@@ -125,7 +121,6 @@ void surf_network_model_init_Vegas(void)
   if (surf_network_model)
     return;
 
-  simgrid::surf::on_link.connect(netlink_parse_init);
   surf_network_model = new simgrid::surf::NetworkCm02Model();
   xbt_dynar_push(all_existing_models, &surf_network_model);
 
index 960e513..1872ae1 100644 (file)
@@ -18,8 +18,6 @@ void surf_network_model_init_Constant()
   xbt_dynar_push(all_existing_models, &surf_network_model);
 
   routing_model_create(NULL);
-
-  simgrid::surf::on_link.connect(netlink_parse_init);
 }
 
 namespace simgrid {
index eed2ba8..2fe2e3e 100644 (file)
@@ -85,7 +85,6 @@ void surf_network_model_init_IB(void)
   if (surf_network_model)
     return;
 
-  simgrid::surf::on_link.connect(netlink_parse_init);
   surf_network_model = new simgrid::surf::NetworkIBModel();
   xbt_dynar_push(all_existing_models, &surf_network_model);
   networkActionStateChangedCallbacks.connect(IB_action_state_changed_callback);
index e2ae780..d18f218 100644 (file)
@@ -101,29 +101,6 @@ namespace simgrid {
   }
 }
 
-void netlink_parse_init(sg_platf_link_cbarg_t link){
-  std::vector<char*> names;
-
-  if (link->policy == SURF_LINK_FULLDUPLEX) {
-    names.push_back(bprintf("%s_UP", link->id));
-    names.push_back(bprintf("%s_DOWN", link->id));
-  } else {
-    names.push_back(xbt_strdup(link->id));
-  }
-  for (auto link_name : names) {
-    Link *l = surf_network_model->createLink(link_name, link->bandwidth, link->latency, link->policy, link->properties);
-
-    if (link->latency_trace)
-      l->setLatencyTrace(link->latency_trace);
-    if (link->bandwidth_trace)
-      l->setBandwidthTrace(link->bandwidth_trace);
-    if (link->state_trace)
-      l->setStateTrace(link->state_trace);
-
-    xbt_free(link_name);
-  }
-}
-
 /*********
  * Model *
  *********/
index a46e10b..082934e 100644 (file)
@@ -40,12 +40,6 @@ namespace simgrid {
 
       }
 }
-
-/*********
- * Tools *
- *********/
-XBT_PUBLIC(void) netlink_parse_init(sg_platf_link_cbarg_t link);
-
 /*********
  * Model *
  *********/
index efd328b..4c77668 100644 (file)
@@ -227,7 +227,6 @@ NetworkNS3Model::NetworkNS3Model() : NetworkModel() {
   routing_model_create(NULL);
   simgrid::s4u::Host::onCreation.connect(simgrid_ns3_add_host);
   simgrid::surf::netcardCreatedCallbacks.connect(simgrid_ns3_add_netcard);
-  simgrid::surf::on_link.connect(netlink_parse_init);
   simgrid::surf::on_cluster.connect (&parse_ns3_add_cluster);
   simgrid::surf::on_postparse.connect(&create_ns3_topology); //get_one_link_routes
 
index d0bd35f..228390b 100644 (file)
@@ -88,7 +88,6 @@ void surf_network_model_init_SMPI(void)
 
   if (surf_network_model)
     return;
-  simgrid::surf::on_link.connect(netlink_parse_init);
   surf_network_model = new simgrid::surf::NetworkSmpiModel();
   xbt_dynar_push(all_existing_models, &surf_network_model);
 
index f4b4179..8d21b65 100644 (file)
@@ -26,9 +26,6 @@ void surf_host_model_init_ptask_L07(void)
   xbt_assert(!surf_cpu_model_pm, "CPU model type already defined");
   xbt_assert(!surf_network_model, "network model type already defined");
 
-  // Define the callbacks to parse the XML
-  simgrid::surf::on_link.connect(netlink_parse_init);
-
   surf_host_model = new simgrid::surf::HostL07Model();
   xbt_dynar_push(all_existing_models, &surf_host_model);
 }
index e3898d1..3f68d25 100644 (file)
@@ -172,6 +172,27 @@ void sg_platf_new_router(sg_platf_router_cbarg_t router)
 }
 
 void sg_platf_new_link(sg_platf_link_cbarg_t link){
+  std::vector<char*> names;
+
+  if (link->policy == SURF_LINK_FULLDUPLEX) {
+    names.push_back(bprintf("%s_UP", link->id));
+    names.push_back(bprintf("%s_DOWN", link->id));
+  } else {
+    names.push_back(xbt_strdup(link->id));
+  }
+  for (auto link_name : names) {
+    Link *l = surf_network_model->createLink(link_name, link->bandwidth, link->latency, link->policy, link->properties);
+
+    if (link->latency_trace)
+      l->setLatencyTrace(link->latency_trace);
+    if (link->bandwidth_trace)
+      l->setBandwidthTrace(link->bandwidth_trace);
+    if (link->state_trace)
+      l->setStateTrace(link->state_trace);
+
+    xbt_free(link_name);
+  }
+
   simgrid::surf::on_link(link);
 }