xbt_assert(! sg_host_by_name(host->id),
"Refusing to create a second host named '%s'.", host->id);
- RoutingEdge *net = NULL;
- As* current_routing = routing_get_current();
+ simgrid::surf::RoutingEdge *net = NULL;
+ simgrid::surf::As* current_routing = routing_get_current();
if (current_routing)
net = routing_add_host(current_routing, host);
- Cpu *cpu = surf_cpu_model_pm->createCpu(
+ sg_host_t h = simgrid::Host::by_name_or_create(host->id);
+ simgrid::surf::Cpu *cpu = surf_cpu_model_pm->createCpu(
host->id,
- host->power_peak,
+ host->speed_peak,
host->pstate,
- host->power_scale,
- host->power_trace,
+ host->speed_scale,
+ host->speed_trace,
host->core_amount,
host->initial_state,
- host->state_trace,
- host->properties);
- surf_host_model->createHost(host->id, net, cpu);
-
+ host->state_trace);
+ cpu->plug(h);
+ surf_host_model->createHost(host->id, net, cpu, host->properties)->attach(h);
if (TRACE_is_enabled() && TRACE_needs_platform())
sg_instr_new_host(host);
}
*/
void sg_platf_new_router(sg_platf_router_cbarg_t router)
{
- As* current_routing = routing_get_current();
+ simgrid::surf::As* current_routing = routing_get_current();
if (current_routing->p_hierarchy == SURF_ROUTING_NULL)
current_routing->p_hierarchy = SURF_ROUTING_BASE;
"Reading a router, processing unit \"%s\" already exists",
router->id);
- RoutingEdge *info = new RoutingEdgeImpl(xbt_strdup(router->id),
- -1,
- SURF_NETWORK_ELEMENT_ROUTER,
- current_routing);
+ simgrid::surf::RoutingEdge *info = new simgrid::surf::RoutingEdgeImpl(
+ xbt_strdup(router->id), -1, SURF_NETWORK_ELEMENT_ROUTER, current_routing);
info->setId(current_routing->parsePU(info));
xbt_lib_set(as_router_lib, router->id, ROUTING_ASR_LEVEL, (void *) info);
XBT_DEBUG("Having set name '%s' id '%d'", router->id, info->getId());
- routingEdgeCreatedCallbacks(info);
+ simgrid::surf::routingEdgeCreatedCallbacks(info);
if (router->coord && strcmp(router->coord, "")) {
unsigned int cursor;
}
}
-void sg_platf_new_cluster(sg_platf_cluster_cbarg_t cluster){
+void sg_platf_new_cluster(sg_platf_cluster_cbarg_t cluster)
+{
+ routing_new_cluster(cluster);
+
unsigned int iterator;
sg_platf_cluster_cb_t fun;
xbt_dynar_foreach(sg_platf_cluster_cb_list, iterator, fun) {
((storage_type_t) stype)->type_id,
storage->content,
storage->content_type,
- storage->properties);
+ storage->properties);
surf_storage_model->createStorage(storage->id,
((storage_type_t) stype)->type_id,
storage->content,
storage->content_type,
- storage->properties,
+ storage->properties,
storage->attach);
}
void sg_platf_new_storage_type(sg_platf_storage_type_cbarg_t storage_type){