Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
move content from the sg_platf to the object hierarchy
authorMartin Quinson <martin.quinson@loria.fr>
Sat, 15 Oct 2016 15:18:35 +0000 (17:18 +0200)
committerMartin Quinson <martin.quinson@loria.fr>
Sat, 15 Oct 2016 15:18:35 +0000 (17:18 +0200)
src/kernel/routing/AsImpl.cpp
src/surf/sg_platf.cpp

index e4eb103..38b857e 100644 (file)
@@ -16,6 +16,10 @@ namespace simgrid {
 
   AsImpl::AsImpl(As* father, const char* name) : As(father, name)
   {
 
   AsImpl::AsImpl(As* father, const char* name) : As(father, name)
   {
+    netcard_ = new simgrid::kernel::routing::NetCardImpl(name, simgrid::kernel::routing::NetCard::Type::As,
+                                                         static_cast<AsImpl*>(father));
+    xbt_lib_set(as_router_lib, name, ROUTING_ASR_LEVEL, (void*)netcard_);
+    XBT_DEBUG("Having set name '%s' id '%d'", name, netcard_->id());
   }
   AsImpl::~AsImpl() = default;
 
   }
   AsImpl::~AsImpl() = default;
 
index 21d0d8c..2cf2472 100644 (file)
@@ -856,8 +856,6 @@ simgrid::s4u::As * sg_platf_new_AS_begin(sg_platf_AS_cbarg_t AS)
       break;
   }
 
       break;
   }
 
-  /* make a new routing component */
-  simgrid::kernel::routing::NetCard *netcard = new simgrid::kernel::routing::NetCardImpl(new_as->name(), simgrid::kernel::routing::NetCard::Type::As, current_routing);
 
   if (current_routing == nullptr && routing_platf->root_ == nullptr) { /* it is the first one */
     routing_platf->root_ = new_as;
 
   if (current_routing == nullptr && routing_platf->root_ == nullptr) { /* it is the first one */
     routing_platf->root_ = new_as;
@@ -873,12 +871,8 @@ simgrid::s4u::As * sg_platf_new_AS_begin(sg_platf_AS_cbarg_t AS)
     THROWF(arg_error, 0, "All defined components must belong to a AS");
   }
 
     THROWF(arg_error, 0, "All defined components must belong to a AS");
   }
 
-  xbt_lib_set(as_router_lib, netcard->name(), ROUTING_ASR_LEVEL, (void *) netcard);
-  XBT_DEBUG("Having set name '%s' id '%d'", new_as->name(), netcard->id());
-
   /* set the new current component of the tree */
   current_routing = new_as;
   /* set the new current component of the tree */
   current_routing = new_as;
-  current_routing->netcard_ = netcard;
 
   simgrid::kernel::routing::asCreatedCallbacks(new_as);
   if (TRACE_is_enabled())
 
   simgrid::kernel::routing::asCreatedCallbacks(new_as);
   if (TRACE_is_enabled())