/* add to the father element list */
info->setId(current_routing->parseAS(info));
} else {
- THROWF(arg_error, 0, "All defined components must be belong to a AS");
+ THROWF(arg_error, 0, "All defined components must belong to a AS");
}
xbt_lib_set(as_router_lib, info->getName(), ROUTING_ASR_LEVEL,
StoragePtr storage = static_cast<StoragePtr>(xbt_lib_get_level(xbt_lib_get_elm_or_null(storage_lib, key), SURF_STORAGE_LEVEL));
host_elm = sg_routing_edge_by_name_or_null(storage->p_attach);
if(!host_elm)
- surf_parse_error("Enable to attach storage %s: host %s doesn't exist.", storage->getName(), storage->p_attach);
+ surf_parse_error("Unable to attach storage %s: host %s doesn't exist.", storage->getName(), storage->p_attach);
}
}
}
return as->p_name;
}
+static AsPtr surf_AS_recursive_get_by_name(AsPtr current, const char * name) {
+ xbt_dict_cursor_t cursor = NULL;
+ char *key;
+ AS_t elem;
+ AsPtr tmp = NULL;
+
+ if(!strcmp(current->p_name, name))
+ return current;
+
+ xbt_dict_foreach(current->p_routingSons, cursor, key, elem) {
+ tmp = surf_AS_recursive_get_by_name(elem, name);
+ if(tmp != NULL ) {
+ break;
+ }
+ }
+ return tmp;
+}
+
+
+AsPtr surf_AS_get_by_name(const char * name) {
+ AsPtr as = surf_AS_recursive_get_by_name(routing_platf->p_root, name);
+ if(as == NULL)
+ XBT_WARN("Impossible to find an AS with name %s, please check your input", name);
+ return as;
+}
+
xbt_dict_t surf_AS_get_routing_sons(AsPtr as) {
return as->p_routingSons;
}