std::vector<surf::LinkImpl*>* link_list)>
onRouteCreation;
static simgrid::xbt::signal<void(NetZone&)> onCreation;
+ static simgrid::xbt::signal<void(NetZone&)> onSeal;
protected:
std::vector<kernel::routing::NetPoint*>
std::vector<surf::LinkImpl*>* link_list)>
NetZone::onRouteCreation;
simgrid::xbt::signal<void(NetZone&)> NetZone::onCreation;
+simgrid::xbt::signal<void(NetZone&)> NetZone::onSeal;
NetZone::NetZone(NetZone* father, const char* name) : father_(father), name_(xbt_strdup(name))
{
}
}
-void sg_instr_AS_end()
+static void sg_instr_AS_end(simgrid::s4u::NetZone& /*netzone*/)
{
if (TRACE_needs_platform()){
currentContainer.pop_back();
simgrid::s4u::Host::onCreation.connect(sg_instr_new_host);
}
simgrid::s4u::NetZone::onCreation.connect(sg_instr_AS_begin);
+ simgrid::s4u::NetZone::onSeal.connect(sg_instr_AS_end);
}
/*
{
xbt_assert(current_routing, "Cannot seal the current AS: none under construction");
current_routing->seal();
- current_routing = static_cast<simgrid::kernel::routing::NetZoneImpl*>(current_routing->father());
-
- if (TRACE_is_enabled())
- sg_instr_AS_end();
+ simgrid::s4u::NetZone::onSeal(*current_routing);
+ current_routing = static_cast<simgrid::kernel::routing::NetZoneImpl*>(current_routing->father());
}
/** @brief Add a link connecting an host to the rest of its AS (which must be cluster or vivaldi) */
XBT_PUBLIC(void) routing_route_free(sg_platf_route_cbarg_t route);
/********** Instr. **********/
XBT_PRIVATE void sg_instr_new_router(const char* name);
-XBT_PRIVATE void sg_instr_AS_end();
SG_END_DECL()