Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
hide a global data container
[simgrid.git] / teshsuite / simdag / flatifier / flatifier.cpp
index 6e9499a..db4dede 100644 (file)
@@ -147,14 +147,16 @@ int main(int argc, char **argv)
     }
 
     sg_host_t host1, host2;
-    xbt_dict_foreach(host_list, cursor_src, src, host1){ // Routes from host
-      value1 = sg_host_by_name(src)->pimpl_netcard;
-      xbt_dict_foreach(host_list, cursor_dst, dst, host2){ //to host
+    for (unsigned int it_src = 0; it_src < totalHosts; it_src++) { // Routes from host
+      host1 = hosts[it_src];
+      value1 = sg_host_by_name(host1->name().c_str())->pimpl_netcard;
+      for (unsigned int it_dst = 0; it_dst < totalHosts; it_dst++) { // Routes to host
+        host2 = hosts[it_dst];
         std::vector<Link*> *route = new std::vector<Link*>();
-        value2 = sg_host_by_name(dst)->pimpl_netcard;
+        value2 = host2->pimpl_netcard;
         routing_platf->getRouteAndLatency(value1, value2, route,nullptr);
         if (! route->empty()){
-          std::printf("  <route src=\"%s\" dst=\"%s\">\n  ", src, dst);
+          std::printf("  <route src=\"%s\" dst=\"%s\">\n  ", host1->name().c_str(), host2->name().c_str());
           for (auto link: *route)
             std::printf("<link_ctn id=\"%s\"/>",link->getName());
           std::printf("\n  </route>\n");
@@ -164,7 +166,7 @@ int main(int argc, char **argv)
       xbt_lib_foreach(as_router_lib, cursor_dst, dst, value2){ //to router
         value2 = (sg_netcard_t)xbt_lib_get_or_null(as_router_lib,dst,ROUTING_ASR_LEVEL);
         if(value2->isRouter()){
-          std::printf("  <route src=\"%s\" dst=\"%s\">\n  ", src, dst);
+          std::printf("  <route src=\"%s\" dst=\"%s\">\n  ", host1->name().c_str(), dst);
           std::vector<Link*> *route = new std::vector<Link*>();
           routing_platf->getRouteAndLatency((sg_netcard_t)value1,(sg_netcard_t)value2,route,nullptr);
           for (auto link : *route)
@@ -190,10 +192,11 @@ int main(int argc, char **argv)
             std::printf("\n  </route>\n");
           }
         }
-        xbt_dict_foreach(host_list, cursor_dst, dst, value2){ //to host
-          std::printf("  <route src=\"%s\" dst=\"%s\">\n  ",src, dst);
+        for (unsigned int it_dst = 0; it_dst < totalHosts; it_dst++) { // Routes to host
+          host2 = hosts[it_dst];
+          std::printf("  <route src=\"%s\" dst=\"%s\">\n  ",src, host2->name().c_str());
           std::vector<Link*> *route = new std::vector<Link*>();
-          value2 = sg_host_by_name(dst)->pimpl_netcard;
+          value2 = host2->pimpl_netcard;
           routing_platf->getRouteAndLatency((sg_netcard_t)value1,(sg_netcard_t)value2,route, nullptr);
           for(auto link : *route)
             std::printf("<link_ctn id=\"%s\"/>",link->getName());